Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > C++ Builder > Оцените код


Автор: xDD 16.8.2008, 13:52
Проблема в том что edit-ов слишком много поэтому if запинаеться что можно сделать в данном случае?
Код

try
{
if (!(E1->Text.IsEmpty()&&E2->Text.IsEmpty()&&CB1->Text.IsEmpty()&&E4->Text.IsEmpty()&&E5->Text.IsEmpty()&&E6->Text.IsEmpty()&&E7->Text.IsEmpty()&&E9->Text.IsEmpty()&&E10->Text.IsEmpty()&&E11->Text.IsEmpty()&&E12->Text.IsEmpty()&&E13->Text.IsEmpty()&&E14->Text.IsEmpty()&&E15->Text.IsEmpty()&&E16->Text.IsEmpty()&&E17->Text.IsEmpty()&&E18->Text.IsEmpty()&&E19->Text.IsEmpty()&&E20->Text.IsEmpty()&&E21->Text.IsEmpty()&&E22->Text.IsEmpty()&&E23->Text.IsEmpty()&&E24->Text.IsEmpty()&&E25->Text.IsEmpty()&&E26->Text.IsEmpty()&&E27->Text.IsEmpty()&&E28->Text.IsEmpty()&&E29->Text.IsEmpty()&&E30->Text.IsEmpty()&&E32->Text.IsEmpty()&&E33->Text.IsEmpty()&&E34->Text.IsEmpty()&&E35->Text.IsEmpty()&&E36->Text.IsEmpty()&&E37->Text.IsEmpty()&&E38->Text.IsEmpty()&&E39->Text.IsEmpty()&&E40->Text.IsEmpty()&&E41->Text.IsEmpty()))
{
DataModule2->ADOTable8->Insert();
DataModule2->ADOTable8->FieldByName("Vid_doc")->AsString=Trim(E7->Text);
DataModule2->ADOTable8->FieldByName("Seriya")->AsString=Trim(E8->Text);
DataModule2->ADOTable8->FieldByName("Num")->AsString=Trim(E9->Text);
DataModule2->ADOTable8->FieldByName("Date_poluch")->AsString=DateToStr(DateTimePicker2->Date);
DataModule2->ADOTable8->FieldByName("Srok_dstva")->AsString=DateToStr(DateTimePicker3->Date);
DataModule2->ADOTable8->Post();

DataModule2->ADOTable9->Insert();
DataModule2->ADOTable9->FieldByName("S_posl_v")->AsString=Trim(E10->Text);
DataModule2->ADOTable9->FieldByName("N_posl_v")->AsString=Trim(E11->Text);
DataModule2->ADOTable9->FieldByName("D_vid_posl_v")->AsString=DateToStr(DateTimePicker4->Date);
DataModule2->ADOTable9->FieldByName("D_skot_dest_posl_v")->AsString=DateToStr(DateTimePicker5->Date);
DataModule2->ADOTable9->FieldByName("D_pokot_d_posl_v")->AsString=DateToStr(DateTimePicker6->Date);
DataModule2->ADOTable9->FieldByName("D_posl_vda_v_stranu")->AsString=DateToStr(DateTimePicker7->Date);
DataModule2->ADOTable9->FieldByName("Sernom_migrkarti_posl_vda")->AsString=Trim(E12->Text);
DataModule2->ADOTable9->FieldByName("KPP_posl_vda")->AsString=Trim(E13->Text);
if (E14->Text!=""||E14->Text=="Нет")

        DataModule2->ADOTable9->FieldByName("Proff")->AsString=Trim(E14->Text);

else
        {
        E14->Text="Нет";
        DataModule2->ADOTable9->FieldByName("Proff")->AsString=Trim(E14->Text);
        }
DataModule2->ADOTable9->FieldByName("Cel_vda")->AsString=Trim(E15->Text);
DataModule2->ADOTable9->FieldByName("D_post_migruch")->AsString=DateToStr(DateTimePicker8->Date);
DataModule2->ADOTable9->FieldByName("D_okon_migruch")->AsString=DateToStr(DateTimePicker9->Date);
DataModule2->ADOTable9->FieldByName("D_okon_srdest_v")->AsString=DateToStr(DateTimePicker10->Date);
DataModule2->ADOTable9->Post();


DataModule2->ADOTable10->Insert();
DataModule2->ADOTable10->FieldByName("Oblast")->AsString=Trim(E20->Text);
DataModule2->ADOTable10->FieldByName("Rn")->AsString=Trim(E21->Text);
DataModule2->ADOTable10->FieldByName("City")->AsString=Trim(E22->Text);
DataModule2->ADOTable10->FieldByName("Street")->AsString=Trim(E23->Text);
DataModule2->ADOTable10->FieldByName("Dom")->AsString=Trim(E16->Text);
DataModule2->ADOTable10->FieldByName("Korp")->AsString=Trim(E17->Text);
DataModule2->ADOTable10->FieldByName("Stroenie")->AsString=Trim(E18->Text);
DataModule2->ADOTable10->FieldByName("Kv")->AsString=Trim(E19->Text);
DataModule2->ADOTable10->FieldByName("Tel")->AsInteger=StrToInt(E24->Text);
DataModule2->ADOTable10->Post();

DataModule2->ADOTable11->Insert();
DataModule2->ADOTable11->FieldByName("Fm")->AsString=Trim(E25->Text);
DataModule2->ADOTable11->FieldByName("Im_Ot")->AsString=Trim(E26->Text);
DataModule2->ADOTable11->FieldByName("V_doc")->AsString=Trim(E27->Text);
DataModule2->ADOTable11->FieldByName("Ser")->AsString=Trim(E28->Text);
DataModule2->ADOTable11->FieldByName("Num")->AsString=Trim(E29->Text);
DataModule2->ADOTable11->FieldByName("D_vid")->AsString=DateToStr(DateTimePicker11->Date);
DataModule2->ADOTable11->FieldByName("Sr_d")->AsString=DateToStr(DateTimePicker12->Date);
DataModule2->ADOTable11->FieldByName("Oblast")->AsString=Trim(E30->Text);
DataModule2->ADOTable11->FieldByName("Rn")->AsString=Trim(E31->Text);
DataModule2->ADOTable11->FieldByName("City")->AsString=Trim(E32->Text);
DataModule2->ADOTable11->FieldByName("Street")->AsString=Trim(E33->Text);
DataModule2->ADOTable11->FieldByName("Dom")->AsString=Trim(E34->Text);
DataModule2->ADOTable11->FieldByName("Korp")->AsString=Trim(E35->Text);
DataModule2->ADOTable11->FieldByName("Stroen")->AsString=Trim(E36->Text);
DataModule2->ADOTable11->FieldByName("Kv")->AsString=Trim(E37->Text);
DataModule2->ADOTable11->FieldByName("Tel")->AsInteger=StrToInt(E38->Text);
DataModule2->ADOTable11->Post();

if (E39->Text!=""||E40->Text!=""||E41->Text!="")
        {
        DataModule2->ADOTable12->Insert();
        DataModule2->ADOTable12->FieldByName("Title")->AsString=Trim(E39->Text);
        DataModule2->ADOTable12->FieldByName("F_adress")->AsString=Trim(E40->Text);
        DataModule2->ADOTable12->FieldByName("INN")->AsString=Trim(E41->Text);
        DataModule2->ADOTable12->Post();
        }
else
        {
        E39->Text="Нет";
        E40->Text="Нет";
        E41->Text="Нет";
        DataModule2->ADOTable12->FieldByName("Title")->AsString=Trim(E39->Text);
        DataModule2->ADOTable12->FieldByName("F_adress")->AsString=Trim(E40->Text);
        DataModule2->ADOTable12->FieldByName("INN")->AsString=Trim(E41->Text);
        }

DataModule2->ADOTable7->Insert();
DataModule2->ADOTable7->FieldByName("Fm")->AsString=Trim(E1->Text);
DataModule2->ADOTable7->FieldByName("Im_Ot")->AsString=Trim(E2->Text);
DataModule2->ADOTable7->FieldByName("Rgde")->AsString=DateToStr(DateTimePicker1->Date);
DataModule2->ADOTable7->FieldByName("Gender")->AsString=Trim(CB1->Text);
DataModule2->ADOTable7->FieldByName("Gragd")->AsString=Trim(E4->Text);
DataModule2->ADOTable7->FieldByName("M_rogd_gos")->AsString=Trim(E5->Text);
DataModule2->ADOTable7->FieldByName("M_rogd_gor")->AsString=Trim(E6->Text);
DataModule2->ADOTable7->FieldByName("id_doc")->AsInteger=DataModule2->ADOTable8->FieldByName("id_doc")->AsInteger;
DataModule2->ADOTable7->FieldByName("Id")->AsInteger=DataModule2->ADOTable10->FieldByName("Id")->AsInteger;
DataModule2->ADOTable7->FieldByName("Id_admit")->AsInteger=DataModule2->ADOTable11->FieldByName("Id_admit")->AsInteger;
DataModule2->ADOTable7->FieldByName("Id_ind")->AsInteger=DataModule2->ADOTable12->FieldByName("Id_ind")->AsInteger;
DataModule2->ADOTable7->FieldByName("Id_visa_doc")->AsInteger=DataModule2->ADOTable9->FieldByName("Id_visa_doc")->AsInteger;
DataModule2->ADOTable7->Post();
Application->MessageBox("Данные успешно внесены!",Application->Title.c_str(),MB_OK|MB_ICONINFORMATION);
}
else
Application->MessageBox("Внесите все данные!",Application->Title.c_str(),MB_OK|MB_ICONINFORMATION);
}
catch (EDatabaseError&Err)
{
MessageDlg("Ошибка EDatabaseError!",mtError,TMsgDlgButtons()<<mbOK,0);
DataModule2->ADOTable7->Delete();
DataModule2->ADOTable8->Delete();
DataModule2->ADOTable9->Delete();
DataModule2->ADOTable10->Delete();
DataModule2->ADOTable11->Delete();
DataModule2->ADOTable12->Delete();
}
catch (...)
{
MessageDlg("Неопознанная ошибка!",mtError,TMsgDlgButtons()<<mbOK,0);
}


