Thema: Delphi DOS-Programm starten

Einzelnen Beitrag anzeigen

marabu

Registriert seit: 6. Apr 2005
10.109 Beiträge
 
#4

Re: DOS-Programm starten

  Alt 30. Jan 2006, 20:45
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:
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;
Hier im Forum solltest du dich noch nach RunProcess, ShellExecAndWait und ShellExecuteAndWaitA umsehen. Mit diesen Funktionen kannst du dann auch dafür Sorge tragen, dass das DOS-Programm beendet wurde, bevor du eventuell auf die dort erzeugte Ausgabe zugreifst.

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
  Mit Zitat antworten Zitat