Hola.
Si de ese modo, la restaura cuando después de escribir no encuentra más coincidencias.
Para que lo haga cuando el Edit esté vacío, reemplaza estas líneas:
Código:
if (Found)
ListBox1->ItemIndex = i-1;
else {
for(i=0; i< TS->Count; i++)
ListBox1->Items->Strings[i] = TS->Strings[i];
ListBox1->ItemIndex = -1;
}
Por estas:
Código:
if (Found)
ListBox1->ItemIndex = i-1;
if(Edit1->Text.Length() == 0){
for(i=0; i< TS->Count; i++)
ListBox1->Items->Strings[i] = TS->Strings[i];
ListBox1->ItemIndex = -1;
}
En realidad el código que restaura los items es sólo este:
Código:
for(int i=0; i< TS->Count; i++)
ListBox1->Items->Strings[i] = TS->Strings[i];
Lo podés ubicar en el evento
OnClick de un TButton, luego de evaluar alguna condición o en donde quieras que sea restaurado.
Saludos.