
Исследователь
 
Профиль
Группа: Участник
Сообщений: 554
Регистрация: 31.7.2007
Где: Россия, Омск
Репутация: нет Всего: 9
|
586, я так и делаю. только я присваивал этой переменной значение 2. Вот код функции-итератора: | Код | void Iteration(void){ AnsiString name_buf,type_buf,num_buf; name_buf = convert_char_to_str(measures[iterator_count]->UserName,24); type_buf = convert_char_to_str(measures[iterator_count]->OporaType,24); num_buf = convert_char_to_str(measures[iterator_count]->OporaNumber,24); Form3->Edit1->Text = name_buf; Form3->Edit2->Text = IntToStr((unsigned short)measures[iterator_count]->cur_day)+"."+IntToStr((unsigned short)measures[iterator_count]->cur_month)+"."+IntToStr(measures[iterator_count]->cur_year); Form3->Edit3->Text = FloatToStr(measures[iterator_count]->R_Zemli); Form3->Edit4->Text = IntToStr(measures[iterator_count]->UstanovkaYear); Form3->Edit5->Text = type_buf; Form3->Edit6->Text = ""; Form3->Edit7->Text = ""; Form3->Edit8->Text = ""; //Form3->ModalResult = mrOk; Form3->ShowModal(); //iterator_count++; /*} else{ iterator_count = 0; return; } */ }
|
А вот код всех обработчиков вызываемой формы | Код | //---------------------------------------------------------------------------
#include <vcl.h> #pragma hdrstop #include "Unit1.h" #include "Unit3.h" //--------------------------------------------------------------------------- #pragma package(smart_init) #pragma resource "*.dfm" extern HANDLE DbMutex; extern DWORD Result; extern TOporaMeasures *measures; extern unsigned int iterator_count; extern unsigned short num_blocks; TForm3 *Form3; //--------------------------------------------------------------------------- __fastcall TForm3::TForm3(TComponent* Owner) : TForm(Owner) { } //--------------------------------------------------------------------------- /*__fastcall TForm3::~TForm3(TComponent* Owner) : TForm(Owner) { } */ //---------------------------------------------------------------------------
void __fastcall TForm3::Button1Click(TObject *Sender) { AnsiString name_buf,type_buf,num_buf; //name_buf = convert_char_to_str(measures[iterator_count].UserName,24); //type_buf = convert_char_to_str(measures[iterator_count].OporaType,24); //num_buf = convert_char_to_str(measures[iterator_count].OporaNumber,24); //ShowMessage(name_buf); //ShowMessage(StrToInt(name_buf.Length())); //ShowMessage(type_buf); //ShowMessage(StrToInt(type_buf.Length())); //ShowMessage(num_buf); //ShowMessage(StrToInt(num_buf.Length())); if((Edit1->Text == "")||(Edit2->Text == "")||(Edit3->Text == "")||(Edit4->Text == "")||(Edit5->Text == "")){ ShowMessage("Заполните, пожалуйста, все обязательные поля формы"); return; } else{ //Form3->Visible = false; Form3->Close(); Form3->ModalResult = mrOk; Form1->Visible = true; do Result = WaitForSingleObject(DbMutex,10); while(Result == WAIT_TIMEOUT); DbMutex = OpenMutex(SYNCHRONIZE,false,"DbMutex");
AnsiString query_buf; /*query_buf = "INSERT INTO params(U0,I1,U1,I2,U2,Uc,I1o,U1o,I2o,U2o,Uco,Ute,Ite,U0op,Uop,Roz,Ust_year,Num_op,Type,Meas_date,FIO_OPER,Rb,Rgr,C1,C2,Tau1,Tau2,DeltaU,Rbo,Rgro,C1o,C2o,Tau1o,Tau2o,DeltaUo,Rrast,Rte,Istek,Risk_group,Peregon,ECHK,Dist,Device_id,Uote,R_Zemli,skoU0,Tau1u,C1u0,K3,UC5,Next_date) VALUES("\ +FloatToStr(measures[iterator_count].U0)+","+FloatToStr(measures[iterator_count].I1)+","+FloatToStr(measures[iterator_count].I2)+","+FloatToStr(measures[iterator_count].U2)+","+FloatToStr(measures[iterator_count].Uc)\ +","+FloatToStr(measures[iterator_count].I10)+","+FloatToStr(measures[iterator_count].U10)+","+FloatToStr(measures[iterator_count].Uc5)+","+FloatToStr(measures[iterator_count].U0te)+","+FloatToStr(measures[iterator_count].U0op)+","+FloatToStr(measures[iterator_count].Uop)+","+FloatToStr(measures[iterator_count].R_Zemli)\ +","+Form3->Edit6->Text+","+num_buf+","+Form3->Edit3->Text+","+Form3->Edit5->Text+","+Form3->Edit1->Text+","+FloatToStr(measures[iterator_count].R_beton)+","+FloatToStr(measures[iterator_count].R_gran)+","+FloatToStr(measures[iterator_count].C1i)\ +","+FloatToStr(measures[iterator_count].C2)+","+FloatToStr(measures[iterator_count].Tau1i)+","+FloatToStr(measures[iterator_count].Tau2)+","+FloatToStr(measures[iterator_count].DeltaU)+","+FloatToStr(measures[iterator_count].R_beton0)+","+FloatToStr(measures[iterator_count].Tau1u0)+","+FloatToStr(measures[iterator_count].Tau2)+","+FloatToStr(measures[iterator_count].DeltaU0)\ +","+FloatToStr(measures[iterator_count].Rrast)+","+FloatToStr(measures[iterator_count].Rte)+","+FloatToStr(measures[iterator_count].Istek)+","+IntToStr((short)measures[iterator_count].K)+","+Form3->Edit4->Text+","+Form3->Edit7->Text+","+Form3->Edit8->Text+",1,"+FloatToStr(measures[iterator_count].U0te)+","+FloatToStr(measures[iterator_count].R_Zemli)\ +","+FloatToStr(measures[iterator_count].skoU0)+","+FloatToStr(measures[iterator_count].Tau1u)+","+FloatToStr(measures[iterator_count].C1u0)+","+FloatToStr(measures[iterator_count].K3)+","+FloatToStr(measures[iterator_count].Uc5)+","+IntToStr((short)measures[iterator_count].next_day)+"."+IntToStr((short)measures[iterator_count].next_month)+"."+IntToStr(measures[iterator_count].next_year)+")"; */ if(((Form3->Edit1->Text).Pos("@")!=0)||((Form3->Edit1->Text).Pos("|")!=0)){ if(iterator_count+1 < num_blocks*64){ iterator_count++; Form3->Close(); Form3->ModalResult = mrOk; //Form3->Visible = false; Iteration(); } else{ iterator_count = 0; //Form3->Hide(); Form3->ModalResult = mrOk; Form3->Close(); Iteration(); //Form3->Visible = false } //Form3->Hide();
//Form3->Visible = false; return; } if(((Form3->Edit5->Text).Pos("@")!=0)||((Form3->Edit5->Text).Pos("|")!=0)){ if(iterator_count+1 < num_blocks*64){ iterator_count++; //Form3->Hide(); Form3->Close(); Form3->ModalResult = mrOk; //Form3->Visible = false; Iteration(); } else{ iterator_count = 0; } //Form3->Hide(); Form3->Close(); //Form3->Visible = false; Form3->ModalResult = mrOk; //Form3->Visible = false; return; } Form1->ADOQuery1->Close(); Form1->ADOQuery1->SQL->Clear(); Form1->ADOQuery1->SQL->Add("INSERT INTO params(U0,I1,U1,I2,U2,Uc,I1o,U1o,I2o,U2o,Uco,Ute,Ite,U0op,Uop,Roz,Ust_year,Num_op,Type,Meas_date,FIO_OPER,Rb,Rgr,C1,C2,Tau1,Tau2,DeltaU,Rbo,Rgro,C1o,C2o,Tau1o,Tau2o,DeltaUo,Rrast,Rte,Istek,Risk_group,Peregon,ECHK,Dist,Device_id,Uote,R_Zemli,skoU0,Tau1u,C1u0,K3,UC5,Next_date) VALUES("\ +FloatToStr(measures[iterator_count].U0)+","+FloatToStr(measures[iterator_count].I1)+","+FloatToStr(measures[iterator_count].I2)+","+FloatToStr(measures[iterator_count].U2)+","+FloatToStr(measures[iterator_count].Uc)\ +","+FloatToStr(measures[iterator_count].I10)+","+FloatToStr(measures[iterator_count].U10)+","+FloatToStr(measures[iterator_count].Uc5)+","+FloatToStr(measures[iterator_count].U0te)+","+FloatToStr(measures[iterator_count].U0op)+","+FloatToStr(measures[iterator_count].Uop)+","+FloatToStr(measures[iterator_count].R_Zemli)\ +","+Form3->Edit6->Text+","+Form3->Edit1->Text+","+Form3->Edit3->Text+","+Form3->Edit5->Text+","+Form3->Edit1->Text+","+FloatToStr(measures[iterator_count].R_beton)+","+FloatToStr(measures[iterator_count].R_gran)+","+FloatToStr(measures[iterator_count].C1i)\ +","+FloatToStr(measures[iterator_count].C2)+","+FloatToStr(measures[iterator_count].Tau1i)+","+FloatToStr(measures[iterator_count].Tau2)+","+FloatToStr(measures[iterator_count].DeltaU)+","+FloatToStr(measures[iterator_count].R_beton0)+","+FloatToStr(measures[iterator_count].Tau1u0)+","+FloatToStr(measures[iterator_count].Tau2)+","+FloatToStr(measures[iterator_count].DeltaU0)\ +","+FloatToStr(measures[iterator_count].Rrast)+","+FloatToStr(measures[iterator_count].Rte)+","+FloatToStr(measures[iterator_count].Istek)+","+IntToStr((short)measures[iterator_count].K)+","+Form3->Edit4->Text+","+Form3->Edit7->Text+","+Form3->Edit8->Text+",1,"+FloatToStr(measures[iterator_count].U0te)+","+FloatToStr(measures[iterator_count].R_Zemli)\ +","+FloatToStr(measures[iterator_count].skoU0)+","+FloatToStr(measures[iterator_count].Tau1u)+","+FloatToStr(measures[iterator_count].C1u0)+","+FloatToStr(measures[iterator_count].K3)+","+FloatToStr(measures[iterator_count].Uc5)+","+IntToStr((short)measures[iterator_count].next_day)+"."+IntToStr((short)measures[iterator_count].next_month)+"."+IntToStr(measures[iterator_count].next_year)+")"); Application->MessageBox("query begin","Системное сообщение",MB_OK); Form1->ADOQuery1->Open(); ReleaseMutex(DbMutex); if(iterator_count+1 < num_blocks*64){ iterator_count++; //Form3->Hide(); Form3->Close(); Form3->ModalResult = mrOk; //Form3->Visible = false; Iteration(); } else{ iterator_count = 0; } } //this->Hide(); Form3->Close(); Form3->ModalResult = mrOk; //Form3->Visible = false; } //--------------------------------------------------------------------------- void __fastcall TForm3::FormCreate(TObject *Sender) { //Edit1->Text = Form1->ComboBox1->->Caption; } //---------------------------------------------------------------------------
void __fastcall TForm3::FormClose(TObject *Sender, TCloseAction &Action) { if((Edit1->Text == "")||(Edit2->Text == "")||(Edit3->Text == "")||(Edit4->Text == "")||(Edit5->Text == "")){ ShowMessage("Заполните, пожалуйста, все обязательные поля формы"); return; } else{ //Form3->Visible = false; Form3->ModalResult = mrOk; Form1->Visible = true; } // inf_flag = true; //if(FormMutex != 0) //ReleaseMutex(FormMutex); } //---------------------------------------------------------------------------
void __fastcall TForm3::FormShow(TObject *Sender) { ///inf_flag = false; //FormMutex = OpenMutex(SYNCHRONIZE,false,"FormMutex"); //Edit1->Show(); //Edit2->Show(); //Edit3->Show(); //Edit4->Show(); //Edit5->Show(); //Edit6->Show(); //Edit7->Show(); //Edit8->Show(); } //---------------------------------------------------------------------------
|
И еще, у меня просьба будет. Скиньте, пожалуйста, исходники какого-нибудь работающего проекта на Билдере, где бы использовалось управление видимостью форм
--------------------
"Звонким вереском скроются наши следы, и не вспомнят о них. Кто поверит нам, рыцарям павшей звезды из отвергнутых книг? Пусть в узоре времен ни стихов. ни имен, но напомнит забывшим их полуночный крик." Тэм Гринхилл "Ужели суслик твоего коварства нагадит в плов доверья моего?". Л.Филатов
|