Entwickler-Ecke

Dateizugriff - Fehlender Inhalt bei Text-Datei


Hänsel - Mo 16.04.18 14:33
Titel: Fehlender Inhalt bei Text-Datei
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
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;


Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
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 iconTh69: Delphi-Tags hinzugefügt
Moderiert von user profile iconTh69: Titel geändert.
Moderiert von user profile iconTh69: Topic aus Datenbanken (inkl. ADO.NET) verschoben am Di 17.04.2018 um 08:52


Th69 - Mo 16.04.18 15:47

Hallo,

schließt du auch die Datei (anhand des Handles fExportFile) korrekt? Ansonsten befinden sich evtl. noch Daten im internen Puffer.


Hänsel - Mo 16.04.18 16:30

Das sieht fast so aus, wie Du das beschrieben hast. Wie könnte das schließen aussehen? Könntest Du mir da weiterhelfen?


jaenicke - Di 17.04.18 08:10

Das sollte mit CloseFile gehen:
http://www.delphibasics.co.uk/RTL.asp?Name=closefile

// EDIT:
Ich sehe schon, ist erledigt:
https://www.entwickler-ecke.de/viewtopic.php?t=117003
Statt ein neues Thema zu erstellen kannst du übrigens auch auf Thema melden klicken und um Verschiebung an die richtige Stelle bitten. ;-)


Th69 - Di 17.04.18 08:51

Ich hatte selber nicht gemerkt, daß dieser Thread nicht im richtigen Bereich war.