Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 2004.11.14;
Скачать: [xml.tar.bz2];

Вниз

list   Найти похожие ветки 

 
леха   (2004-10-29 18:59) [0]

Имеется listview в котором выводится информация о  разделах жесткого диска.
В первой колонке (точнее Listview.Colums[0]) расположен checkboxed, а за ним имя диска
(например С:\). Нужно отследить какие checkboxed находятся в cbChecked и поместить название
выделенного диска в LISTBOX.


 
alena.svt ©   (2004-10-29 19:28) [1]

procedure TForm1.Button1Click(Sender: TObject);
var
I: Integer;
S: string;
begin
with ListView1 do
for I:= 0 to Items.Count -1 do
if Items[i].Checked = True then
begin
ListBox1.Items.Add(ListView1.Items[I].Caption);
................................
end;
end;


 
VMcL ©   (2004-10-29 19:43) [2]

>Items[i].Checked = True

Это для пущей надежности?


 
alena.svt ©   (2004-10-29 19:45) [3]

Нет дело вкуса


 
VMcL ©   (2004-10-29 21:32) [4]

>>alena.svt ©  (29.10.04 19:45) [3]

Плохой вкус, потому что вместо
test al, al
jz +$xy

как в случае if Items[i].Checked then
будет
cmp al, 1
jnz +$xy


Причем даже при включенной оптимизации (D6).


 
alena.svt ©   (2004-10-29 22:00) [5]

VMcL ©   (29.10.04 21:32) [4]
asm - это то чего я побаиваюсь даже начать понимать
Если не трудно объясни и каковы последствия = True?


 
GuAV ©   (2004-10-29 22:17) [6]

alena.svt ©   (29.10.04 22:00) [5]
asm - это то чего я побаиваюсь даже начать понимать

ИМХО зря.

alena.svt ©   (29.10.04 22:00) [5]
Если не трудно объясни и каковы последствия = True?

небольшая потеря производительности.

плюс нестандартные значения true, например boolean(5), могут не считаться true (конечно их надо избегать или описывать не как boolean, но такие ошибки встречаются).


 
VMcL ©   (2004-10-29 23:48) [7]

>>GuAV ©  (29.10.04 22:17) [6]

>>небольшая потеря производительности.

По большому счету, это даже не самое важное, поскольку потеря быстродействия в общем-то незначительна, особенно для бизнес-приложений. Более важно - это читабельность кода.

Я считаю сравнения типа
if a = True then
if a = False then
if a <> True then
if a <> False then

т. е. сравнения булевых выражений с булевой константой извращениями людей, которые не очень хорошо знают язык, и мешают его нормально понимать другим.

Можно писать и так
if a < True then
if a > False then

но зачем гланды удалять через задний проход?


 
alena.svt ©   (2004-10-30 07:49) [8]

VMcL ©   (29.10.04 23:48) [7]
if a then
if not a then
Не учитывая потерю производительности, а только читабильность
if a = false then мне кажется более читабельной
Так все - же дело вкуса?


 
VMcL ©   (2004-10-30 10:31) [9]

>>alena.svt ©  (30.10.04 07:49) [8]

Конструкции
if Button1.Enabled then
if not Button1.Enabled then

более понятны с точки зрения естественно языка
"если кнопка видима, то"
"если кнопка невидима, то"

if Button1.Enabled = false then
"если "кнопка видима" является ложью, то"


 
Anatoly Podgoretsky ©   (2004-10-30 11:20) [10]

Учитывая, что имеет 4 разных варианта логических типов, то можно серьезно пострадать с такими конструкциями и уже многие пострадали


 
VMcL ©   (2004-10-30 12:59) [11]

>>Anatoly Podgoretsky ©  (30.10.04 11:20) [10]

В смысле WordBool, LongBool и т. п?


 
GuAV ©   (2004-10-30 14:12) [12]

VMcL ©   (30.10.04 12:59) [11]

В смысле WordBool, LongBool и т. п?


Да в этом случае возможно либо true <> true либо true = true.
Я например сталкивался с объявлением внешней функции с boolean заместо BOOL... это грабли.


 
alena.svt ©   (2004-10-30 16:52) [13]

Я так поняла , что зависит ни от читабельности и ни от вкуса
А все зависит от конкретной ситуации.
?


 
GuAV ©   (2004-10-30 17:13) [14]

alena.svt ©   (30.10.04 16:52) [13]
А все зависит от конкретной ситуации.


Никакой зависимости, всегда лучше без " = true"

Кроме возможно вкуса. Но следует вырабатывать правильный вкус.


 
Игорь Шевченко ©   (2004-10-30 19:40) [15]

GuAV ©   (30.10.04 14:12) [12]


> Я например сталкивался с объявлением внешней функции с boolean
> заместо BOOL... это грабли.


Сдается мне, что это внешняя функция не совсем корректно описана или себя ведет :)


 
GuAV ©   (2004-10-30 21:13) [16]


> Сдается мне, что это внешняя функция не совсем
> корректно описана или себя ведет :)


Именно. Некоррекно описана. Надо не Boolean а BOOL.
Одной ветки думаю нам хватит, пишите сюда http://delphimaster.net/view/4-1099137400/



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

Форум: "Основная";
Текущий архив: 2004.11.14;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.51 MB
Время: 0.031 c
14-1098647905
Piter
2004-10-24 23:58
2004.11.14
У ADSL есть ограничение на исходящие данные?


3-1097557395
Alex7
2004-10-12 09:03
2004.11.14
Псевдонимы БД


10-1058336312
abc
2003-07-16 10:18
2004.11.14
как организовать обратную связь в DCOM? т.е от сервера к клиенту


1-1099231595
Валерий
2004-10-31 17:06
2004.11.14
Application.Terminate;


14-1098936991
Думкин
2004-10-28 08:16
2004.11.14
С днем рождения! 28 октября!!!!





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский