![]() |
Größer als und kleiner als
Hallo, ich habe grade eine Denklücke (hab vergessen wie das norrens geht..)
Ich habe eine Zahl, und möchte, wenn sie größer 19 und kleiner 24 (also dazwischen) ist, darauf reagieren. (und das 2 Mal)
Delphi-Quellcode:
ich bekomme als caption IMMEr letzteres :idea:
if (Zahl2 >= 19) and (Zahl1 <= 24)and
(Zahl2 >= 19) and (Zahl2 <= 24) then begin Label1.Caption := 'Zahl1/Zahl2 zwischen 19 und 24'; end else begin Label1.Caption := 'mh ?!'; end; |
Re: Größer als und kleiner als
Zitat:
|
Re: Größer als und kleiner als
Delphi-Quellcode:
so sollte es gehen
if (Zahl1 in [19..24]) and (Zahl2 in [19..24])
|
Re: Größer als und kleiner als
erm.. ne meine variablen heißen eigentlich alle anders, habe das jetzt nur HIER so hingeschrieben, sollte natürlich AUCH Zahl1 sein.
Aber Problem liegt halt noch immer vor, Edit: [Fehler] uMain.pas(870): E2010 Inkompatible Typen: 'Real' und 'Integer' |
Re: Größer als und kleiner als
Delphi-Quellcode:
oder meinste mehr das hier:
if ((Zahl1 > 19) and (Zahl1 < 24)) and ((Zahl2 > 19) and (Zahl2 < 24)) then
begin Label1.Caption := 'Zahl1 UND Zahl2 zwischen 19 und 24'; end else begin Label1.Caption := 'mh ?!'; end;
Delphi-Quellcode:
[edit]
if ((Zahl1 > 19) and (Zahl1 < 24)) or ((Zahl2 > 19) and (Zahl2 < 24)) then // Man beachte das or
begin Label1.Caption := 'Zahl1 UND Zahl2 zwischen 19 und 24'; end else begin Label1.Caption := 'mh ?!'; end; Zitat:
|
Re: Größer als und kleiner als
Delphi-Quellcode:
BMI := Runden(Gewicht / (GroesseM*GroesseM),2);
Alter := StrToFloat(EdAlt.Text); . . if (BMI in [19..24]) and (Alter in [19..24]) then begin Label34.Caption := 'BMI/Alter zwischen 19 und 24'+ FloatToStr(BMI)+'/'+FloatToStr(Alter); end else begin Label34.Caption := 'mh ?!'; end; |
Re: Größer als und kleiner als
Bei mir geht' s:
Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
var Zahl1,Zahl2: real; begin Zahl1 := 20.5; Zahl2 := 22.3; if (Zahl1 > 19) and (Zahl1 < 24) and (Zahl2 > 19) and (Zahl2 < 24) then begin Label1.Caption := 'Zahl1 UND Zahl2 zwischen 19 und 24'; end else begin Label1.Caption := 'mh ?!'; end; end; |
Re: Größer als und kleiner als
Inkompatible Typen Real und Integer:
Die Zeilen:
Delphi-Quellcode:
BMI := Runden(Gewicht / (GroesseM*GroesseM),2);
Alter := StrToFloat(EdAlt.Text); . . if (BMI in [19..24]) and (Alter in [19..24]) then begin Label34.Caption := 'BMI/Alter zwischen 19 und 24'+ FloatToStr(BMI)+'/'+FloatToStr(Alter); end else begin Label34.Caption := 'mh ?!'; end; |
Re: Größer als und kleiner als
wieso fürs alter kein byte?
beim BMI wird das alter doch ganzzahlig verwendet oder? |
Re: Größer als und kleiner als
Wenn BMI ein integer ist, musst du IntToStr, nicht FloatToStr nehmen.
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 06:36 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