![]() |
Vergleichsoperatoren in Delphi
Tach.
Welche Vergleichsoperatoren gibt es im Delphi? Was wäre zB eine Alternative für == vom c++? Ein Operator, der zwei Variablen miteinander vergleicht und ein boolschen Wert zurückliefert? Danke. Virchov |
Re: Vergleichsoperatoren in Delphi
Zitat:
Das = aus C++ ist := ...:cat:... |
Re: Vergleichsoperatoren in Delphi
Onlinehilfe:Index:"operatoren"eingeb:lesen
|
Re: Vergleichsoperatoren in Delphi
also, delphi is ja im prinzip pascal, von daher
grösser: > kleiner: < gleich: = grössergleich: => kleinergleich: =< |
Re: Vergleichsoperatoren in Delphi
"==", nicht "=" war gemeint.
|
Re: Vergleichsoperatoren in Delphi
Und darauf hat dir sakura auch geantwortet.
|
Re: Vergleichsoperatoren in Delphi
so. Verstehe. Danke
|
Re: Vergleichsoperatoren in Delphi
das hab ich im Prinzip auch so gemacht, der compiler meckert aber:
result:= (iEdgeCount=4); (result muss integer sein) Gibt es da einen Ausweg? |
Re: Vergleichsoperatoren in Delphi
Zitat:
...:cat:... |
Re: Vergleichsoperatoren in Delphi
iedgecount ist auch integer
|
Re: Vergleichsoperatoren in Delphi
'anders' oder 'ungleich' habt ihr vergessen: <>
|
Re: Vergleichsoperatoren in Delphi
die Lösung ist mir klar, kann ich aber nicht. Die Funktion muss einen integer zurückliefern :(
|
Re: Vergleichsoperatoren in Delphi
Zitat:
...:cat:... |
Re: Vergleichsoperatoren in Delphi
Zitat:
...:cat:... |
Re: Vergleichsoperatoren in Delphi
also, im C geht das, obwohl die Funktion als int deklariert ist... hmmmm:
return (iEdgeCount == 4); |
Re: Vergleichsoperatoren in Delphi
Zitat:
Delphi-Quellcode:
Das sollte auch gehen.
Result := Integer(Boolean(iEdgeCount = 4));
...:cat:... |
Re: Vergleichsoperatoren in Delphi
ich persönlich check noch net mal was du eigentlich willst mit deiner funktion!? :roll:
|
Re: Vergleichsoperatoren in Delphi
result:= integer(iEdgeCount=4); das ging aber.
|
Re: Vergleichsoperatoren in Delphi
genau. Hab ich schon. Trotzdem Danke!
|
Re: Vergleichsoperatoren in Delphi
In C/C++ sind int und Bool zuweisungskompatible bzw. sollte der Compiler trotzdem eine Warnung ausgeben. In Delphi sind sie es nur nach einem Cast, wie du es jetzt gemacht hast. Der Rückgabewert ist jetzt eben 0 oder eins, je nach dem. Warum nommst du also definierst du die Funktion nicht als Boolean?
|
Re: Vergleichsoperatoren in Delphi
Das ist eben ein Designunterschied zwischen Pascal und C.
In C kannst du einen Pointer wie einen Integer behandeln. Im Grunde ist ein Pointer ja auch nur ein vorzeichenloser Integer, deswegen geht das. Pascal dagegen ist sehr streng, wenn es um Typen geht. Auch wenn ein Zeiger im Grunde genommen eine Ganzzahl ist, so kann sie dennoch nicht wie eine solche behandelt werden. Nur wenn man explizit (per Cast) angibt, dass man den Pointer wie einen Integer behandeln will, kann man ihn inkrementieren etc. Ist zwar mehr Schreibarbeit, aber man wird zu dazu gezwungen, Code zu schreiben, der meiner Meinung nach lesbarer ist. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 21:58 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 by Thomas Breitkreuz