Entwickler-Ecke

Dateizugriff - AssignPrn


Licki - Do 18.09.03 12:18
Titel: AssignPrn
Hi.

Habe eine Frage.


Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
procedure TForm1.Button1Click(Sender: TObject);
var
  l: TextFile;
begin
  AssignPrn(l);
  Rewrite(l);
  Writeln(l, 'Text.');
 CloseFile(l);
end;


Das funktioniert. Aber wie geht es, dass ich sagen kann, das es mir die Datei text.txt druckt? Müsste man ja irgendwie ins Writeln schreiben können oder? Habe rumprobiert, komme aber leider nicht darauf. Hoffe, dass jemand von euch einen nützlichen Tipp hat.


patrick - Do 18.09.03 12:28

ähh bitte noch mal auf deutsch, ich komm bei deiner fragestellung nicht ganz mit.
willst du den zu dem dokument noch deinendateinamen ausdrucken oder willst du feststellen ob deine datei gedruckt wurde?


Licki - Do 18.09.03 12:31

Das ist doch Deutsch. Also, du siehst den Code, wo ich gepostet habe. Dieser wird ausgeführt wenn ich meine Form schließe, also mein Programm beende (steht also im Form.Close). Funktioniert also. Ich will aber keinen festen Text drucken, sondern eine Textdatei mit dem Namen test.txt, welche im gleichen Verzeichnis liegt wie mein Programm. Das muss man doch auch in den Befehl Writeln (was letztendlich gedruckt wird) reinschreiben können, oder? Also das er mir die test.txt druckt...


barfuesser - Do 18.09.03 12:59

Du mußt Deine Datei öffnen und einlesen und dann kannst Du sie drucken.

barfuesser


Licki - Do 18.09.03 13:05

Habe ich auch gedacht.


Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
procedure TForm1.FormClose(Sender: TObject; var Action: TCloseAction);
var
  Stream: TFileStream;
begin
  Stream:=TFileStream.Create('C:\Testdatei.dat',fmCreate);
  AssignPrn(Stream);
  try
  Writeln(Stream);
  finally
    Stream.Free;
  end;
end;


Die Datei wird ja geöffnet und als Stream eingelesen oder? Aber wie kann ich sie dann drucken lassen, bzw. ins Writeln schreiben? Mein Code funktioniert da nicht, habe schon einiges probiert, komme aber nicht drauf.


smiegel - Do 18.09.03 15:00

Hallo,

versuche es einmal so:


Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
procedure TForm1.Button1Click(Sender: TObject); 
var 
  druck, lese: TextFile; 
  s:String;
begin 
  AssignFile(lese, 'C:\Testdatei.dat');
  AssignPrn(druck); 
  Reset(lese);
  Rewrite(druck);
  while not Eof(lese) do
  begin
    ReadLn(lese, s);
    Writeln(druck, s); 
  end// while
  CloseFile(druck);
  CloseFile(lese);
end;