Einzelnen Beitrag anzeigen

moperswings

Registriert seit: 27. Mai 2004
Ort: Bad Sooden-Allendorf
240 Beiträge
 
Delphi 6 Professional
 
#1

Ergebnisse einer RadioGroup speichern

  Alt 30. Mär 2005, 11:26
Hallo,

könntet Ihr mal einen Blick auf mein Programm werfen?
Ich möchte den Eintrag einer Radiogroup - ich nenne sie farben mit den Items rot, gelb, blau - abspeichern.
Nur bekomme ich das nicht hin! Nehme ich drei Radiobuttons, funktioniert das Speichern und Öffnen tadellos
Aber der RadioGroup und ihren Items kann ich nichts zuordnen was funktioniert.
Vielleicht könnt Ihr mir ja helfen!

Viele Grüsse

moperswings


Delphi-Quellcode:

  private
    { Private-Deklarationen }
    procedure dsSave; //Datensatz Speichern
    procedure dsOpen; //Datensatz Öffnen

  public
    { Public-Deklarationen }
  end;

var
  Form1: TForm1;

implementation
        type
        TDaten = record
        farben:    ??? // hier sollte die RadioGroup angegeben werden
        rot: boolean; // Radiobutton1
        gelb: boolean;// Radiobutton2
        blau: boolean;// Radiobutton3
        end;
var
        Daten: array of TDaten;
        Index: Byte = 0;
        dsmax: Word = 1;
        Stream: TFileStream;

{$R *.dfm}

procedure TForm1.dsSave;
begin
        with Daten[Index] do begin
        farben :=    ???   
        rot := RadioButton1.Checked;
        gelb := RadioButton2.Checked;
        blau := RadioButton3.Checked;
        end;
end;

procedure TForm1.dsOpen;
begin
        with Daten[Index] do begin
        ??? := farben;
        RadioButton1.Checked := rot;
        RadioButton2.Checked := gelb;
        RadioButton3.Checked := blau;
        end;
end;

procedure TForm1.FormCreate(Sender: TObject);
begin
        SetLength(Daten, dsmax);
end;

procedure TForm1.close1Click(Sender: TObject);
begin
        close;
        Daten := nil;
end;

procedure TForm1.FormClose(Sender: TObject; var Action: TCloseAction);
begin
        action := cafree;
end;

procedure TForm1.save1Click(Sender: TObject);
var
        i: integer;
begin
        If SaveDialog1.Execute then begin
        dsSave;
        Stream := TFileStream.Create(SaveDialog1.FileName, fmCreate);
        Stream.WriteBuffer(dsmax, SizeOf(Word));
        for i := dsmax - 1 downto 0 do
        Stream.WriteBuffer(Daten[i], SizeOf(TDaten));
        Stream.Free;
        Stream := nil;
        end;
end;

procedure TForm1.open1Click(Sender: TObject);
var
        i: integer;
begin
        if OpenDialog1.Execute then begin
        Stream := TFileStream.Create(OpenDialog1.FileName, fmOpenRead);
        Stream.ReadBuffer(dsmax, SizeOf(Word));
        for i := dsmax - 1 downto 0 do
        Stream.ReadBuffer(Daten[i], SizeOf(TDaten));
        dsOpen;
        Stream.Free;
        Stream := nil;
        end;
end;

end.
  Mit Zitat antworten Zitat