Delphi-PRAXiS
Seite 2 von 4     12 34      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi Problem mit 2 Bedingungen in einer IF Schleife! (https://www.delphipraxis.net/54940-problem-mit-2-bedingungen-einer-if-schleife.html)

freak4fun 14. Okt 2005 08:58

Re: Problem mit 2 Bedingungen in einer IF Schleife!
 
Hallo :hi:,
ich hab auch mal ein wenig versucht. Bei mir funktioniert alles.

Delphi-Quellcode:
unit Unit1;

interface

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

type
  TForm1 = class(TForm)
    Button1: TButton;
    RGGender: TListBox;
    EHeight: TEdit;
    EWeight: TEdit;
    procedure Button1Click(Sender: TObject);
  private
    IdealHigh: Real;
    IdealLow: Real;
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.Button1Click(Sender: TObject);
var
  lMultiHigh,
  lMultiLow: Double;
begin
  Case RGGender.ItemIndex of
    0: begin
         lMultiHigh := 0.97;
         lMultiLow := 0.93;
       end;
    1: begin
         lMultiHigh := 0.92;
         lMultiLow := 0.88;
       end;
    else
      begin
        ShowMessage('Berechnung nicht möglich. (ItemIndex: '+ IntToStr(RGGender.ItemIndex) + ')');
        Exit;
      end;
  end;

  try
    IdealHigh := StrToFloat(EHeight.Text) - 100;
    IdealHigh := IdealHigh * lMultiHigh;
    IdealLow := StrToFloat(EHeight.Text) - 100;
    IdealLow := IdealLow * lMultiLow;
  except
    ShowMessage('Fehler! Bitte überprüfe deine Eingabe.');
    Exit;
  end;

  if IdealHigh < StrToFloat(EWeight.Text) then
    ShowMessage ('Sie haben Übergewicht!')
  else
    if IdealLow > StrToFloat(EWeight.Text) then
      ShowMessage ('Sie haben Untergewicht!')
    else
      ShowMessage ('Sie haben Idealgewicht!');
end;


end.
MfG
freak

leddl 14. Okt 2005 09:18

Re: Problem mit 2 Bedingungen in einer IF Schleife!
 
Wie gesagt, ich könnte mir wirklich nur vorstellen, daß da was mit dem ItemIndex nicht stimmt. Hast du das denn jetzt mal überprüft, Zwock?

freak4fun 14. Okt 2005 09:27

Re: Problem mit 2 Bedingungen in einer IF Schleife!
 
Zitat:

Zitat von leddl
Wie gesagt, ich könnte mir wirklich nur vorstellen, daß da was mit dem ItemIndex nicht stimmt. Hast du das denn jetzt mal überprüft, Zwock?

Deshalb hab ich den ItemIndex mit rein geschrieben. Ich bin auch gespannt wo der Fehler ist. ;)

MfG
fR34k

leddl 14. Okt 2005 09:35

Re: Problem mit 2 Bedingungen in einer IF Schleife!
 
Zitat:

Zitat von freak4fun
Zitat:

Zitat von leddl
Wie gesagt, ich könnte mir wirklich nur vorstellen, daß da was mit dem ItemIndex nicht stimmt. Hast du das denn jetzt mal überprüft, Zwock?

Deshalb hab ich den ItemIndex mit rein geschrieben. Ich bin auch gespannt wo der Fehler ist. ;)

MfG
fR34k

:mrgreen: Hab mir deinen Code gar nich angesehen. Mit sowas hatte ich nich gerechnet. Wie gewitzt :mrgreen: Ich hätte einfach am Anfang der Prozedur ne ShowMessage reingepackt :mrgreen:

Zwock 14. Okt 2005 14:19

Re: Problem mit 2 Bedingungen in einer IF Schleife!
 
Also danke erstmal für die vielen Antworten!

1. Spuckt mir das Programm als Werte des ItemIndex für Männlich 0, und für weiblich 1 aus! Also wie erwartet...
2. Freak, dein Code in allen Ehren, und ich bin dir sehr dankbar, aber Teile deines Codes haben wir noch nicht behandelt, ich glaube kaum das mein Lehrer mir glaubt, wenn ich ihm sage, dass der von mir stammt, und er wäre nicht erfreut wenn ich sage, dasss ich ihn aus dem Internet habe ;)
3. Es funktioniert alles, nur wenn ich einen Wert eintippe, der theoretisch dem IDealgewicht entspricht, reagiert das Programm auf meinen Klick (auf den Antwortbutton) einfach nicht, es scheint ihn zu ignorieren...

Muetze1 14. Okt 2005 14:25

Re: Problem mit 2 Bedingungen in einer IF Schleife!
 
Zitat:

Zitat von Zwock
3. Es funktioniert alles, nur wenn ich einen Wert eintippe, der theoretisch dem IDealgewicht entspricht, reagiert das Programm auf meinen Klick (auf den Antwortbutton) einfach nicht, es scheint ihn zu ignorieren...

Dann schau nochmal in deinem Quellcode nach und benutze die Ende-Taste, ob da nicht vllt ein Semikolon irgendwo nach dem "Else" ist - vllt auch ganz rechts im nicht sichtbaren Bereich des Editorfensters..

leddl 14. Okt 2005 14:26

Re: Problem mit 2 Bedingungen in einer IF Schleife!
 
Sehr seltsam. Ich hatte bei mir mal verschiedene Werte ausprobiert und mit deinem Code alle 3 Fälle angezeigt bekommen... :gruebel:

//Edit:
Zu spät gesehen
Zitat:

Dann schau nochmal in deinem Quellcode nach und benutze die Ende-Taste, ob da nicht vllt ein Semikolon irgendwo nach dem "Else" ist - vllt auch ganz rechts im nicht sichtbaren Bereich des Editorfensters..
Am Code kann es eigentlich nicht liegen, da ich den in mein Projekt kopiert habe und es funktioniert hat.

Airblader 14. Okt 2005 14:29

Re: Problem mit 2 Bedingungen in einer IF Schleife!
 
Zitat:

Zitat von Zwock
Den Begriff "If-Schleife" habe ich als alter PHP-Hase noch im Petto

Das ist jetzt keineswegs böse gemeint, aber niemand, der - auch in PHP - if für ne Schleife hält kann sich zu Recht als "Hase" im Sinne von erfahren einstufen ;)

air

generic 14. Okt 2005 14:31

Re: Problem mit 2 Bedingungen in einer IF Schleife!
 
Delphi-Quellcode:
if RGGender.ItemIndex = 0 then // einfach nicht beachten ist nur zur Geschlechtsfeststellung//
    IdealHigh:= StrToFloat(EHeight.Text) - 100;
    IdealHigh:= IdealHigh * 0.97;
    IdealLow:= StrToFloat(EHeight.Text) - 100;
    IdealLow:= IdealLow * 0.93;
^ nach deiner einrückung nach wird das aber nicht so ausgeführt!

Delphi-Quellcode:
if RGGender.ItemIndex = 0 then // einfach nicht beachten ist nur zur Geschlechtsfeststellung//
    IdealHigh:= StrToFloat(EHeight.Text) - 100;

IdealHigh:= IdealHigh * 0.97;
IdealLow:= StrToFloat(EHeight.Text) - 100;
IdealLow:= IdealLow * 0.93;
vieleicht liegt hier dein fehler?

leddl 14. Okt 2005 14:38

Re: Problem mit 2 Bedingungen in einer IF Schleife!
 
Das hat er in seinem Post danach aber richtig gemacht ;)


Alle Zeitangaben in WEZ +1. Es ist jetzt 12:09 Uhr.
Seite 2 von 4     12 34      

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