![]() |
Woher kommt die Diskrepanz?
Liste der Anhänge anzeigen (Anzahl: 3)
Hallo,
ruft man SDKManager.bat --list per Kommandozeile von dem ordner auf aus, in dem diee Batch-Datei liegt, so bekommt man die in SDKManager.png gezeigte Ausgabe. Ich habe versucht diese Ausgabe mittels DOSCommand Komponente (zu finden in GetIt) abzugreifen. Nur wenn ich das tue bekomme ich das in SDKManagerFMX.png gezeigte, was doch erheblich davon abweicht. Woher kommt die Abweichung? Wie kann ich zur ungefähr selben Ausgabe kommen, damit ich diese Daten verarbeiten kann? Leite ich die Ausgabe der Kommandozeile wie folgt um: SDKManager.bat --list > test.txt sieht es aus wie in SDKManager.png Mein Testprogramm ist in der angehängten ZIP-Datei. Grüße TurboMagic |
AW: Woher kommt die Diskrepanz?
Viele Programme reagieren unterschiedlich, jenachdem, ob sie mit einer Console oder mit einem umgeleiteten Stream/Pipe reden.
Bei der Console kann z.B. die größe des Fensters abgefragt werden, außerdem lässt sich der Cursor steuern. Leider tut dieses Programm das nicht und schickt auch an den Stream die selben Befehle. Willst du wirklich vergleichbare Ergebnisse, dann mußt du selbst eine "Console" bereitstellen, auf dem alten DOS-Weg (deprecaded) oder mit dem neueren, wieder linuxartigem Wege. Ja, ursprünglich arbeitete auch DOS/Windows auch mal mit einem Stream, falls noch jemand die alten EscapeCodes kennt, um den Cursor und die Farben zu steuern und dann lief es über eine Console-API (welche die CMD.EXE nutzt) und nun wieder zurück zum Stream (wie es das neue Terminal nutzt), um auch wieder mit Linux reden zu können. ![]() ![]() ![]() In der Console muß man dann auch die Befehle beachten, welche z.B. den Cursor wieder an den Zeilenanfang schieben und entsprechend die "alten" Chars überschreiben. |
AW: Woher kommt die Diskrepanz?
Du solltest in DosCommandNewLine den Parameter AOutputType auswerten und nur bei otEntireLine den Wert übernehmen.
|
AW: Woher kommt die Diskrepanz?
Ja, so funktioniert das schon recht gut. Damit kann man wohl zurecht kommen. Danke!
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 17:27 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz