Entwickler-Ecke

Grafische Benutzeroberflächen (VCL & FireMonkey) - Wie RadioButtons einer RadioGroup zuordnen?


Katzenstreu - Fr 06.01.06 17:07
Titel: Wie RadioButtons einer RadioGroup zuordnen?
Hallo,

ich habe mich soeben angemeldet, da sich mir beim Üben für die kommende Datenverarbeitungsarbeit einige Wissenslücken aufgetan haben.

Ich möchte die RadioGroup verschieben können wobei dei RadioButtons in ihrer Position in der Box bleiben sollen.

Tut mir leid, das dies solch eine Anfängerfrage ist. Ich weiß auch nicht, ob ich im richtigen Unterforum bin.


MfG
Tim ;)


Gausi - Fr 06.01.06 17:17

Hallo und :welcome: in der Entwickler-Ecke!

Ich befürchte, dass du da was ganz komisches gemacht hast...

Schau dir mal die Eigenschaft "Items" der Radiogroup an. Schreib da mal ein paar Zeilen rein (und mach deine Radiobuttons wieder weg), dann wirst du sehen, was ich meine ;-)

Alternativ kannst du die Radiobuttons behalten, und die Radiogroupbox durch eine normale Groupbox ersetzen.


Katzenstreu - Fr 06.01.06 17:27

Hi Gausi,

Danke für die nette Begrüßung :).

Ich habe mal in den Anhang die Musterlösung unseres Lehrers gehängt.

Dieser hat eine RadioGroup mit 2 RadioButtons, aber diese sind nicht veränderbar.

Ich möchte es auf die gleiche Weise lösen.

MfG
Tim

PS: Gibts hier irgendwo eine Smilie-Übersicht?

Edit:
Warum kann man aus Threads *.pdf's erstellen lassen?


Gausi - Fr 06.01.06 18:15

Auch wenn es so aussieht, in dieser Musterlösung gibt es keine 2 Radiobuttons, sondern nur eine Radiogroup, welche zwei Items hat.

Smilie-Übersicht gibt es - im Beitragseditor auf den Smilies-Knopf klicken.
Und das mit den PDFs ist eine Funktion, damit man die wertvollen Beiträge dieses Forums auch offline zur Verfügung haben kann.


Katzenstreu - Fr 06.01.06 20:04

Danke!

Dein Stichwort "Items" hat mir geholfen!. Endlich habe ich die übersicht gefunden :).

MfG
Tim :P

Edit1:
Nun habe ich zwar 2 Items aufgelistet, jedoch möchte ich diese nicht nebeneinander, sondern untereinander positionieren.

Gibt es ein Symbol, dass einen Absatz einfügt?

Edit2:
Irgendwi hab ichs nun geschafft. Ich glaube mit einem Leerzeichen.

Müsste ich den Prozedurverlauf selber schreiben?


Delphi-Quelltext
1:
2:
3:
4:
case RadioGroup1.ItemIndex of
  0: Reihenschaltung;
  1: Parallelschaltung;
end;


Oder kann ich da irgendwo doppelt drauflicken um eine ähnliche Prozedur zu erzeugen?


Blackheart666 - Fr 06.01.06 20:44

Probiers mal mit Onklick Methode.


Katzenstreu - Fr 06.01.06 20:59

user profile iconBlackheart666 hat folgendes geschrieben:
Probiers mal mit Onklick Methode.



Delphi-Quelltext
1:
2:
3:
4:
5:
6:
procedure TForm1.RadioGroup1Click(Sender: TObject);
begin
  case RadioGroup1.ItemIndex of
    0: Reihenschaltung;
    1: Parallelschaltung;
end;


Auch das geht nicht :(.

Undefinirter Bezeichner "Reihenschaltung".
Undefinirter Bezeichner "Parallelschaltung".


Blackheart666 - Fr 06.01.06 21:24

Woher soll Delphi denn wissen was Reihenschaltung und Parallelschaltung ist wenn du's nicht deklarierst.
Oder sinds nur Strings dann vieleicht so.

zb.

Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
procedure TForm1.RadioGroup1Click(Sender: TObject);
begin
case RadioGroup1.ItemIndex of
    0: Label1.Caption:='Reihenschaltung';
    1: Label1.Caption:='Parallelschaltung';
 end;
end;


Katzenstreu - Fr 06.01.06 22:31

Ich will zwei unterschiedliche Prozeduren erstellen.

Die eingegebenen Werte werdenbei der Reihenschaltung anders miteinander verrechnt, als bei einer Parallelschaltung.

Woher soll ich wissen, was ich da reinschreiben soll?^^

Unser Lehrer hat da Reihenschaltung bzw. Parallelschaltung reingeschrieben.

Danke für deine Hilfe Blackheart666 :).

MfG
Tim ;)


Blackheart666 - Fr 06.01.06 23:09

Das geht natürlich dann zb.so, Ist jetzt nicht sinnvolles aber..

Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
var
  Form1: TForm1;
   var Schaltung:String;
implementation

{$R *.dfm}

procedure Reihenschaltung;
begin
  Schaltung:='Reihenschaltung';
end;

procedure Parallelschaltung;
begin
  Schaltung:='Parallelschaltung';
end;

procedure TForm1.RadioGroup1Click(Sender: TObject);
begin
 case RadioGroup1.ItemIndex of
    0: Reihenschaltung;
    1: Parallelschaltung;
 end;
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
  Label1.Caption:=Schaltung;
end;


Katzenstreu - Sa 07.01.06 00:03

Warum muss ich Schaltung etwas zuweisen?

