
42687
21.03.2008, aktualisiert um 20:24:37 Uhr
Variablen aus Delphi an Batchdatei übergeben
Hi!
Ich habe eine Batchdatei vorliegen, die ein kleines Delphi-Programm mit zwei Edit-Feld aufruft. Die Eingaben in dieses Feld sollen an die Batchdatei als Variablen (Variable1 und Variable2) übergeben werden... Wie kann ich das realisieren?
Mit einer Variable habe ich es hinbekommen:
Delphi:
procedure TForm1.Button1Click(Sender: TObject);
begin
WriteLn(Edit1.Text);
Close;
end;
Batch:
@echo off
for /f %%i in ('programm.exe') do set klasse=%%i
echo %klasse%
Könnt Ihr mir da helfen das für zwei Variablen hinzubekommen?
Ich habe eine Batchdatei vorliegen, die ein kleines Delphi-Programm mit zwei Edit-Feld aufruft. Die Eingaben in dieses Feld sollen an die Batchdatei als Variablen (Variable1 und Variable2) übergeben werden... Wie kann ich das realisieren?
Mit einer Variable habe ich es hinbekommen:
Delphi:
procedure TForm1.Button1Click(Sender: TObject);
begin
WriteLn(Edit1.Text);
Close;
end;
Batch:
@echo off
for /f %%i in ('programm.exe') do set klasse=%%i
echo %klasse%
Könnt Ihr mir da helfen das für zwei Variablen hinzubekommen?
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 83678
Url: https://administrator.de/forum/variablen-aus-delphi-an-batchdatei-uebergeben-83678.html
Ausgedruckt am: 22.02.2025 um 15:02 Uhr
1 Kommentar
Hallo Peter161!
Etwa so:
Delphi:
Batch:
"#" wird als Trennzeichen (Delimiter) verwendet - falls es Bestandteil Deiner Eingaben sein kann, musst Du nach einer passenden Alternative suchen ("|" ist übrigens nicht zu empfehlen, und bei Zeichen mit Codes über 127 ist der Unterschied ASCII/ANSI zu beachten - zB müsstest Du, um in ASCII (Batch) "§" zu erhalten, in ANSI "õ" schreiben).
Grüße
bastla
Etwa so:
Delphi:
procedure TForm1.Button1Click(Sender: TObject);
begin
WriteLn(Edit1.Text+'#'+Edit2.Text);
Close;
end;
Batch:
@echo off
for /f "tokens=1,2 delims=#" %%i in ('programm.exe') do (set "klasse=%%i") & (set "var2=%%j")
echo %klasse%
echo %var2%
"#" wird als Trennzeichen (Delimiter) verwendet - falls es Bestandteil Deiner Eingaben sein kann, musst Du nach einer passenden Alternative suchen ("|" ist übrigens nicht zu empfehlen, und bei Zeichen mit Codes über 127 ist der Unterschied ASCII/ANSI zu beachten - zB müsstest Du, um in ASCII (Batch) "§" zu erhalten, in ANSI "õ" schreiben).
Grüße
bastla