AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Programmieren allgemein Delphi Problem mit writeln (Text erstellen)
Thema durchsuchen
Ansicht
Themen-Optionen

Problem mit writeln (Text erstellen)

Ein Thema von Boyington · begonnen am 22. Jun 2012 · letzter Beitrag vom 25. Jun 2012
Antwort Antwort
Seite 2 von 2     12   
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
43.147 Beiträge
 
Delphi 12 Athens
 
#11

AW: Problem mit writeln (Text erstellen)

  Alt 22. Jun 2012, 18:16
Genau das ist ja der Grund für mich da mal auf writeln zurück zu greifen.
Nach meinem Kenntnisstand wird der Buffer bei einem Closefile weggeschrieben,
Nein und genau deswegen.

Bei CloseFile landen die Daten auch nur in der WFC.
Also genauso wie bei den FileStreams, denn FileStream und das Pascal-Zeugs nutzen intern die selbe WinAPI, abgesehn von dem zusätzlichen Caching der Delphi-Referenz durchsuchenTextFile.

Append tut erstmal das Ende der Datei einlesen um das vermeintliche Ende zu suchen.

Die alten Pascal-Funktionen sind also, in Bezug auf den Absturz des Programms eher im Nachteil.
- entwerder potentieller Datenverlust, bei geöffneten Dateien
- oder Overkill durch das ständige Öffnen und Schließen

Beim FileStream kann es offen bleiben und es kommt dennoch nichts weg, wenn das Programm abstürzt.


Wenn der ganze Computer verrekt, kann man durch entsprechende Optionen das Caching des FileStreams beeinflussen und auch da für ein sichereres Speichern sorgen, selbst wenn Windows verrekt.
Alternativ müstest du dir dafür ein eigenes AssingFile programmieren und die internen Open-/Closefunktionen ebenfalls durch eigene Versionen ersetzen und zusätzlich erstmal die Interna ergründen, da hierzu nichts in der OH drinsteht.
Beim FileStream, bzw. Delphi-Referenz durchsuchenTHandleStream+MSDN-Library durchsuchenCreateFile kannst du über die OH und das MSDN alles direkt erfahren.
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
my Delphi wish list : BugReports/FeatureRequests

Geändert von himitsu (22. Jun 2012 um 18:59 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von Boyington
Boyington

Registriert seit: 12. Apr 2012
43 Beiträge
 
#12

AW: Problem mit writeln (Text erstellen)

  Alt 25. Jun 2012, 08:47
Morgen Zusammen,
danke für eure Antworten, das Problem nun schon gelöst
Ich habe Rewrite(F); und CloseFile(F); einfach vergessen. Jetzt läuft das Programm einwandfrei.

Gruss
Lee
Do the best job, leave the rest in the hands of God!
  Mit Zitat antworten Zitat
Benutzerbild von p80286
p80286

Registriert seit: 28. Apr 2008
Ort: Stolberg (Rhl)
6.659 Beiträge
 
FreePascal / Lazarus
 
#13

AW: Problem mit writeln (Text erstellen)

  Alt 25. Jun 2012, 10:41
[QUOTE=himitsu;1172083]
Append tut erstmal das Ende der Datei einlesen um das vermeintliche Ende zu suchen.
Und das kostet, Faktor ca. 1000.
Bei der Gelegenheit hab ich mir die Auswirkungen von Settextbuf auf den Durchsatz angeschaut. sowohl das Schreiben ohne, als auch mit Buffsize=1 bzw Buffsize=8194 hatte keine signifikanten Auswirkungen.

Gruß
K-H
Programme gehorchen nicht Deinen Absichten sondern Deinen Anweisungen
R.E.D retired error detector
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 2 von 2     12   


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 16:00 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz