![]() |
DOS-Programm starten
Ich besitze ein älteres, mit Turbo-Pascal geschriebenes DOS-Programm, von dem die exe-Datei noch existiert, der Quellcode leider nicht mehr. Wie kann ich dieses Programm mit Delphi 3 starten und so ausführen, dass auch Eingaben möglich sind? Wie muss ein evtl. Parameter eingegeben werden? :gruebel:
|
Re: DOS-Programm starten
Herzlich willkommen in der Delphi-PRAXiS, Hermann.
Kannst du das TurboPascal Programm von der Konsole aus erfolgreich starten? Wenn du einen Laufzeitfehler 200 erhältst, dann muss zuerst noch die Kalibrierschleife an die Zielmaschine angepasst werden. Das nächste Problem ist eventuell der verwendete Zeichencode. Welchen brauchst du? Code Page 437 oder 850? Hat das Programm eine zeichen- (Turbo Vision, Object Professional) oder grafikbasierte (TEGL) Benutzerschnittstelle, oder ist es ein Konsolprogramm? Wenn es ein Konsolprogramm ist, werden Standardkanäle für die Ein- und Ausgabe verwendet und sollen die durch dein D3 Programm übernommen werden? Fragen über Fragen. Freundliche Grüße vom marabu |
Re: DOS-Programm starten
Liste der Anhänge anzeigen (Anzahl: 1)
Danke marabu,
Kannst du das TurboPascal Programm von der Konsole aus erfolgreich starten? Wenn du einen Laufzeitfehler 200 erhältst, dann muss zuerst noch die Kalibrierschleife an die Zielmaschine angepasst werden. Programm läuft einwandsfrei unter Windows 2000 und Windows XP Das nächste Problem ist eventuell der verwendete Zeichencode. Welchen brauchst du? Code Page 437 oder 850? Code Page 850 Hat das Programm eine zeichen- (Turbo Vision, Object Professional) oder grafikbasierte (TEGL) Benutzerschnittstelle, oder ist es ein Konsolprogramm? Konsolprogramm Wenn es ein Konsolprogramm ist, werden Standardkanäle für die Ein- und Ausgabe verwendet und sollen die durch dein D3 Programm übernommen werden? Eingabe: Tastatur Ausgabe: Bildschirm und gespeicherte Textdatei können im DOS-Programm bleiben Vielleicht hilft die Anlage weiter? :drunken: |
Re: DOS-Programm starten
Hallo Hermann,
da dein Programm auf meinem Rechner läuft, wurde dein Borland Pascal bereits gepatcht - gut so. Die Ausgabe von Umlauten auf der Konsole hast du in deinem Programm an die CodePage 850 angepasst, die Datei mit den Ligatur-Ausnahmen ist in ANSI codiert, die Datei Beispiel.tex in USASCII. Da dein DOS-Programm keine nennenswerten Ausgaben erzeugt, können die wohl verloren gehen. Der Aufruf deines DOS-Progammes könnte so aussehen:
Delphi-Quellcode:
Hier im Forum solltest du dich noch nach
uses
ShellApi; var exeName, params, workDir: string; h: THandle; begin exeName := 'c:\programme\borland\delphi7\projects\texlig\texlig.exe'; params := 'beispiel'; workDir := 'c:\programme\borland\delphi7\projects\texlig\'; h := ShellExecute(Handle, 'open', PAnsiChar(exeName), PansiChar(params), PAnsiChar(workDir), SW_HIDE ); if h > 32 then ShowMessage('wunderbar') else ShowMessage(SysErrorMessage(GetLastError)); end; ![]() ![]() ![]() Aber unter uns - da werkelt kein richtiger LaTeX-Parser in deinem DOS-Programm, sieht eher nach naivem Ansatz aus. Man merkt es daran, dass Ligaturausnahmen in Kommentaren gefunden werden. Und die Echse ist nicht viel größer als der runtime code. Ich würde die Funktionalität in Delphi nachbilden und das alte DOS-Programm wegwerfen. In der gleichen Qualität wie beim DOS-Programm sind das vielleicht 50 Zeilen Quelltext. marabu |
Alle Zeitangaben in WEZ +1. Es ist jetzt 15:40 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 by Thomas Breitkreuz