Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Компоненты Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 18.04.2008, 20:46   #1
Arkuz
Форумчанин
 
Аватар для Arkuz
 
Регистрация: 22.09.2007
Сообщений: 540
Плохо Помогите организовать добавление в memo или listbox...

Здравствуйте.
Передо мной стоит задача вывести элементы в мемо или листбокс.
Принцип следующий:
Если в массиве список имеет 1 элемент, то его нужно вывести в i-тую
строку. И так со всеми.
----------
Но если список из нескольких элементов, то в i-тую строку нужно
выводить все элементы списка 1 за другим.

В общем вот пример.

Массив типа список.
1 элемент массива список из 3х элементов - 1, 2 и 3;
2 элемент массива список из 1 элемента - число 5;
3 элемент массива список из 2 элементов - 7 и 3;
Вот как это должно выглядеть в мемо или листбоксе:

1 -> 2 -> 3
5
7 -> 3

Заранее спасибо за помощь...
Arkuz вне форума Ответить с цитированием
Старый 18.04.2008, 21:23   #2
alexBlack
Участник клуба
 
Регистрация: 12.10.2007
Сообщений: 1,204
По умолчанию

Список как организован ?
В любом случае

Код:
a : array [1..N] of ...
for i:=low(A) to high(A) do begin
    S := '';

    // Для каждого элемента списка 
    //      S := S + элемент [j] + '->'

    listBox.Items.Add(S);
end;
alexBlack вне форума Ответить с цитированием
Старый 18.04.2008, 21:25   #3
mihali4
*
Старожил
 
Регистрация: 22.11.2006
Сообщений: 9,201
По умолчанию

Метод INSERT. Перед этим выбираем нужную строку, перед которой и будет сделана вставка. То есть, если вам нужно вставить "2" после "1", нужно выбрать строку после строки с "1".
ADD и APPEND добавляют строки только в самый конец списка, но никак не где-то в середине...
mihali4 вне форума Ответить с цитированием
Старый 18.04.2008, 21:38   #4
Arkuz
Форумчанин
 
Аватар для Arkuz
 
Регистрация: 22.09.2007
Сообщений: 540
По умолчанию

Спасибо за помощь...

Может ещё кто напишет что-нибудь?
Arkuz вне форума Ответить с цитированием
Старый 18.04.2008, 21:41   #5
Arkuz
Форумчанин
 
Аватар для Arkuz
 
Регистрация: 22.09.2007
Сообщений: 540
По умолчанию

Мне нужно чтобы выполнялась проверка, если в списке 1 элемент, значит вывести его в сроке, если более 1 элемента, то все последующие p^.next выводить на оной строке, пока p^.next не станет равным nil, после этого перевести каретку на вывод следующего списка.

Фишка в том, что вызвать состояния списка можно в любой момент.
Добавил элемент, он должен корректно отобразиться в мемо и листбоксе, удалил - новое отображение, главное корректное...
Arkuz вне форума Ответить с цитированием
Старый 18.04.2008, 22:18   #6
alexBlack
Участник клуба
 
Регистрация: 12.10.2007
Сообщений: 1,204
По умолчанию

Цитата:
Сообщение от Arkuz Посмотреть сообщение
Мне нужно чтобы выполнялась проверка, если в списке 1 элемент, значит вывести его в сроке, если более 1 элемента, то все последующие p^.next выводить на оной строке, пока p^.next не станет равным nil, после этого перевести каретку на вывод следующего списка.
Теперь понятна структура списка. Уточняю:

Код:
listBox.Items.Clear
for i:=low(A) to high(A) do begin
 S := '';
 p := первый элемент
 While p <> nil do begin
    S := S + P^.Данные + ' - ';
    p = p^.next
 end; 
 //Здесь строка для списка сформирована и ее можно занести в ListBox
 listBox.Items.Add(S);   
end;
Цитата:
Фишка в том, что вызвать состояния списка можно в любой момент.
Добавил элемент, он должен корректно отобразиться в мемо и листбоксе, удалил - новое отображение, главное корректное...
Проще всего при изменении очистить ListBox и вывести список заново.
Т.е. оформить приведенный выше код как процедуру и вызывать его при изменениях.
alexBlack вне форума Ответить с цитированием
Старый 25.04.2008, 18:16   #7
uranpro
 
Регистрация: 24.04.2008
Сообщений: 4
По умолчанию

если тебе надо написать иммено в i-ую строку, а не в последнюю, то тебе может помочь.. listbox.items.string(i):= .... смысл такой) мб там не string, а strings =)
uranpro вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Помогите, запрос на добавление DisaMS Microsoft Office Access 5 10.06.2008 12:39
Помогите с ListBox SANTA_KLAUD Общие вопросы Delphi 1 27.05.2008 13:10
Помогите с ListBox Кронос Общие вопросы Delphi 3 21.05.2008 21:35
Помогите с программой (добавление звука) Gulik Общие вопросы Delphi 2 03.05.2008 12:00
В Memo сделать так, чтобы текст был разного цвета, разноцветный memo Artem Компоненты Delphi 3 07.09.2007 13:40