Nach einigem Ausprobieren bin ich zu folgendem Code gekommen:
Delphi-Quellcode:
try
IdTelnet1.Connect();
finally
If IdTelnet1.Connected
Then
Memo1.Lines.Add('
Verbindung zu 192.168.1.1 hergestellt!')
end;
IdTelnet1.SendCmd('
*******');
// Passworteingabe, zensiert fürs Forum ;-)
IdTelnet1.SendCh('
1');
// erster Menüeintrag
idtelnet1.SendCh(#13);
IdTelnet1.SendCh('
2');
// zweiter Menüeintrag
idtelnet1.SendCh(#13);
// hier muss irgendwie gewartet werden, bis fertig
// vielleicht ist das auch das Problem (?)
idtelnet1.SendCh(#27);
idtelnet1.SendCh('
[');
idtelnet1.SendCh('
3');
idtelnet1.SendCh('
B');
// damit sollte der Cursor 3 Zeilen nach unten bewegt werden
// idtelnet1.SendCmd(#27+'[3B'); // alternative Möglichkeit, k.A. welche besser ist
// hier noch die alte IP speichern, wird dann aus der Ausgabe extrahiert
idtelnet1.SendCmd('
192.168.178.2');
// Eingabe der neuen IP
idtelnet1.SendCh(#13);
// verlassen des Menüs
IdTelnet1.SendCh('
0');
// zurück zum Hauptmenü
idtelnet1.SendCh(#13);
IdTelnet1.SendCh('
e');
// Menü verlassen (muss noch in try-Block)
idtelnet1.SendCh(#13);
// hier muss irgendwie noch das Disconnect hin, aber wenn ich es einfüge,
// dann wird die Verbindung schon beendet, bevor nur die erste Ausgabe erfolgt ist ;-((
Die Probleme des Codes habe ich als Kommentare eingefügt. Wo genau der / die Fehler liegen, kann ich nicht wirklich sagen, nur hinterher steht immernoch das alte Gateway drin ;-(
Hast du da vielleicht ein paar Tipps, was ich noch testen könnte / sollte?
Cu, Chris