Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi typen- inkopatibilität (boolean und integer) (https://www.delphipraxis.net/18413-typen-inkopatibilitaet-boolean-und-integer.html)

Virchov 18. Mär 2004 11:36


typen- inkopatibilität (boolean und integer)
 
Moin! hat jemand 'ne Idee, wie man in diesem Fall Typen-Inkopatibilität bekämpfen kann?
Danke schön!




Delphi-Quellcode:

function pos_not_reached (iX1,iX2,iY1,iY2 : integer) : boolean;

begin

  result:= (iX1-iX2) or (iY1-iY2);
  exit;
end;

Dragon27 18. Mär 2004 11:41

Re: typen- inkopatibilität (boolean und integer)
 
Zitat:

Zitat von Virchov

Delphi-Quellcode:

function pos_not_reached (iX1,iX2,iY1,iY2 : integer) : boolean;

begin

  result:= (iX1-iX2) or (iY1-iY2);
  exit;
end;


hi,

du ich glaub da is ein denkfehler drin!

du kannst nicht einfach einem result ein or zuweisen des geht nur bei if und bei until!

Und dann musst du hald erst eine If abfrage machen und wenn etwas eintritt dann result:=true else result:=false

Gruß

Andy

Virchov 18. Mär 2004 11:44

Re: typen- inkopatibilität (boolean und integer)
 
jut. Dacht ich uch :-)

Vielen Dank!

Tyrael Y. 18. Mär 2004 11:45

Re: typen- inkopatibilität (boolean und integer)
 
:wiejetzt:

Delphi-Quellcode:
function pos_not_reached (iX1,iX2,iY1,iY2 : integer) : boolean;

begin

  result:= (iX1-iX2) or (iY1-iY2);
  exit;
end;
Was bezweckts du damit?
Ein Boolean-Wert als Zahl kann nur 0 oder 1 sein aber bei dir z.B.

iX1 = 10
iX2 = 5
iY1 = 128
iY2 = 28

Delphi-Quellcode:
pos_not_reached(10, 5, 128, 28)  = Fehler
falls du aber prüfen möchtest ob iX1 gleich iX2 oder iY1 gleich iY2 ist

dann..

Delphi-Quellcode:
function pos_not_reached (iX1,iX2,iY1,iY2 : integer) : boolean;

begin

  result:= (iX1=iX2) or (iY1=iY2);
  exit;
end;
Nachtrag: ..dies würde wenn (iX1=iX2) oder (iY1=iY2) WAHR ist WAHR ergeben

wenn du aber prüfen willst ob beide WAHR sind dann

Delphi-Quellcode:
function pos_not_reached (iX1,iX2,iY1,iY2 : integer) : boolean;

begin

  result:= (iX1=iX2) AND (iY1=iY2);
  exit;
end;
Schreib mal was du überhaupt bezweckst...

Nochn Nachtrag :D :

oder

Delphi-Quellcode:
function pos_not_reached (iX1,iX2,iY1,iY2 : integer) : boolean;

begin

  result:= (iX1-iX2 = 0) OR bzw. AND (iY1-iY2 = 0);
  exit;
end;
ohne das man weiß was du bezweckst kann ich nicht mehr sagen ;)

Dragon27 18. Mär 2004 11:46

Re: typen- inkopatibilität (boolean und integer)
 
also ich würde das so machen:

Delphi-Quellcode:
function pos_not_reached (iX1,iX2,iY1,iY2 : integer) : boolean;

begin

if (ix1-ix20=0) or (iy1-iy2=0)
then result:= true
else result:=false;
  exit;
end;

ich weiß natürlich nicht was du da vergleichen willst oder machen willst!

gruß

Andy

Sharky 18. Mär 2004 11:55

Re: typen- inkopatibilität (boolean und integer)
 
Hai Virchov,

was möchtest Du denn erreichen?
Code:
(iX1-iX2) or (iY1-iY2);
Wir vom Compiler als Binäroperation angesehen.

Virchov 18. Mär 2004 11:55

Re: typen- inkopatibilität (boolean und integer)
 
Danke, Ihr Beide!
Genau den Abgleich möcht ich machen, ganz recht!
Die Variante mit result:= (iX1=iX2) or (iY1=iY2); begnügte den Compiler durchaus :stupid:

Virchov 18. Mär 2004 11:59

Re: typen- inkopatibilität (boolean und integer)
 
ich meinte, Danke, Ihr drei :oops:


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