Autor Beitrag
sveno
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 40



BeitragVerfasst: Fr 05.03.04 00:38 
Hallo!

Wir haben vor ca. 1 Monat im Informatikunterricht mit Delphi angefangen!
Nun sollen wir das Spiel Mastermind prorammieren!Ich würde gerne wissen wie man eine Rekordliste einbauen kann die nicht bei jedem Neustart des Programms zurückgesetzt wird. Ich nehme an das dies nur mit einer Datei ausserhalb des Programms möglich ist auf die dann die Liste gespeichert wird und auch zugegriffen wird. Falsch ich das falsche Forum gewählt haben sollte sorry!
Neben bei würd ich gern wissen wie man es erreicht das bei bestimmten Aktionen (z.B. click auf button) eine mp3 erklingt.
Bin delphi anfänger und würde für laienhafte antworten dankkbar sein! :wink:

Danke im Vorraus, Sven!
catweasel
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 487
Erhaltene Danke: 1

Win 7 64bit
Delphi 7 Second Sedition V7.2
BeitragVerfasst: Fr 05.03.04 01:03 
Im Prinzip richtiges Forum :-)

Du hast da richtig die Qual der Wahl... Je nachdem wie umfangreich deine Rekordliste sein soll...
Nur name und punkte, oder auch Datum, statistiken etc....

Entweder du speicherst es in ein Textfile (sequnziell über eine Stringlist zum Beispiel), oder du benutzt ein Record Typ und arbeitest mit typisierten Dateien, oder du erstellst auf Basis der TInifile eine Klasse die das kapselt....
Du könntest es aber auch als XML speichern.. Soo viele Möglichkeiten....

Catweasel

_________________
Pommes werden schneller fertig wenn man sie vor dem Frittieren einige Minuten in siedendes Fett legt.
sveno Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 40



BeitragVerfasst: Fr 05.03.04 15:24 
Also, die Rekordliste soll nur Namen, Punkte und Datum enthalten! Ich weiss aber weder was ein Record Typ ist, noch weiss ich was typisierte Dateien oder xml oder TInifile heisst :roll: Was würdet ihr mir denn davon empfehlen und wie bau ich das dann ins Programm ein?
sibbe
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 50

WIN XP Prof
D7 Prof
BeitragVerfasst: Mo 08.03.04 16:44 
ich würd das ganze vielleicht über ne listbox machen...

speichern:
ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
const Rekord = 'C:\Rekord.txt';

procedure Tform1.Speichern(Name: string; Punkte: integer);
var F: TextFile;
begin
AssignFile(F,Rekord);
try
 Reset(F);
except
 on EInOutError do Rewrite(f);
end;
Append(f);
Writeln(f,inttostr(Punkte)+'       '+Name+'       '+Datetostr(date));
flush(f);
closefile(f);
end;


die initialisierung dann beim oncreate:

ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
procedure TForm1.FormCreate(Sender: TObject);
var F: Textfile;
    s: string;
begin
AssignFile(F,Rekord);
try
 Reset(F);
except
 on EInOutError do exit;
end;
while not eof(f) do begin
 readln(f,s);
 listbox1.Items.Add(s);
end;
closefile(f);
listbox1.Sorted:=true;
end;


das einfache bei listbox ist die sortierung, allerdings wären dann die höchsten punkte an letzter stelle, wegen der alphabetischen sortierung
und deswegen n sortier-algorithmus zu schreiben halte ich für zu kompliziert, oder?

sibbe