Форум: "Основная";
Текущий архив: 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
Время: 1.279 c