Warum muss in den Variablen (var) "Schaltung:String" stehen?


Blackheart666 - Sa 07.01.06 11:18

Weil Sonst wieder kommen würde Undefinierter Bezeichner "Schaltung" - Schaltung gibt dir in diesem Fall einen String zurück entweder 0 Reihenschaltung oder 1 Paralelschaltung.
Schau mal hier im DF nach dem Crashkurs der ist sehr zu empfehlen.


Katzenstreu - Sa 07.01.06 13:02

Blackheart666, meinst due den Delphi-Crashkurs auf Delphi-Source.de geschrieben von Christian Stelzmann?

Falls ja, dann habe ich diesen hier als gedruckte Version vor mir liegen :).

Da gibts aber kein Inhaltsverzeichnis :(.

Ich werde dort mal suchen :).

MfG
Tim ;)

Edit1:
Da habe ich leider nichts passendes zu der RadioGroup und den RadioButtons gefunden :(.

Edit2:
Wofür ist dieser Teil verantwortlich?

Delphi-Quelltext
1:
2:
3:
4:
procedure TForm1.Button1Click(Sender: TObject);
begin
  Label1.Caption:=Schaltung;
end



Code des angehängten Projektes:

Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
31:
32:
33:
34:
35:
36:
37:
38:
39:
40:
41:
42:
43:
44:
45:
46:
47:
48:
49:
50:
51:
52:
53:
54:
55:
56:
57:
58:
59:
60:
61:
62:
63:
64:
65:
66:
67:
68:
69:
70:
71:
72:
73:
74:
75:
76:
77:
78:
79:
80:
81:
82:
83:
84:
85:
86:
87:
88:
89:
90:
91:
92:
93:
unit Zeigerdiagramm_Neu;

interface

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

type
  TForm1 = class(TForm)

  GroupBox1: TGroupBox; {In GroupBox1 befindet sich alles außer später die Leinwand in der gezeichnet werden soll}

    GroupBox2: TGroupBox; {In GroupBox2 müssen vier Werte eingegeben Werden}
      Label1: TLabel;
      Label2: TLabel;
      Label3: TLabel;
      Label4: TLabel;

      Edit1: TEdit;
      Edit2: TEdit;
      Edit3: TEdit;
      Edit4: TEdit;

    GroupBox3: TGroupBox; {In GroupBox3 werden 9 Werte berechnet}
      Label5: TLabel;
      Label6: TLabel;
      Label7: TLabel;
      Label8: TLabel;
      Label9: TLabel;
      Label10: TLabel;
      Label11: TLabel;
      Label12: TLabel;
      Label13: TLabel;

      Edit5: TEdit;
      Edit6: TEdit;
      Edit7: TEdit;
      Edit8: TEdit;
      Edit9: TEdit;
      Edit10: TEdit;
      Edit11: TEdit;
      Edit12: TEdit;
      Edit13: TEdit;

    RadioGroup1: TRadioGroup; {In RadioGroup1 kann zwischen der Reihen- und Parallel- schaltung ausgewählt werden, woraufhin die Rechenmethoden wechseln} 

    procedure RadioGroup1Click(Sender: TObject);







  private
    { Private-Deklarationen }
  public
    { Public-Deklarationen }
  end;

var
  Form1: TForm1;
  C, f : real; {C ist die Kapazität des Kondensators, f ist die Frequenz}
  Schaltung :String{Die Zeichenflolge "Schaltung"  ist ein reserviertes Wort}
implementation

{$R *.dfm}


procedure Reihenschaltung;
  begin
    Schaltung:='Reihenschaltung'
  end;

procedure Parallelschaltung;
  begin
    Schaltung:='Parallelschaltung'
  end;

procedure TForm1.RadioGroup1Click(Sender: TObject);
  begin
    case RadioGroup1.ItemIndex of
      0: Reihenschaltung;
      1: Parallelschaltung;
    end;
  end;





end.


Katzenstreu - So 08.01.06 01:35

Bitte! :(.

Das sind doch eigenlich alles Anfängerfragen, oder?!

MfG
Tim ;)

PS: Ich wüsste gerne, wie man eigene Posts löschen kann.


alias5000 - So 08.01.06 01:38

Man kann eigene Posts nicht löschen, nur eigene Themen, soweit ich weiß. Ich hab grad wegen demselben ne Nachricht an den VA geschrieben.


Blackheart666 - So 08.01.06 01:58

Dürfte doch eigentlich klar sein ! - Um Deine Proceduren auszuwerten ! Deine Proceduren geben einen bestimmten String Zurück der in dem Fall eine Variable Ist die Schaltung heißt Je nach ItemIndex gibt dir die Procedur den einen oder anderen String aus.
Vieleicht bist Du ein bisschen durcheinander weil Ich die Strings in 'bla bla' genauso benannt habe wie die Proceduren.
Naja vieleicht bischen schwer erklärt aber...


Katzenstreu - So 08.01.06 14:54

user profile iconBlackheart666 hat folgendes geschrieben:
Dürfte doch eigentlich klar sein ! - Um Deine Proceduren auszuwerten ! Deine Proceduren geben einen bestimmten String Zurück der in dem Fall eine Variable Ist die Schaltung heißt Je nach ItemIndex gibt dir die Procedur den einen oder anderen String aus.
Vieleicht bist Du ein bisschen durcheinander weil Ich die Strings in 'bla bla' genauso benannt habe wie die Proceduren.
Naja vieleicht bischen schwer erklärt aber...


Hi Blackheart666,

das mag wohl sein :roll:.

Kannst du das evtl. verallgemeinern?