Beh, non ti basta scrivere qualcosa del genere?
While Not EOF(1)
FileGet(1, buffer) 'Leggo il record dal file
if (txt_superficie <> "") And (txt_superficie <> Buffer.Superficie)
continue;
if (txt_zona <> "") And (txt_zona <> Buffer.Zona)
continue;
if (txt_prezzo <> "") And (txt_prezzo <> Buffer.Prezzo)
continue;
... Ok, Inserisci nella lista
End While
È solo un esempio i nomi dei campi sono scritti a caso.