[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
getting TerminalView to update after escape sequences
[Thread Prev] | [Thread Next]
- Subject: getting TerminalView to update after escape sequences
- From: Bruce Steers <bsteers4@xxxxxxxxx>
- Date: Sat, 16 Mar 2024 16:45:25 +0000
- To: Gambas Mailing List <user@xxxxxxxxxxxxxxxxxxxxxx>
I worked out i could remove the current command line in a TerminalView like this... TerminalView1.Input("\e[H") ' goto command line start(home) Wait 0.1 TerminalView1.Print("\e[0K\e[0J") ' delete all to the right and below I had to do it that way because if i used \e[H in the Print line it went all the way to column 0 but using Input() it goes to the prompt and Input did not work for \e[0K or \e[0J (the Wait 0.1 was required too) But ... The problem is after doing this the text appears to have been removed but it's more like it's all been replaced by spaces and not deleted. How can i make the Terminal update to the removed chars? This is the rather more complex function i have that works that goes to the end of the line and Backspace detetes each char till it finds the prompt string... Public Sub ClearLine() If Not TerminalView1.Text Then Return Dim aTxt As String[] = Split(TerminalView1.Text, "\n") Dim sLine As String Dim iLine As Integer = aTxt.Max Dim sPrompt As String = PromtLine() Dim iCol As Integer Dim iTo As Integer Dim sInput As String sLine = aTxt[iLine] iCol = sLine.Len Do If sLine Begins sPrompt Then iTo = Me.PromtLen Else iTo = 0 sInput = String(iCol - iTo, Chr$(127)) TerminalView1.Input(sInput) Dec iLine If sLine Begins sPrompt Or If iLine < 0 Then Break sLine = aTxt[iLine] iCol = sLine.Len Loop End Cheers BruceS