Ajoute une procédure chargée d'initialiser le TValueListEditor :
procedure TForm1.InitValueList;
begin
with ValueListEditor1.Strings do
begin
Clear;
add('a=valeur a');
add('b=valeur b');
add('c=valeur c');
add('d=valeur d');
add('e=valeur e');
add('f=valeur f');
end;
end;
Ensuite, modifie légèrement la procédure Edit1Change :
procedure TForm1.Edit1Change(Sender: TObject);
var
n, i, base: Integer;
begin
if Edit1.Text = '' then
InitValueList;
if valuelisteditor1.FindRow(edit1.Text, n) then
begin
if doColumnTitles in ValueListEditor1.DisplayOptions then
base := 1
else
begin
base := 0;
dec(n);
end;
for I := valuelisteditor1.RowCount - 1 downto base do
if i > n then
valuelisteditor1.DeleteRow(i)
else
if i < n then
begin
valuelisteditor1.DeleteRow(i);
n := i;
end;
end;
end;
Bien sûr, tu peux aussi choisir de charger la liste depuis un fichier :
procedure TForm1.InitValueList;
begin
with ValueListEditor1.Strings do
begin
Clear;
LoadFromFile('liste.txt');
end;
end;
en formatant un fichier texte comme ceci :
a=valeur a
b=valeur b
c=valeur c
d=valeur d
e=valeur e
f=valeur f
De cette façon, cela rendra plus dynamique la liste des options sans avoir à recompiler ton programme, par exemple.
May Delphi be with you !
Pensez à cliquer sur
Réponse acceptée lorsque la réponse vous convient.