Bu utanç verici, ancak Delphi kümeler gibi hala çok temel veri yapılarına sahip değil. "Fabricio Araujo" nın önerisi kullanımda çok sınırlıdır - olası tüm dizeleri bilmeniz gerekir, bu yüzden onları bir yerden okurken işe yaramaz. Aynı zamanda "hemen hemen dizgi dizisi" nde 256 öğeden daha fazlasına sahip olmak imkansızdır. Remy Lebeau, bu amaçla TStringList'i kullanmayı önerdi, ancak büyük takımlarınız olduğunda kesinlikle verimsiz. Delphi modern versiyonları yılında dizeleri dahil hiçbir şeyden sırasız tutmak isteyen TDictionary kullanmak mümkündür: O harfe duyarlıdır
procedure TForm6.FormCreate(Sender: TObject);
type
TEmpty = record end;
var
MySet: TDictionary<String, TEmpty>;
Dummy: TEmpty;
begin
MySet := TDictionary<String, TEmpty>.Create;
try
MySet.Add('Str1', Dummy);
MySet.Add('Str2', Dummy);
MySet.Add('Str3', Dummy);
if MySet.TryGetValue('Str2', Dummy) then
ShowMessage('Exists');;
finally
MySet.Free;
end;
end;
. Büyük/küçük harf duyarlı olmayan bir uygulamaya ihtiyaç duyarsanız, tüm dizeleri set/bakmadan önce set halinde küçültebilirsiniz (bunun için AnsiLowerCase işlevini kullanın).
Teşekkür ederim, Faydalı! – Armin