Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   Ergebnisse einer RadioGroup speichern (https://www.delphipraxis.net/43175-ergebnisse-einer-radiogroup-speichern.html)

moperswings 30. Mär 2005 10:26


Ergebnisse einer RadioGroup speichern
 
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.

Matze 30. Mär 2005 10:29

Re: Ergebnisse einer RadioGroup speichern
 
Nur so nebenbei: Index ist, glaube ich, ein reserviertes Wort, benenne die Variable mal anders (z.B. Index_1)

so vielleicht:
Delphi-Quellcode:
farben: TRadioGroup;

xineohp 30. Mär 2005 10:30

Re: Ergebnisse einer RadioGroup speichern
 
moin,

schau dir mal die Eigenschaft ItemIndex (oder so ähnlich) an, die gibt an welcher Radiobutton gewählt wurde und kann auch gesetzt werden.

moperswings 30. Mär 2005 10:54

Re: Ergebnisse einer RadioGroup speichern
 
Bei RadioGroup1.ItemIndex und RadioGroup1.Items habe ich schon viele Varianten probiert und nichts wurde angenommen :-(
Entweder war noch nicht die richtige Variante dabei oder es läuft so nicht

moperswings

xineohp 30. Mär 2005 10:59

Re: Ergebnisse einer RadioGroup speichern
 
hm, :gruebel:

also eigentlich sollte das folgendermaßen funktionieren:
Delphi-Quellcode:
var ausgewaehlteFarbe: integer;
begin
  ausgewaehlteFarbe := RadioGroup1.ItemIndex;
  // bzw.
  RadioGroup1.ItemIndex := ausgewaehlteFarbe;
end;

moperswings 31. Mär 2005 07:18

Re: Ergebnisse einer RadioGroup speichern
 
Danke xineohp,

in meinem Record muss ich
Delphi-Quellcode:
farben: Integer;
angeben.
Hätte nicht gedacht, dass das letztendlich so einfach ist!

Nebenbei bemerkt:
Auch in einer ListBox oder ComboBox kann man so die markierten Einträge speichern!

Vielen Dank und Grüsse

moperswings


Alle Zeitangaben in WEZ +1. Es ist jetzt 22:27 Uhr.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz