Bonjour .
J'aurais besoin de comparer deux enregistrements, mais il me suffit de savoir s'ils sont identiques, et donc j'aimerais bien éviter d'avoir à effectuer une comparaison champs à champs. À partir d'un certain nombre, ça devient fastidieux et ça encombre le code, peut-être pour rien.
J'ai donc essayé ceci
mais il semble que ce ne soit pas la bonne méthode car on me dit aimablement que
Code Pascal : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52 unit Unit1; {$mode objfpc}{$H+} interface uses Classes, SysUtils, FileUtil, Forms, Controls, Graphics, Dialogs; type { TForm1 } TForm1 = class(TForm) private type TmyRecord = record champs_1: integer; champs_2: string; end; var enregistrement_1, enregistrement_2: TMyRecord; procedure Compare; public end; var Form1: TForm1; implementation {$R *.lfm} { TForm1 } procedure TForm1.Compare; begin enregistrement_1.champs_1 := 1; enregistrement_1.champs_2:= 'un'; enregistrement_2.champs_1 := 10; enregistrement_2.champs_2:= 'dix'; if (enregistrement_1 = enregistrement_2) then ShowMessage('Les enregistrement sont identiques!') else ShowMessage('Les enregistrement sont différents!'); end; end.
Y a-t'il un opérateur ou une procédure dédié à ce type de comparaisons?unit1.pas(47,24) Error: Operator is not overloaded: "TForm1.TmyRecord" = "TForm1.TmyRecord"
Merci d'avance pour vos réponses,
amicalement,
naute.
Partager