| Autor |
Beitrag |
Arctics
Hält's aus hier
Beiträge: 13
xp
Delphi7
|
Verfasst: Mi 22.11.06 17:36
das speichern von strings usw. wäre mir sehr hilfreich beim erstellen (z.B.) einer Highscoreliste
|
|
jasocul
      
Beiträge: 6395
Erhaltene Danke: 149
Windows 7 + Windows 10
Sydney Prof + CE
|
Verfasst: Mi 22.11.06 17:38
Ich würde Dir den Einsatz von INI-Dateien empfehlen.
|
|
Leuchtturm
      
Beiträge: 1087
Win Vista, Knoppix, Ubuntu
Delphi 7 Pe, Turbo Delphi, C#(VS 2005 Express), (X)HTML + CSS, bald Assembler
|
Verfasst: Mi 22.11.06 17:38
Delphi-Quelltext 1: 2: 3: 4: 5:
| var a: string; begin a := 'Hallo'; Label1.Caption := a; |
oder mit einer Stringlist.
Leuchtturm
PS:Deine Probleme müsstest du mit der suche eigentlich auch finden 
_________________ Ich bin dafür verantwortlich was ich sage - nicht dafür was du verstehst.
|
|
jasocul
      
Beiträge: 6395
Erhaltene Danke: 149
Windows 7 + Windows 10
Sydney Prof + CE
|
Verfasst: Mi 22.11.06 17:39
|
|
Leuchtturm
      
Beiträge: 1087
Win Vista, Knoppix, Ubuntu
Delphi 7 Pe, Turbo Delphi, C#(VS 2005 Express), (X)HTML + CSS, bald Assembler
|
Verfasst: Mi 22.11.06 17:41
jasocul hat folgendes geschrieben: | | Ich würde Dir den Einsatz von INI-Dateien empfehlen. |
na gut für eine Highscore wäre eine ini-Datei besser
_________________ Ich bin dafür verantwortlich was ich sage - nicht dafür was du verstehst.
|
|
Arctics 
Hält's aus hier
Beiträge: 13
xp
Delphi7
|
Verfasst: Mi 22.11.06 17:45
|
|
Leuchtturm
      
Beiträge: 1087
Win Vista, Knoppix, Ubuntu
Delphi 7 Pe, Turbo Delphi, C#(VS 2005 Express), (X)HTML + CSS, bald Assembler
|
Verfasst: Mi 22.11.06 17:48
_________________ Ich bin dafür verantwortlich was ich sage - nicht dafür was du verstehst.
|
|
Arctics 
Hält's aus hier
Beiträge: 13
xp
Delphi7
|
Verfasst: Mi 22.11.06 17:51
|
|
Leuchtturm
      
Beiträge: 1087
Win Vista, Knoppix, Ubuntu
Delphi 7 Pe, Turbo Delphi, C#(VS 2005 Express), (X)HTML + CSS, bald Assembler
|
Verfasst: Mi 22.11.06 17:54
Hier gibt es auch noch was zum Thema ini dateien
_________________ Ich bin dafür verantwortlich was ich sage - nicht dafür was du verstehst.
|
|
Arctics 
Hält's aus hier
Beiträge: 13
xp
Delphi7
|
Verfasst: Mi 22.11.06 18:07
ich hab mir mal Das hier
angeschaut um überhaupt mal was über ini zu erfahren - habs natürlich auch gleich ausprobiert:
Delphi-Quelltext 1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13:
| procedure TForm1.FormCreate(Sender: TObject); var Ini: TIniFile; begin try Ini:=TIniFile.Create('C:\Test.ini'); Ini.WriteString('Section','Schlüssel1','Wert'); Ini.WriteInteger('Section','Schlüssel2',10); Ini.WriteBool('Section','Schlüssel3',True); finally Ini.Free; end; end; |
aber da kamen folgede probleme :
| Zitat: | [Error] Unit1.pas(37): Undeclared identifier: 'TIniFile'
[Error] Unit1.pas(40): Missing operator or semicolon
[Error] Unit1.pas(40): Incompatible types: 'TComponent' and 'String'
[Error] Unit1.pas(41): Missing operator or semicolon
[Error] Unit1.pas(42): Missing operator or semicolon
[Error] Unit1.pas(43): Missing operator or semicolon
[Error] Unit1.pas(45): Missing operator or semicolon
[Fatal Error] Project1.dpr(5): Could not compile used unit 'Unit1.pas'
|
was hab ich denn falsch gemaccht?
Moderiert von jasocul: Quote-Tags durch Delphi-Tags ersetzt
|
|
Marc.
      
