![]() |
if then
Hi,
ich habe ein problem. Und zwar:
Delphi-Quellcode:
dann müsste, wenn ich in Edit1 z.B. 10 eingebe in Edit2 <= 13 angezeigt werden. Das passiert aber nicht. Sondern es steht <= 4 da.
if (Edit1.Text > '0') and (Edit1.Text <= '4') then Edit2.Text := '<= 4';
if (Edit1.Text > '4') and (Edit1.Text <= '9') then Edit2.Text := '<= 9'; if (Edit1.Text > '9') and (Edit1.Text <= '13') then Edit2.Text := '<= 13'; Ich suche schon seit Tagen den Fehler, finde ihn aber nicht. |
Re: if then
Du musst deine Strings in den Edit erst mit
![]() |
Re: if then
Nein... Der Code passt schon - du hast aber eine Null vergessen! Und zwar wenn du das so machst klappt es:
Delphi-Quellcode:
if (Edit1.Text > '0') and (Edit1.Text <= '4') then Edit2.Text := '<= 4';
if (Edit1.Text > '4') and (Edit1.Text <= '9') then Edit2.Text := '<= 9'; if (Edit1.Text > '09') and (Edit1.Text <= '13') then Edit2.Text := '<= 13'; |
Re: if then
Danke
Wegen einer Null :-( hab ich was dazugelernt, danke. |
Re: if then
mit meinem Code klappt das auch! habs grad mal getestet! bei 10,9 spuckt er "<= 13" aus
[EDIT] Hab ich auch nicht gewusst - einfach mal ausprobiert :mrgreen: Die dumm ham halt s glück *g*[/EDIT] |
Re: if then
wandel es wie Dax gesagt hat in numerische variablen um. also mit strtoint oder strtofloat.
|
Re: if then
Ich hab den Code auch ausprobiert.
Ergebnisse:
Code:
Wenn das mal kein Nichtfunktionalitätsbeweis ist :roll:
45: <= 9
1: <= 13 14: <= 4 54: <= 9 [edit]*reinlins* Roter Kasten? putt putt putt, komm her Roter Kasten... |
Re: if then
Zitat:
|
Re: if then
Das ging jetzt, aber ich hab ein neues Problem :-) und zwar:
Delphi-Quellcode:
Ich kann z.B. keine 4 eingeben und bekomme <= 900,42 heraus.
if (Edit7.Text > '0') and (Edit7.Text <= '0900,42') then Label9.Caption := '<= 900,42';
if (Edit7.Text > '0900,42') and (Edit7.Text <= '2099,33') then Label9.Caption := '<= 2099,33'; if (Edit7.Text > '2099,33') and (Edit7.Text <= '4266,00') then Label9.Caption := '<= 4266,00'; if (Edit7.Text > '4266,00') then Label9.Caption := 'größer'; |
Re: if then
Meine Güte, hör mit den Stringvergleichen auf! :twisted:
Wandel dir das Gesocks mit StrToFloat um und Vergleiche das. Das funktioniert wenigstens. |
Re: if then
Hai coolchatter,
ausser das man nicht die Strings vergleichen sollte brauchst Du die "and-Bedingung" nicht da diese durch die IF-Logik ereicht ist.
Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
var foo : Real; begin try foo := StrToFloat(Edit7.text); if (foo > 0) then begin Label9.Caption := '<= 900,42'; end; if (foo > 900.42) then begin Label9.Caption := '<= 2099,33'; end; if (foo > 2099.33) then begin Label9.Caption := '<= 4266,00'; end; if (foo > 4266.00) then begin Label9.Caption := 'größer'; end; except ShowMessage('Ungültige Eingabe'); end; end; |
Re: if then
Danke Sharky für den Code, hat mir weitergeholfen.
|
Re: if then
man kann imho mit if ... then ... else die sache sogar noch schöner darstellen.
|
Re: if then
Zitat:
Delphi-Quellcode:
procedure TForm1.Button2Click(Sender: TObject);
var foo : Integer; begin try foo := Trunc (StrToFloat(Edit7.text) * 100); case foo of 0..90042 : Label9.Caption := '<= 900,42'; 90043..209933 : Label9.Caption := '<= 2099,33'; 209934..426600 : Label9.Caption := '<= 4266,00'; else Label9.Caption := 'größer'; end; except ShowMessage('Ungültige Eingabe'); end; end; |
Alle Zeitangaben in WEZ +1. Es ist jetzt 23:33 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