![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Проблема с условием else [D7, XP]
krolic © (2008-09-08 14:18:00)Добрый день. Помогите найти ошибку.
Если делать цикл так, то нужные строки окрашивает в красный
Open;
IBQuery.First;
while not (IBQuery.Eof) do
begin
Zapr:=FieldByName('max').AsString;
for i:=0 to ListView1.Items.Count-1 do
if ListView1.Items[i].SubItems[4] = Zapr then
begin
ListView1.Items[i].Data := Pointer(clRed); ListView1.Invalidate; //Красим строку в красный цвет
end;
DataModule1.IBQShared.Next;
end;
Close;
Если добавить условие, то красит всев зеленый, хотя должны быть и красные
Open;
IBQuery.First;
while not (IBQuery.Eof) do
begin
Zapr:=FieldByName('max').AsString;
for i:=0 to ListView1.Items.Count-1 do
if ListView1.Items[i].SubItems[4] = Zapr then
begin
ListView1.Items[i].Data := Pointer(clRed); ListView1.Invalidate; //в красный
end
else
begin
ListView1.Items[i].Data := Pointer(clGreen); ListView1.Invalidate; //в зеленый
end;
DataModule1.IBQShared.Next;
end;
Close;
(2008-09-08 15:21:00) [1]Удалено модератором
b z (2008-09-08 15:10:00) [2]По понедельникам может быть все. :)
Сергей М. (2008-09-08 15:09:00) [3]krolic (08.09.08 15:01) [22]
> Должны в результате условия
> if Условие1 then
> begin
> Красим строку в красный цвет
> end
>
Ничего они никому не "должны".
Если условие истинно, то "красим в красный", иначе "не красим в красный" или "красим в некрасный".
Третьего не дано.
Если видишь зеленый, то верь глазам своим - условие ложно.
Johnmen (2008-09-08 15:08:00) [4]
> А вот с именем не угадал
Да понятно, что целая банда чайников задает вопросы главного самовара по всему инету...:)
krolic (2008-09-08 15:06:00) [5]А вот с именем не угадал
Медвежонок Пятачок (2008-09-08 15:06:00) [6]Должны в результате условия
Если должны и не отдают, то есть сервис соответсвующий.
Пацаны там за определенный процент работают.
Johnmen (2008-09-08 15:04:00) [7]Ну Оксане Белолипецких щас навалится туча народу отвечать. Причем исключительно кодом...:)
krolic (2008-09-08 15:04:00) [8]АМЁБА тебе не все равно, где я задаю вопросы.Если не чем помочь, то не мешайся под ногами!!!
Сергей М. (2008-09-08 15:03:00) [9]Ба, да это оказывается подружка !
На троих, видать, соображают - krolic, Finjy и Dagir)
krolic (2008-09-08 15:01:00) [10]Должны в результате условия
if Условие1 then
begin
Красим строку в красный цвет
end
Amoeba (2008-09-08 14:59:00) [11]Этот товарищ уже и сюда с этим вопросом влез
http://www.delphikingdom.com/asp/answer.asp?IDAnswer=65014
Медвежонок Пятачок (2008-09-08 14:54:00) [12]Видимо виноват эффект Доплера
Сергей М. (2008-09-08 14:52:00) [13]
> 3 и 5 должны быть красными
С какого перепугу "должны" ?
Johnmen (2008-09-08 14:47:00) [14]Это тот же перец, что и
http://www.delphimaster.ru/cgi-bin/forum.pl?id=1220246663&n=1
известный, как Finjy или Dagir. На sql.ru как Dagirov.
Все серии здесь
http://www.delphimaster.ru/cgi-bin/forum.pl?id=1220612113&n=18
Видно его столь же дурную ветку про массивы удалили, так на sql.ru побирается
http://sql.ru/forum/actualthread.aspx?tid=593221
Медвежонок Пятачок (2008-09-08 14:47:00) [15]Один датасет позиционируем на first, из второго читаем значение, третьему делаем next.
Все как у райкина. Каждый отвечает за свои пуговицы.
krolic (2008-09-08 14:47:00) [16]1код f
or i:=0 to ListView1.Items.Count-1 do
if Условие1 then
begin
Красим строку в красный цвет
end;
2код
for i:=0 to ListView1.Items.Count-1 do
if Условие1 then
begin
Красим строку в красный цвет
end
else
begin
в зеленый
end;
В том то и проблема, что в результате первого кода, он красит, например, 3 и 5 строки в красный. А в результате второго кода все строки в зеленый, хотя 3 и 5 должны быть красными.
Германн (2008-09-08 14:46:00) [17]
> Проблема с условием else [D7, XP]
>
> krolic (08.09.08 14:18)
>
> Добрый день. Помогите найти ошибку.
Это глюк Д7. Переходи на Д2009.
Palladin (2008-09-08 14:45:00) [18]:) обычная стандартная проблема... у аффтора... с логикой...
Медвежонок Пятачок (2008-09-08 14:45:00) [19]Проблема кролика в том, что он верит, что отличие двух вариантов заключается исключительно в else
Сергей М. (2008-09-08 14:41:00) [20]
> Проблема с условием else
>
> krolic (08.09.08 14:18)
И какая же тут проблема ?
Если "в зеленый", значит выполняется соотв.условие, а именно
ListView1.Items[i].SubItems[4] <>Zapr