Beiträge: 1876
Erhaltene Danke: 129
Win 8.1, Xubuntu 15.10
|
Verfasst: Mi 22.11.06 18:14
Fehlermeldung markieren und F1 drücken
Hast du nebenbei bemerkt, auch die Unit Inifiles in deinem Projekt mit eingebunden?
grüße marc
|
|
Arctics 
Hält's aus hier
Beiträge: 13
xp
Delphi7
|
Verfasst: Mi 22.11.06 18:18
|
|
BerTeL
      
Beiträge: 45
Windowx XP
Delphi 7 Enterprise
|
Verfasst: Mi 22.11.06 19:08
Genau du hast es erfasst ... und um es irgendwo anders zu speichern einfach anstatt C:\ C:\xyz\ eingeben ...
|
|
Arctics 
Hält's aus hier
Beiträge: 13
xp
Delphi7
|
Verfasst: Mi 22.11.06 19:22
ja, aber das ist nicht da 
|
|
Popov
      
Beiträge: 1655
Erhaltene Danke: 13
WinXP Prof.
Bei Kleinigkeiten D3Pro, bei größeren Sachen D6Pro oder D7
|
Verfasst: Mi 22.11.06 19:25
Hier ein kleines Beispiel. Die INI wird im gleichen Verzeichnis wie das Programm automatisch erstellt, Du mußt nichts machen. Für das Beispiel habe ich meine Unit "EasyIniAppExe.pas" benutzt. Die findest du hier: www.delphi-forum.de/....php?p=127274#127274 . Ich hoffe du weißt wie man eine Unit einbindet?
Der Rest ist einfach. Zuerst erstellen wir Beispieldateien:
Delphi-Quelltext 1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11:
| uses EasyIniAppExe;
type THighScore = Record Name: String; Points: Integer; end;
var HighScore: Array[1..3] of THighScore; |
Dann Beispiel für das Sichern:
Delphi-Quelltext 1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19: 20: 21: 22:
| procedure TForm1.Button1Click(Sender: TObject); var i: Integer; begin HighScore[1].Name := 'Paul'; HighScore[1].Points := 24566; HighScore[2].Name := 'Klaus'; HighScore[2].Points := 12534; HighScore[3].Name := 'Jörg'; HighScore[3].Points := 42134;
EraseIniSection('HighScorePunkte');
for i := 1 to 3 do WriteIniInteger('HighScorePunkte', HighScore[i].Name, HighScore[i].Points); end; |
Jetzt noch das Zurücklesen:
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19: 20: 21: 22: 23: 24: 25: 26: 27: 28: 29: 30: 31: 32: 33:
| procedure TForm1.Button2Click(Sender: TObject); var sl: TStringList; i: Integer; begin for i := 1 to 3 do begin HighScore[i].Name := ''; HighScore[i].Points := 0; with HighScore[i] do ShowMessage(Format('Nur Test!!!!! Platz %d: %s, %d', [i, Name, Points])); end;
sl := TStringList.Create; try ReadIniSection('HighScorePunkte', sl); for i := 0 to sl.Count - 1 do begin HighScore[i+1].Name := sl[i]; HighScore[i+1].Points := ReadIniInteger(sl[i], 'Points', -1); end; finally sl.Free; end;
for i := 1 to 3 do with HighScore[i] do ShowMessage(Format('Platz %d: %s hat %d Punkte', [i, Name, Points]));
end; |
_________________ Popov
|
|