AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

if then

Ein Thema von coolchatter · begonnen am 9. Jun 2005 · letzter Beitrag vom 10. Jun 2005
Antwort Antwort
Seite 1 von 2  1 2      
coolchatter

Registriert seit: 20. Feb 2004
44 Beiträge
 
Delphi 3 Professional
 
#1

if then

  Alt 9. Jun 2005, 21:29
Hi,

ich habe ein problem. Und zwar:

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 > '9') and (Edit1.Text <= '13') then Edit2.Text := '<= 13';
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.

Ich suche schon seit Tagen den Fehler, finde ihn aber nicht.
Ah, eine Variable, gut!
Post aus einem Delphi-Forum.
  Mit Zitat antworten Zitat
Dax
(Gast)

n/a Beiträge
 
#2

Re: if then

  Alt 9. Jun 2005, 21:30
Du musst deine Strings in den Edit erst mit Delphi-Referenz durchsuchenStrToInt umwandeln, bevor du sie wirklich vergleichen kannst
  Mit Zitat antworten Zitat
Benutzerbild von s.h.a.r.k
s.h.a.r.k

Registriert seit: 26. Mai 2004
3.159 Beiträge
 
#3

Re: if then

  Alt 9. Jun 2005, 21:36
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';
»Remember, the future maintainer is the person you should be writing code for, not the compiler.« (Nick Hodges)
  Mit Zitat antworten Zitat
coolchatter

Registriert seit: 20. Feb 2004
44 Beiträge
 
Delphi 3 Professional
 
#4

Re: if then

  Alt 9. Jun 2005, 21:38
Danke

Wegen einer Null

hab ich was dazugelernt, danke.
Ah, eine Variable, gut!
Post aus einem Delphi-Forum.
  Mit Zitat antworten Zitat
Benutzerbild von s.h.a.r.k
s.h.a.r.k

Registriert seit: 26. Mai 2004
3.159 Beiträge
 
#5

Re: if then

  Alt 9. Jun 2005, 21:40
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 Die dumm ham halt s glück *g*[/EDIT]
»Remember, the future maintainer is the person you should be writing code for, not the compiler.« (Nick Hodges)
  Mit Zitat antworten Zitat
Benutzerbild von nailor
nailor

Registriert seit: 12. Dez 2002
Ort: Karlsruhe
1.989 Beiträge
 
#6

Re: if then

  Alt 9. Jun 2005, 21:42
wandel es wie Dax gesagt hat in numerische variablen um. also mit strtoint oder strtofloat.
Michael N.
http://nailor.devzero.de/code/sharpmath/testing/ --- Tests, Feedback, Anregungen, ... aller Art sehr willkommen!
::: don't try so hard - it'll happen for a reason :::
  Mit Zitat antworten Zitat
Dax
(Gast)

n/a Beiträge
 
#7

Re: if then

  Alt 9. Jun 2005, 21:44
Ich hab den Code auch ausprobiert.

Ergebnisse:
Code:
45: <= 9
1: <= 13
14: <= 4
54: <= 9
Wenn das mal kein Nichtfunktionalitätsbeweis ist

[edit]*reinlins* Roter Kasten? putt putt putt, komm her Roter Kasten...
  Mit Zitat antworten Zitat
Benutzerbild von malo
malo

Registriert seit: 19. Sep 2004
2.115 Beiträge
 
#8

Re: if then

  Alt 9. Jun 2005, 21:49
Zitat von Dax:
Ich hab den Code auch ausprobiert.

Ergebnisse:
Code:
45: <= 9
1: <= 13
14: <= 4
54: <= 9
Wenn das mal kein Nichtfunktionalitätsbeweis ist
Der Grund ist einfach der, dass Bei Stringvergleichen immer Zeichen für Zeichen überprüft wird, ob der ASCII-Wert kleiner, gleich oder größer ist. Es ist eine ähnliche Frage, wie die Frage "Was ist mir: eins komma elf oder eins komma zwei" (in Worten ausgedrückt). 1,11 ist natürlich weniger als 1,2. Wer aber nicht nachdenkt, sagt, 1,2 ist weniger
  Mit Zitat antworten Zitat
coolchatter

Registriert seit: 20. Feb 2004
44 Beiträge
 
Delphi 3 Professional
 
#9

Re: if then

  Alt 9. Jun 2005, 21:56
Das ging jetzt, aber ich hab ein neues Problem und zwar:

Delphi-Quellcode:
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';
Ich kann z.B. keine 4 eingeben und bekomme <= 900,42 heraus.
Ah, eine Variable, gut!
Post aus einem Delphi-Forum.
  Mit Zitat antworten Zitat
Dax
(Gast)

n/a Beiträge
 
#10

Re: if then

  Alt 9. Jun 2005, 21:59
Meine Güte, hör mit den Stringvergleichen auf!

Wandel dir das Gesocks mit StrToFloat um und Vergleiche das. Das funktioniert wenigstens.
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 03:28 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz