[Delphi] Hilfe bei "radiogroup buttons"

koffi

Lt. Junior Grade
Registriert
Jan. 2007
Beiträge
493
hallo!

ich lerne in der schule nun delphi..
kann noch nicht viel, naja, immerhin einen taschenrechner hab ich schon gebastelt.
nun sollen wir ein programm basteln das vier währungen umrechnen kann. hier mein entwurf:

proggiwj7.gif


wie man auf dem bild sieht versuche ich 2 "radio groups" (diese runden auswähldinger). ich habe aber noch nicht herausgefunden wie ich in der programmierung abfragen kann welches der radio buttons ausgewählt ist. ich dachte mir ich mache das dann so

if
radiobutton 1 ist "euro" und radiobutton 2 ist "dollar"
then
wird feld 1 von euro zu dollar umgerechnet feld 2 ausgegeben
else
if
radiobutton 1 ist "euro" und radiobutton 2 ist "Pfund"
then
wird feld 1 von euro zu dollar umgerechnet und in feld 2 ausgegeben
elsoe
if
UND SO WEITER

erklärt mir bitte wie ich das abfrage mit den radiobuttons UND wie ihr dieses program schreiben würdet. aber ich würde bitte unbedingt auch wissen wie ich das auf meine art machen müsste.

danke!

ps: bitte postet mir jetzt nicht einfach einen link zu einem howto oder tutorial habe schon gegoogelt und habe nicht herausgefunden wie es geht..
 
IF IF IF!!! Verschachtel dich noch mehr!
Dazu nimmt man CASE heisst das Zauberwort!

Schau mal in die Delphi Hilfe
 
Nabend.

Ich habe es mal mit Radiogroups gebastelt. Der Abschnitt mit den Konstanten gehört direkt vor
PHP:
var 
  Form1: TForm1;

implementation

Die danach angegebene Funktionen müssen in der Form in der gleichen Unit VOR den Stellen, wo du es benutzt im Quellcode stehen! Natürlich kannste auch den Code der Funktionen direkt im "Case .. Of"-Teil substituieren.


Zunächst würde ich 'nen paar Konstanten definieren:
PHP:
const
  //Stand: 20.02.2008 aus Google
  EURO_DOLLAR = 1.4657;
  EURO_PFUND = 0.750025586;
  EURO_YEN = 158.40268;


Dann ein paar Hilfsfunktionen:
PHP:
function ConvertEuroToDollar(input: Real): Real;
begin
  result := input * EURO_DOLLAR;
end;

function ConvertEuroToPfund(input: Real): Real;
begin
  result := input * EURO_PFUND;
end;

function ConvertEuroToYen(input: Real): Real;
begin
  result := input * EURO_YEN;
end;



function ConvertDollarToEuro(input: Real): Real;
begin
  result := input / EURO_DOLLAR;
end;

function ConvertDollarToPfund(input: Real): Real;
begin
  result := (input / EURO_DOLLAR) * EURO_PFUND;
end;

function ConvertDollarToYen(input: Real): Real;
begin
  result := (input / EURO_DOLLAR) * EURO_YEN;
end;

{...}

Und schließlich das von meinem Vorgänger bereits erwähnte "case .. of"-Konstrukt im Button-Click-Event:
PHP:
procedure TForm1.BtUmrechnenClick(Sender: TObject);
begin
  case RadioGroupIn.ItemIndex of
  0: case RadioGroupOut.ItemIndex of
    //0: //nothing to do
    1: Edout.Text := FloatToStr(ConvertEuroToDollar(StrToFloat(EdIn.Text)));
    2: Edout.Text := FloatToStr(ConvertEuroToPfund(StrToFloat(EdIn.Text)));
    3: Edout.Text := FloatToStr(ConvertEuroToYen(StrToFloat(EdIn.Text)));
    end;
  1: case RadioGroupOut.ItemIndex of
    0: Edout.Text := FloatToStr(ConvertDollarToEuro(StrToFloat(EdIn.Text)));
    //1: //nothing to do
    2: Edout.Text := FloatToStr(ConvertDollarToPfund(StrToFloat(EdIn.Text)));
    3: Edout.Text := FloatToStr(ConvertDollarToYen(StrToFloat(EdIn.Text)));
    end;
  {...}
  end;
end;


Das Case .. Of ist im Prinzip nur 'ne Abkürzung für mehrere If's. Sei x eine Integer-Variable, dann ist folgendes äquivalent:
PHP:
case x of
0: Inc(x);
3: Inc(x);
default
  Dec(x);
end;
PHP:
if (x = 0)
then Inc(x)
else
  if (x = 3)
  then Inc(x)
  else
    Dec(x);
wobei dieses Beispiel natürlich so recht sinnlos ist, da man auch einfach "(x = 0) or (x = 3)" auswerten könnte oder dies auch mit Mengen ausdrücken könnte ;)

Gruß meolus


Nachtrag:
Auf meiner Homepage findest du unter "Delphi" noch nen paar Projekte aus meiner Schulzeit mit Quellcodes: http://www.meolus.de
 
Zuletzt bearbeitet: (Nachtrag)
danke für eure hilfe!
die case möglichkeit habe ich noch nicht gekannt - jetzt schon :) wie gesagt, bin anfänger in delphi

Nachtrag:
Auf meiner Homepage findest du unter "Delphi" noch nen paar Projekte aus meiner Schulzeit mit Quellcodes: http://www.meolus.de

alles was ich da finde ist "HELLO WORLD" auf weißem hintergrund :( deine projekte würden mich dennoch interessieren
 
Sorry, da kamen wohl mehrere Faktoren zusammen:

1.) Computerbase hängt ohne Nachfrage und ohne Hinweis einfach 'nen "/" an die URL an.
2.) Mein CMS macht für die URL "http://www.meolus.de/" (also mit "/" hinten dran) komischerweise keine Weiterleitung.

Jetzt funktionierts jedenfalls - behelfsmäßig :)
Danke für den Hinweis!
 
Zurück
Oben