![]() |
|
|
![]()
|
|
| Des |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 9 Регистрация: 15.11.2004 Репутация: нет Всего: нет |
Добрый день. Задача такова: есть форма Form4 на ней 16 CheckBox, из этой формы вызывается модальная форма, на которой находится StringGrid. анализируем указанные CheckBox и формируем AnsiString строку из 1 и 0, потом анализируя строку формируем на каждую пару значений строку в StringGrid, код который все это делает размещен в событии OnShow, проблема в том, что если выйти из модальной формы, изменить указанные ChekBox, то на StringGrid это не отражается, т.е. если ChekBox отключен, он все равно попадает в возможные значения
код следующий AnsiString KodChekovConnectov; KodChekovConnectov=""; //16 это кол-во чеков if(Form4->CheckBox1->Checked==true)KodChekovConnectov=KodChekovConnectov+"1"; else KodChekovConnectov=KodChekovConnectov+"0"; if(Form4->CheckBox2->Checked==true)KodChekovConnectov=KodChekovConnectov+"1"; else KodChekovConnectov=KodChekovConnectov+"0"; ................. тут код однотипен if(Form4->CheckBox16->Checked==true)KodChekovConnectov=KodChekovConnectov+"1"; else KodChekovConnectov=KodChekovConnectov+"0"; Label1->Caption=KodChekovConnectov; обнуляем стрин грид StringGrid1->RowCount=0; //теперь анализируем кол-во чеков и создаем на каждую пару //по строчке в стринг грид for (int t=1;t<16;t++) { if (StrToInt(KodChekovConnectov[t])==1) { for (int y=t+1;y<16;y++) { if (StrToInt(KodChekovConnectov[y])==1) { Label1->Caption=KodChekovConnectov; // здесь надо создать строчку в стринг гриде с началом в т //концом в y, но сначала надо проверить може такая строка есть for (int f=0;f<StringGrid1->RowCount;f++) { if (StringGrid1->Cells[0][f]==IntToStr(y)&& StringGrid1->Cells[1][f]==IntToStr(t)) { flagstrok=flagstrok+1; }; }; if (flagstrok==0){ StringGrid1->RowCount=StringGrid1->RowCount+1; StringGrid1->Cells [0][kolStrok]=IntToStr(t); StringGrid1->Cells [1][kolStrok]=IntToStr(y); kolStrok=kolStrok+1; } else { flagstrok=0; continue; }; }; }; }; }; так вот в чем проблема? создается впечатление, что StringGrid не очищается или chekbox не снимает с себя флажки |
|||
|
||||
| Mal Hack |
|
|||
![]() Мудрый... ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 9926 Регистрация: 15.2.2004 Репутация: нет Всего: 261 |
Я зачем юзать OnShow. В тот момент когда ты вызываешь модальную форму ты и производи эти операции.
|
|||
|
||||
![]()
|
| Правила форума "С++ Builder" | |
|
|
Запрещается! 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Rrader. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | C++ Builder | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |