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 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120
|
procedure TZooThomVCLMainForm.btnTStringListAssignExClick(Sender: TObject);
var
vListe1, vListe2, vListe3: TStringList;
vListeG1, vListeG2, vListeG3: TList<string>;
vListeV1, vListeV2, vListeV3: TList<Variant>;
S: string;
begin
vListe1 := TStringList.Create;
try
vListe2 := TStringList.Create;
try
vListe1.Append('lapin');
vListe1.Append('chien');
vListe1.Append('oiseau');
vListe2.Append('rat');
vListe2.Append('chien');
vListe2.Append('cheval');
vListe3 := TStringList.Create;
try
vListe3.AssignEx(vListe1, laAnd, vListe2);
S := BoolToStr(vListe3.Exists('lapin'), True) // FALSE
+ sLineBreak + BoolToStr(vListe3.Exists('lapin'), True) // FALSE
+ sLineBreak + vListe3.Text;
ShowMessage(S);
finally
vListe3.Free;
end;
finally
vListe2.Free;
end;
finally
vListe1.Free;
end;
vListeG1 := TList<string>.Create;
try
vListeG2 := TList<string>.Create;
try
vListeG1.Add('lapin');
vListeG1.Add('chien');
vListeG1.Add('chat');
vListeG1.Add('oiseau');
vListeG2.Add('rat');
vListeG2.Add('chien');
vListeG2.Add('chat');
vListeG2.Add('cheval');
vListeG3 := TList<string>.Create;
try
TListAssistant<string>.AssignEx(vListeG3, vListeG1, laAnd, vListeG2);
S := BoolToStr(vListeG3.Contains('lapin'), True) // FALSE
+ sLineBreak + BoolToStr(vListeG3.Contains('chien'), True) // TRUE
+ sLineBreak + BoolToStr(vListeG3.Contains('chat'), True); // TRUE
ShowMessage(S);
finally
vListeG3.Free;
end;
finally
vListeG2.Free;
end;
finally
vListeG1.Free;
end;
vListeV1 := TList<Variant>.Create(TVariantComparer.Create());
try
vListeV2 := TList<Variant>.Create(TVariantComparer.Create());
try
vListeV1.Add('lapin');
vListeV1.Add('chien');
vListeV1.Add('chat');
vListeV1.Add(123);
vListeV1.Add(456);
vListeV1.Add(789);
vListeV1.Add(0.0123);
vListeV1.Add(0.04567);
vListeV1.Add(0.0789);
vListeV1.Add('oiseau');
vListeV2.Add('rat');
vListeV2.Add('chien');
vListeV2.Add(456);
vListeV2.Add(0.04567);
vListeV2.Add('chat');
vListeV2.Add('cheval');
vListeV3 := TList<Variant>.Create(TVariantComparer.Create());
try
TListAssistant<Variant>.AssignEx(vListeV3, vListeV1, laAnd, vListeV2);
S := BoolToStr(vListeV3.Contains('lapin'), True) // FALSE
+ sLineBreak + BoolToStr(vListeV3.Contains('lapin'), True) // FALSE
+ sLineBreak + BoolToStr(vListeV3.Contains('chien'), True) // TRUE
+ sLineBreak + BoolToStr(vListeV3.Contains('chat'), True) // TRUE
+ sLineBreak + BoolToStr(vListeV3.Contains(123), True) // FALSE
+ sLineBreak + BoolToStr(vListeV3.Contains(456), True) // TRUE
+ sLineBreak + BoolToStr(vListeV3.Contains(0.0456), True) // FALSE
+ sLineBreak + BoolToStr(vListeV3.Contains(0.04567), True); // TRUE
ShowMessage(S);
finally
vListeV3.Free;
end;
finally
vListeV2.Free;
end;
finally
vListeV1.Free;
end;
end; |