AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Radiobutton-abfrage

Ein Thema von Tailer · begonnen am 16. Feb 2009 · letzter Beitrag vom 16. Feb 2009
Antwort Antwort
Seite 1 von 2  1 2      
Tailer

Registriert seit: 14. Feb 2009
8 Beiträge
 
#1

Radiobutton-abfrage

  Alt 16. Feb 2009, 17:26
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:
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.
würd mich über Antworten sehr freuen.

MFG Patrick
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.624 Beiträge
 
Delphi 12 Athens
 
#2

Re: Radiobutton-abfrage

  Alt 16. Feb 2009, 17:32
Hallo und Willkommen in der 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:
case rgTest.ItemIndex of
  0: ShowMessage('Erster Radiobutton');
  1: ShowMessage('Zweiter Radiobutton');
  2: ShowMessage('Dritter Radiobutton');
  //usw.
end;
[edit] Vielleicht auch 2 Sekunden [/edit]
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
Cyf

Registriert seit: 30. Mai 2008
407 Beiträge
 
Lazarus
 
#3

Re: Radiobutton-abfrage

  Alt 16. Feb 2009, 17:32
ItemIndex der RadioGroup und statt verschachtelter if-Abfragen einmal case ItemIndex of

[Edit]Hmm, eine Sekunde
Man kann einen Barbier definieren als einen, der alle diejenigen rasiert, und nur diejenigen, die sich nicht selbst rasieren.
Rasiert sich der Barbier?
  Mit Zitat antworten Zitat
Tailer

Registriert seit: 14. Feb 2009
8 Beiträge
 
#4

Re: Radiobutton-abfrage

  Alt 16. Feb 2009, 17:35
Ahso, un woher weis delphi, die reihenfolge der items, bezieht sich das nur auf die radiobuttons?

danke
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.624 Beiträge
 
Delphi 12 Athens
 
#5

Re: Radiobutton-abfrage

  Alt 16. Feb 2009, 17:40
Die Reihenfolge legst Du doch selbst fest, das erste Item bekommt den Index 0, das zweite Index 1 usw.
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
nuclearping

Registriert seit: 7. Jun 2008
708 Beiträge
 
Delphi 10.2 Tokyo Professional
 
#6

Re: Radiobutton-abfrage

  Alt 16. Feb 2009, 17:42
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.
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.624 Beiträge
 
Delphi 12 Athens
 
#7

Re: Radiobutton-abfrage

  Alt 16. Feb 2009, 17:45
Und was ich noch gerade sehe:
Zitat:
If RadioButton1.Checked = true
Bitte nie auf true abfragen, das kann fürchterlich daneben gehen. Stattdessen einfach die Kurzform verwenden:
If RadioButton1.Checked
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
16. Feb 2009, 18:04
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
Tailer

Registriert seit: 14. Feb 2009
8 Beiträge
 
#9

Re: Radiobutton-abfrage

  Alt 16. Feb 2009, 18:13
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.
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.624 Beiträge
 
Delphi 12 Athens
 
#10

Re: Radiobutton-abfrage

  Alt 16. Feb 2009, 18:20
Sind denn Items enthalten?
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 19:47 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz