Pascal Textdatei ausgeben

Habe ein Programm geschrieben, welches eine Linkliste erstellt.
Funktioniert auch alles, jetz habe ich allerdings das Problem, dass ich die Linkliste nur im DOS Fenster hab. ich möchte die aba als txt datei ausgeben lassen. wie stell ich das am dümmsten an?

  1. MyProgramm.exe > textfile.txt
  2. var sl: TStringList;
    begin
    sl := TStringList.Create;
    sl.Add(‚Hallo world!‘);
    sl.SaveToFile(‚textfile.txt‘);
    sl.Free;
    end;
  3. var f: textfile;
    begin
    AssignFile(f, ‚textfile.txt‘);
    Rewrite(f);
    WriteLn(f, ‚Hallo world!‘);
    CloseFile(f);
    end;
  4. TFileStream

[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]

Hallo,

  1. MyProgramm.exe > textfile.txt
  2. var sl: TStringList;

ich schätze mal, dass er wohl eher TP benutzt (woher sonst das „DOS“-Fenster). Da ist dann nix mit TStringList.

Gruß, Niels

Hallo,

welches Pascal hast du denn? Turbo Pascal? Borland Pascal? Object Pascal (Delphi)? Bei letzterem hat dir John schon einen Weg gezeigt.
Ansonsten muss du die Liste gleich beim Generieren in eine Datei schreiben:

procedure machListe();
var
 Datei: text;
 derLink: String[255];

begin
 Assign(text, 'Dateiname.txt');
 Rewrite(Datei);
 repeat
 derLink = machEinenLink;
 writeln(Datei);
 until alleLinksErzeugt;
 close(Datei);
end;

So ungefähr. Kann sein, das Assign, text und close durch AssignFile, TextFile und CloseFile ersetzt werden müssen. Dann kannst du das Prog auch in Delphi benutzen (dann am besten String[255] durch String ersetzen).

Gruß, Niels

[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]

ya richtig das ganz stinknormale turbo pascal

[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]

Hallo,

wenn deine vorhandene Software das Zeugs mit write (text) auf die Konsole schreibt, so must du das nur ändern in write (file,text), um das Gleiche in eine Datei zu schreiben - zusätzlich must du natürlich die Datei mit Assign und Rewrite öffnen und nachher mit Close (o.ä.) schliessen.

Man kann dafür sogar das gleiche Unterprogramm verwenden, da write (file,text) auch auf die Konsole schreibt, wenn file = Output ist.

Gruss Reinhard

[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]

writeln(Datei);

das muss natürlich heißen

writeln(Datei, derLink);

ich schätze mal, dass er wohl eher TP benutzt (woher sonst das
„DOS“-Fenster). Da ist dann nix mit TStringList.

oder win32 Konsolen-Anwendung :smile: