Я делал нечто похожее не давно, выложу тебе процедурки, а уж прогу собирай сам.
1 Перебор файлов в одной папке и вывод имен в список
Код:
procedure TForm1.Edit1KeyPress(Sender: TObject; var Key: Char);
Var SearchRec:TSearchRec;
begin
If Key<>#13 then exit;
ListBox1.Clear;
If FindFirst(Edit1.Text+'*.ss', faAnyFile, SearchRec)=0 then
repeat
ListBox1.Items.Add(SearchRec.name);
{SearchRec.name - имя файла
ExpandFileName(SearchRec.name) - имя файла с полным путем}
until FindNext(SearchRec) <> 0;
FindClose(SearchRec);
end;
Получение списка строк из файла
Procedure GetList(Const Path:string; Var ML:TMyList);
Код:
TMyList = array of string;
...
Procedure GetList(Const Path:string; Var ML:TMyList);
var F :textfile;
s:string;
i:integer;
begin
AssignFile(f, path);
Reset(F);
Setlength(ML,0);
i:=-1;
While not EOF(F) do
begin
ReadLn(F,S);
Inc(i);
setlength(ML,I+1);
ML[i]:=S;
end;
Ну вот что есть. Можешь двумерный массив, а можешь взять таблицу БД сделать в ацессе, удобнее будет.