![]() |
Radiobutton-abfrage
Hi,
ich habe ein kleines Problem und hoffe, das mir jmd helfen kann, weil ich in der SuFu nichts gefunden habe. Ich habe mit Delphi eine kleinen taschenrechner gebastelt. Dieser Funktioniert auch sehr gut. Jetzt habe ich mir überlegt, das ganze über RadioButtons zu gestallten, da man hier nur einen "berechnen" button benötigt und die ganzen funktionen in die "Auswahlliste"packen kann. Jetzt zu meiner frage: Wie kann ich die abfrage gestallten, welcher Punkt gewählt wurde und somit, welche Funktion wird ausgeführt. Mein erster gedanke war für jeden Button eine extra If-Abfrage zu schreiben, da er dann aber bei der ersten schon feststellt, das diese nicht erfüllt ist sind somit die anderen auch falsch. das habe ich bisher
Delphi-Quellcode:
würd mich über Antworten sehr freuen.
function TForm1.Explode(var a: TStrArray; Border, S: string): Integer;
var S2: string; begin Result := 0; S2 := S + Border; repeat SetLength(A, Length(A) + 1); a[Result] := Copy(S2, 0,Pos(Border, S2) - 1); Delete(S2, 1,Length(a[Result] + Border)); Inc(Result); until S2 = ''; end; procedure TForm1.Button2Click(Sender: TObject); begin close; end; procedure TForm1.Button1Click(Sender: TObject); var zahl1, zahl2, erg : Double; begin Anz:=Explode(A,';',Edit1.Text); zahl1:= StrToFloat (A[0]); zahl2:= StrToFloat (A[1]); If RadioButton1.Checked = true then begin erg:=zahl1 / zahl2; end else begin erg:= zahl1 * zahl2; end; Label1.Caption:= '= '+FloatToStr(erg); end; end. MFG Patrick |
Re: Radiobutton-abfrage
Hallo und Willkommen in der DP :dp:,
wenn Du eine Radiogroup auf Deinem Formular und die Radiobuttons über deren Eigenschaft Items angelegt hast, kannst Du den ItemIndex mit case abfragen.
Delphi-Quellcode:
[edit] Vielleicht auch 2 Sekunden :mrgreen: [/edit]
case rgTest.ItemIndex of
0: ShowMessage('Erster Radiobutton'); 1: ShowMessage('Zweiter Radiobutton'); 2: ShowMessage('Dritter Radiobutton'); //usw. end; |
Re: Radiobutton-abfrage
ItemIndex der RadioGroup und statt verschachtelter if-Abfragen einmal case ItemIndex of
[Edit]Hmm, eine Sekunde :wink: |
Re: Radiobutton-abfrage
Ahso, un woher weis delphi, die reihenfolge der items, bezieht sich das nur auf die radiobuttons?
danke |
Re: Radiobutton-abfrage
Die Reihenfolge legst Du doch selbst fest, das erste Item bekommt den Index 0, das zweite Index 1 usw.
|
Re: Radiobutton-abfrage
In einer RadioGroup beziehen sich die Indexe nur auf die RadioButtons, die darin liegen.
Ansonsten vergib ALLEN RadioButtons einen aufsteigenden "Tag"-Wert. Dann mache EINEN OnClick Event für alle RadioButtons. Dort merkst du dir in einer (globalen) Variable den Tag des Senders (ClickedButtonTag := (Sender as TRadioButton).Tag) und kannst dann in deiner letztendlichen Funktion diese Variable per case abfragen. |
Re: Radiobutton-abfrage
Und was ich noch gerade sehe:
Zitat:
Delphi-Quellcode:
If RadioButton1.Checked
|
DP-Maintenance
Dieses Thema wurde von "fkerber" von "Neuen Beitrag zur Code-Library hinzufügen" nach "VCL / WinForms / Controls" verschoben.
Diese Rubrik dient dem Vorschlagen neuer, fertiger Code-Schnipsel für die Code-Library. Da es sich hier um eine Frage handelt -> verschoben. Bitte nächstes Mal darauf achten ;) |
Re: Radiobutton-abfrage
Entweder ich find den itemindex nicht oder man hat ihn mir geklaut :-(
der sollte doch in den eigenschaften links stehn. EDIT: hab zwar den item index von der Group gefunden, aber der steht auf -1 und ändern lässt sich der auch net. |
Re: Radiobutton-abfrage
Sind denn Items enthalten?
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 04:51 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