Entwickler-Ecke

Sonstiges (Delphi) - Per FileRead Highscore in Stringgrid laden?


pupu - Di 26.09.06 15:31
Titel: Per FileRead Highscore in Stringgrid laden?
Hi
Für die Schule sollen wir Snake programmieren und den highscore der erstellt wird, der soll in ein Stringgrid eingetragen (Stringgrid[1,n]:=highscore[n].Punkte; Stringgrid[2,n]:=highscore[n].name)

Das klappt so weit...wenn das fenser geschlossen wird soll der Inhalt des Stringgrid so gespeichert werden, dass ich ihn beim nächsten Programmstart wieder in das Stringgrid eintragen kann...

Das Stringgrid hat 2 Spalten (+Spalte für '1.', '2.' usw) und 10 reihen (+Reihe für 'Name', 'Punkte');

mir wurde gesagt ich soll das über fileopen, fileread oder fileWrite lösen...

Mein Speichern sieht so aus:

Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
  
procedure TForm2.FormClose(Sender: TObject; var Action: TCloseAction);
var filehandle:integer;
begin
  if not fileexists('hscore.dat'then filehandle:=filecreate('hscore.dat')
  else  filehandle:=fileopen('hscore.dat', fmOpenWrite);
  Filewrite(filehandle, StringGrid1.ColCount, SizeOf(StringGrid1.ColCount));
  FileWrite(filehandle, StringGrid1.RowCount, SizeOf(StringGrid1.RowCount));
end;

So hat mein lehrer mir das gesagt und ein Datei spehcert wer auch wirklich...nur kann ich nicht einsehen was da drin gespeichert wird.. halt nur dieses Viereck für ein "nicht verfügbares zeichen" oder so ;)

1. Frage: Is das so richtig? oder hab ich die falschen parameter benutzt?

2. Frage: Wie schaffe ich dass, das das ganze beim start (bei "OnActivate") wieder in das Stringgrid geschrieben wird? ich hab da echt keinen Ansatz wie ich das bewekrstelligen soll


pupu - Di 26.09.06 18:17

hat sich erledigt:
http://www.dsdt.info/tipps/?id=554&search=stringgrid


Lannes - Di 26.09.06 19:00

Hallo,

dann übergib aber nicht nur den Dateinamen ohne Pfad, so wie in Deiner Procedur oben.
:arrow: paramstr


pupu - Do 28.09.06 14:21

ich denke ich weiß was du meinst aber was menst du mit "paramstr"?


Lannes - Do 28.09.06 14:30

Hallo,

such hier mal nach paramstr, da findest Du mit Sicherheit ausreichend Informationen was Anwendungspfad <> Arbeitsverzeichnis betrifft.
Die Funktion paramstr liefert Dir den Exepfad.