Hola Luli!
Como ya te han dicho el ValueListEditor sirve para controlar pares del tipo Clave-Valor (Key-Value) al estilo de un archivo INI.
Esto también lo puedes hacer con un TListBox por medio de las propiedad Values[Index], pero es mucho más fácil con TValueListEditor ya que fue diseñado exclusivamente para esto.
Te pongo un ejemplo para usar un TValueListEditor
En un Form colocas dos campos de edición TEdit1 y TEdit2 y un Botón, en el evento OnClick del botón escribes este código.
Código Delphi
[-]
procedure TForm1.Button1Click(Sender: TObject);
var
Row: Integer;begin
if not ValueListEditor1.FindRow(Edit1.Text,Row) then
ValueListEditor1.InsertRow(Edit1.Text,Edit2.Text,True)
else
ValueListEditor1.Values[Edit1.Text]:=Edit2.Text;
end;
A grandes rasgos estas insertando una clave que escribes en TEdit1 y un valor que escribes en TEdit2 Para Formar el par Clave-Valor.
Si la clave ya existe solamente reemplazas el valor de dicha clave.
Los valores deben de ser tratados como cadenas, por lo tanto si quieres manejar otro tipo de datos debes hacer las conversiones adecuadas.
El TValueListEditor tiene otros trucos; por ejemplo, puedes agregar un pequeño botón o una lista desplegable en cada renglón o puedes hacer que los valores sean sólo lectura:
Código Delphi
[-]
ValueListEditor1.ItemProps[1].EditStyle:=esPickList;
ValueListEditor1.ItemProps[2].EditStyle:=esEllipsis;
ValueListEditor1.ItemProps[2].ReadOnly:=True;
Para controlar el evento que ocurre cuando un usuario pulsa el pequeño botón se utiliza el siguiente código
Código Delphi
[-]
procedure TForm1.ValueListEditor1EditButtonClick(Sender: TObject);
begin
case ValueListEditor1.Row of
1:Action1.Execute; 2:Action2.Execute; 3:Action3.Execute;
4:Action4.Execute;
end;
end;
Espero que te sea útil, un saludo.