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

Вниз

Как обменять два TListItem?   Найти похожие ветки 

 
REA   (2006-11-22 17:36) [0]

Пока что изобрел такой код для обмена двух элементов ListView. Изврат какой то. Нет ли чего попроще?

   Tmp := TListItem.Create(Items);
   Try
     Tmp.Assign(Selected);
     Ind := Selected.Index;
     Items.Item[Ind].Assign(Items.Item[Ind-1]);
     Items.Item[Ind-1].Assign(Tmp);
   Finally
     Tmp.Free;
   End;


 
umbra ©   (2006-11-22 19:22) [1]

так лучше?
Selected.Index := Selected.Index - 1;

Надо просто присвоить нужное значение свойству Index


 
REA   (2006-11-23 11:08) [2]

Сам то пробовал?
property Index: Integer read GetIndex;


 
Сергей М. ©   (2006-11-23 11:24) [3]


> REA


Используй ListView в виртуальном режиме


 
REA   (2006-11-23 11:31) [4]

Спасибо, но тогда уж проще способ [0].


 
umbra ©   (2006-11-23 11:49) [5]

да, что-то я увлекся. Но есть же методы TListItems.AddItem и TListItems.Delete, которых, вроде, достаточно для решения задачи.


 
REA   (2006-11-23 11:52) [6]

Примерно тоже самое и получится, но придется еще все свойства присваивать. Опять же не без промежуточного элемента.


 
Anatoly Podgoretsky ©   (2006-11-23 11:55) [7]

> REA  (23.11.2006 11:31:04)  [4]

Классика, универсально.


 
Сергей М. ©   (2006-11-23 11:55) [8]


> Опять же не без промежуточного элемента


А без него в exhange-подобных операциях над списками никак не обойтись.


 
REA   (2006-11-23 12:01) [9]

Ну это если нет способов вроде Exchange, SetIndex или Extract-Insert.


 
umbra ©   (2006-11-23 12:22) [10]


> Примерно тоже самое и получится, но придется еще все свойства
> присваивать.

почитайте справку по TListItems.AddItem и поймете, что свойств присваивать не надо



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

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

Наверх




Память: 0.46 MB
Время: 0.044 c
15-1164018635
Cyrax
2006-11-20 13:30
2006.12.10
Проблема с раскладкой клавиатуры


15-1163923518
KilkennyCat
2006-11-19 11:05
2006.12.10
Ну что, приняли нас в ВТО, или еще нет?


3-1160117204
Krants
2006-10-06 10:46
2006.12.10
Смена QRBand`а


3-1159946116
Монг
2006-10-04 11:15
2006.12.10
Проблема с выполнением функции


3-1160064758
PeterBuild
2006-10-05 20:12
2006.12.10
Вторичные индексы в Парадоксе





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский