Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi Radio Group - Radio Button Abfrage??? (https://www.delphipraxis.net/123471-radio-group-radio-button-abfrage.html)

butterbr0t 2. Nov 2008 23:38


Radio Group - Radio Button Abfrage???
 
Ich habe folgende Probleme:

1. Bei mir funktioniert der Befehl "radiogroup1.ItemIndex:=-1;" zum deaktivieren der Auswahl aller Radiobuttons
in einer Radiogroup nicht.
Es kann an nichts anderem liegen, da ich ein Programm nur mit dieser Programmzeile geschrieben habe bei dem
bei einem klick auf einen button "radiogroup1.ItemIndex:=-1;" ausgefürt werden soll.

2. die einbindung von "radiogroup1.ItemIndex:=0;" in eine if bedingung

if (RadioGroup1.ItemIndex:=0)
and (a>=0)
and (a<=99)then
begin
c:=5;
edit4.text:=inttostr(d);
end

Bei dieser if abfrage wird ein fehler bei dem 2. and und bei begin angezeigt und ich weiß absolut nicht warum.
Es kann aber nicht an der Struktur an sich liegen, da ich dieselbe If-Abfrage auch mit etwas anderem für
"radiogroup1.ItemIndex:=0;" versucht habe (if b=0 oder was auch immer), und da hat es geklappt.

Ich bitte um Hilfe

sx2008 3. Nov 2008 00:22

Re: Radio Group - Radio Button Abfrage???
 
Delphi-Quellcode:
// falsch: Zuweisung mit := innerhalb der If-Bedingung
if (RadioGroup1.ItemIndex:=0) and (a>=0) and (a<=99)then

// richtig - vor "then" sollte ausserdem ein Leerzeichen stehen
if (RadioGroup1.ItemIndex=0) and (a>=0) and (a<=99) then

butterbr0t 3. Nov 2008 07:05

Re: Radio Group - Radio Button Abfrage???
 
Bei = statt := wird mir bei "RadioGroup1.itemindex=-1" ein Fehler angezeigt.
Bei "RadioGroup1.itemindex=0" wird zwar kein Fehle angezeigt, aber die Variable wird nicht ausgegeben.



Delphi-Quellcode:
unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls, ExtCtrls;

type
  TForm1 = class(TForm)
    Button1: TButton;
    Button2: TButton;
    Button3: TButton;
    Stueckzahl: TLabel;
    Einzelpreis: TLabel;
    Grundpreis: TLabel;
    Rabattsatz: TLabel;
    Rabatt: TLabel;
    Endpreis: TLabel;
    Edit1: TEdit;
    Edit2: TEdit;
    Edit3: TEdit;
    Edit4: TEdit;
    Edit5: TEdit;
    Edit6: TEdit;
    RadioGroup1: TRadioGroup;
    RadioButton1: TRadioButton;
    RadioButton2: TRadioButton;
    RadioButton3: TRadioButton;
    procedure Button2Click(Sender: TObject);
    procedure Button3Click(Sender: TObject);
    procedure Button1Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;

  //Stueckzahl
  a: integer;

  //Einzelpreis
  b: integer;

  //Grundpreis
  c: integer;

  //Rabattsatz
  d: integer;

  //Rabatt
  e:integer;

  //Endpreis
  f: integer;
implementation

{$R *.dfm}

procedure TForm1.Button3Click(Sender: TObject);
begin
close;
end;


procedure TForm1.Button2Click(Sender: TObject);
begin
edit1.Clear;
edit2.Clear;
edit3.Clear;
edit4.Clear;
edit5.Clear;
edit6.Clear;
RadioGroup1.itemindex:=-1;
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
//Errechnung des Grundpreises
a:=strtoint(Edit1.text);
b:=strtoint(Edit2.text);
c:=a*b;
edit3.text:=inttostr(c);

//Bestimmung des Rabattsatzes

  //Neukunde
    if (RadioGroup1.ItemIndex=0) and (a>=0) and (a<=99) then
    begin
    d:=5;
    edit4.text:=inttostr(d);
    end

end;


end.

soulies 3. Nov 2008 08:01

Re: Radio Group - Radio Button Abfrage???
 
hoi,

kann es sein das du

Delphi-Quellcode:
...
RadioGroup1: TRadioGroup;
RadioButton1: TRadioButton;
RadioButton2: TRadioButton;
RadioButton3: TRadioButton;
...
die TRadioButton auf deiner TRadioGroup hast und versuchst diese auszuwerten ?

das könnte vllt. erklären warum hier nix passiert

Zitat:

Bei "RadioGroup1.itemindex=0" wird zwar kein Fehle angezeigt, aber die Variable wird nicht ausgegeben.
da der Itemindex von TRadioGroup '-1' ist !


Wenn dem so ist, erstelle deine TRadioGroup Elemente im OI über 'Items' und lösch die TRadioButton.
Dann solltest Du die Elemente auch auswerten können.


cya

turboPASCAL 3. Nov 2008 08:03

Re: Radio Group - Radio Button Abfrage???
 
RadioGroup1.itemindex:=-1; deselecktiert ja erst einmal alle RadioButton in der Gruppe.
Bist du sicher das bevor Button 1 angeklickt wird ein RadioButton gewählt wurde ?
ICh würde den ersten vorselektieren.

Delphi-Quellcode:
procedure TForm1.Button2Click(Sender: TObject);
begin
edit1.Clear;
edit2.Clear;
edit3.Clear;
edit4.Clear;
edit5.Clear;
edit6.Clear;
RadioGroup1.itemindex := 0; // <--<<
end;

... Und bitte fasse deine Quelltexte in Delphitags (der Button "Delphi-Code")

butterbr0t 3. Nov 2008 15:00

Re: Radio Group - Radio Button Abfrage???
 
Bitte nochmal eine Erklärung für Anfänger.
Wo ist der "OI" und wo muss ich dort über Items die Radiogroup oder die Radiobuttons hinzufügen.
muss ich erst den radiobutton auswählen und jedem radiobutton dann manuell einen
itemindex zuweisen? Dann müsste ich der Radiogroup ja auch irgendwo den Itemindex -1 zuweisen.
Eigentlich hab ich es so gelernt das die Radiogroup automatisch den Itemindex -1
wenn kein Button ausgewählt ist und Radiobutton nr.1 dann itemindex 0 nr.2 itemindex 1.

Ich habe in der Leiste einfach nur eine Radiogroup erstellt und dan Radiobuttons "reingezogen"
Muss ich die Buttons der Group noch irgendwie zuweisen oder was ist mein Fehler?

DeddyH 3. Nov 2008 15:11

Re: Radio Group - Radio Button Abfrage???
 
OI ist der Objektinspektor. In diesem fügst Du unter der Eigenschaft "Items" die Radiobuttons hinzu, damit diese über den ItemIndex ansprechbar sind.

Micha88 3. Nov 2008 17:09

Re: Radio Group - Radio Button Abfrage???
 
Habe jetzt kein Delphi hier,

aber ich denke so müsste es auch gehen:

Delphi-Quellcode:
case TRadioGroup(Sender).ItemIndex of // Oder eben "case TRadioGroupN.ItemIndex of"
0:
 begin
 end;
1:
 begin
 end;
// usw
end;
EDIT:
Habe jetzt erst richtig verstanden worum es geht :D ^^


Alle Zeitangaben in WEZ +1. Es ist jetzt 05:40 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