Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi Vergleich von zwei TPoints (https://www.delphipraxis.net/99902-vergleich-von-zwei-tpoints.html)

KPBecker 19. Sep 2007 11:54


Vergleich von zwei TPoints
 
Hallo, Delphi-Praktiker,

P1 und P2 sind als TPoint definiert.

Beim Vergleich (P1 = P2) bekomme ich die Fehlermeldung "inkompatible Typen". - Wieso dieses ?

Vielen Dank,
K.-P. Becker

mimi 19. Sep 2007 11:58

Re: Vergleich von zwei TPoints
 
Weil ein TPoint zwei Variablen speichert: eine x und y. Das kann der Complier aber nicht wissen.
Du musst schon etwas mehr aufwand betreiben:

if p1.x = p2.X) and (p1.Y = p2.Y) then
ShowMessage('Gleich')

KPBecker 19. Sep 2007 12:02

Re: Vergleich von zwei TPoints
 
Hallo Michael,

1. durch den einzelnen Vergleich der Koordinaten habe ich die Klippe umsegelt.
2. Nach meiner Meinung sollte der Compiler aber genau das selbst tun. Die notwendigen Informationen sind zur Compilierzeit alle da.

Klaus-Peter

cruiser 19. Sep 2007 12:10

Re: Vergleich von zwei TPoints
 
da ein Point zufällig genau wie ein Int64 8 zusammenhängende Bytes hat geht auch folgendes:

Delphi-Quellcode:
if Int64(PointA) = Int64(PointB) then ...

mimi 19. Sep 2007 12:16

Re: Vergleich von zwei TPoints
 
ach das ist mir neu !
werden dabei denn auch die x und Y Variablen berücksichtig ?

wobei nebenbei bemerkt: Ein Genau Vergleich von 2 TPoint macht wenig sinn in den meisten Fällen wirst du eine Toleranz brauchen. Wobei ich weiß nicht genau wo für du es genau brauchst.

cruiser 19. Sep 2007 12:23

Re: Vergleich von zwei TPoints
 
auf (Un)Gleichheit prüfen geht... ansonsten muss man halt die einzelnen Werte prüfen (logisch eigentlich)

der Assembler-Code sieht aber nicht grossartig anders aus, ausser, dass die and-Verknüpfung übersprungen wird... glaub ich... so genau hab ichs mir nich angesehn ;)


Alle Zeitangaben in WEZ +1. Es ist jetzt 20:57 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-2025 by Thomas Breitkreuz