Autor Beitrag
Arctics
Hält's aus hier
Beiträge: 13

xp
Delphi7
BeitragVerfasst: Mi 22.11.06 17:36 
das speichern von strings usw. wäre mir sehr hilfreich beim erstellen (z.B.) einer Highscoreliste
jasocul
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 6395
Erhaltene Danke: 149

Windows 7 + Windows 10
Sydney Prof + CE
BeitragVerfasst: Mi 22.11.06 17:38 
Ich würde Dir den Einsatz von INI-Dateien empfehlen.
Leuchtturm
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 1087

Win Vista, Knoppix, Ubuntu
Delphi 7 Pe, Turbo Delphi, C#(VS 2005 Express), (X)HTML + CSS, bald Assembler
BeitragVerfasst: Mi 22.11.06 17:38 
ausblenden 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 :wink:

_________________
Ich bin dafür verantwortlich was ich sage - nicht dafür was du verstehst.
jasocul
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 6395
Erhaltene Danke: 149

Windows 7 + Windows 10
Sydney Prof + CE
BeitragVerfasst: Mi 22.11.06 17:39 
Zur Ergänzung hier ein Link:
www.delphi-library.d...mp;highlight=inifile
Leuchtturm
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 1087

Win Vista, Knoppix, Ubuntu
Delphi 7 Pe, Turbo Delphi, C#(VS 2005 Express), (X)HTML + CSS, bald Assembler
BeitragVerfasst: Mi 22.11.06 17:41 
user profile iconjasocul 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 Threadstarter
Hält's aus hier
Beiträge: 13

xp
Delphi7
BeitragVerfasst: Mi 22.11.06 17:45 
user profile iconLeuchtturm hat folgendes geschrieben:
ausblenden 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 :wink:



ich habe vor eine highscore liste zu machen, wenn man dann seinen namen einträgt und das programm beendet und dann wieder aufruft wurde der name doch "vergessen" und genau dass sollte ja nicht passieren
Leuchtturm
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 1087

Win Vista, Knoppix, Ubuntu
Delphi 7 Pe, Turbo Delphi, C#(VS 2005 Express), (X)HTML + CSS, bald Assembler
BeitragVerfasst: Mi 22.11.06 17:48 
user profile iconArctics hat folgendes geschrieben:
user profile iconLeuchtturm hat folgendes geschrieben:
ausblenden 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 :wink:



ich habe vor eine highscore liste zu machen, wenn man dann seinen namen einträgt und das programm beendet und dann wieder aufruft wurde der name doch "vergessen" und genau dass sollte ja nicht passieren

dann schaue dir mal jasocul's Link an

_________________
Ich bin dafür verantwortlich was ich sage - nicht dafür was du verstehst.
Arctics Threadstarter
Hält's aus hier
Beiträge: 13

xp
Delphi7
BeitragVerfasst: Mi 22.11.06 17:51 
user profile iconLeuchtturm hat folgendes geschrieben:
ausblenden 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 :wink:



ich habe vor eine highscore liste zu machen, wenn man dann seinen namen einträgt und das programm beendet und dann wieder aufruft wurde der name doch "vergessen" und genau dass sollte ja nicht passieren
Leuchtturm
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 1087

Win Vista, Knoppix, Ubuntu
Delphi 7 Pe, Turbo Delphi, C#(VS 2005 Express), (X)HTML + CSS, bald Assembler
BeitragVerfasst: 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 Threadstarter
Hält's aus hier
Beiträge: 13

xp
Delphi7
BeitragVerfasst: 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:
ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
procedure TForm1.FormCreate(Sender: TObject);
var
  Ini: TIniFile;  //zeile37
begin
  try
    Ini:=TIniFile.Create('C:\Test.ini'); //zeile 40 usw.
    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 user profile iconjasocul: Quote-Tags durch Delphi-Tags ersetzt
Marc.
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 1876
Erhaltene Danke: 129

Win 8.1, Xubuntu 15.10

BeitragVerfasst: 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 Threadstarter
Hält's aus hier
Beiträge: 13

xp
Delphi7
BeitragVerfasst: Mi 22.11.06 18:18 
user profile iconMarc. hat folgendes geschrieben:
Fehlermeldung markieren und F1 drücken ;)
Hast du nebenbei bemerkt, auch die Unit Inifiles in deinem Projekt mit eingebunden?

grüße marc



danke hat geklappt :D :)

aber nun müsste doch die datei test.ini in c:\ erstellt werden? oder hab ich da was fasch verstanden?
BerTeL
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 45

Windowx XP
Delphi 7 Enterprise
BeitragVerfasst: 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 Threadstarter
Hält's aus hier
Beiträge: 13

xp
Delphi7
BeitragVerfasst: Mi 22.11.06 19:22 
ja, aber das ist nicht da :(
Popov
ontopic starontopic starontopic starontopic starhalf ontopic starofftopic starofftopic starofftopic star
Beiträge: 1655
Erhaltene Danke: 13

WinXP Prof.
Bei Kleinigkeiten D3Pro, bei größeren Sachen D6Pro oder D7
BeitragVerfasst: 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:

ausblenden 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..3of THighScore;


Dann Beispiel für das Sichern:

ausblenden 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
  //Beispielwerte

  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;

  // Sichern mit EasyIniAppExe

  // Zuerst alle HighScore Werte in der Ini löschen. Wir sichern alles zusammen; ist besser.
  EraseIniSection('HighScorePunkte');

  // Jetzt speichern
  for i := 1 to 3 do
    WriteIniInteger('HighScorePunkte', HighScore[i].Name, HighScore[i].Points);
end;


Jetzt noch das Zurücklesen:

ausblenden volle Höhe Delphi-Quelltext
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
  // Laden mit EasyIniAppExe

  // Zuerst alle alten Werte im Array löschen und kurz prüfen ob wirklich leer.
  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;

  // Jetzt holen wir wieder die Werte aus der Ini zurück
  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;

  // Jetzt testen wir den Array Inhalt neu
  for i := 1 to 3 do
    with HighScore[i] do ShowMessage(Format('Platz %d: %s hat %d Punkte', [i, Name, Points]));

end;

_________________
Popov