Hi.
Ich konnte in der Hilfe nichts brauchbares finden.
Ich hab eine Prozedur, in der ich Daten einer Listview in einer Datei Speichere und sie dann Schliesse. Danach soll die Datei ausgedruckt werden. Ich brings nicht fertig.
Vielen Dank. Daniel :)
procedure TMainFormMC2004.DruckenErweitertClick(Sender: TObject);
//Daten Drucken; Im erweiterten Format
var
tf:TextFile;
s, t, r, i, n, g:string;
iLok{, iFkt, iWei, iWeiSch, iWeiTri, iMtr, iMtrLok}:integer;
begin
if PrintDialog.Execute then
begin
AssignFile(tf, ExtractFilePath(ParamStr(0)) + 'DatenErweitert.mce');
ReWrite(tf);
WriteLn(tf, '------------------------- LOKS ------------------------');
WriteLn(tf);
WriteLn(tf, '-------------------------------------------------------');
WriteLn(tf, '--ID:----Name:-------Adr:---Träg:---Beschl:---Verzög:--');
WriteLn(tf, '-------------------------------------------------------');
for iLok:=0 to ListViewKKLok.Items.Count -1 do
begin
s:=ListViewKKLok.Items.Item[iLok].Caption;
t:=ListViewKKLok.Items.Item[iLok].SubItems[0];
r:=ListViewKKLok.Items.Item[iLok].SubItems[1];
i:=ListViewKKLok.Items.Item[iLok].SubItems[2];
n:=ListViewKKLok.Items.Item[iLok].SubItems[3];
g:=ListViewKKLok.Items.Item[iLok].SubItems[4];
while Length(s) < 5 do //Falls die ID weniger als 5 Stellen hat
begin
s:=s + ' '; //Mit Leerstellen füllen
end;
while Length(t) < 10 do //Falls der Name weniger als 10 Stellen hat
begin
t:=t + ' '; //Mit Leerstellen füllen
end;
while Length(r) < 3 do //Falls die Adresse weniger als 3 Stellen hat
begin
r:=r + ' '; //Mit Leerstellen füllen
end;
WriteLn(tf, ' ' + s + ' ' + t + ' ' + r + ' ' + i + ' ' + n + ' ' + g);
end;
CloseFile(tf);
end;
end;