![]() |
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. |
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;
|
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. |
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 |
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; |
Re: Ergebnisse einer RadioGroup speichern
Danke xineohp,
in meinem Record muss ich
Delphi-Quellcode:
angeben.
farben: Integer;
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