Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2003.06.05;
Скачать: CL | DM;

Вниз

Проблема с ListBox ом   Найти похожие ветки 

 
TrollXP ©   (2003-05-22 08:30) [0]

Привет народ! У меня такая проблема: хочу в FileListBox"е удалить несколько строк и пишу
for i:=FileListBox1.ItemIndex to FileListBox1.SelCount do
FileListBox1.Items.Delete{i), но нихрена не получается! Мож кто подскажет??


 
MBo ©   (2003-05-22 08:34) [1]

иди c конца (for .. downto), проверяя selected


 
Song ©   (2003-05-22 09:30) [2]

>>Мож кто подскажет??
После удаления, строки сдвигаются.


 
TrollXP ©   (2003-05-22 14:27) [3]

2 MBo
И так тоже не получается!?


 
MBo ©   (2003-05-22 14:28) [4]

код?


 
TrollXP ©   (2003-05-22 17:16) [5]

for i:=FileListBox1.ItemIndex downto FileListBox1.SelCount do n
FileListBox1.Items.Delete(i);


 
clickmaker ©   (2003-05-22 17:24) [6]

Несколько строк - это как? Случайным образом, что-ли?
Если выделенных, то послушайся MBo
for i := List.Items.Count-1 downto 0 do begin
if List.Items[i].Selected then List.Items.Delete(i);
end;


 
TrollXP ©   (2003-05-22 18:02) [7]

2 clickmaker
не бычит, компилятор ругается!


 
Севостьянов Игорь ©   (2003-05-22 18:04) [8]

Как именно он ругается ? Здесь же нет телепатов


 
TrollXP ©   (2003-05-22 18:17) [9]

Record, object or class type required


 
Севостьянов Игорь ©   (2003-05-22 18:25) [10]

Блин - в каком месте кода


 
TrollXP ©   (2003-05-22 18:27) [11]

тут - if List.Items[i].Selected then List.Items.Delete(i)


 
VMcL ©   (2003-05-22 18:42) [12]

>TrollXP © (22.05.03 08:30)

N := FileListBox1.SelCount - FileListBox1.ItemIndex;
for i:= 0 to N do
FileListBox1.Items.Delete(FileListBox1.ItemIndex);


 
TrollXP ©   (2003-05-22 18:46) [13]

Все равно не работает! Он удаляет либо сначала один, а потом по 2, по 3, либо сразу кусками, но только не те которые надо!


 
clickmaker ©   (2003-05-22 18:47) [14]

Удалено модератором


 
Севостьянов Игорь ©   (2003-05-22 19:15) [15]

Вот именно > TrollXP © (22.05.03 18:46)
Дело в том что при удалении он выделяет заново другой итем при этом кол-во их уменьшается - необходимо именно downto как показал > clickmaker © (22.05.03 18:47)


 
clickmaker ©   (2003-05-22 19:38) [16]

clickmaker © (22.05.03 18:47)
Удалено модератором


Эээх, не понимают тут всей мощи русского языка. :)
Ну да ладно, все равно исправлюсь

for i := List.Items.Count-1 downto 0 do begin
if List.Items[i].Selected then List.Items.Delete(i);
end;


 
clickmaker ©   (2003-05-22 19:38) [17]

clickmaker © (22.05.03 18:47)
Удалено модератором


Эээх, не понимают тут всей мощи русского языка. :)
Ну да ладно, все равно исправлюсь

for i := List.Items.Count-1 downto 0 do begin
if List.Selected[i] then List.Items.Delete(i);
end;


 
TrollXP ©   (2003-05-23 17:09) [18]

2 clickmaker
спасибо, всё сделал, только матюкатся не надо. работа. я в основном ночью. поэтому качелдан не варит :)
теперь другая проблема. при добавлении в список файлы добавляются не в конец. а по алфивиту. смотрел в справке свойство Sorted, но компилятор говорит. что такого не знает. помогите, плиз!


 
Skier ©   (2003-05-23 17:12) [19]


> но компилятор говорит. что такого не знает. помогите, плиз!

Да быть этого не может ! Используй утилиту глаза.exe ...


 
TrollXP ©   (2003-05-23 17:17) [20]

Если он не ругался, я б не спрашивал


 
Skier ©   (2003-05-23 17:20) [21]

>TrollXP © (23.05.03 17:17)
Чудеса да и только !


 
TrollXP ©   (2003-05-23 17:26) [22]

так мож чего посоветуешь?


 
Skier ©   (2003-05-23 17:29) [23]

>TrollXP © (23.05.03 17:26)

> но компилятор говорит. что такого не знает. помогите, плиз!

Что он говорит, конкретно ?


 
TrollXP ©   (2003-05-23 17:31) [24]

Undeclared identifier: "Sorted"


 
Skier ©   (2003-05-23 17:32) [25]

>TrollXP © (23.05.03 17:31)
OK. Как используешь этот "Sorted" ? Код...


 
TrollXP ©   (2003-05-23 17:33) [26]

FileListBox1.Sorted:=false;


 
Skier ©   (2003-05-23 17:37) [27]

Ну и что же мы хотим, батенька ?
пишем в вопросе про ListBox, а используем TFileListBox...


 
Skier ©   (2003-05-23 17:39) [28]

type
THackFileListBox = class(TFileListBox);

//....................

begin
//....................
THackFileListBox(FileListBox1).Sorted := False;
//....................
end;


 
TrollXP ©   (2003-05-23 17:45) [29]

Ночь.. Благодарствую!


 
tv ©   (2003-05-23 17:49) [30]

а методов типа ClearSelection или DeleteSelection там нету?


 
tv ©   (2003-05-23 17:51) [31]

сорри DeleteSelected
есть оба - попробуй


 
tv ©   (2003-05-23 17:54) [32]

это я насчет удаления - и никаких циклов не надо


 
TrollXP ©   (2003-05-23 17:56) [33]

спасибо, попробую


 
clickmaker ©   (2003-05-23 17:57) [34]

DeleteSelected только начиная с Д6. Впрочем, если залезть внутрь этой процедурки, то опять же, мы увидим уже всем поднадоевший цикл downto 0...



Страницы: 1 вся ветка

Текущий архив: 2003.06.05;
Скачать: CL | DM;

Наверх




Память: 0.53 MB
Время: 0.015 c
6-13356
Provodnick
2003-04-02 08:50
2003.06.05
Как поймать клик мыши по TWebBrowser?


3-13040
Caesar
2003-05-16 14:54
2003.06.05
AdoTable


1-13284
Vulko
2003-05-17 22:41
2003.06.05
Как вызвать стандартный диалог выбора цвета


3-13091
Grey_g
2003-05-15 09:48
2003.06.05
Активная запись


1-13246
Kudatsky
2003-05-23 09:45
2003.06.05
Ошибка при работе с Excel