Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi 2 Strings vergleichen (https://www.delphipraxis.net/68298-2-strings-vergleichen.html)

Pump3r 27. Apr 2006 14:59


2 Strings vergleichen
 
hi, kann mir wer sagen, wie ich das hier überprüfen kann:

d ist ein string und hat zb einen wert wie: 2.2
Delphi-Quellcode:
if not(d <= FloatToStr(0.5)) then

danke, gruß pump :angel:

Jens Schumann 27. Apr 2006 15:03

Re: 2 Strings vergleichen
 
Hallo,
ich würde den Vergleich umdrehen
Code:
if not(StrToFloat(d) <= 0.5) then

Nikolas 27. Apr 2006 15:06

Re: 2 Strings vergleichen
 
Willst du die beiden Zahlen/String als Zahlen oder als Strings vergleichen?
Als String liefert z.B. '123'<'22' true, da erst nur die ersten Zeichen verglichen werden, 123>22 als Zeichen liefert natürlich true;

Aber was ist eigentlich deine Frage? Du hast doch schon die passenden Befehle.

Pump3r 27. Apr 2006 15:08

Re: 2 Strings vergleichen
 
naja die befehle hab ich aber es funktioniert nicht, mein programm stürtz ab, bei meiner methode und bei Jens seiner auch.

d wird immer kleiner oder größer, aber es soll nicht unter 0.5 gehen wenn es das tut, soll die bedingung einfach verhindern, dass weiter reduziert wird.

himitsu 27. Apr 2006 15:18

Re: 2 Strings vergleichen
 
Also

Delphi-Quellcode:
if StrToFloat(d) >= 0.5 then ...
aber das geht nur, wenn d immer eine Zahl ist, bei einem Fehler gibt's natürlich eine Exception, welche man aber entweder per Try-Except, oder über andere Wege unterbinden kann.s

mkinzler 27. Apr 2006 15:19

Re: 2 Strings vergleichen
 
Warum das not drehe doch den Vergleich um

Delphi-Quellcode:
if StrToFloat(d) > 0.5 then ...

Pump3r 27. Apr 2006 15:21

Re: 2 Strings vergleichen
 
[Fehler] Hboerse.pas(70): Es gibt keine überladene Version von 'FloatToStr', die man mit diesen Argumenten aufrufen kann
[Fataler Fehler] Boerse.dpr(5): Verwendete Unit 'Hboerse.pas' kann nicht compiliert werden


da kommt leider ein kleiner fehler :(

mkinzler bei deiner schreibweise startet das programm, aber es kommt: 2.2 ist keine gültige gleitkomma zahl oder so

mkinzler 27. Apr 2006 15:24

Re: 2 Strings vergleichen
 
Setz mal
Delphi-Quellcode:
DecimalSeparator := '.';
vor der If-Abfrage

H4ndy 27. Apr 2006 15:26

Re: 2 Strings vergleichen
 
Zitat:

Zitat von Pump3r
mein programm stürtz ab

Es hilft oft, mal die Fehlermeldung zu lesen ^^
Notfalls poste sie hier, dann können wir dir sagen, was sie bedeutet.

Pump3r 27. Apr 2006 15:29

Re: 2 Strings vergleichen
 
jetzt gehts ohne probleme, was bedeutet das?

danke!!!

mkinzler 27. Apr 2006 15:30

Re: 2 Strings vergleichen
 
Zitat:

Zitat von Pump3r
jetzt gehts ohne probleme, was bedeutet das?

danke!!!

Was hast du geändert?

Pump3r 27. Apr 2006 15:31

Re: 2 Strings vergleichen
 
den decimal seperator gesetz ...

mkinzler 27. Apr 2006 15:33

Re: 2 Strings vergleichen
 
Damit hast du der Funktion StrToFloat gesagt, daß er den Punkt als Dezimaltrenner verwenden soll.

Pump3r 27. Apr 2006 15:36

Re: 2 Strings vergleichen
 
okay danke, und ich hab meinen timer von 2 auf 5 sekunden gestellt, aber das hat bestimmt nix zur sache :)

angos 27. Apr 2006 15:36

Re: 2 Strings vergleichen
 
Zitat:

Zitat von Pump3r
den decimal seperator gesetz ...

wahrscheinlich ist bei dir standardmässig das "," als Dezimaltrennzeichen eingestellt. Mit dem Befehl hast du deinem Prog nun gesagt nehme bitte den "." als Dezimaltrennzeichen und nicht das ",".

Ich hoffe das war einigermaßen verständlich

Pump3r 27. Apr 2006 15:41

Re: 2 Strings vergleichen
 
jo war es!
dann werd ich jetzt mal feierabend machen :)


danke jungs!!!!



gruß chris

RavenIV 27. Apr 2006 15:41

Re: 2 Strings vergleichen
 
als du sagtest "das Programm stürzt ab", kam sicher eine Exception.
Wenn Du die Exception gedeutet hättest und ein wenig Gehirnschmalz investiert hättest, wärst Du darauf gekommen, dass beim Konvertieren von Str nach Float ein Fehler aufgetreten ist.
Manchmal hilft Nachdenken, manchmal hilft die Delphi-Hilfe (sinnvoll angewandt) und manchmal hilft es sogar wenn man die Suche in der DelphiPraxis bemüht.

Deine Probleme hättest Du alle selber lösen können, deshalb gebe ich Dir keine weitere Hilfestellung...

gruessle

himitsu 27. Apr 2006 18:52

Re: 2 Strings vergleichen
 
Zitat:

Zitat von Pump3r
[Fehler] Hboerse.pas(70): Es gibt keine überladene Version von 'FloatToStr', die man mit diesen Argumenten aufrufen kann
[Fataler Fehler] Boerse.dpr(5): Verwendete Unit 'Hboerse.pas' kann nicht compiliert werden


da kommt leider ein kleiner fehler :(

Jupp, aber da hätte man ja auch selber draufkommen können, dat ich eigentlich StrToFloat meinte, was du auch besser verwenden solltest, abgesehn davon kannst du natürlich den decimalseperator an deine Eingabe anpassen solltest.


Alle Zeitangaben in WEZ +1. Es ist jetzt 09:35 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