Usa la classe TStringList per gestire la lista di stringhe.

Tale classe supporta il metodo LoadFromFile che permette di caricare una lista di stringhe separate da ritorni a capo da un file di testo specificando come parametro il percorso.

Una volta caricate le stringhe, la proprietà Count ti restituirà il numero totale di stringhe.

Questo numero (decrementato di 1) rappresenterà il valore massimo per la generazione del numero casuale, mentre il minimo sarà 0 (zero).

Ti è già stato indicato in un thread passato come generare numeri casuali.

Dopo aver generato il numero, accedi alla i-esima stringa e con essa fai quel che vuoi.

Uno scheletro di esempio per creare e usare la classe...
codice:
procedure TForm1.Button1Click(Sender: TObject);
var
  SL: TStringList;
  n: Integer;
begin
  SL := TStringList.Create;
  try
    SL.LoadFromFile('C:\Stringhe.txt');
    Randomize;
    n := RandomRange(0, SL.Count - 1);
    ShowMessage(SL[n]);
  finally
    SL.Free;
  end;
end;
Questo codice crea un'istanza di TStringList, carica un file di testo da disco, genera un indice casuale da 0 al numero di stringhe (-1) e usa tale indice per prelevare una stringa dall'elenco e visualizzarla in una casella di messaggio. Anche in caso di errori, grazie al costrutto try...finally, la memoria occupata dalla StringList viene comunque liberata tramite il metodo Free, preservando le risorse di sistema.

Ulteriori informazioni sulle funzioni e le classi utilizzate le trovi sulla Guida.

Ciao!