Форум: "Прочее";
Текущий архив: 2009.02.22;
Скачать: [xml.tar.bz2];
ВнизDelphi - Толи лыжи не едут толи я ... ненормальный Найти похожие ветки
← →
Calligraff © (2008-12-22 12:21) [0]Добрый день.
Помогите пожалуйста моим кипящим мозгам:
procedure TformMain.lvContactListClick(Sender: TObject);
var
id: Integer;
isfldr: String;
NotCurr: Boolean;
begin
if lvContactList.ItemIndex < 0 then exit;
isfldr := lvContactList.Items.Item[lvContactList.ItemIndex].SubItems.Strings[2];
if isfldr = "1" then begin
id := StrToInt(lvContactList.Items.Item[lvContactList.ItemIndex].SubItems.Strings[3]);
NotCurr := not CList.CONTACT_LIST[id].FOLDEROPEN;
CList.CONTACT_LIST[id].FOLDEROPEN := NotCurr;
ViewContactList(CLIST);
end;
end;
допустим, что CList.CONTACT_LIST[id].FOLDEROPEN = TRUE
но при NotCurr := not CList.CONTACT_LIST[id].FOLDEROPEN переменной NotCurr присваивается тоже TRUE.
Я уже не знаю как быть
← →
Медвежонок Пятачок © (2008-12-22 12:22) [1]отладчик
← →
Правильный$Вася (2008-12-22 12:48) [2]
> NotCurr := not CList.CONTACT_LIST[id].FOLDEROPEN;
> CList.CONTACT_LIST[id].FOLDEROPEN := NotCurr;
зачем такие танцы?
← →
{RASkov} © (2008-12-22 12:57) [3]> NotCurr := not CList.CONTACT_LIST[id].FOLDEROPEN;
> CList.CONTACT_LIST[id].FOLDEROPEN := NotCurr;
А почему не так:
CList.CONTACT_LIST[id].FOLDEROPEN := not CList.CONTACT_LIST[id].FOLDEROPEN;
?
Собсно это не ответ на вопрос, но...
А Нот булевую перевернет по любому....
← →
Calligraff © (2008-12-22 13:34) [4]
> А почему не так:CList.CONTACT_LIST[id].FOLDEROPEN := not
> CList.CONTACT_LIST[id].FOLDEROPEN;
так и было..
я расписал через переменную, чтобы понятнее было
← →
Calligraff © (2008-12-22 13:35) [5]
> А Нот булевую перевернет по любому...
вот только не переворачивает...
← →
@!!ex © (2008-12-22 14:01) [6]> [5] Calligraff © (22.12.08 13:35)
У меня переворачивает. Что я делаю не так?
← →
Сергей М. © (2008-12-22 14:02) [7]
ShowMessage("Перед NOT: " + IntToStr(Integer(CList.CONTACT_LIST[id].FOLDEROPEN)));
CList.CONTACT_LIST[id].FOLDEROPEN := not CList.CONTACT_LIST[id].FOLDEROPEN;
ShowMessage("После NOT: " + IntToStr(Integer(CList.CONTACT_LIST[id].FOLDEROPEN)));
Что видишь ?
← →
Calligraff © (2008-12-22 14:03) [8]
> @!!ex © (22.12.08 14:01) [6]
> > [5] Calligraff © (22.12.08 13:35)У меня переворачивает.
> Что я делаю не так?
шутник..
Не на самом деле все нормально было, но чем больше у меня становится кода, и обработок, то появляются вот такие глюки
← →
Сергей М. © (2008-12-22 14:06) [9]
> на самом деле все нормально было
Т.е. лыжи едут как им и положено)
← →
Calligraff © (2008-12-23 10:55) [10]Вот так сделал и все заработало:
procedure TformMain.lvContactListClick(Sender: TObject);
var
id: Integer;
isfldr: String;
NotCurr: Boolean;
begin
if lvContactList.ItemIndex < 0 then exit;
isfldr := lvContactList.Items.Item[lvContactList.ItemIndex].SubItems.Strings[2];
if isfldr = "1" then begin
id := StrToInt(lvContactList.Items.Item[lvContactList.ItemIndex].SubItems.Strings[3]);
NotCurr := CList.CONTACT_LIST[id].FOLDEROPEN;
NotCurr := not NotCurr;
CList.CONTACT_LIST[id].FOLDEROPEN := NotCurr;
ViewContactList(CLIST);
end;
end;
NotCurr := not NotCurr;
Глюк одним словом
← →
Сергей М. © (2008-12-23 11:22) [11]
> Calligraff © (23.12.08 10:55) [10]
Если FOLDEROPEN - это поле структуры, объявленное как boolean, то никаких глюков быть не должно и лыжи обязаны ехать.
А иначе на дворе лето и под ногами асфальт)
← →
Calligraff © (2008-12-23 11:48) [12]
> Сергей М.
Красиво сказал :D
← →
Calligraff © (2008-12-23 11:48) [13]На самом деле я так понял, что это глюк Delphi 6.
дело в том, что я уже не первый раз уже с этим сталкиваюсь..
← →
Skyle © (2008-12-23 11:51) [14]
> Calligraff © (23.12.08 11:48) [13]
Таки тема глюка не раскрыта.
← →
Palladin © (2008-12-23 11:52) [15]6 лет работаю в d6 и ниразу глюка с булевыми значениями не встретил. Глюки они скорее всего совсем не там где ты думаешь. Между прочим, мы с тобой в одном городе живем, если верить анкете. За разумную порцию пива, могу проконсультировать ) ну либо встретить, впервые за 6 лет, глюк, хотя очень сильно в этом сомневаюсь...
← →
{RASkov} © (2008-12-23 11:53) [16]> [13] Calligraff © (23.12.08 11:48)
> дело в том, что я уже не первый раз уже с этим сталкиваюсь..
Более странно, что ты один с этим сталкиваешься)
← →
{RASkov} © (2008-12-23 11:56) [17]Автор, "положи" сюда код, который можно скопировать и вставить в среду делфи, без дополнительного редактирования и который даст именно этот эффект(глюк)....
← →
Сергей М. © (2008-12-23 12:02) [18]
> Calligraff © (23.12.08 11:48) [13]
> это глюк Delphi 6
Вот тебе твой "глюк":var
i: boolean;
b: Boolean;
..
i := Boolean(5);
b := not i;
if b then ShowMessage("true") else ShowMessage("false")
Он будет исправно "глючить" и в Д5, и в Д6, и в Д7)
← →
Calligraff © (2008-12-23 12:17) [19]Palladin, Где работаешь? Как зовут? Может знакомы даже :)
← →
Palladin © (2008-12-23 12:23) [20]
> Calligraff © (23.12.08 12:17) [19]
Аська есть?
← →
Calligraff © (2008-12-23 13:43) [21]450-355-355
Страницы: 1 вся ветка
Форум: "Прочее";
Текущий архив: 2009.02.22;
Скачать: [xml.tar.bz2];
Память: 0.49 MB
Время: 0.006 c