unit Text;
// Laden und Verarbeiten einer Daten-Datei
interface
uses ComCtrls, tok, SysUtils;
type TText =
class (ComCtrls.TCustomRichEdit)
procedure FigurenLaden;
//Daten der Figuren aller Farben laden
procedure PositionenLaden;
// Läd Die Positionen für die Figuren
procedure OptionenLaden;
procedure OptionenSpeichern;
private
public
end;
implementation
uses Variablen, Unit2;
procedure TText.FigurenLaden;
var Data,Data2 :
String;
begin
Lines.LoadFromFile('
files\FigData.dat');
Data:=Text;
Data2:=GetTok(Data,1,'
;');
Blau.Pfad:=Data2;
Data2:=GetTok(Data,2,'
;');
Blau.Datei:=Data2;
Data2:=GetTok(Data,3,'
;');
Gelb.Pfad:=Data2;
Data2:=GetTok(Data,4,'
;');
Gelb.Datei:=Data2;
Data2:=GetTok(Data,5,'
;');
Gruen.Pfad:=Data2;
Data2:=GetTok(Data,6,'
;');
Gruen.Datei:=Data2;
Data2:=GetTok(Data,7,'
;');
Rot.Pfad:=Data2;
Data2:=GetTok(Data,8,'
;');
Rot.Datei:=Data2;
Data2:=GetTok(Data,9,'
;');
Auswahl.Pfad:=Data2;
Data2:=GetTok(Data,10,'
;');
Auswahl.Datei:=Data2;
Data2:=GetTok(Data,11,'
;');
Wuerfel.Pfad:=Data2;
Data2:=GetTok(Data,12,'
;');
Wuerfel.Datei:=Data2;
Data2:=GetTok(Data,1,'
;');
Spielfeld.Pfad:=Data2;
Data2:=GetTok(Data,2,'
;');
Spielfeld.Datei:=Data2;
end;
procedure TText.PositionenLaden;
var
String1, String2,String3 :
String;
Integer1,Integer2,Integer3,Integer4:Integer;
begin
Clear;
Lines.LoadFromFile('
files\Positions.pos');
String1:=Text;
String2:=GetTok(String1,1,'
;');
String3:=GetTok(String2,1,'
,');
Blau.XPositionen[1]:=StrToInt(String3);
String3:=GetTok(String2,2,'
,');
Blau.YPositionen[1]:=StrToInt(String3);
String2:=GetTok(String1,2,'
;');
String3:=GetTok(String2,1,'
,');
Blau.XPositionen[2]:=StrToInt(String3);
String3:=GetTok(String2,2,'
,');
Blau.YPositionen[2]:=StrToInt(String3);
String2:=GetTok(String1,3,'
;');
String3:=GetTok(String2,1,'
,');
Blau.XPositionen[3]:=StrToInt(String3);
String3:=GetTok(String2,2,'
,');
Blau.YPositionen[3]:=StrToInt(String3);
String2:=GetTok(String1,4,'
;');
String3:=GetTok(String2,1,'
,');
Blau.XPositionen[4]:=StrToInt(String3);
String3:=GetTok(String2,2,'
,');
Blau.YPositionen[4]:=StrToInt(String3);
String2:=GetTok(String1,5,'
;');
String3:=GetTok(String2,1,'
,');
Gelb.XPositionen[1]:=StrToInt(String3);
String3:=GetTok(String2,2,'
,');
Gelb.YPositionen[1]:=StrToInt(String3);
String2:=GetTok(String1,6,'
;');
String3:=GetTok(String2,1,'
,');
Gelb.XPositionen[2]:=StrToInt(String3);
String3:=GetTok(String2,2,'
,');
Gelb.YPositionen[2]:=StrToInt(String3);
String2:=GetTok(String1,7,'
;');
String3:=GetTok(String2,1,'
,');
Gelb.XPositionen[3]:=StrToInt(String3);
String3:=GetTok(String2,2,'
,');
Gelb.YPositionen[3]:=StrToInt(String3);
String2:=GetTok(String1,8,'
;');
String3:=GetTok(String2,1,'
,');
Gelb.XPositionen[4]:=StrToInt(String3);
String3:=GetTok(String2,2,'
,');
Gelb.YPositionen[4]:=StrToInt(String3);
String2:=GetTok(String1,9,'
;');
String3:=GetTok(String2,1,'
,');
Gruen.XPositionen[1]:=StrToInt(String3);
String3:=GetTok(String2,2,'
,');
Gruen.YPositionen[1]:=StrToInt(String3);
String2:=GetTok(String1,10,'
;');
String3:=GetTok(String2,1,'
,');
Gruen.XPositionen[2]:=StrToInt(String3);
String3:=GetTok(String2,2,'
,');
Gruen.YPositionen[2]:=StrToInt(String3);
String2:=GetTok(String1,11,'
;');
String3:=GetTok(String2,1,'
,');
Gruen.XPositionen[3]:=StrToInt(String3);
String3:=GetTok(String2,2,'
,');
Gruen.YPositionen[3]:=StrToInt(String3);
String2:=GetTok(String1,12,'
;');
String3:=GetTok(String2,1,'
,');
Gruen.XPositionen[4]:=StrToInt(String3);
String3:=GetTok(String2,2,'
,');
Gruen.YPositionen[4]:=StrToInt(String3);
String2:=GetTok(String1,13,'
;');
String3:=GetTok(String2,1,'
,');
Rot.XPositionen[1]:=StrToInt(String3);
String3:=GetTok(String2,2,'
,');
Rot.YPositionen[1]:=StrToInt(String3);
String2:=GetTok(String1,14,'
;');
String3:=GetTok(String2,1,'
,');
Rot.XPositionen[2]:=StrToInt(String3);
String3:=GetTok(String2,2,'
,');
Rot.YPositionen[2]:=StrToInt(String3);
String2:=GetTok(String1,15,'
;');
String3:=GetTok(String2,1,'
,');
Rot.XPositionen[3]:=StrToInt(String3);
String3:=GetTok(String2,2,'
,');
Rot.YPositionen[3]:=StrToInt(String3);
String2:=GetTok(String1,16,'
;');
String3:=GetTok(String2,1,'
,');
Rot.XPositionen[4]:=StrToInt(String3);
String3:=GetTok(String2,2,'
,');
Rot.YPositionen[4]:=StrToInt(String3);
/////BLAU//////
Integer3:=16;
Integer4:=4;
repeat
integer3:=integer3+1;
Integer4:=Integer4+1;
String2:=GetTok(String1,Integer3,'
;');
String3:=GetTok(String2,1,'
,');
Blau.XPositionen[Integer4]:=StrToInt(String3);
String3:=GetTok(String2,1,'
,');
Blau.YPositionen[Integer4]:=StrToInt(String3);
until integer4>=44;
/////GELB///////
Integer3:=14;
Integer4:=4;
repeat
Integer3:=Integer3+1;
Integer4:=Integer4+1;
Gelb.XPositionen[Integer4]:=Blau.XPositionen[Integer3];
Gelb.YPositionen[Integer4]:=Blau.YPositionen[Integer3];
if Integer3=44
then Integer3:=4;
until Integer3=14;
//////GRUEN////////////
Integer3:=14;
Integer4:=4;
repeat
Integer3:=Integer3+1;
Integer4:=Integer4+1;
Gruen.XPositionen[Integer4]:=Gelb.XPositionen[Integer3];
Gruen.YPositionen[Integer4]:=Gelb.YPositionen[Integer3];
if Integer3=44
then Integer3:=4;
until Integer3=14;
/////ROT//////
Integer3:=14;
Integer4:=4;
repeat
Integer3:=Integer3+1;
Integer4:=Integer4+1;
Rot.XPositionen[Integer4]:=Gruen.XPositionen[Integer3];
Rot.YPositionen[Integer4]:=Gruen.YPositionen[Integer3];
if Integer3=44
then INteger3:=4;
until Integer3=14;
/////////ENDPOSITIONEN////////
Blau.XPositionen[45]:=-4;
Blau.YPositionen[45]:=0;
Blau.XPositionen[46]:=-3;
Blau.YPositionen[46]:=0;
Blau.XPositionen[47]:=-2;
Blau.YPositionen[47]:=0;
Blau.XPositionen[48]:=-1;
Blau.YPositionen[48]:=0;
Gelb.XPositionen[45]:=0;
Gelb.YPositionen[45]:=4;
Gelb.XPositionen[46]:=0;
Gelb.YPositionen[46]:=3;
Gelb.XPositionen[47]:=0;
Gelb.YPositionen[47]:=2;
Gelb.XPositionen[48]:=0;
Gelb.YPositionen[48]:=1;
Gruen.XPositionen[45]:=4;
Gruen.YPositionen[45]:=0;
Gruen.XPositionen[46]:=3;
Gruen.YPositionen[46]:=0;
Gruen.XPositionen[47]:=2;
Gruen.YPositionen[47]:=0;
Gruen.XPositionen[48]:=1;
Gruen.YPositionen[48]:=0;
Rot.XPositionen[45]:=0;
Rot.YPositionen[45]:=-4;
Rot.XPositionen[46]:=0;
Rot.YPositionen[46]:=-3;
Rot.XPositionen[47]:=0;
Rot.YPositionen[47]:=-2;
Rot.XPositionen[48]:=0;
Rot.YPositionen[48]:=-1;
end;
procedure TText.OptionenLaden;
var Text1,Text2:
String;
begin
Clear;
Lines.LoadFromFile('
files\Einstellungen.ein');
Text1:=Text;
Text2:=Text1;
delete(Text2,2,length(Text2));
if Text2='
1'
then Optionen.Rueckgaengig:=True
else Optionen.Rueckgaengig:=False;
Text2:=Text;
Delete(Text2,1,1);
Delete(Text2,2,length(Text2));
if Text2='
1'
then Optionen.dreimalWuerfeln:=True
else Optionen.dreimalWuerfeln:=False;
Text2:=Text;
Delete(Text2,1,2);
Delete(Text2,2,length(Text2));
if Text2='
1'
then Optionen.Zugzwang:=True
else Optionen.Zugzwang:=False;
Text2:=Text;
Delete(Text2,1,3);
Delete(Text2,2,length(Text2));
Optionen.Wuerfeln:=StrToInt(Text2);
Text2:=Text;
Delete(Text2,1,4);
Delete(Text2,2,length(Text2));
Optionen.Farbauswahl:=StrToInt(Text2);
Text2:=Text;
Delete(Text2,1,5);
Delete(Text2,2,length(Text2));
Optionen.Spieler:=StrToInt(Text2)+2;
Text2:=Text;
Delete(Text2,1,6);
Delete(Text2,2,length(Text2));
Optionen.Figuren:=StrToInt(Text2)+1;
Text2:=Text;
Delete(Text2,1,7);
Delete(Text2,2,length(Text2));
if Text2='
0'
then Optionen.Figurauswahl:=True
else Optionen.Figurauswahl:=False;
Text2:=Text;
Delete(Text2,1,8);
Delete(Text2,2,length(Text2));
if Text2='
0'
then Optionen.BewegungsArt:=True
else Optionen.BewegungsArt:=False;
Text2:=Text;
Delete(Text2,1,9);
Delete(Text2,2,length(Text2));
case StrToInt(Text2)
of
0 : Optionen.Geschwindigkeit:=1;
1 : Optionen.Geschwindigkeit:=0.5;
2 : Optionen.Geschwindigkeit:=0.1;
3 : Optionen.Geschwindigkeit:=0.05;
4 : Optionen.Geschwindigkeit:=0.01;
5 : Optionen.Geschwindigkeit:=0.005;
6 : Optionen.Geschwindigkeit:=0.001;
end;
end;
procedure TText.OptionenSpeichern;
begin
Clear;
if Form2.CheckBox1.Checked=True
then Text:='
1'
else Text:='
0';
if Form2.CheckBox2.Checked=True
then Text:=Text+'
1'
else Text:=Text+'
0';
if Form2.CheckBox3.Checked=True
then Text:=Text+'
1'
else Text:=Text+'
0';
Text:=Text+IntToStr(Form2.RadioGroup1.ItemIndex);
Text:=Text+IntToStr(Form2.RadioGroup2.ItemIndex);
Text:=Text+IntToStr(Form2.RadioGroup3.ItemIndex);
Text:=Text+IntToStr(Form2.RadioGroup4.ItemIndex);
Text:=Text+IntToStr(Form2.RadioGroup5.ItemIndex);
Text:=Text+IntToStr(Form2.RadioGroup6.ItemIndex);
Text:=Text+IntToStr(Form2.RadioGroup7.ItemIndex);
Lines.SaveToFile('
files\Einstellungen.ein');
OptionenLaden;
Optionen.Anzeigen;
end;
end.