Autor Beitrag
hibbert
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 1007

WinServer2003, Win XP, Linux
D6 Pers, D05
BeitragVerfasst: Do 13.01.05 15:12 
Hi,
die farge kann ich mir noch slebst beantworten:
ausblenden Delphi-Quelltext
1:
if meinevar in [zahl1..zahl2] then showmessage('juhuu');					


doch was ist, wenn meinevar,zahl1 und zahl2 nicht vom typen integer sind, sondern vom typen real ?

wenn ich das so mache, wirft mir der compiler diese Meldung an den Kopf:
Compiler hat folgendes geschrieben:

[Error] Unit1.pas(29): Ordinal type required
[Error] Unit1.pas(29): Ordinal type required
[Error] Unit1.pas(29): Incompatible types: 'Real' and 'Integer'


thx hibbert


Moderiert von user profile iconTino: Topic aus Sonstiges verschoben am Do 13.01.2005 um 15:14

_________________
I kunnen väl svara endast ja eller nej
Om i viljen eller nej
Raphael O.
ontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic starofftopic star
Beiträge: 1596


VS 2013
BeitragVerfasst: Do 13.01.05 15:14 
hm... meinst du evtl. sowas? :)

ausblenden Delphi-Quelltext
1:
if ((meinezahl>zahl1) and (meinezahl<zahl2)) then					
hibbert Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 1007

WinServer2003, Win XP, Linux
D6 Pers, D05
BeitragVerfasst: Do 13.01.05 16:01 
mhh ja das hab ich mir schon gedacht. gibt es da nicht vielleicht eine ähnliche lösung wie bei den integer zahlen ?

hibbert

_________________
I kunnen väl svara endast ja eller nej
Om i viljen eller nej
MitschL
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 211

Win 98 SE, Win 2000
D5 Pers, D6 Pers und D7 Pro
BeitragVerfasst: Do 13.01.05 16:23 
Klar:

ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
const _IN = 1;
const NICHT_IN = 2;

function Ist( value: Integer; frage: Integer; zahl1, zahl2: Integer ): Boolean; overload;
function Ist( value: float; frage: Integer; float, float: Integer ): Boolean; overload;

//...

if Ist( myVar, _IN, z1, z2 ) then ShowMessage( 'juhuu' );
:shock:
Die Variablen müssen nur vom selben Typ sein, weswegen ich sie oben auch so einzeln deklariert habe. Ich fürchte aber, das wolltest Du nicht so haben, was?

gegrüßt!
MitschL

[edit] mußte leider eine Konstante umschreiben, wegen Dumm und so.
hibbert Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 1007

WinServer2003, Win XP, Linux
D6 Pers, D05
BeitragVerfasst: Do 13.01.05 18:30 
mhh nicht wirklich. ich glaube, dass ich dass dann doch nur mit if ((meinezahl>zahl1) and (meinezahl<zahl2)) then lösen kann... schade, teilweise gibt es ja mehrere Möglichkeiten soetwas zu lösen.

vielleicht gibt es ja doch noch eine *hoffentlich*

thx hibbert

_________________
I kunnen väl svara endast ja eller nej
Om i viljen eller nej
IngoD7
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 629


D7
BeitragVerfasst: Do 13.01.05 19:01 
hibbert hat folgendes geschrieben:
mhh nicht wirklich. ich glaube, dass ich dass dann doch nur mit if ((meinezahl>zahl1) and (meinezahl<zahl2)) then lösen kann... schade, teilweise gibt es ja mehrere Möglichkeiten soetwas zu lösen.

vielleicht gibt es ja doch noch eine *hoffentlich*

Wieso "schade" und wieso "hoffentlich"? :roll:

Es ist die Möglichkeit, so etwas zu lösen.

Im Gegensatz dazu ist es einigermaßen abenteuerlich, eine Mengenoperation durchzuführen, um einen Größenvergleich eines Wertes zu machen. Dass der (Mengen-)Abgleich eines Wertes mit dem Operator in bei einer Menge mit fortlaufenden Integern zufällig auch sowas ist, wie eine "Liegt-der-Wert-dazwischen"-Ermittlung, sollte niemand dazu verleiten, das grundsätzlich auf nummerische Größenvergleiche herunterzubrechen.