Цитата:
Сообщение от Лунтик-Некрофил
Короче в файле несколько M-записей, каждая из них содержит несколько N-записей. Требуется при выборе в ListBox M-записи в Memo вывести все N-записи этой M-записи)
|
Сам то понял, что написал)))
Понял так, у тебя типизированный файл записей определенной структуры...
Ты хочешь выбрать из списка ListBox запись, а в Memo отобразить содержимое записи???
Далее так...
1. Считываешь весь файл от начала до конца, номер строки в файле вводишь в список комбобокс
2. Когда выбираешь строку в комбобокс, считываешь номер этой строки
3. Опять считываешь файл сначала, но на нужной записи останавливаешься, и считываешь ее содержимое
Примерно так...
Код:
type
record : record//запись
i : integer;
f : String;
m : string;
end;
var
file : file of record;//файл записей
...
while not EOF(File) do begin//заполняем лист бокс
read (File, Record);
ListBox.Items.Add(Record.Index);
end;
...
procedure TForm_Main.ListBox1Click(Sender: TObject);//клик по лист бокс
var
i : integer;
begin
i := ListBox1.SelCount;//выбранная запись
while not EOF(File) do begin
read (File, Record);
if i = Record.i then
Memo.Lines.Add(Record.f+Record.m);//добавляем содержимое записи
end;
end;
Писал навскидку, возможны ошибки...