Autor Beitrag
mausi123
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 19



BeitragVerfasst: Do 08.11.07 20:41 
hi @all,

wie kann ich den inhalt zweier batchdateiein in eine neue gesonderte batchdatei speichern.
der assignfile-befehl klappt bei mir net so.. ist leider so bei anfängern^^

so sollte das ganze aussehen:

test1.bat + test2.bat = test3.bat, mit dem inhalt von test1.bat u. test2.bat

thx
mausi123 Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 19



BeitragVerfasst: Do 08.11.07 20:47 
Titel: umständliche lösung, aber es funzt^^
habe zwar eine möglichkeit gefunden, möchte sie aber vermeiden :P

ausblenden Delphi-Quelltext
1:
2:
3:
memo1.Lines.LoadFromFile('d:\test1.bat');
memo1.Lines.LoadFromFile('d:\test2.bat');
memo1.Lines.SaveToFile('d:\test3.bat');


Moderiert von user profile iconNarses: Delphi-Tags hinzugefügt
jaenicke
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 19346
Erhaltene Danke: 1754

W11 x64 (Chrome, Edge)
Delphi 12 Pro, C# (VS 2022), JS/HTML, Java (NB), PHP, Lazarus
BeitragVerfasst: Do 08.11.07 21:22 
So funktioniert das nicht ;-). Du lädst den Inhalt der ersten Datei, dann den der zweiten, wobei aber der der ersten Datei gelöscht wird. Du speicherst also nur den Inhalt der zuletzt geladenen Datei.

Du kannst statt das Memo für den zweck zu missbrauchen TStringLists benutzen, dann ist die Lösung ähnlich zu dem, was du versucht hast:
ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
var
  File1, File2: TStringList;
begin
  File1 := TStringList.Create;
  File2 := TStringList.Create;

  // Dateien laden

  File1.AddStrings(File2); // Inhalt der zweiten Datei der ersten StringList hinzufügen

  // Dateien speichern

  File1.Free;
  File2.Free;
end;
oder so (bei größeren Dateien besser, weil die Dateien nicht komplett geladen werden):
ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
var
  CurrentLine: String;
  File1, File2, File3: TextFile;
begin
  AssignFile(File1, 'c:\tmp\tst1.txt');
  AssignFile(File2, 'c:\tmp\tst2.txt');
  AssignFile(File3, 'c:\tmp\tst3.txt');
  Reset(File1);
  Reset(File2);
  Rewrite(File3);
  while not EoF(File1) do
  begin
    ReadLn(File1, CurrentLine);
    WriteLn(File3, CurrentLine);
  end;
  while not EoF(File2) do
  begin
    ReadLn(File2, CurrentLine);
    WriteLn(File3, CurrentLine);
  end;
  CloseFile(File1);
  CloseFile(File2);
  CloseFile(File3);
end;
mausi123 Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 19



BeitragVerfasst: Do 08.11.07 21:34 
@jaenicke

genau so und nicht anders, very big thx!