Автор: Kakadu 16.8.2008, 14:22
Ты наверняка TEdit'ы пихаешь на форму из GUI. Попробуй руками при инициализации формы создавать их, причем не просто по именам, а в виде массива. Это конечно несколько запарно после GUI проектирования, но осваивать надо.  smile имхо

Автор: Alca 16.8.2008, 20:05
Цитата

Попробуй руками при инициализации формы создавать их

А смысл?
Что значит запинается?

Автор: mrbrooks 16.8.2008, 21:23
мамин парень!!!  smile  жесть. мне даж смотреть страшно  smile особенно не ясен вопрос автора.

Автор: Mayk 16.8.2008, 22:16
всё нижесказанное имхо:

не понятно зачем переменные именованы как попало (adotable<N>, E<N> где <N> - числа )
не понятно почему при неопознанной ошибке  не происходит откат уже созданных записей.
не понятно почему нельзя сделать всё внутри транзакции. или их бд не поддерживает?
не знаю как там работает этот ado -  но если при откате ф-ция adotableN->Delete кинет исключение, то adotable(N+1)->Delete не вызовется. так и надо, или TAdoTable не кидает исключений вообще? 

и ещё советую почитать про рефакторинг - ф-цию можно  разбить как минимум на шесть ф-ций: fillAdoTable<N> (<N> = 7,8,9,10,11,12)

