Hola Jovalca.
Para mas de dos valores te sugiero otra opción que sólo requiere un delimitador. Continuando la línea, un ejemplo usando los valores de cuatro Edits:
Código Delphi
[-]
const
DELIM = '-';
FILESTR = 'C:\Carpeta\ListBox1.txt';
procedure TForm1.btnAddClick(Sender: TObject);
begin
with ListBox1.Items do
Add(Edit1.Text+' - '+Edit2.Text+' - '+Edit3.Text+' - '+Edit4.Text);
end;
procedure TForm1.ListBox1Click(Sender: TObject);
var
TS: TStrings;
begin
if ListBox1.ItemIndex <> -1 then
begin
TS:= TStringList.Create;
try
ExtractStrings(['-'], [], PChar(ListBox1.Items[ListBox1.ItemIndex]), TS);
Edit1.Text:= Trim(TS[0]);
Edit2.Text:= Trim(TS[1]);
Edit3.Text:= Trim(TS[2]);
Edit3.Text:= Trim(TS[3])
finally
TS.Free
end
end;
end;
procedure TForm1.btnSaveClick(Sender: TObject);
begin
ListBox1.Items.SaveToFile(FILESTR);
end;
procedure TForm1.btnLoadClick(Sender: TObject);
begin
ListBox1.Clear;
ListBox1.Items.LoadFromFile(FILESTR);
end;
Saludos