Hey alle da drausen!
Ich bin auch neu hier, aber ich programmiere schon etwas länger mit
Delphi! Delphi ist einfach sau geil.*g*
Ich hatte mal das gleiche Problem und ich hoffe, dass ich helfen kann.
Ich weiß leider nicht genau was du haben willst aber ich glaub ich habe eine
Lösung.
Es gibt die Möglichkeit, den Text der ComboBox1 zu speichern bzw. zu laden.
Ist ganz einfach: Ich erklär mal ganz kurz:
einal für das Speichern:
Delphi-Quellcode:
procedure TForm1.FormClose(Sender: TObject);
var inidat : TInifile;
begin
IniDat := TIniFile.Create('.\Farbeneinstellungen.Ini');
with inidat do begin
WriteString('Einstellungen','Farbe',ComboBox1.Text);
end;
end;
und natürlich zum Laden:
Delphi-Quellcode:
procedure TForm1.FormCreate(Sender: TObject);
var inidat : TInifile;
begin
IniDat := TIniFile.Create('.\Farbeneinstellungen.Ini');
with inidat do begin
ComboBox1.Text := ReadString('Einstellungen','Farbe',ComboBox1.Text);
end;
end;
Jetzt brauchst du nur noch eine Prozedur zum Auswerten.
Es gibt auch noch eine andere, wahrscheinlich bessere Lösung:
Durch Ordinaltypen!!!
Ich stelle einfach mal den kompletten Quelltext rein.
Den hab ich extra schnell entworfen. Extra für dich!
Delphi-Quellcode:
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
StdCtrls, Inifiles;
type TFarben = (TF_blau, TF_gelb, TF_rot, TF_gruen);
type
TForm1 =
class(TForm)
ComboBox1: TComboBox;
Button1: TButton;
Button2: TButton;
Memo1: TMemo;
procedure Button1Click(Sender: TObject);
procedure Button2Click(Sender: TObject);
procedure ComboBox1Change(Sender: TObject);
private
{ Private-Deklarationen }
public
{ Public-Deklarationen }
Farbe : TFarben;
procedure setzeFarbe;
end;
var
Form1: TForm1;
implementation
{$R *.DFM}
procedure TForm1.setzeFarbe;
begin
case Farbe
of
TF_blau: Memo1.Color := clblue;
TF_gelb: Memo1.Color := clYellow;
TF_gruen: Memo1.Color := cllime;
TF_rot: Memo1.Color := clred;
end;
end;
procedure TForm1.Button1Click(Sender: TObject);
var inidat : TInifile;
begin
inidat := TInifile.Create('
.\Test.Ini');
with inidat
do begin
WriteInteger('
SpTest','
SpTest', Ord(Farbe));
end;
end;
procedure TForm1.Button2Click(Sender: TObject);
var inidat : TInifile;
var auswahl : integer;
begin
inidat := TInifile.Create('
.\Test.Ini');
with inidat
do begin
auswahl := ReadInteger('
SpTest','
SpTest', Ord(Farbe));
end;
case auswahl
of
0:
begin Farbe := TF_blau;
ComboBox1.Text := '
BLAU';
end;
1:
begin Farbe := TF_gelb;
ComboBox1.Text := '
GELB';
end;
2:
begin Farbe := TF_rot;
ComboBox1.Text := '
ROT';
end;
3:
begin Farbe := TF_gruen;
ComboBox1.Text := '
GRÜN';
end;
end;
setzeFarbe;
end;
procedure TForm1.ComboBox1Change(Sender: TObject);
begin
if ComboBox1.Text = '
BLAU'
then Farbe := TF_blau;
if ComboBox1.Text = '
GELB'
then Farbe := TF_gelb;
if ComboBox1.Text = '
ROT'
then Farbe := TF_rot;
if ComboBox1.Text = '
GRÜN'
then Farbe := TF_gruen;
setzeFarbe;
end;
end.
Hier habe ich einfach einen Typ dekleriert.
Nicht vergessen: Die Ordinaltypen fangen immer bei 0 an!
Ich kann das jetzt leider nicht ganz erklären. Wenn jemand
Hilfe braucht, soll er mir einfach eine E-Mail schreiben :
ich@patti-k.de!
Viel Spaß!
Ich hoffe ich habe keine Fehler gemacht! Schreibt mir halt einfach, ob es hinhaut
oder nicht.