Показать сообщение отдельно
  #3  
Старый 26.10.2009, 23:34
Аватар для NIch
NIch NIch вне форума
Продвинутый
 
Регистрация: 02.06.2008
Адрес: Бендеры ПМР
Сообщения: 754
Репутация: 2446
По умолчанию

Цитата:
Сообщение от Лунтик-Некрофил
Короче в файле несколько 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;
Писал навскидку, возможны ошибки...
__________________
В начале был Бит, потом Байт и только потом появилось Слово...
Ответить с цитированием