Delphi: Zwei Punkte (TPoint) vergleichen - Sind zwei Punkte identisch?
Tipp von Delphianer | 20.04.2013 um 17:20
Fragestellung: Wir möchten 2 Punkte des Typs TPoint miteinander vergleichen, also überprüfen, ob beide Punkte die gleichen Koordinaten haben.
Problem: Es ist leider nicht möglich die Punkte mit P1 = P2 oder P1<> P2 miteinander zu vergleichen. Das liegt daran, dass Punkte Records sind, ein Punkt also sowohl aus einem X als auch einem Y Bestandtteil besteht. Solche komplexeren Datentypen lassen sich nicht ohne weiteres miteinander vergleichen.
Lösung: Sowohl Delphi als auch Lazarus stellen uns die Funktion PointsEqual zur Verfügung. Übergeben wir als Parameter zwei Punkte, bekommen wir true oder false zurück, je nachdem ob die Punkte gleich oder ungleich sind.
Beispiel: Verdeutlicht ist dies in folgendem Beispiel.
var P1, P2, P3: TPoint; begin P1 := Point(1, 1); P2 := Point(1, 1); P3 := Point(1, 2); if PointsEqual(P1, P2) then showmessage('P1 und P2 sind identisch!'); if PointsEqual(P1, P3) then showmessage('P1 und P3 sind identisch!'); end;
Wir definieren uns drei Punkte P1, P2 und P3, von denen P1 und P2 identisch sind. Anschließend testen wir die Punkte mit PointsEqual und bekommen die Nachricht "P1 und P2 sind identisch!" ausgegeben.
Über den Autor
Der Autor hat keine Kurzbeschreibung seines Profils angegeben.
Profil anzeigen
Ähnliche Themen
Mehrere Texte gleichzeitig ersetzen
Tutorial | 0 Kommentare
PHP: Zeit und Performance messen
Tutorial | 0 Kommentare
Delphi: Liegt Punkt (TPoint) in Rechteck (TRect)?
Tipp | 0 Kommentare
PHP: Beliebige Zeichen am Anfang und Ende eines Strings entfernen
Tutorial | 0 Kommentare
Ist das Liebeskummer oder was anderes?
Offene Frage | 1 Antwort
Lazarus: Datei als Byte-Array laden und Byte-Array als Datei speichern
Tutorial | 0 Kommentare
VirtualBox: Datum und Uhrzeit ändern
Tutorial | 10 Kommentare
Wichtiger Hinweis
Bitte beachten Sie: Die Beiträge auf askingbox.de sind Beiträge von Nutzern und sollen keine professionelle Beratung ersetzen. Sie werden nicht von Unabhängigen geprüft und spiegeln nicht zwingend die Meinung von askingbox.de wieder. Mehr erfahren.
Jetzt mitmachen
Stellen Sie Ihre eigene Frage oder schreiben Sie Ihren eigenen Artikel auf askingbox.de. So gehts.