Delphi-PRAXiS
Seite 2 von 2     12   

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Algorithmen, Datenstrukturen und Klassendesign (https://www.delphipraxis.net/78-algorithmen-datenstrukturen-und-klassendesign/)
-   -   Daten schrittweise in Textdatei speichern (https://www.delphipraxis.net/159628-daten-schrittweise-textdatei-speichern.html)

Maik81ftl 8. Apr 2011 22:03

AW: Daten schrittweise in Textdatei speichern
 
Zitat:

Zitat von Sim_Star (Beitrag 1093335)
Hallo,

ich frage mich gerade wie ich Daten schrittweise in eine Textdatei speichern kann.
Ich habe vor mir einen eigenen Logger zu programmieren, der mir in meinen Programmen Ereignisse und so weiter aufzeichnet und diese dann speichert.

Nun will ich gerne die Speicherung intern über eine Stringliste vornehmen. Da diese aber immer größer wird will ich diese nach Erreichen einer bestimmten Größe automatisch in eine Textdatei abspeichern, und die interen Liste leeren.

Wie kann man jetzt neue Daten wieder an die Textdatei, also ans Ende anhängen, ohne diese wieder z.b. zuerst in eine Stringliste zu laden?


Für Hilfe bin ich dankbar!

LG Marco

schaut nach 'ner Log-file aus :lol:

Zitat:

Zitat von mleyen (Beitrag 1093337)

sry a wan i sowas sehe, bekomm ich 'nen Anfall von :twisted:

Da ich selber auch sowas betreibe, würde ich auf diese version verweisen.

Delphi-Quellcode:
procedure Messwerterfassung(Messwert: String; Count: Longint);
var s: String;
begin
  fFilename:= Format('%s%s', [fPath, fExt]);
  if fFileName <> '' then
     begin
     with TIniFile.Create(fFileName) do try
       s := Format('[%s%s]', [fName, fLastname]);
       WriteString(s, 'Messwert' + IntToStr(Count), Messwert));
     finally
       Free;
     end;
  end;
end;
Würde dir anbieten eine klasse dafür zu coden.

Sir Rufo 8. Apr 2011 22:34

AW: Daten schrittweise in Textdatei speichern
 
Eine Ini-Datei als Log-Datei?

Der 1. April ist doch schon vorbei (hier wenigstens).

Bitte nicht - da kriegt man ja Schüttelfrost

Maik81ftl 8. Apr 2011 22:38

AW: Daten schrittweise in Textdatei speichern
 
Zitat:

Zitat von Sir Rufo (Beitrag 1094030)
Eine Ini-Datei als Log-Datei?

Der 1. April ist doch schon vorbei (hier wenigstens).

Bitte nicht - da kriegt man ja Schüttelfrost

war auch kein Aprilschwerz. oder steht irgenwo geschrieben, das dies unbedingt nur auf eine Ini angewendet werden darf??? ich selber habe dies nirgends gelesen. nur das man dies Beforzugt für ini anwendet.

und solange keine Textvormatierung gewünscht wird, schreib ich alles nach dem Schema.

man kann auch ein Memo extra einbinden und dies denne Speichern. kommt am ende auf das selbe Datenvollumen raus.

Aber ist ja am ende geschmackssache, wie es jeder macht. Dies bietet sich bei meinem projekten nun mal an, da ich mit StringGrid's arbeite. wenn ich ein Memo hätte,...

Ok da würd ich auch dies verwenden.

Sir Rufo 8. Apr 2011 22:51

AW: Daten schrittweise in Textdatei speichern
 
Wenn man ein Log schreiben möchte, dann ist es äußerst kontraproduktiv eine Variante zu wählen, wo die bisherigen Einträge zunächst geladen werden müssen und dann zum Abschluss alles wieder gespeichert.

Bei kleinen MiniLogs mag das evtl. noch vertretbar sein, aber ... wozu gibt es die Möglichkeit direkt an eine Datei etwas dranzuhängen.

Stream auf, Daten dranhängen, Stream zu.
Schneller und einfacher geht es nicht.

himitsu 9. Apr 2011 06:51

AW: Daten schrittweise in Textdatei speichern
 
TIniFile ... bist du krank?

Die dahinterlegende WinAPI ließt die komplette Datei in den Arbeitsspeicher, ändert dann etwas, bzw. fügt die neue Zeile ein, und schreibt dann alles komplett neu auf die Festplatte.
(PS: Darum gibt es in vielen Windows-Systemen für INIs eine Größenbegrenzung von 64 KB, da ein fester 64 KB Puffer für diese Änderungen genutzt wird)

Maik81ftl 9. Apr 2011 08:07

AW: Daten schrittweise in Textdatei speichern
 
Zitat:

Zitat von himitsu (Beitrag 1094037)
TIniFile ... bist du krank?

Nö nur des Wahnsinst fette Beute :lol:

Zitat:

Zitat von himitsu (Beitrag 1094037)
Die dahinterlegende WinAPI ließt die komplette Datei in den Arbeitsspeicher, ändert dann etwas, bzw. fügt die neue Zeile ein, und schreibt dann alles komplett neu auf die Festplatte.
(PS: Darum gibt es in vielen Windows-Systemen für INIs eine Größenbegrenzung von 64 KB, da ein fester 64 KB Puffer für diese Änderungen genutzt wird)

sry, Aber ich hab mit den 64KB kein Streß, liegt wohl auch daran, das ich Unter Ubuntu meine Proggis schreibe.


Alle Zeitangaben in WEZ +1. Es ist jetzt 03:17 Uhr.
Seite 2 von 2     12   

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz