![]() |
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 |
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') |
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 |
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 ...
|
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. |
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