|
Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Программирование и базы данных » Delphi - Поменять Lisbox на ListView или CheckListBox |
|
Delphi - Поменять Lisbox на ListView или CheckListBox
|
Ветеран Сообщения: 648 |
Добрый день!
Есть программа, в ней выводится список файлов конкретной папки в Listbox а потом происходит перемещение этих файлов в другую папку. Минус в том что нет выбора какие именно файлы из списка нужно переместить и они перемещаются все. Вот моя функция перемещения procedure TForm1.Button4Click(Sender: TObject); begin while ListBox1.Items.Count > 0 do begin if Movedir(PAnsiChar(listbox1.Items[listbox1.ItemIndex]), PAnsiChar(Edit2.Text)) then ListBox1.Items.Delete(i2) else begin ShowMessage('Объект не перемещен'); Break; end; end; ShowMessage('Объекты перемещены'); end; Нужно чтоб пользователь ставил чеки на против нужных файлов и уже запускал перемещение файлов. Или доработать эту процедуру with CheckListBox1 do for i:=0 to Count-1 do if checked[i] then Movedir(PAnsiChar(Items[ItemIndex]), PAnsiChar(Edit2.Text)) ![]() так чтоб перемещались отмеченые файлы, и строчки которые относятся к перемещенным файлам тоже удалялись. Спасибо! |
|
------- Отправлено: 17:41, 17-07-2012 |
![]() Ветеран Сообщения: 1803
|
Профиль | Отправить PM | Цитировать Привет дружище!
1. Нужен ли тебе для этой задачи ListView? 2. Замени ListBox на CheckListBox и все проблемы. Не нужно все лопатить заново! Просто замени предка. Выдели ListBox на форме, далее Ctrl+X - Вырезали. Перейди в модуль (*.PAS) установи курсор ниже end. скопируй вырезанный объект Ctrl+C измени object ListBox1: TListBox на object ListBox1: TCheckListBox, вырежи измененный блок Ctrl+X, снова открой форму, клик на форме и Ctrl+V. Все, далее копируй и убирай элементы в цикле с нужным условием. |
------- Последний раз редактировалось opel431, 18-07-2012 в 03:26. Отправлено: 02:52, 18-07-2012 | #2 |
Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети. Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля. |
Ветеран Сообщения: 648
|
Профиль | Отправить PM | Цитировать opel431, Спасио, попробую!
|
------- Отправлено: 10:53, 18-07-2012 | #3 |
Новый участник Сообщения: 40
|
Профиль | Отправить PM | Цитировать А можно вообще ничего не менять: достаточно выставить в ListBox Multiselect в True и - вуаля.
А пробегаться по отмеченным пунктам при помощи свойства Selected элемента. |
Отправлено: 12:24, 18-07-2012 | #4 |
Ветеран Сообщения: 648
|
Профиль | Отправить PM | Цитировать AlexVol, пробЫвал, изначально так и было, но что то я там недопонял на счет как пробегаться и сделал перемещение вообще всего списка.
|
|
------- Отправлено: 12:33, 18-07-2012 | #5 |
Новый участник Сообщения: 40
|
Профиль | Отправить PM | Цитировать У отмеченного пункта свойство Selected выставлено в True. Соответственно,когда бежим по списку проверяем свойство и либо пропускаем, либо копируем.
Не забываем при успешном копировании снимать в False |
Отправлено: 12:19, 19-07-2012 | #6 |
![]() |
Участник сейчас на форуме |
![]() |
Участник вне форума |
![]() |
Автор темы |
![]() |
Сообщение прикреплено |
| |||||
Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
PowerShell - [решено] как поменять поменять тип группы | ejik_off | Скриптовые языки администрирования Windows | 5 | 23-11-2011 13:49 | |
CMD/BAT - [решено] Как создать ярлык и поменять его иконку или поменять иконку уже существующего ярлыка | Centrinar | Скриптовые языки администрирования Windows | 6 | 04-09-2011 10:56 | |
Delphi - Прокрутка в ListView | напарНИК | Программирование и базы данных | 0 | 24-01-2011 19:34 | |
Разное - ListView в VB6 | Synthetyic_Man | Программирование и базы данных | 1 | 11-05-2010 05:52 | |
Установка - как поменять версию виндовс поменять с 2002 на 2007 в "свойства системы" | visokosnik | Microsoft Windows 2000/XP | 3 | 25-08-2007 19:18 |
|