Einzelnen Beitrag anzeigen

stifflersmom

Registriert seit: 8. Dez 2005
Ort: 24994 Holt
380 Beiträge
 
Delphi 10.2 Tokyo Professional
 
#1

Textdateien zusammenfassen - irgedwie falsch

  Alt 7. Jul 2017, 16:38
Moin,

ich versuche hier ein paar CSV-Dateien aus einem Datev-Export in einer neuen Textdatei zusammen zu fassen (der Anwender soll nachher nicht x-Mal den Imoportvorgang starten müssen).
Dazu lese ich aus einem Verzeichnis die darin enthaltenen Dateien ein und schiebe den Inhalt dann in ein memo um den Inhalt dann nachher in eine Datei zu exportieren.
Theoretisch funktioniert das auch, aber:
Ich will den Header aus den exportdateien nur einmal in meiner zusammengefassten Datei haben und irgendwie werden da auch Zeilen doppelt übertragen, ich weiß nur nicht wieso.

Hier mal der Code:
Delphi-Quellcode:
procedure TfDatevBuchungsstapelimport.ReadDatevCSV;
const sDir = '\\blabla\freigabe\pawi\import\datev\';
Var sl_files : TstringList;
    sl_content : TstringList;
    i,y : Integer;
begin
 Screen.Cursor := crHourGlass;
 sl_files := TstringList.Create();
 GetFilesInDirectory(sDir, '*.txt',sl_files,False);
 memo_datev.Lines.Clear;
 memo_datev.Visible := False;

 For I := 0 to sl_files.Count - 1 Do
  Begin
   sl_content := TstringList.Create();
       sl_content.LoadFromFile(sDir+sl_files[i]);
       // den Header aus der Exportdatei wollen wir nur einmal haben...
       If I >0 Then sl_content.Delete(0);

       memo_datev.Lines.AddStrings(sl_content);
       sl_content.Free;
  End;
 If memo_datev.Lines.Text <> 'Then memo_datev.Lines.SaveToFile(sDir+'_Buchungen.csv');
 If memo_datev.Lines.Text <> 'Then memo_datev.Lines.SaveToFile(sDir+'Buchungen.csv');

 sl_files.Free;
 Screen.Cursor := crDefault;
end;
Sieht hier jemand meinen Fehler?

Gruß
  Mit Zitat antworten Zitat