![]() |
|
|
Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
![]() |
|
Опции темы | Поиск в этой теме | Опции просмотра |
#1
|
||||
|
||||
![]() Доброго времени суток, явился сюда с проблемкой. Примерная задача - считать записи из типизированного файла с определённым индексом(не знаю как правильно написать, поэтому напишу с индексом) в ListBox. Все записи должны располагаться в отдельных пунктах ListBox'а и при выборе одного его записи должны записываться например в Memo.
Код:
Type bl=record M:string[255] N:string[255] end; var f:file of bl; buf:bl; ........ В ListBox при выборе M в Memo должны перенестись все записи N.Наверно. Возможно задание написал не очень верно, но если что - поясню проще. Заранее спасибо) |
#2
|
||||
|
||||
![]() Короче в файле несколько M-записей, каждая из них содержит несколько N-записей. Требуется при выборе в ListBox M-записи в Memo вывести все N-записи этой M-записи)
|
#3
|
||||
|
||||
![]() Цитата:
Понял так, у тебя типизированный файл записей определенной структуры... Ты хочешь выбрать из списка 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; В начале был Бит, потом Байт и только потом появилось Слово... Последний раз редактировалось NIch, 26.10.2009 в 23:54. |
#4
|
||||
|
||||
![]() А вы не перепутали ListBox и ListView
Для последнего сделать такое несложно, а вот для ListBox, несколько сложнее т.к. структуру придется хранить в виде объекта для каждой строки в неявном виде примерно так: Код:
Type TUserRec = class M,N: String; end; ... Var UserRec: TUserRec; begin UserRec := TUserRec.Create; ListBox1.AddItem('Item1', UserRec); end; Жизнь такова какова она есть и больше никакова. Помогаю за спасибо. Последний раз редактировалось Страдалецъ, 26.10.2009 в 23:52. |
#5
|
||||
|
||||
![]() В принципе мне безразлично какой элемент(комбо,лист или т.п.), мне просто надо обращаться к записи из списка. Просто с View никогда не работал. Если несложно - можно примерчик с view?
|
#6
|
||||
|
||||
![]() Вот вам демка http://upload.com.ua/get/901127164/
Пользуйтесь. Жизнь такова какова она есть и больше никакова. Помогаю за спасибо. |