Autor |
Beitrag |
tha_blaze
      
Beiträge: 29
xp
D7
|
Verfasst: Di 18.01.05 14:54
Mahlzeit
ich hab ein prog geschrieben was dateien aus einem ordner ausliest das wird durch einen timer verursacht. die dateien werden in einem memo aufgelistet und sollen in einer .log gespeichert werden. der timer soll das alle 5 sek tun und das ganze 5mal also soll am ende in der log datei alle dateien 5mal aufgelistet sein bisher kriege ich das bloß so hin das alle dateien 1mal drinstehen.
hier noch ein wenig source zum verstehen:
Delphi-Quelltext 1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17:
| procedure TForm1.Timer1Timer(Sender: TObject); begin if zaehler=5 then begin close; end else begin zaehler:= zaehler+1; s:=TStringlist.Create; ListFileDir('c:\medlinq\easy\*.*',s); memo1.Clear; memo1.Lines.AddStrings(s); s.Free; memo1.Lines.SaveToFile('test.log'); end; end; |
thx
_________________ stehen ein einbeiniger und ein blinder auf der brücke sagt der einbeinige zum blinden "ich trete dir gleich in hintern", darauf der blinde "das will ich sehen"!
|
|
AXMD
      
Beiträge: 4006
Erhaltene Danke: 7
Windows 10 64 bit
C# (Visual Studio 2019 Express)
|
Verfasst: Di 18.01.05 15:01
Delphi-Quelltext 1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18:
| procedure TForm1.Timer1Timer(Sender: TObject); begin if zaehler=5 then begin close; end else begin zaehler:= zaehler+1; s:=TStringlist.Create; ListFileDir('c:\medlinq\easy\*.*',s); memo1.Clear; Memo1.Lines.LoadFromFile('test.log'); memo1.Lines.AddStrings(s); s.Free; memo1.Lines.SaveToFile('test.log'); end; end; |
Hätt ich so gelöst
AXMD
|
|
jasocul
      
Beiträge: 6393
Erhaltene Danke: 147
Windows 7 + Windows 10
Sydney Prof + CE
|
Verfasst: Di 18.01.05 15:03
SaveToFile überschreibt immer die angegebene Datei.
Du musst dir eine zweite StringList anlegen, in der alle Daten gesammelt werden. Diese speicherst du dann zum Schluss mit SaveToFile.
|
|
AXMD
      
Beiträge: 4006
Erhaltene Danke: 7
Windows 10 64 bit
C# (Visual Studio 2019 Express)
|
Verfasst: Di 18.01.05 15:06
Wobei mein Vorschlag mit LoadFromFile sicher auch funktionieren würde
AXMD
|
|
jasocul
      
Beiträge: 6393
Erhaltene Danke: 147
Windows 7 + Windows 10
Sydney Prof + CE
|
Verfasst: Di 18.01.05 15:07
AXMD hat folgendes geschrieben: | Wobei mein Vorschlag mit LoadFromFile sicher auch funktionieren würde  |
Logisch. Du warst nur schneller als ich beim posten.
|
|
tha_blaze 
      
Beiträge: 29
xp
D7
|
Verfasst: Di 18.01.05 15:18
kann es sein das man die log datei am ende auch freigeben muss weil ich hab das programm jetzt 2mal gestartet (also den timer 10mal durchlaufen lassen) und in der log waren dann alle diese dateien aber er soll ja bloß 5mal die dateien anzeigen. also muss die datei doch am ende wieder freigegeben werden oder irre ich mich da...
thx
_________________ stehen ein einbeiniger und ein blinder auf der brücke sagt der einbeinige zum blinden "ich trete dir gleich in hintern", darauf der blinde "das will ich sehen"!
|
|
jasocul
      
Beiträge: 6393
Erhaltene Danke: 147
Windows 7 + Windows 10
Sydney Prof + CE
|
Verfasst: Di 18.01.05 15:32
Du musst beim ersten Durchlauf die Datei erstmal löschen, wenn sie schon existiert. Am einfachsten mit einem SaveToFile, wenn im Memo noch nichts drin steht.
|
|
tha_blaze 
      
Beiträge: 29
xp
D7
|
Verfasst: Di 18.01.05 15:34
kann ich dann nich savetofile vor dem:
Delphi-Quelltext
ja das klappt alles klar habt dank meine kompetenten retter... 
_________________ stehen ein einbeiniger und ein blinder auf der brücke sagt der einbeinige zum blinden "ich trete dir gleich in hintern", darauf der blinde "das will ich sehen"!
|
|
jasocul
      
Beiträge: 6393
Erhaltene Danke: 147
Windows 7 + Windows 10
Sydney Prof + CE
|
Verfasst: Di 18.01.05 15:42
Nein. Dann würde dir das Sammeln aus den 5 Durchläufen fehlen.
Du kannst auch im Create der Form mit der Funktion FileExists feststellen, ob die Datei existiert. Mit DeleteFile löscht du dann die Datei, falls sie existiert.
Die Funktionsaufrufe sind nicht schwierig und stehen gut dokumentiert in der OH.
|
|
tha_blaze 
      
Beiträge: 29
xp
D7
|
Verfasst: Mi 19.01.05 11:16
doch es hat im groben geklappt aber mein chef wollte das irgendwie anders gemacht haben aber es funktioniert trotzdem  jetzt soll ich das erst alles in einer tmp.log speichern und wenn das programm fretig is wird die datei umbenannt und die tmp.log wird gelöscht. da soll auch wieder am ende 5mal alle dateien drinstehen aber bisher stehen sie bloß einmal drinn.
thx 4 help 
_________________ stehen ein einbeiniger und ein blinder auf der brücke sagt der einbeinige zum blinden "ich trete dir gleich in hintern", darauf der blinde "das will ich sehen"!
|
|
AXMD
      
Beiträge: 4006
Erhaltene Danke: 7
Windows 10 64 bit
C# (Visual Studio 2019 Express)
|
Verfasst: Mi 19.01.05 13:34
Hat dein Chef kein Kurzzeitgedächtnis, dass er das ganze gleich in fünffacher Ausführung braucht?
AXMD
|
|