Delphi-PRAXiS
Seite 3 von 3     123   

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi Anfänger - wie Zahlen zum rechnen in Datei speichern ? (https://www.delphipraxis.net/136591-anfaenger-wie-zahlen-zum-rechnen-datei-speichern.html)

Jiron 7. Jul 2009 19:45

Re: Anfänger - wie Zahlen zum rechnen in Datei speichern ?
 
Hallo himitsu und p80286

Danke euch für eure Bemühungen mit mir :-) .
Da ich einfach nicht rausbekam, wo mein Fehler steckt, hab ich mein oberes Beispiel aus dem Buch für Delphi6 von Frank Eller unter "Typisierte Dateien" mal abgeschrieben. Meine Änderung besteht nur darin ( hab bisher jedenfalls keinen Abschreibfehler bei mir gefunden ) das ich anstatt "nr" das "z1" genommen hab. Das ist zwar nicht das was ich nachher wirklich ausgeben möchte, aber mir ging es ja um diese Fehlermeldung. Aber diese Meldung bekomme ich mit dem abgeschriebenen und der jetzt vorgeschlagenen Version, tut mir leid.
Nuja, wie gesagt, ich werd mich mal mit den Tutorials beschäftigen, vielleicht komme ich dann dabei mal drauf wie es richtig sein muß .
Dank noch mal
Gruß Jiron

himitsu 7. Jul 2009 21:06

Re: Anfänger - wie Zahlen zum rechnen in Datei speichern ?
 
@p80286: Anhängen von Daten ginge dann eher so:
Delphi-Quellcode:
begin
  AssignFile(MyFile, FN);
{$I-}
  if FileExists(FN) then
    Append(MyFile)
  else
    Rewrite(MyFile);
{$I+}
  if IOResult = 0 then
  begin
    Write(MyFile, z1);
  end;
  CloseFile(MyFile);
end;

jfheins 7. Jul 2009 22:12

Re: Anfänger - wie Zahlen zum rechnen in Datei speichern ?
 
Wenn du mit den Datei-Funktionen nicht zurechtkommst (is jetzt nicht irgendwie bös gemeint), solltest du mal den Filestream versuchen.

Ich hab mich auch nicht lang mit den Dingern rumgeschlagen (lies: Ich hab zur Kenntnis genommen, dass sie existeren, aber nicht viel mehr) ;)

Diese zwei Methoden, Dateien zu lesen/schreiben sind mindestens gleichwertig, Daten lesen und schreiben geht mit beiden.
Falls mich nicht alles täuscht, sollte der Filestream aber vielseitiger sein, weil man da die Zugriffsart festlegen kann.

p80286 8. Jul 2009 09:12

Re: Anfänger - wie Zahlen zum rechnen in Datei speichern ?
 
@Himitsu

keine Einwände!
Da dieses seek beinahe in jedem TP-Lehrbuch auftaucht (hat da nicht jemand was abgeschrieben?) hab' ich das hier einfach übernommen um Jiron nicht nicht zu verwirren(?).

In meiner Anfangszeit hab ich mich mit den unterschiedlichen "Zugriffsmethoden" ziemlich schwer getan, darum würde ich keinem gleich alle Möglichkeiten um die Ohren hauen.

Gruß
K-H

himitsu 8. Jul 2009 09:58

Re: Anfänger - wie Zahlen zum rechnen in Datei speichern ?
 
Gegen das Seek hab ich ja nix ... nur die verwendeten Parameter-Größen störten etwas ^^
Zitat:

Delphi-Quellcode:
System.Seek(MyFile,SizeOf(MyFile))

aber so viele Möglichkeiten gibt es ja nicht

Reset > Lesen (bzw. Lesen+Schreiben)
Rewrite > Schreiben
Append > Speichern und dabei alles hinten anhängen

Ansonsten muß ich zugeben, daß ich selber fast nur noch direkt über wie WinAPI geh
und bei kleinen Miniprojekten auch mal hin und wieder einfach die "alten" Pascal-Befehle nutz :stupid:

p80286 8. Jul 2009 11:38

Re: Anfänger - wie Zahlen zum rechnen in Datei speichern ?
 
Zitat:

Gegen das Seek hab ich ja nix ..
Hab ich auch nicht angenommen.

Ja das ist wohl die Krux, daß hier jeder von uns inzwischen seine "LieblingsRoutine" hat.
Für mich gibt es praktisch nur Textfiles und manchmal "Binäre Files".

Falls ich Strukturen speichern oder lesen muß, gehe ich in der Zwischenzeit über TFilestream (als Ersatz von Blockwrite/Blockread für "Binäre Files") weil das wahrscheinlich die performanteste Möglichkeit ist, ohne das API zu bemühen.
(falls ich falsch liege, bitte ich um Korrektur!)

Zitat:

System.Seek(MyFile,SizeOf(MyFile))
Das habe ich für einen "Abschreibfehler" gehalten, vor allem weil es diese File/Aarray Konfusion gab.

Ob ich das für mich für sinnvoll halte steht auf einem ganz anderen Blatt.

Gruß
K-H

himitsu 8. Jul 2009 12:08

Re: Anfänger - wie Zahlen zum rechnen in Datei speichern ?
 
Also am Ende geht alles über die WinAPIs MSDN-Library durchsuchenCreateFile (manchmal sogar immernoch alte 16-Bit-API ala MSDN-Library durchsuchenOpenFile) und MSDN-Library durchsuchenReadFile, sowie MSDN-Library durchsuchenWriteFile. :angel2:


Alle Zeitangaben in WEZ +1. Es ist jetzt 16:03 Uhr.
Seite 3 von 3     123   

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