Ich möchte eine kleines Konsolen-Tool schreiben, das einen String als eingabe aufnimmt und in eine (System)Variable schreibt, so dass in einer Batch-Datei weiterhin darauf zugegriffen werden kann. Bis zum Einlesen des Strings funktioniert alles wie es soll (3te Zeile von unten). Ich bin mir nicht sicher ob
SetEnvironmentVariable da die richtige Funktion ist, aber vielleicht hab ich ja auch nur einen anderen Denkfehler drin.
Delphi-Quellcode:
program input;
{$APPTYPE CONSOLE}
uses
SysUtils,windows;
var
i: integer;
st: string;
begin
if ((paramstr(1)='/?') or (paramstr(1)='-?'))
then begin
writeln('INPUT [/?] [<Text>]');
writeln;
writeln(' /? - Zeigt diesen Hilfetext an.');
writeln(' <Text> - Dieser Text wird vor der Eingabezeile angezeigt.');
exit;
end else if paramstr(1) <> ''
then begin
for i := 1 to paramcount do begin
if i > 1 then st := st + ' ';
st := st + paramstr(i);
end;
writeln(st);
end;
readln(st);
SetEnvironmentVariable('input',pchar(st));
end.