Hello,
I have checked it with the latest 2014R1 version of Rebex Terminal Emulation component and the ITerminal.Screen.Clear(bool) method should work and it should clear the terminal console as well as history (if you specify 'true' in the argument) as in the example below:
terminal.Screen.Clear(true);
where terminal is an instance of VirtualTerminal (GUI-less terminal control) or TerminalControl (a GUI windows forms control).
However, if you plan to do terminal scripting in your application, then we suggest you to try our latest trial beta of Rebex Virtual Terminal component which will be released as part of 2014R2. It adds a brand new Scripting
class with a new and much more comfortable API for scripting. Here is a short sample of how the Scripting API is to be used in combination with existing TerminalControl
/ VirtualTerminal
classes if you use the beta build:
string username = "user";
string password = "password";
var terminal = new TerminalControl();
this.Controls.Add(terminal);
// connect to the server and bind TerminalControl
Ssh client = new Ssh();
client.Connect("SshServer");
client.Login(username, password);
terminal.Bind(client);
// the rest of this code can be safely called from a background thread
// disable automated response processing
terminal.SetDataProcessingMode(DataProcessingMode.None);
// get the scripting object
Scripting scripting = terminal.Scripting;
// wait for "Last login:" prompt
scripting.WaitFor(ScriptEvent.FromString("Last login:"));
// detect prompt
scripting.DetectPrompt();
// clear the screen
terminal.Screen.Clear(true);
// send some command
scripting.SendCommand("some-command");
// if wait is needed, uncomment next line and specify a delay
//scripting.WaitFor(ScriptEvent.Delay(200));
// send an 'exit' command to close the connection
scripting.SendCommand("exit");