Цитата(mrbrooks @  17.8.2008,  01:23 Найти цитируемый пост)
особенно не ясен вопрос автора.

по-моему автор просит code review



Цитата(xDD @  16.8.2008,  17:52 Найти цитируемый пост)
поэтому if запинаеться что можно сделать в данном случае?

что означает "if запинается"?
Кстати,  об if'ах
в 
Код

if (E39->Text!=""||E40->Text!=""||E41->Text!="")
        {
        DataModule2->ADOTable12->Insert();
        DataModule2->ADOTable12->FieldByName("Title")->AsString=Trim(E39->Text);
        DataModule2->ADOTable12->FieldByName("F_adress")->AsString=Trim(E40->Text);
        DataModule2->ADOTable12->FieldByName("INN")->AsString=Trim(E41->Text);
        DataModule2->ADOTable12->Post();
        }
else
        {
        E39->Text="Нет";
        E40->Text="Нет";
        E41->Text="Нет";
        DataModule2->ADOTable12->FieldByName("Title")->AsString=Trim(E39->Text);
        DataModule2->ADOTable12->FieldByName("F_adress")->AsString=Trim(E40->Text);
        DataModule2->ADOTable12->FieldByName("INN")->AsString=Trim(E41->Text);
        }

не ясен кусок
Код

        DataModule2->ADOTable12->FieldByName("Title")->AsString=Trim(E39->Text);
        DataModule2->ADOTable12->FieldByName("F_adress")->AsString=Trim(E40->Text);
        DataModule2->ADOTable12->FieldByName("INN")->AsString=Trim(E41->Text);

 не видно чтобы в else ветке в adotable12 что-то записывалось посредством insert/post как делается в других местах. поэтому зачем там присваивания магическому значению "нет" не совсем понятно.  вообще наличие магического значения "нет" в базе данных не совсем понятно.

