Autor Beitrag
pupu
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 104

WinXP
Borland Delphi 7, Turbo Pascal 7
BeitragVerfasst: Di 26.09.06 15:31 
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:
ausblenden 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 Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 104

WinXP
Borland Delphi 7, Turbo Pascal 7
BeitragVerfasst: Di 26.09.06 18:17 
Lannes
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 2352
Erhaltene Danke: 4

Win XP, 95, 3.11, IE6
D3 Prof, D4 Standard, D2005 PE, TurboDelphi, Lazarus, D2010
BeitragVerfasst: Di 26.09.06 19:00 
Hallo,

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

_________________
MfG Lannes
(Nichts ist nicht Nichts) and ('' <> nil ) and (Pointer('') = nil ) and (@('') <> nil )
pupu Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 104

WinXP
Borland Delphi 7, Turbo Pascal 7
BeitragVerfasst: Do 28.09.06 14:21 
ich denke ich weiß was du meinst aber was menst du mit "paramstr"?
Lannes
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 2352
Erhaltene Danke: 4

Win XP, 95, 3.11, IE6
D3 Prof, D4 Standard, D2005 PE, TurboDelphi, Lazarus, D2010
BeitragVerfasst: 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.

_________________
MfG Lannes
(Nichts ist nicht Nichts) and ('' <> nil ) and (Pointer('') = nil ) and (@('') <> nil )