AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Woher kommt die Diskrepanz?

Ein Thema von TurboMagic · begonnen am 2. Mär 2024 · letzter Beitrag vom 2. Mär 2024
Antwort Antwort
TurboMagic

Registriert seit: 28. Feb 2016
Ort: Nordost Baden-Württemberg
2.938 Beiträge
 
Delphi 12 Athens
 
#1

Woher kommt die Diskrepanz?

  Alt 2. Mär 2024, 15:37
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
Miniaturansicht angehängter Grafiken
sdkmanager.png   sdkmanagerfmx.jpg  
Angehängte Dateien
Dateityp: zip SDKManager.zip (77,9 KB, 3x aufgerufen)
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.048 Beiträge
 
Delphi 12 Athens
 
#2

AW: Woher kommt die Diskrepanz?

  Alt 2. Mär 2024, 16:45
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.

MSDN-Library durchsuchenCreatePseudoConsole
https://learn.microsoft.com/de-de/wi...pseudoconsoles
https://learn.microsoft.com/de-de/wi...onsole-session

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.
Neuste Erkenntnis:
Seit Pos einen dritten Parameter hat,
wird PoSex im Delphi viel seltener praktiziert.

Geändert von himitsu ( 2. Mär 2024 um 19:09 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von Uwe Raabe
Uwe Raabe

Registriert seit: 20. Jan 2006
Ort: Lübbecke
11.445 Beiträge
 
Delphi 12 Athens
 
#3

AW: Woher kommt die Diskrepanz?

  Alt 2. Mär 2024, 17:23
Du solltest in DosCommandNewLine den Parameter AOutputType auswerten und nur bei otEntireLine den Wert übernehmen.
Uwe Raabe
Certified Delphi Master Developer
Embarcadero MVP
Blog: The Art of Delphi Programming
  Mit Zitat antworten Zitat
TurboMagic

Registriert seit: 28. Feb 2016
Ort: Nordost Baden-Württemberg
2.938 Beiträge
 
Delphi 12 Athens
 
#4

AW: Woher kommt die Diskrepanz?

  Alt 2. Mär 2024, 18:16
Ja, so funktioniert das schon recht gut. Damit kann man wohl zurecht kommen. Danke!
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 06:30 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz