Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi probleme mit file (https://www.delphipraxis.net/87440-probleme-mit-file.html)

flori-da 28. Feb 2007 19:31


probleme mit file
 
Hallo..
Ich benötige für mein spiel ein highscore. den wollte ich in einem file speichern. das file soll aus einem record bestehen!
hab alles soweit geschrieben und bekommen nun eine Fehlermeldung. Meine file-variable sei nicht finalisiert.


so siehts bis jetzt aus:
Delphi-Quellcode:
type TDaten=record
           Zeit:byte;
           Name:String[20] ;
           end;

var
  Form2: TForm2;
  HS: file of TDaten;
und dann:
Delphi-Quellcode:
assign(HS,'Highscore.dat');
if FileExists('Highscore.dat') = False then
      Rewrite(HS)
    else   Reset(HS);
close(HS);
Das ist ja erstmal das Grundgerüst..Ich dachte mir wenn das nicht klappt brauche ich gar nicht weiter machen.

Gruß der flo

messie 28. Feb 2007 19:44

Re: probleme mit file
 
Benutze nicht "Name" für den Namen. Das wird in Zusammenhang mit API-Aufrufen benutzt. Vielleicht stolpert der Compiler darüber.

Grüße, Messie

mkinzler 28. Feb 2007 19:46

Re: probleme mit file
 
Oder versuch mal die Dimensionierung des Strings wegzulassen.

flori-da 28. Feb 2007 19:47

Re: probleme mit file
 
Das sagt/meckert Delphi:

[Fehler] Unit2.pas(45): E2155 Typ 'TDaten' benötigt Finalization - nicht im Dateityp erlaubt

was meinen die mit Finalisation?

Das mit der namensänderung bringt nix!
gruß der flo

flori-da 28. Feb 2007 19:49

Re: probleme mit file
 
bringt auch nix

scrat1979 28. Feb 2007 19:50

Re: probleme mit file
 
Zitat:

Zitat von flori-da
Hallo..

und dann:
Delphi-Quellcode:
assign(HS,'Highscore.dat');
if FileExists('Highscore.dat') = False then
      Rewrite(HS)
    else   Reset(HS);
close(HS);
Das ist ja erstmal das Grundgerüst..Ich dachte mir wenn das nicht klappt brauche ich gar nicht weiter machen.
Gruß der flo

Bin mir nicht sicher, aber IMHO Opinion müsste es so lauten. Den Unterschied findest Du in der Delphi-Hilfe:

Delphi-Quellcode:
AssignFile(HS, 'Highscore.dat');
[...]
CloseFile(HS);
Ich persönlich favorisiere folgende einfachere Schreibweise:

Delphi-Quellcode:
AssignFile(HS,'Highscore.dat');
if not FileExists('Highscore.dat') then Rewrite(HS)
                                   else Reset(HS);
CloseFile(HS);
Hoffe weitergeholfen zu haben...

Grüsse,
SCRaT

flori-da 28. Feb 2007 19:53

Re: probleme mit file
 
nein..das klapt auch nicht..
Finalisation heißt doch so viel wie schließen oder so was in der richtung..
aber mit closefile(HS) mach ich das doch..
ich weiß nicht weiter :wall:
aba schon mal vielen dank für euere unterstützung

dominikkv 28. Feb 2007 20:10

Re: probleme mit file
 
Delphi-Quellcode:
assign(HS,'Highscore.dat');
das muss der komplette pfad sein, also zB
Delphi-Quellcode:
assign(HS,'C:\Highscore.dat');

flori-da 28. Feb 2007 20:11

Re: probleme mit file
 
ich hab das problem gelöst
man muss den string auf jedenfall einschränken..sonst haut das dann nicht mit dem file hin..
kein plan warum..is aba so
ich glaub sonst is das file zu groß da ein string bei delphi ziemlich groß ist..und wenn das zu groß ist dann kann das nicht mehr finalisiert werden..
oder so irgendwie hab ich mir das jetzt gedacht.

trotzdem danke...
gruß der flo

Peter_Cottbus 28. Feb 2007 20:17

Re: probleme mit file
 
Delphi-Quellcode:
           Name:String[20] ;
Du hast doch den String eingeschränkt, da gings doch schon nicht?!


Alle Zeitangaben in WEZ +1. Es ist jetzt 16:13 Uhr.
Seite 1 von 2  1 2      

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