Здрассте! Научите плз., как связать TreeViev и ListView. Предполагается, что объектами в них будут записи из рекурсивной таблицы. Да и вообще сам принцип... А то запарился совсем с Масяней - голова отказывается думать :(
Добрый день, lexa! То есть, имеем таблицу, каждая запись которой может быть как потомком какой-либо записи, так и владельцем некоторого множества (возможно, пустого) записей. Предполагается, что существует "корень" таблицы, то есть некоторое количество записей, не имеющих родителя. Предполагается, что таблица имеет, как минимум, три поля - ID:integer, NAME:string, PARENT:integer. Предполагается, что таблица проиндексирована по полю ID и по полю PARENT. Предполагается, что ID имеет значения больше 0. Очевидно, что в TreeView следует загрузить записи, не имеющие родителя. А затем, чтобы показать, что эти записи имеют потомков, загружаем следующий уровень. Делается это приблизительно как в блоке 1 При попытке развернуть одну из ветвей (OnExpanding event), следует показать, что потомки имеют своих потомков (Смотри блок 2). Если
есть желание, то при сворачивании ветви (OnCollapsing event) удаляй невидимых потомков (это что-то типа домашнего задания). При выборе одной из ветвей (OnChanging event) очищай ListView и грузи в него всех потомков (блок 3). Программы не проверялись на работоспособность, поэтому могут быть ошибки при компиляции, но идея правильная.
Приложение: Ответ отправлен: 10.07.2002, 13:09 Отправитель: Артём Шегеда
Вопрос № 72
Привет эксперты! Вопрос такой: Имеется строка, чтобы голову не сильно морочить приведу пример асмовской строки: |MOV AL,01h| Так вот, между mov и al n-ное число пробелов, между al и запятой так же, между запятой и 01h аналогично неизвестное число пробелов. В итоге нужно эти пробелы в строке покоцать. Ну типа Trim* но внутри строки. Задачка элементарно решается парсингом. Есть ли в Delьфях ф-циЯ это делающая? (удаление пробелов) ------------------------------------- ЗЫ: Блин, последняя строчка че-то звучит по ламерски, но все равно ;).. ЗЗЫ: Не обежайтесь, но я немного вас покритикую;) Как Жванецкий говорил, - "ТщательнЕе надо бы.." - отвечать на вопросы. Ну понятно, пляж, девочки, пиво, то да се... На последний вопрос вааще чего-то (поленились?) ответить (Вопр. 65?),где речь шла о глюке в разборе строк (см приложение).
А глюк заключался в прибавлении к буферной строке (Str1) терминального символа, сразу перед записью в массив. Я чего-то упустил ее из виду ;)) И терминал задавался #13, а надо было #10 Кто-то даже написал что str1 у меня не инициализирован. Здорово блин! Вообще-то вопросики кидаемые в рассылку, достаточно-таки простые.Я бы на месте НЕКОТОРЫХ экспертов задумался, стОит ли получать кипу писем чтобы она захламляла винт, и нифига на нее не отвечать, или это ради понта, дескать я крутой эксперт, блин. Ну что-то не понимаю я этого. Рассылка по асму вообще выходит каждый день и ответов там немерено. Вот это ПРОФЕССИОНАЛЬНОСТЬ. ЗЗЗЫ: Ну очень надеялся на ответы Артема Шегеды и Baldr'a. -------------------------------------- Прошу прощение за жесткость, но я пока остаюсь при своем мнении.
Приветствую Вас, Andrew! Если тебе нужно просто убрать все пробелы, то смотри приложение, но если тебе нужно оставить пробел после MOV(Ведь нужно да? или у тебя пример неудачный?) то тут придётся исхитряться с ипользованием функции POS(), Если пиши на sanya_2@aport.ru растолкую!
Приложение: Ответ отправлен: 11.07.2002, 02:36 Отправитель: Sanya Отвечает baldr
Добрый день, Andrew! Зачем чебе какая-то встроенная функция, когда это все решается двумя циклами? Если хочешь - напиши свою. Или держи пример. Учти - писался с лету, не проверялся. ЗЗЫ. А ты видел сколько экспертов в асмовской рассылке? А сколько здесь?
Приложение: Ответ отправлен: 12.07.2002, 00:34 Отправитель: baldr
Форма отправки вопроса
Внимание!
Форма может работать некорректно в почтовых программах "Microsoft Outlook"
и "Microsoft Outlook Express". В программе The Bat!
подобные формы не работают вообще!
После нажатия на кнопку "Отправить", будет открыто второе окно. Заметьте,
что в некоторых браузерах могут стоять запреты на открытие других
окон, а также "чрезмерное" кэширование данных,
при этом факт отправки Вашего вопроса стоит под сомнением.
Мы рекомендуем открывать рассылку в программе Internet
Explorer 5.0+ или отправлять вопросы с сайта по адресу:
http://rusfaq.ru/cgi-bin/Message.cgi.