Entwickler-Ecke

Dateizugriff - Erstellen einer txt-Datei


Hänsel - Mo 16.04.18 17:58
Titel: Erstellen einer txt-Datei
Ich hatte dieses(mein) Problem schon mal eingestellt, aber sicher war ich da in der falschen Rubrik und versuche es hier noch einmal

Hallo, kann jemand weiter helfen?

Aus meiner Datenbank muss ich eine txt-Datei exportieren.Die Satzlänge ist 128. Das funktioniert bei allen Sätzen bis auf den letzten Satz, der 20 Zeichen zu wenig bringt.

Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
      while not tblASatz.Eof do
      begin
        sLineString := '';
        sLineString := sLineString + 'A';
        sLineString := sLineString + FillStr(tblASatz.FieldByName('Nr').AsString, 7'0', taRightJustify);
        sLineString := sLineString + FillStr(tblASatz.FieldByName('Ordnungsbegriff').AsString, 13' ', taRightJustify);
        sLineString := sLineString + FillStr(tblASatz.FieldByName('Nutzer_Nr').AsString, 20' ', taLeftJustify);
        sLineString := sLineString + FillStr(tblASatz.FieldByName('art').AsString, 1'0', taRightJustify);
        sLineString := sLineString + FillStr(''86' ', taRightJustify);
        Writeln(fExportFile,sLineString);
        tblASatz.Next;
      end;
      tblASatz.Close;


A00312001084800000720006060 0......................................................................................//Satzende
A00312001084800000730006059 0......................................................................................//Satzende
A00312001084800000740006058 0......................................................................................//Satzende
A00312001084800000750006061 0......................................................................................//Satzende
A00312001084800000760006074 0......................................................................................//Satzende
A00312001084800000770006075 0......................................................................................//Satzende
A00312001084800000780006076 0......................................................................................//Satzende
A00312001084800000790006073 0.....................................................................//Satzende

Was kann man hier eventuell ändern?

Danke schon mal im Voraus!!

Moderiert von user profile iconNarses: Delphi-Tags hinzugefügt


ub60 - Mo 16.04.18 19:41

Ich vermute mal, dass Du die Datei am Ende nicht geschlossen hast. Leider hast Du diesen Teil des Quelltextes nicht mit gepostet.
Also z.B. so


Delphi-Quelltext
1:
2:
3:
4:
  AssignFile(Datei, 'Test.txt');
  Rewrite(Datei);
  WriteLn(Datei, Zeile);
  CloseFile(Datei);

ub60


Hänsel - Di 17.04.18 07:53

Danke für den Hinweis.

Hänsel