Bonjour,
peut on tester 2 points pour savoir s'ils sont identiques sans tester leur Coordonnées car le test direct sur l'égalité des TPoints ne peux pas marcher ?
A+
Charly
Bonjour,
peut on tester 2 points pour savoir s'ils sont identiques sans tester leur Coordonnées car le test direct sur l'égalité des TPoints ne peux pas marcher ?
A+
Charly
Mon site : http://lapaille.byethost24.com/index.htm
Bonjour Charly,
Il me semble qu'avec TPoint, il n’existe pas d’opérateur d’égalité défini par Delphi, donc tu ne peux pas éviter la comparaison des coordonnées.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 function SamePoint(const P1, P2: TPoint): Boolean; begin Result := (P1.X = P2.X) and (P1.Y = P2.Y); end;Après, il existe peut-être une autre solution.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 if SamePoint(P1, P2) then ShowMessage('Identiques');
On ne peut pas faire confiance à un code qu'on n'a pas entièrement écrit soi‑même, et encore moins à celui qu'on a écrit entièrement. :aie:
Des fonctions de comparaisons (et plus) sont apparues, mais, selon la doc, à partir de XE3 (dans l'unité Types).
MVP Embarcadero
Delphi installés : D3,D7,D2010,XE4,XE7,D10 (Rio, Sidney), D11 (Alexandria), D12 (Athènes), D13 (Florence)
SGBD : Firebird 2.5, 3, 5 et SQLite
générateurs États : FastReport, Rave, QuickReport
OS : Window Vista, Windows 10, Windows 11, Ubuntu, Androïd
Un truc du genre:
Pour éviter la confusion à la lecture de int64 dans le code, on peut créer un nouveau type
Code : Sélectionner tout - Visualiser dans une fenêtre à part if Int64(p1) = Int64(p2) then
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 type Rc = type Uint64; if Rc(p1) = Rc(p2) then
Ok, merci à tous, je vais tester le coup des int64
A+
Charly
Mon site : http://lapaille.byethost24.com/index.htm
Bonjour,
oui, merci, ça revient à faire une fonction :
A+
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 function SamePoint(const A, B: TPoint): Boolean; begin Result := (A.X = B.X) and (A.Y = B.Y); end;
Charly
Mon site : http://lapaille.byethost24.com/index.htm
Partager