Автор: xDD 16.8.2008, 23:00
Цитата(Alca @ 16.8.2008,  20:05)
Цитата

Попробуй руками при инициализации формы создавать их

А смысл?
Что значит запинается?

Запинаеться значит не реагирует если данные не внесены то он должен по else выдать сообщение что данные не внесены а он тупо говорит, что поле не должно быть пустым, значит просто не реагирует на условие, но сначала при нескольких контрольных проверках  код работал а потом загадочным образом перестал. Если кто то знает как решить эту проблему, собсно из-за чего и создавалась тема то большое спасибо!

Добавлено через 1 минуту и 35 секунд
Цитата(mrbrooks @ 16.8.2008,  21:23)
мамин парень!!!  smile  жесть. мне даж смотреть страшно  smile особенно не ясен вопрос автора.

Эти коменты особенно уместны(

Автор: jonie 17.8.2008, 18:13
у нас в проекте где я работаю есть форма на которой более 900 контролов ввода (да, это ппц - 5-ть уровней вложений tabcontrol-ов, если не больше).

они пересчитываются динамически все.
что придумали до нас: контролы делаются динамически (используется Spread компании Farpoint).
каждый контрол описывается как {группа, имя кнтрола, формула расчетов при изменении, связь с базой (запрос sql), условие валидности значения (формула)}.
написан простенький язык формулы понимающий указанные. пересчет идет используя топологическую сортировку. когда жмякается save то проверяются все условия, если все ок, то следует создание огромного sql скрипта фактически, который оборачивается в одну транзакцию и выполняется....

может наведет на какие мысли... та попа, что описана выше (а автора топика) в дальнейшем принесет не мало геммороя имхо

Автор: Mayk 17.8.2008, 19:00
Цитата(xDD @  17.8.2008,  03:00 Найти цитируемый пост)
Если кто то знает как решить эту проблему, собсно из-за чего и создавалась тема то большое спасибо!

при проходе дебагером сейчас что происходит? 

Автор: xDD 18.8.2008, 00:46
Все работает а дело то было  в том что не "&&" ставить надо было а "||" smile 
Выглядит все теперь так:
Код

try
{
if (!(E1->Text.IsEmpty()||E2->Text.IsEmpty()||CB1->Text.IsEmpty()||E4->Text.IsEmpty()
||E5->Text.IsEmpty()||E6->Text.IsEmpty()||E7->Text.IsEmpty()||E9->Text.IsEmpty()
||E10->Text.IsEmpty()||E11->Text.IsEmpty()||E12->Text.IsEmpty()
||E13->Text.IsEmpty()||E14->Text.IsEmpty()||E15->Text.IsEmpty()||E16->Text.IsEmpty()
||E17->Text.IsEmpty()||E18->Text.IsEmpty()||E19->Text.IsEmpty()||E20->Text.IsEmpty()
||E21->Text.IsEmpty()||E22->Text.IsEmpty()||E23->Text.IsEmpty()||E24->Text.IsEmpty()
||E25->Text.IsEmpty()||E26->Text.IsEmpty()||E27->Text.IsEmpty()||E28->Text.IsEmpty()
||E29->Text.IsEmpty()||E30->Text.IsEmpty()||E32->Text.IsEmpty()
||E33->Text.IsEmpty()||E34->Text.IsEmpty()||E35->Text.IsEmpty()||E36->Text.IsEmpty()
||E37->Text.IsEmpty()||E38->Text.IsEmpty()||E39->Text.IsEmpty()||E40->Text.IsEmpty()
||E41->Text.IsEmpty()))
{
DataModule2->ADOTable8->Insert();
DataModule2->ADOTable8->FieldByName("Vid_doc")->AsString=Trim(E7->Text);
DataModule2->ADOTable8->FieldByName("Seriya")->AsString=Trim(E8->Text);
DataModule2->ADOTable8->FieldByName("Num")->AsString=Trim(E9->Text);
DataModule2->ADOTable8->FieldByName("Date_poluch")->AsString=DateToStr(DateTimePicker2->Date);
DataModule2->ADOTable8->FieldByName("Srok_dstva")->AsString=DateToStr(DateTimePicker3->Date);
DataModule2->ADOTable8->Post();

DataModule2->ADOTable9->Insert();
DataModule2->ADOTable9->FieldByName("S_posl_v")->AsString=Trim(E10->Text);
DataModule2->ADOTable9->FieldByName("N_posl_v")->AsString=Trim(E11->Text);
DataModule2->ADOTable9->FieldByName("D_vid_posl_v")->AsString=DateToStr(DateTimePicker4->Date);
DataModule2->ADOTable9->FieldByName("D_skot_dest_posl_v")->AsString=DateToStr(DateTimePicker5->Date);
DataModule2->ADOTable9->FieldByName("D_pokot_d_posl_v")->AsString=DateToStr(DateTimePicker6->Date);
DataModule2->ADOTable9->FieldByName("D_posl_vda_v_stranu")->AsString=DateToStr(DateTimePicker7->Date);
DataModule2->ADOTable9->FieldByName("Sernom_migrkarti_posl_vda")->AsString=Trim(E12->Text);
DataModule2->ADOTable9->FieldByName("KPP_posl_vda")->AsString=Trim(E13->Text);
if (E14->Text!=""||E14->Text=="Нет")

        DataModule2->ADOTable9->FieldByName("Proff")->AsString=Trim(E14->Text);

else
        {
        E14->Text="Нет";
        DataModule2->ADOTable9->FieldByName("Proff")->AsString=Trim(E14->Text);
        }
DataModule2->ADOTable9->FieldByName("Cel_vda")->AsString=Trim(E15->Text);
DataModule2->ADOTable9->FieldByName("D_post_migruch")->AsString=DateToStr(DateTimePicker8->Date);
DataModule2->ADOTable9->FieldByName("D_okon_migruch")->AsString=DateToStr(DateTimePicker9->Date);
DataModule2->ADOTable9->FieldByName("D_okon_srdest_v")->AsString=DateToStr(DateTimePicker10->Date);
DataModule2->ADOTable9->Post();


DataModule2->ADOTable10->Insert();
DataModule2->ADOTable10->FieldByName("Oblast")->AsString=Trim(E20->Text);
DataModule2->ADOTable10->FieldByName("Rn")->AsString=Trim(E21->Text);
DataModule2->ADOTable10->FieldByName("City")->AsString=Trim(E22->Text);
DataModule2->ADOTable10->FieldByName("Street")->AsString=Trim(E23->Text);
DataModule2->ADOTable10->FieldByName("Dom")->AsString=Trim(E16->Text);
DataModule2->ADOTable10->FieldByName("Korp")->AsString=Trim(E17->Text);
DataModule2->ADOTable10->FieldByName("Stroenie")->AsString=Trim(E18->Text);
DataModule2->ADOTable10->FieldByName("Kv")->AsString=Trim(E19->Text);
DataModule2->ADOTable10->FieldByName("Tel")->AsInteger=StrToInt(E24->Text);
DataModule2->ADOTable10->Post();

DataModule2->ADOTable11->Insert();
DataModule2->ADOTable11->FieldByName("Fm")->AsString=Trim(E25->Text);
DataModule2->ADOTable11->FieldByName("Im_Ot")->AsString=Trim(E26->Text);
DataModule2->ADOTable11->FieldByName("V_doc")->AsString=Trim(E27->Text);
DataModule2->ADOTable11->FieldByName("Ser")->AsString=Trim(E28->Text);
DataModule2->ADOTable11->FieldByName("Num")->AsString=Trim(E29->Text);
DataModule2->ADOTable11->FieldByName("D_vid")->AsString=DateToStr(DateTimePicker11->Date);
DataModule2->ADOTable11->FieldByName("Sr_d")->AsString=DateToStr(DateTimePicker12->Date);
DataModule2->ADOTable11->FieldByName("Oblast")->AsString=Trim(E30->Text);
DataModule2->ADOTable11->FieldByName("Rn")->AsString=Trim(E31->Text);
DataModule2->ADOTable11->FieldByName("City")->AsString=Trim(E32->Text);
DataModule2->ADOTable11->FieldByName("Street")->AsString=Trim(E33->Text);
DataModule2->ADOTable11->FieldByName("Dom")->AsString=Trim(E34->Text);
DataModule2->ADOTable11->FieldByName("Korp")->AsString=Trim(E35->Text);
DataModule2->ADOTable11->FieldByName("Stroen")->AsString=Trim(E36->Text);
DataModule2->ADOTable11->FieldByName("Kv")->AsString=Trim(E37->Text);
DataModule2->ADOTable11->FieldByName("Tel")->AsInteger=StrToInt(E38->Text);
DataModule2->ADOTable11->Post();

DataModule2->ADOTable12->Insert();
if (E39->Text!=""||E40->Text!=""||E41->Text!="")
        {
        DataModule2->ADOTable12->FieldByName("Title")->AsString=Trim(E39->Text);
        DataModule2->ADOTable12->FieldByName("F_adress")->AsString=Trim(E40->Text);
        DataModule2->ADOTable12->FieldByName("INN")->AsString=Trim(E41->Text);
        }
else
        {
        E39->Text="Нет";
        E40->Text="Нет";
        E41->Text="Нет";
        DataModule2->ADOTable12->FieldByName("Title")->AsString=Trim(E39->Text);
        DataModule2->ADOTable12->FieldByName("F_adress")->AsString=Trim(E40->Text);
        DataModule2->ADOTable12->FieldByName("INN")->AsString=Trim(E41->Text);
        }
DataModule2->ADOTable12->Post();        

DataModule2->ADOTable7->Insert();
DataModule2->ADOTable7->FieldByName("Fm")->AsString=Trim(E1->Text);
DataModule2->ADOTable7->FieldByName("Im_Ot")->AsString=Trim(E2->Text);
DataModule2->ADOTable7->FieldByName("Rgde")->AsString=DateToStr(DateTimePicker1->Date);
DataModule2->ADOTable7->FieldByName("Gender")->AsString=Trim(CB1->Text);
DataModule2->ADOTable7->FieldByName("Gragd")->AsString=Trim(E4->Text);
DataModule2->ADOTable7->FieldByName("M_rogd_gos")->AsString=Trim(E5->Text);
DataModule2->ADOTable7->FieldByName("M_rogd_gor")->AsString=Trim(E6->Text);
DataModule2->ADOTable7->FieldByName("id_doc")->AsInteger=DataModule2->ADOTable8->FieldByName("id_doc")->AsInteger;
DataModule2->ADOTable7->FieldByName("Id")->AsInteger=DataModule2->ADOTable10->FieldByName("Id")->AsInteger;
DataModule2->ADOTable7->FieldByName("Id_admit")->AsInteger=DataModule2->ADOTable11->FieldByName("Id_admit")->AsInteger;
DataModule2->ADOTable7->FieldByName("Id_ind")->AsInteger=DataModule2->ADOTable12->FieldByName("Id_ind")->AsInteger;
DataModule2->ADOTable7->FieldByName("Id_visa_doc")->AsInteger=DataModule2->ADOTable9->FieldByName("Id_visa_doc")->AsInteger;
DataModule2->ADOTable7->Post();
Application->MessageBox("Данные успешно внесены!",Application->Title.c_str(),MB_OK|MB_ICONINFORMATION);
}
else
Application->MessageBox("Внесите все данные!",Application->Title.c_str(),MB_OK|MB_ICONINFORMATION);
}
catch (EDatabaseError&Err)
{
MessageDlg("Ошибка EDatabaseError!",mtError,TMsgDlgButtons()<<mbOK,0);
DataModule2->ADOTable7->Delete();
DataModule2->ADOTable8->Delete();
DataModule2->ADOTable9->Delete();
DataModule2->ADOTable10->Delete();
DataModule2->ADOTable11->Delete();
DataModule2->ADOTable12->Delete();
}
catch (...)
{
MessageDlg("Неопознанная ошибка!",mtError,TMsgDlgButtons()<<mbOK,0);
}


Автор: petlyura 18.8.2008, 16:10
А в цикле нельзя ли было проверку устроить, особенно, если будешь добавлять еще контролы, а то выглядит не очень

Код

if (!(E1->Text.IsEmpty()||E2->Text.IsEmpty()||CB1->Text.IsEmpty()||E4->Text.IsEmpty()
||E5->Text.IsEmpty()||E6->Text.IsEmpty()||E7->Text.IsEmpty()||E9->Text.IsEmpty()
||E10->Text.IsEmpty()||E11->Text.IsEmpty()||E12->Text.IsEmpty()
||E13->Text.IsEmpty()||E14->Text.IsEmpty()||E15->Text.IsEmpty()||E16->Text.IsEmpty()
||E17->Text.IsEmpty()||E18->Text.IsEmpty()||E19->Text.IsEmpty()||E20->Text.IsEmpty()
||E21->Text.IsEmpty()||E22->Text.IsEmpty()||E23->Text.IsEmpty()||E24->Text.IsEmpty()
||E25->Text.IsEmpty()||E26->Text.IsEmpty()||E27->Text.IsEmpty()||E28->Text.IsEmpty()
||E29->Text.IsEmpty()||E30->Text.IsEmpty()||E32->Text.IsEmpty()
||E33->Text.IsEmpty()||E34->Text.IsEmpty()||E35->Text.IsEmpty()||E36->Text.IsEmpty()
||E37->Text.IsEmpty()||E38->Text.IsEmpty()||E39->Text.IsEmpty()||E40->Text.IsEmpty()
||E41->Text.IsEmpty()))

Автор: Alca 18.8.2008, 16:57
Код

for (int i = 1; i < ComponentCount; i ++) {
    AnsiString asClassName           = Components[i]->ClassName();
    AnsiString asParentComponentName = "";
    if (Components[i]->HasParent() && asClassName == "TEdit") {
        asParentComponentName = Components[i]->GetParentComponent()->Name;
        if (asParentComponentName == "frmMain") {
            if (((TEdit *)Components[i])->Text.IsEmpty() == true) {
                //...
            }
        }
    }
}

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)