unsigned int NH_IRC::HandleMessage(unsigned int handler_id, char *buffer, long int buf_size){ if (!buffer) return handler_id; char message[256]; std::string AllMessages; std::string OutString; if (buffer) buffer[buf_size]='\0'; AllMessages=cut_buffer+buffer; std::string Message; int pos=0; //главный цикл std::string Nick=""; std::string User=""; std::string Host=""; std::string Action=""; std::string Other=""; std::vector<std::string> Params; //std::string Sender=""; //std::string Params=""; //std::string Params2=""; bool automated = true; // надо ли вызывать Custom-обработчик или обошлись своими силами while (pos!=-1) { pos=AllMessages.find_first_of("\n"); if (pos!=-1) { Message = AllMessages.substr(0,pos-1); AllMessages=AllMessages.substr(pos+1,AllMessages.length()-pos+1); } else Message=""; if (Message.length()==0) continue; // ((CEventLog *)MegaBase->GetVoidParam("EventLog"))->ExtLogMsg(ExtLogName,"---Message---"); // ((CEventLog *)MegaBase->GetVoidParam("EventLog"))->ExtLogMsg(ExtLogName,(char*)(">"+Message+"<").c_str()); // ((CEventLog *)MegaBase->GetVoidParam("EventLog"))->ExtLogMsg(ExtLogName,"---End Message---"); printf("---Message---\n"); printf("%s\n",Message.c_str()); printf("---End Message---\n"); // первоначальная стадия if (handler_id==0) { //SendMessage(";","NICK "+LoginName+"\nUSER AmberNetVR Amber server :"+GetParam("UserName")+"\n"); std::string send="NICK "+std::string(GetParam("NickName"))+"\nUSER "+std::string(GetParam("UserName"))+" "+std::string(GetParam("HostName"))+" "+GetParam("ServerName")+" :"+GetParam("RealName")+"\n"; //SendMessage(";",send); Send("NICK","server", std::string(GetParam("NickName")).c_str() ); Send("USER","server", ASN_Str( std::string(GetParam("UserName"))+" "+std::string(GetParam("HostName"))+" "+GetParam("ServerName")+" :"+GetParam("RealName")).c_str() ); handler_id=1; //continue; }; if (Message.substr(0,4) == "PING"){ // получили ПИНГ Send("PONG","server",Message.substr(6,Message.length()-6).c_str()); //SendMessage(";","PONG "+Message.substr(6,Message.length()-6)+"\n"); std::string OutText="NH_IRC: PING-PONG..."; //LOGGER->ExtLogMsg(ExtLogName, IntToStr( Message.length()) + OutText ); automated=false; continue; }; if (Message.at(0)==':'){ // (nick!user@host) int tmp_pos=Message.find_first_of(" !",1); if (tmp_pos==-1) {continue;} else { Nick=Message.substr(1,tmp_pos-1); Message=Message.substr(tmp_pos); // printf("Nick: >%s<\n",Nick.c_str()); Params.push_back( Nick ); // Params[0] - Nick if(Message.at(0)=='!') { //только если это не просто ник, а nick!user@host - имеет смысл разбирать дальше int tmp_pos=Message.find_first_of(" @",1); if (tmp_pos==-1) {} else { User=Message.substr(1,tmp_pos-1); Message=Message.substr(tmp_pos); // printf("User: >%s<\n",User.c_str()); if(Message.at(0)=='@') { //только если это не просто ник, а nick!user@host - имеет смысл разбирать дальше int tmp_pos=Message.find_first_of(" ",1); if (tmp_pos==-1) {} else { Host=Message.substr(1,tmp_pos-1); Message=Message.substr(tmp_pos); // printf("Host: >%s<\n",Host.c_str()); }; }; }; }; //if(Message.at(0)=="!") }; }; //if (Message.at(0)==':'){ Message=Message.substr(1); int tmp_pos=Message.find_first_of(" ",1); if (tmp_pos!=-1){ Action=Message.substr(0,tmp_pos); if (irc_cd.find(Action)!=irc_cd.end()) Action=irc_cd[Action]; Message=Message.substr(tmp_pos+1); //printf("Action: >%s<\n",Action.c_str()); Params.push_back( Action ); // Params[1] - Action } Other=Message; while (Message.size()>0){ if (Message.at(0)==':'){ Params.push_back( Message.substr(1) ); // printf("Params >%s<\n",Params.c_str()); Message="";//Message.substr(tmp_pos+1); break; } else { int tmp_pos=Message.find_first_of(" ",1); if (tmp_pos==-1) { Params.push_back( Message ); Message=""; break; }; Params.push_back( Message.substr(0,tmp_pos) ); Message=Message.substr(tmp_pos+1); }; //printf("Params >%s<\n",Params.c_str()); }; //while (Message.size>0) // если уже зашли под таким ником - приделываем палочки к нику, // а если и это не помогло - прибавляем к нику цифру if (Action=="ERR_NICKNAMEINUSE"){ NumTryConnect++; std::string NickName=GetParam("NickName"); if (NumTryConnect==1) { NickName=NickName+"_"; } else if (NumTryConnect==2) { NickName="_"+NickName; } else { NickName=NickName+IntToStr( NumTryConnect ); }; SetParam("NickName", NickName.c_str() ); Send("NICK","server", NickName.c_str() ); } else // проверка на CTCP if ( Params[1]=="PRIVMSG" ) { std::string par1=Params[3]; printf("{%s}\n",par1.c_str()); if (par1.at(0)=='\001') { /// это ж у нас CTCP ! par1=par1.substr(1); // отделяем признак CTCP в начале int tmp_pos=par1.find_first_of('\001',1); if (tmp_pos==-1) break; par1=par1.substr(0,tmp_pos); // отделяем признак CTCP в конце std::string CTCP_type=par1; tmp_pos=par1.find_first_of(' ',1); std::string par2=par1.substr(tmp_pos+1); if (tmp_pos!=-1) CTCP_type=par1.substr(0,tmp_pos); // если это например PING, отделяем всё остальное printf("{CTCP: %s}\n",CTCP_type.c_str()); Params.pop_back(); Params.push_back( CTCP_type ); Params.push_back( par2 ); // if (CTCP_type=="ACTION") { // printf("AC-Ti-i-i-iooonn!!!!\n"); // Send("NOTICE","server",Nick+" :\001ACTION внимательно наблюдает \001"); // automated=false; // } // else if (CTCP_type=="USERINFO") { // SendMessage(";","NOTICE "+Nick+" :\001USERINFO "+GetParam("USERINFO")+"\001"); Send("NOTICE","server",ASN_Str(Nick+" :\001USERINFO "+GetParam("USERINFO")+"\001").c_str()); automated=false; } else if (CTCP_type=="VERSION") { // SendMessage(";","NOTICE "+Nick+" :\001VERSION "+GetParam("VERSION")+"\001"); Send("NOTICE","server",ASN_Str( Nick+" :\001VERSION "+GetParam("VERSION")+"\001" ).c_str() ); automated=false; } else if (CTCP_type=="PING") { // хотя в документации написано, что ответ должен быть PONG !!!! :/ // <marker> PONG <space> <arg> <marker> tmp_pos=par1.find_first_of(' ',1); // SendMessage(";","NOTICE "+Nick+" :\001PING "+par1.substr(tmp_pos+1,Message.length()-tmp_pos-1)+"\001"); Send("NOTICE","server",ASN_Str(Nick+" :\001PING "+par1.substr(tmp_pos+1,Message.length()-tmp_pos-1)+"\001").c_str() ); automated=false; } else if (CTCP_type=="TIME") { static char time_buffer[ 1024 ]; time_t time_of_day=time(NULL); strftime( time_buffer, 80, "%d %H:%M:%S %Z %Y", localtime( &time_of_day ) ); // SendMessage(";","NOTICE "+Nick+" :\001TIME "+std::string(time_buffer)+"\001"); Send("NOTICE","server",ASN_Str(Nick+" :\001TIME "+std::string(time_buffer)+"\001").c_str()); automated=false; } else if (CTCP_type=="DCC") { std::string DCC_type; tmp_pos=par1.find_first_of(' ',1); par1=par1.substr(tmp_pos+1); // отрезаем команду DCC tmp_pos=par1.find_first_of(' ',1); if (tmp_pos!=-1) DCC_type=par1.substr(0,tmp_pos); par1=par1.substr(tmp_pos+1); printf("DCC type: {%s}\n",DCC_type.c_str()); if (DCC_type=="CHAT") { tmp_pos=par1.find_first_of(' ',1); std::string dcc_Protocol=par1.substr(0,tmp_pos); par1=par1.substr(tmp_pos+1); printf("chat protocol: {%s}\n",dcc_Protocol.c_str()); if (dcc_Protocol=="chat") { // обычный dcc чат-протокол tmp_pos=par1.find_first_of(' ',1); std::string rawIP=par1.substr(0,tmp_pos); // printf( "Raw IP: %s\n",rawIP.c_str() ); unsigned int t; sscanf(rawIP.c_str(),"%u",&t); // printf( "Start IP: %u\n", t); std::string inetIP = IntToIP ( t /*StrToInt(rawIP)*/ ); par1=par1.substr(tmp_pos+1); tmp_pos=par1.find_first_of(' ',1); std::string Port=par1.substr(0,tmp_pos); printf("{%s}:{%d}\n", inetIP.c_str() , StrToInt(Port) ); // INetProtocolHandler *tmp=NETTER->OpenClientListener( std::string(GetParam("ServerName"))+"_"+Nick+"_DCC","IRC_DCC_CHAT",inetIP,StrToInt(Port),"",""); INetProtocolHandler *tmp = new NH_IRC_DCC_CHAT( Engine ); // NETTER->AddCustomListener( tmp, inetIP.c_str() , StrToInt(Port) ); tmp->SetPtrParam("Handler",CustomHandler); tmp->SetParam("UserName",Nick.c_str()); // printf("dcc: %s", std::string( std::string(GetParam("ServerName"))+"_"+Nick+"_DCC" ).c_str() ); // SetPtrParam("); }; }; // if (DCC_type=="CHAT") if (DCC_type=="SEND") { std::string SendFile; // printf("par1=%s\n",par1.c_str() ); if (par1[0]=='"') { tmp_pos=par1.find_first_of('"',1); SendFile=par1.substr(1,tmp_pos-1); } else { tmp_pos=par1.find_first_of(' ',1); SendFile=par1.substr(0,tmp_pos); }; printf("SendFile: %s\n",SendFile.c_str()); par1=par1.substr(tmp_pos+1); tmp_pos=par1.find_first_of(' ',1); std::string rawIP=par1.substr(0,tmp_pos); printf("rawIP: %s\n",rawIP.c_str()); unsigned int t; sscanf(rawIP.c_str(),"%u",&t); std::string inetIP = IntToIP ( t ); par1=par1.substr(tmp_pos+1); tmp_pos=par1.find_first_of(' ',1); std::string Port=par1.substr(0,tmp_pos); par1=par1.substr(tmp_pos+1); tmp_pos=par1.find_first_of(' ',1); std::string FileSize=par1.substr(0,tmp_pos); printf("%s try send file {%s} with size %s from %s port: %s\n", Nick.c_str(), SendFile.c_str(), FileSize.c_str(), inetIP.c_str() , Port.c_str() ); INetProtocolHandler *tmp= new NH_IRC_DCC_GETFILE( Engine ); NETTER->AddCustomListener( tmp, inetIP.c_str() , StrToInt(Port) ); tmp->SetPtrParam("Handler",CustomHandler); tmp->SetParam("UserName",Nick.c_str()); tmp->SetParam("FileName",SendFile.c_str()); tmp->SetParam("FileSize",FileSize.c_str()); tmp->SetParam("Port",Port.c_str()); tmp->SetParam("LoadSize","0"); }; // if (DCC_type=="SEND") // std::vector<std::string>::iterator _it=Params.begin(); // while(_it!=Params.end()){ // printf("Param:{%s}\n",(*_it).c_str()); // _it++; // }; automated=false; }; }; }; if (automated) if (CustomHandler) { //SetParam("Nick",Nick.c_str()); //SetParam("Action",Action.c_str()); CALLBACK_PROTOCOL_HANDLER myCustomHandler = (CALLBACK_PROTOCOL_HANDLER)CustomHandler; myCustomHandler(this, &Params); } Params.clear(); }; // while (pos!=-1) cut_buffer=AllMessages.substr(0,AllMessages.length()-1); return handler_id; };
int IMask3x3::getValue(TypeConfig *type, int x, int y) { if (type->getName()!="Mask3x3") return 0; return type->getInt("d"+IntToStr(y)+"_"+IntToStr(x)); }
void __fastcall TFrmRMove::FormShow(TObject *Sender) { TenkeyGridInitial(); if(FileExists(ExtractFilePath(Application->ExeName)+ "\\Ini\\TenkeyNameInfo.ini") == false) { } else { nSearchResultCnt = 0; TIniFile * SearchTenkeyIni = new TIniFile(ExtractFilePath(Application->ExeName)+ "\\Ini\\TenkeyNameInfo.ini"); for(int nPIndex = 0; nPIndex <= _MAX_PARENT_TENKEYCOUNT_; nPIndex++) { for(int nCIndex = 0; nCIndex <= _MAX_CHILD_TENKEYCOUNT_; nCIndex++) { StrTenkeyNameList[nPIndex][nCIndex] = SearchTenkeyIni->ReadString("ChildTenkeyName"+IntToStr(nPIndex),"ChildButtonName"+IntToStr(nCIndex),"Tenkey"+IntToStr(nCIndex)); StrTenkeyNumberList[nPIndex][nCIndex] = SearchTenkeyIni->ReadString("ChildTenkeyName"+IntToStr(nPIndex),"ChildTenkeyNumber"+IntToStr(nCIndex),0); } } } }
LRESULT CPercentEdit::OnSetFocus(WORD wNotifyCode, WORD wID, HWND hWndCtl, BOOL& bHandled) { int quality = _wtoi(GuiTools::GetWindowText(m_hWnd)); SetWindowText( IntToStr(quality)); return 0; }
void __fastcall TfrmView::FormPaint(TObject *Sender) { UINT32 elasped = this->render(); StatusBar1->Panels->operator [](3)->Text = IntToStr((int)elasped) + " msec"; }
void MapEditor2D::WriteMaterialData (BaseGameObject *Obj, FILE *F) { fputs ("\n", F); fputs (string(" Material: "+IntToStr(Obj->Material != 0)+";\n").c_str(), F); if (Obj->Material == 0) return; // Shader BaseShader *Shader = Obj->Material->Shader; string locs; string ws = " "; fputs (string(" Shader : \""+fs::extractFileName(Shader->FileName)+"\";\n").c_str(), F); for (int k = 0; k < Shader->Locations->Hashes.size(); k++) { string comma = k == 0 ? "" : ", "; locs += comma+"\""+Shader->Locations->Hashes[k]+"\""; if ((k+1) % 2 == 0 && k != Shader->Locations->Hashes.size()-1) locs += "\n"+ws; } fputs (string(" Locations : "+locs+";\n").c_str(), F); // Material Parameters BaseUniforms::UniformsMap *Uniforms = &(Obj->Material->Uniforms->Uniforms); string uniforms = ""; ws = " "; BaseUniforms::UniformsMap::iterator ite = Uniforms->end(); ite--; for (BaseUniforms::UniformsMap::iterator it = Uniforms->begin(); it != Uniforms->end(); it++) { Uniform *U = &it->second; string loc = it->first; string comma = it == Uniforms->begin() ? "" : ", "; switch (U->Type) { case uMat4f : if (loc == "MVP") uniforms += comma+"\"MVP\", Matrix, MVP_Matrix"; break; case uFloat : uniforms += comma+"\""+loc+"\", "+"Float, "+FloatToStr(*(float*) U->Data); break; case uInt : uniforms += comma+"\""+loc+"\", "+"Int, "+IntToStr(*(int*) U->Data); break; case uBool : uniforms += comma+"\""+loc+"\", "+"Bool, "+IntToStr(*(bool*) U->Data); break; case uVec2f : uniforms += comma+"\""+loc+"\", "+"Vec2f, "+FloatToStr((*(glm::vec2*) U->Data).x)+", " +FloatToStr((*(glm::vec2*) U->Data).y); break; case uVec2i : uniforms += comma+"\""+loc+"\", "+"Vec2i, "+IntToStr((*(glm::vec2*) U->Data).x)+", " +IntToStr((*(glm::vec2*) U->Data).y); break; case uVec3f : uniforms += comma+"\""+loc+"\", "+"Vec3f, "+FloatToStr((*(glm::vec3*) U->Data).x)+", " +FloatToStr((*(glm::vec3*) U->Data).y)+", " +FloatToStr((*(glm::vec3*) U->Data).z); break; case uVec3i : uniforms += comma+"\""+loc+"\", "+"Vec3i, "+IntToStr((*(glm::vec3*) U->Data).x)+", " +IntToStr((*(glm::vec3*) U->Data).y)+", " +IntToStr((*(glm::vec3*) U->Data).z); break; case uVec4f : uniforms += comma+"\""+loc+"\", "+"Vec4f, "+FloatToStr((*(glm::vec4*) U->Data).x)+", " +FloatToStr((*(glm::vec4*) U->Data).y)+", " +FloatToStr((*(glm::vec4*) U->Data).z)+", " +FloatToStr((*(glm::vec4*) U->Data).w); break; case uVec4i : uniforms += comma+"\""+loc+"\", "+"Vec4i, "+IntToStr((*(glm::vec4*) U->Data).x)+", " +IntToStr((*(glm::vec4*) U->Data).y)+", " +IntToStr((*(glm::vec4*) U->Data).z)+", " +IntToStr((*(glm::vec4*) U->Data).w); break; case uTex2D : Texture2D *Tex = (Texture2D*) U->Data; string WrapS = Tex->WrapS == GL_CLAMP_TO_EDGE ? "0" : "1"; string WrapT = Tex->WrapT == GL_CLAMP_TO_EDGE ? "0" : "1"; string Filter = Tex->WrapT == GL_NEAREST ? "0" : "1"; uniforms += comma+"\""+loc+"\""+", "+"Tex2D, \""+Tex->FileName+"\", "+WrapS+", "+WrapT+", "+Filter; break; } if (it != ite) uniforms += "\n"+ws; } fputs (string(" Uniforms : "+uniforms+";\n").c_str(), F); }
void main() { int citajPrvBroj = 1; int broj1 = 0; int broj2 = 0; int suma; ANSEL = 0; ANSELH = 0; Lcd_Init(); Lcd_Cmd(_LCD_CLEAR); do { char kp = 0; do { kp = Keypad_Key_Click(); } while (kp == 0); switch (kp) { case 1: kp = '1'; break; // 1 case 2: kp = '2'; break; // 2 case 3: kp = '3'; break; // 3 case 4: kp = '+'; break; // + case 5: kp = '4'; break; // 4 case 6: kp = '5'; break; // 5 case 7: kp = '6'; break; // 6 case 8: kp = 'C'; break; // C case 9: kp = '7'; break; // 7 case 10: kp = '8'; break; // 8 case 11: kp = '9'; break; // 9 case 12: kp = '='; break; // = case 13: kp = 'B'; break; // brisi case 14: kp = '0'; break; // 0 case 15: kp = 'K'; break; // kraj case 16: kp = 'P'; break; //prikazi } if (kp >= '0' && kp <= '9') { if (citajPrvBroj) { broj1 = kp - '0'; } else { broj2 = kp - '0'; } } else if (kp == '+') { citajPrvBroj = 0; } else if (kp == '=') { suma = broj1 + broj2; } else if (kp == 'B') { if (citajPrvBroj) { broj1 = 0; } else { broj2 = 0; } } else if (kp == 'C') { broj1 = broj2 = suma = 0; citajPrvBroj = 1; Lcd_Cmd(_LCD_CLEAR); } else if (kp == 'P') { IntToStr(suma, text); Lcd_Out_CP(text); } else if (kp == 'K') { break; } Lcd_Chr_CP(kp); } while (1); }
//--------------------------------------------------------------------------- void __fastcall TFormReportUchebKartStud::CreateWordDocument(void) { AnsiString NumZ, SecondName, FirstName, ThirdName, Adres, NumPricas, InDate, spec, VipQualifWork, OutDate, Qualific, nGak; AnsiString perevodInfo[5]; GetOchenkiStudenta(); UpdateView(); GetInfoStudent(NumZ, SecondName, FirstName, ThirdName, Adres, NumPricas, InDate, spec, VipQualifWork, OutDate, Qualific, nGak, perevodInfo); ExcelMacros macros; macros.BeginMacros(); // заполянем верхнюю часть катрочки macros.Select("L2"); macros.Formula(" № " + NumZ); macros.Select("A6"); macros.Formula("1. " + SecondName + " " + FirstName + " " + ThirdName); macros.Select("A8"); macros.FilterText(Adres); macros.Formula("2. Адрес: " + Adres); macros.Select("A10"); macros.Formula("3. Зачислен в ВУЗ приказом № " + NumPricas); macros.Select("A11"); macros.Formula("от " + GetDateAsString(InDate)); macros.Select("A16"); macros.Formula("по специальности " + spec); macros.Select("H21"); macros.FilterText(VipQualifWork); macros.Formula(" " + VipQualifWork); macros.Select("H27"); macros.Formula("присвоена квалификация " + Qualific); if (OutDate.Length() > 0) { macros.Select("H26"); macros.Formula("от " + GetDateAsString(OutDate, true)); macros.Select("H23"); macros.Formula("и защитил " + GetDateAsString(OutDate, true)); } if (nGak.Length() > 0) { macros.Select("H25"); macros.Formula(" комиссии (протокол № " + nGak); } // заполняем отметки о переводах AnsiString perevodPos[5] = {"A62", "H62", "A96", "H96", "A130"}; for (int i = 0; i < 5; ++i) if (perevodInfo[i] != "") { macros.Select(perevodPos[i]); macros.Formula(perevodInfo[i]); } // зполняем оценками таблицу for (int i = 0; i < mas_ochenka.size(); i++) { Progress* pr = mas_ochenka[i]; if (!(pr->idclass == tdCommon || pr->idclass == tdCourseWork || \ pr->idclass == tdCourseProject || pr->idclass == tdPraktica)) continue; if (pr->numplansemestr > 12 || pr->numplansemestr < 1) { AnsiString er = "Предмет \"" + pr->title + "\" записан на " + \ pr->numplansemestr + " - это неправильно \n" \ "Отчет не будет выведен"; Application->MessageBox(er.c_str(), "Ошибка.", MB_OK | MB_ICONEXCLAMATION); return; } if (pr->numplansemestr == 12 ) pr->numplansemestr = 12; AnsiString range = ""; if (pr->count_line != 0) { for (int j = 1; j <= 5; j++) { range = AnsiString(pos_semestr[pr->numplansemestr - 1].col[j]) + IntToStr(pos_semestr[pr->numplansemestr - 1].row); range += ":" + AnsiString(pos_semestr[pr->numplansemestr - 1].col[j]) + IntToStr(pos_semestr[pr->numplansemestr - 1].row + pr->count_line); macros.Select(range); macros.MergeCell(); } pos_semestr[pr->numplansemestr - 1].row += pr->count_line; } range = AnsiString(pos_semestr[pr->numplansemestr - 1].col[1]) + IntToStr(pos_semestr[pr->numplansemestr - 1].row); macros.Select(range); macros.Formula(pr->title); range = AnsiString(pos_semestr[pr->numplansemestr - 1].col[2]) + IntToStr(pos_semestr[pr->numplansemestr - 1].row); macros.Select(range); //macros.Formula((pr->count_hours == "0")?AnsiString(""):pr->count_hours); if (pr->idclass == tdCommon) if (pr->numplansemestr != 12 && pr->hours[pr->numplansemestr - 1] != "0 ") macros.Formula(pr->hours[pr->numplansemestr - 1]); else macros.Formula((pr->count_hours == "0")?AnsiString(""):pr->count_hours); AnsiString pos = ""; if (pr->estimation < 4) // экзамен pos = AnsiString(pos_semestr[pr->numplansemestr - 1].col[3]); else // зачет pos = AnsiString(pos_semestr[pr->numplansemestr - 1].col[4]); range = pos + IntToStr(pos_semestr[pr->numplansemestr - 1].row); macros.Select(range); macros.Formula(tip_ocenok[pr->estimation]); pos_semestr[pr->numplansemestr - 1].row ++; } // заполнение по междисц испыт int pos = 16; // начиная с 16 строки в екселе for (int i = 0; i < mas_ochenka.size(); i++) { Progress* pr = mas_ochenka[i]; if (pr->idclass != tdItogAttest) continue; macros.Select("J" + IntToStr(pos)); macros.Formula(pr->dis_shorttitle); macros.Select("M" + IntToStr(pos)); macros.Formula(tip_ocenok[pr->estimation]); pos++; } macros.Select("A4"); macros.EndMacros(); // получаем текущее положение char path_buf[_MAX_PATH]; char drive[_MAX_DRIVE]; char dir[_MAX_DIR]; GetModuleFileName(NULL,path_buf,sizeof(path_buf)-1); _splitpath(path_buf,drive,dir,0,0); _makepath(path_buf,drive,dir,0,0); AnsiString path_host_template = AnsiString(drive) + AnsiString(dir) + "template.xlt"; if (FileExists(path_host_template)) macros.RunMacros(path_host_template); else macros.RunMacros("c:\\template.xlt"); }
//--------------------------------------------------------------------------- void TFormScoreTests::ReadFile(const String& filename) { const int row = StringGridStudents->RowCount - 1; const std::string file_stripped = RemoveExtension(RemovePath(filename.c_str())); ++StringGridStudents->RowCount; StringGridStudents->Cells[0][row] = row; StringGridStudents->Cells[1][row] = file_stripped.c_str(); StringGridStudents->Cells[2][row] = ""; StringGridStudents->Cells[3][row] = ""; const int key = EditKey->Text.ToInt(); const int penalty = EditPenalty->Text.ToInt(); const Encranger e(key); //Load file std::vector<std::string> v = FileToVector(filename.c_str()); const int sz = v.size(); for (int i=0; i!=sz; ++i) { //Deencrypt file v[i] = e.Deencrypt(v[i]); //Remove asterisks v[i] = ReplaceAll(v[i],"*",""); } const std::string username = FindUserName(v); if (username.empty()) { StringGridStudents->Cells[3][row] = "Username not found"; StringGridStudents->Cells[2][row] = "1.0 or 1.1"; return; } if (username != file_stripped) { StringGridStudents->Cells[3][row] = "Filename differs from username"; StringGridStudents->Cells[2][row] = "1.1"; return; } int n_correct = 0; const int n_questions = CountQuestions(v); LabelNquestions->Caption = "#questions: " + IntToStr(n_questions); for (int i=0; i!=sz; ++i) { if (v[i].empty()) continue; const std::vector<std::string> line_markup = SeperateString(v[i],","); //Replace {comma} by a comma for each std::string in v const std::vector<std::string> line = ReplaceAll(line_markup,"{comma}",","); OutputDebugString(line.size() >= 1 ? line[0].c_str() : "line[0] = {}"); OutputDebugString(line.size() >= 2 ? line[1].c_str() : "line[1] = {}"); OutputDebugString(line.size() >= 3 ? line[2].c_str() : "line[2] = {}"); OutputDebugString(line.size() >= 4 ? line[3].c_str() : "line[3] = {}"); //assert(line.size() == 2); WORKAROUND if (line[0]=="NAME") continue; const bool is_correct = (line[line.size()-1]=="Y"); //WORKAROUND assert(line[line.size()-1]=="Y" || line[line.size()-1]=="N"); //WORKAROUND if (is_correct) ++n_correct; ScoreQuestion(line[0],is_correct); } //Calculate student's score assert(n_questions - penalty > 0); const double fraction = static_cast<double>(n_correct - penalty) / static_cast<double>(n_questions - penalty); const double init_score = 1.0 + (9.0 * fraction); const double score_above_one = (init_score < 1.0 ? 1.0 : init_score); const double score_below_ten = (score_above_one > 10.0 ? 10.0 : score_above_one); const double score = score_below_ten; StringGridStudents->Cells[2][row] = score; }
void __fastcall TFrmMain::btColSaveClick(TObject *Sender) { if(OpenOk==false) return; int iFileHandle; //文件句柄 char Txtbuf[255]; int iVal; char buf[4]; float fVal; FILE *stream; long curpos, length; DWORD dwRows, dwCols, dwRowLen, dwTextLen; DWORD dwTextStartPos; char* pTextPtr ; iFileHandle = FileOpen(CurrentOpenFile, fmOpenRead|fmOpenWrite);//打开文件 //if ((stream = fopen(CurrentOpenFile.c_str(), "r+")) // == NULL) //{ // ShowMessage("打开文件出错"); // return; //} //curpos = ftell(stream); //fseek(stream, 0L, SEEK_END); //length = ftell(stream); switch (thOpen->ColType[sgEdit->Col]) { case 0: //整型值 for(int i=0;i<sgEdit->RowCount-1;i++){ //fseek(stream, 0x14+(i*(sgEdit->ColCount-1)+(sgEdit->Col-1))*4, 0); //iVal=StrToInt(sgEdit->Cells[sgEdit->Col][i+1]); //fwrite(&iVal, 4, 1, stream); iVal=StrToInt(sgEdit->Cells[sgEdit->Col][i+1]); memcpy(buf, &iVal, 4); FileSeek(iFileHandle,0x14+(i*(sgEdit->ColCount-1)+(sgEdit->Col-1))*4,0); FileWrite(iFileHandle,buf,4); } break; case 1: //浮点值 for(int i=0;i<sgEdit->RowCount-1;i++){ //fseek(stream, 0x14+(i*(sgEdit->ColCount-1)+(sgEdit->Col-1))*4, 0); //fVal=StrToFloat(sgEdit->Cells[sgEdit->Col][i+1]); //fwrite(&fVal, 4, 1, stream); fVal=StrToFloat(sgEdit->Cells[sgEdit->Col][i+1]); memcpy(buf, &fVal, 4); FileSeek(iFileHandle,0x14+(i*(sgEdit->ColCount-1)+(sgEdit->Col-1))*4,0); FileWrite(iFileHandle,buf,4); } break; case 2: //文本 不存 break; } //fclose(stream); FileClose(iFileHandle); ShowMessage("The "+IntToStr(sgEdit->Col)+"Col Write Ok!"); }
void main() { char rec; int x,y; int f[5]; char send[7]; uart1_init(9600); trisc=0b10000000; DI=1; CLK=1; uart1_write_text("hello"); while(1) { if(uart1_data_ready()) { rec=uart1_read(); if(rec=='1') audio(1); if(rec=='2') audio(2); if(rec=='3') audio(3); if(rec=='4') audio(4); if(rec=='5') audio(5); } f[0]=adc_read(12); f[1]=adc_read(10); f[2]=adc_read(8); f[3]=adc_read(9); f[4]=adc_read(11); x=adc_read(0); y=adc_read(1); inttostr(f[0],send); uart1_write_text("f0="); uart1_write_text(send); uart1_write(13); IntToStr(f[1],send); uart1_write_text("f1="); uart1_write_text(send); uart1_write(13); IntToStr(f[2],send); uart1_write_text("f2="); uart1_write_text(send); uart1_write(13); IntToStr(f[3],send); uart1_write_text("f3="); uart1_write_text(send); uart1_write(13); IntToStr(f[4],send); uart1_write_text("f4="); uart1_write_text(send); uart1_write(13); IntToStr(x,send); uart1_write_text("x="); uart1_write_text(send); uart1_write(13); IntToStr(y,send); uart1_write_text("y="); uart1_write_text(send); uart1_write(13); delay_ms(1000); if(f[0]<170&&f[1]<180&&f[2]<180&&f[3]>250) { audio(2); delay_ms(5000); } else if(f[0]<170&&f[1]<180&&f[2]<180&&f[3]<170&&rec!='c') { audio(1); delay_ms(5000); } else if(f[0]>230&&f[1]>230&&f[2]>230&&f[3]>230&&x<280) { audio(3); delay_ms(5000); } else if(f[0]<170&&f[1]<180&&f[2]<180&&f[3]<170&&rec=='c') { audio(4); rec=0; delay_ms(5000); } else if(f[0]>230&&f[1]>230&&f[2]>230&&f[3]>230&&x>350&&rec=='b') { audio(5); rec=0; delay_ms(5000); } } }
//--------------------------------------------------------------------------- void __fastcall TFrmMain::OpenFileCol(AnsiString FileName,int ColIndex,int ColType) { int iFileHandle; //文件句柄 char Txtbuf[255]; int iVal; float fVal; FILE *stream; long curpos, length; DWORD dwRows, dwCols, dwRowLen, dwTextLen; DWORD dwTextStartPos; char* pTextPtr ; if ((stream = fopen(FileName.c_str(), "r+")) == NULL) { ShowMessage("Open File Error"); return; } curpos = ftell(stream); fseek(stream, 0L, SEEK_END); length = ftell(stream); switch (ColType) { case 0: //整型值 Int for(int i=0;i<sgEdit->RowCount-1;i++){ fseek(stream, 0x14+(i*(sgEdit->ColCount-1)+(ColIndex-1))*4, 0); fread(&iVal, 4, 1, stream); sgEdit->Cells[ColIndex][i+1]=IntToStr(iVal); } break; case 1: //浮点值 Float for(int i=0;i<sgEdit->RowCount-1;i++){ fseek(stream, 0x14+(i*(sgEdit->ColCount-1)+(ColIndex-1))*4, 0); fread(&fVal, 4, 1, stream); sgEdit->Cells[ColIndex][i+1]=FloatToStr(fVal); } break; case 2: //文本 Text fseek(stream,0x4,0); fread(&iVal, 4, 1, stream); dwRows= iVal; fread(&iVal, 4, 1, stream); dwCols = iVal; fread(&iVal, 4, 1, stream); dwRowLen = iVal; fread(&iVal, 4, 1, stream); dwTextLen = iVal; dwTextStartPos = dwRows*dwRowLen+20; for(int i=0;i<sgEdit->RowCount-1;i++){ fseek(stream, 0x14+(i*(sgEdit->ColCount-1)+(ColIndex-1))*4, 0); fread(&iVal, 4, 1, stream); sgEdit->Cells[ColIndex][i+1]=IntToStr(iVal); if(dwTextStartPos + iVal < length){ fseek(stream,dwTextStartPos + iVal,0); fread(Txtbuf, 1, 255, stream); //pTextPtr = pBuff + dwTextStartPos + lTemp; sgEdit->Cells[ColIndex][i+1]=Txtbuf; }else{ sgEdit->Cells[ColIndex][i+1]="This Col Not Text!"; } } break; } fclose(stream); }
//=========================================================================== void Tform_Main::ReadDataFromRegistry() { try { try { Reg->RootKey = HKEY_LOCAL_MACHINE; Reg->OpenKey("Software\\Home\\" + ShortAppName_WA_ext, true); MaxTime = Reg->ReadFloat ("MaxTime" ); TimeElapsed = Reg->ReadFloat ("TimeElapsed" ); LastGameDate = Reg->ReadInteger("LastGameDate"); SoftsCount = Reg->ReadInteger("SoftsCount"); isShowTimer = Reg->ReadBool ("isShowTimer"); isChildMomEnabled = Reg->ReadBool ("isChildMomEnabled"); for ( int i = 0; i < SoftsCount; i++ ) Softs[i] = Reg->ReadString("Soft" + IntToStr(i)); Reg->CloseKey(); // ********************** int CurrentDate = Date(); if ( CurrentDate != LastGameDate ) { TimeElapsed = MaxTime * 1000.0; LastGameDate = CurrentDate; SaveDataToRegistry(); } // ********************** } catch ( ... ) { TimeElapsed = MaxTime * 1000.0; Reg->CloseKey(); SaveDataToRegistry(); } } __finally { Reg->CloseKey(); } }
int moGLManager::CreateContext( int p_width, int p_height ) { MODebug2->Message( "moGLManager::CreateContext > p_width: " + IntToStr(p_width) + " p_height: " + IntToStr(p_height) ); #ifdef MO_WIN GLuint PixelFormat; PIXELFORMATDESCRIPTOR pfd; hDC = GetDC(NULL); memset(&pfd, 0, sizeof(PIXELFORMATDESCRIPTOR)); pfd.nSize = sizeof(pfd); pfd.nVersion = 1; pfd.dwFlags = PFD_DRAW_TO_WINDOW | PFD_SUPPORT_OPENGL | PFD_DOUBLEBUFFER; pfd.iPixelType = PFD_TYPE_RGBA; pfd.cColorBits = 32; pfd.cDepthBits = 16; pfd.cStencilBits = 8; pfd.iLayerType = PFD_MAIN_PLANE; PixelFormat = ChoosePixelFormat(hDC, &pfd); SetPixelFormat(hDC, PixelFormat, &pfd); // HGLRC this->m_Context = (moGLContext) wglCreateContext(hDC); wglMakeCurrent(hDC, (HGLRC) this->m_Context ); #endif #ifdef MO_LINUXX /* If direct is True, then a direct-rendering context is created if the implementation supports direct rendering, if the connection is to an X server that is local, and if a direct-rendering context is available. (An implementation may return an indirect context when share_list is True.) If share_list is False, then a rendering context that renders through the X server is always created. Direct rendering provides a performance advantage in some implementations. However, direct-rendering contexts cannot be shared outside a single process, and they may be unable to render to GLX pixmaps. */ int m_glxVersion = 0; int glxMajorVer, glxMinorVer; Display *XServerDisplay=NULL; GdkDisplay *XGdkDisplay=NULL; GLXFBConfig *fbc = NULL; GLXPbuffer OffScreenBuffer = 0; int nscreens = 0; //XServerDisplay = GDK_DISPLAY(); //XServerDisplay = gdk_display_get_default(); MODebug2->Message( "moGLManager::CreateContext > getting X server display" ); //XServerDisplay = gdk_x11_get_default_xdisplay(); if (m_DisplayServer==NULL) { XServerDisplay = XOpenDisplay(NULL); m_DisplayServer = (void*)XServerDisplay; } else { XServerDisplay = (Display *)m_DisplayServer; MODebug2->Message("moGLManager::CreateContext > display server connection already opened."); } //XServerDisplay = GDK_DISPLAY(); // gdk_display_get_screen () // gdk_display_get_n_screens () if (XServerDisplay) { MODebug2->Message( "moGLManager::CreateContext > X server display OK." ); XGdkDisplay = gdk_x11_lookup_xdisplay( XServerDisplay ); if (!XGdkDisplay) XGdkDisplay = gdk_display_get_default (); if (XGdkDisplay) { MODebug2->Error("moGLManager::CreateContext > X Gdk Display OK! : " + IntToStr((MOulong)XGdkDisplay)); nscreens = gdk_display_get_n_screens(XGdkDisplay); } else MODebug2->Error("moGLManager::CreateContext > X Gdk Display not found : " + IntToStr((MOulong)XGdkDisplay)); MODebug2->Message("moGLManager::CreateContext > X Server Display found: " + IntToStr((MOulong)XServerDisplay) + " screens:" + IntToStr(nscreens) ); } else { MODebug2->Error("moGLManager::CreateContext > X Server Display not found : " + IntToStr((MOulong)XServerDisplay)); return false; } bool ok = glXQueryVersion( XServerDisplay, &glxMajorVer, &glxMinorVer); if (!ok) m_glxVersion = 10; // 1.0 by default else m_glxVersion = glxMajorVer*10 + glxMinorVer; MODebug2->Message("moGLManager::CreateContext > GLX Version (10=1.0,13=1.3,...): " + IntToStr(m_glxVersion) + "=" + FloatToStr( (double)(m_glxVersion)/(double) 10.0) ); if ( m_glxVersion >= 13) { // GLX >= 1.3 //GLXFBConfig *fbc = gc->m_fbc; int nelements = 0; int attrib_list[] = { GLX_RENDER_TYPE, GLX_RGBA_BIT, GLX_DOUBLEBUFFER, 1, GLX_RED_SIZE, 8, GLX_GREEN_SIZE, 8, GLX_BLUE_SIZE, 8, GLX_ALPHA_SIZE, 8, GLX_DEPTH_SIZE, 16, GLX_STENCIL_SIZE, 8, 0 }; fbc = glXChooseFBConfig( XServerDisplay, DefaultScreen(XServerDisplay)/*screen number*/, attrib_list, &nelements ); if (fbc) { MODebug2->Message( "moGLManager::CreateContext > FBConfig OK!"); } else { MODebug2->Error( "moGLManager::CreateContext > No FBConfig"); return false; } this->m_Context = (moGLContext) glXCreateNewContext( XServerDisplay /*XServer Display*/, fbc[0] /*attribute list FB Config match*/, GLX_RGBA_TYPE /*type of rendering*/, NULL /*shared context for display lists*/, GL_TRUE /*direct rendering to graphics system*/); } else { // GLX <= 1.2 int attrib_list_vi[] = { GLX_RGBA, GLX_DOUBLEBUFFER, GLX_RED_SIZE, 8, GLX_GREEN_SIZE, 8, GLX_BLUE_SIZE, 8, GLX_ALPHA_SIZE, 8, GLX_DEPTH_SIZE, 16, GLX_STENCIL_SIZE, 8, 0 }; XVisualInfo *vi = glXChooseVisual( XServerDisplay, DefaultScreen(XServerDisplay), /*screen number*/ attrib_list_vi ); this->m_Context = (moGLContext) glXCreateContext( XServerDisplay, vi, NULL, GL_TRUE ); } if (this->m_Context) { MODebug2->Message("moGLManager::CreateContext > creating offscreen buffer."); if ( m_glxVersion >= 13 ) { // GLX >= 1.3 int pbuffer_attrib[] = { GLX_PBUFFER_WIDTH, p_width, GLX_PBUFFER_HEIGHT, p_height, GLX_LARGEST_PBUFFER, 0, GLX_PRESERVED_CONTENTS, 0, 0 }; OffScreenBuffer = glXCreatePbuffer( XServerDisplay, fbc[0], pbuffer_attrib ); this->m_DisplayScreen = (void*) OffScreenBuffer; if (OffScreenBuffer) { MODebug2->Message("moGLManager::CreateContext > Offscreen buffer OK! GLPXBuffer: " + IntToStr( (MOulong) OffScreenBuffer ) ); } else { MODebug2->Error("moGLManager::CreateContext > Offscreen buffer BAD... : " + IntToStr( (MOulong) OffScreenBuffer ) ); return false; } if ( glXMakeContextCurrent( XServerDisplay, OffScreenBuffer, OffScreenBuffer, (GLXContext) this->m_Context ) ) { MODebug2->Message("moGLManager::CreateContext > Making Context current OK!"); } } else { // GLX <= 1.2 //glXMakeCurrent( XServerDisplay, GDK_WINDOW_XWINDOW(window), m_glContext ); } } #endif #ifdef MO_MAC //CGL CGLCreateContext //COCOA //NSOpenGLView //CARBON //aglCreateContext #endif return (this->m_Context == NULL); }
void __fastcall TForm1::NMFTP2Connect(TObject *Sender) { Memo2->Lines->Insert(0,Now().TimeString()+" 自动上传:连接FTP成功。"); BitBtn3->Enabled=false; BitBtn4->Enabled=true; Memo2->Lines->Insert(0,Now().TimeString()+" 自动上传:开始生成接驳文件。"); AnsiString DateChoose = "dt>'"+Date().DateString()+" 00:00:00' and dt<'"+Date().DateString()+" 23:59:59'"; // ShowMessage(DateChoose); AnsiString sqlstr = "select * from TicketPay where 1=1 and "+DateChoose ; //ADOConnection1->Connected = true; ADOQuery1->Close(); ADOQuery1->SQL->Clear(); ADOQuery1->SQL->Add(sqlstr); ADOQuery1->Open(); //ADOQuery1->Active =true; //Edit1->Text = IntToStr(ADOQuery1->RecordCount); //Memo1->Clear(); if(ADOQuery1->RecordCount==0) { Memo2->Lines->Insert(0,Now().TimeString()+" 自动上传:本日未结算,终止执行。"); NMFTP2->Disconnect(); return; } AnsiString InsertString; Form2->Memo1->Lines->Clear(); AnsiString date1,date2,formati,pay_value; int i=0,p=0; for(ADOQuery1->First();!ADOQuery1->Eof;ADOQuery1->Next()) { //ShowMessage(ADOQuery1->FieldByName("dt")->AsString); //InsertString=ADOQuery1->FieldValues['dt']; InsertString=ADOQuery1->FieldByName("dt")->AsString; pay_value=ADOQuery1->FieldByName("pay_value")->AsString; //ShowMessage(InsertString); date1 = FormatDateTime("yyyy",InsertString)+"/"+FormatDateTime("mm",InsertString)+"/"+FormatDateTime("dd",InsertString); date2 = FormatDateTime("hhmm",InsertString); //rmati=Format("%010d",ARRAYOFCONST(i)); i++; //ShowMessage(10-IntToStr(i).Length()); int p=10-IntToStr(i).Length(); formati=IntToStr(i); for(p;p>0;p=p-1) { formati="0"+formati; //ShowMessage(formati); } Form2->Memo1->Lines->Add(Edit2->Text+"\t"+Edit3->Text+"\t"+date1+"\t"+date2+"\t"+formati+"\t"+Edit2->Text+"01"+"\t\t"+pay_value+"\t"+"0.00\t0.00\t0.00\t0.00\t"+pay_value); // ADOQuery1->Next(); } Form2->Memo1->Lines->SaveToFile("tempauto.txt"); if(FileExists("tempauto.txt")) { Memo2->Lines->Insert(0,Now().TimeString()+" 自动上传:接驳临时文件生成成功。"); } else { Memo2->Lines->Insert(0,Now().TimeString()+" 自动上传:接驳临时文件生成失败,上传终止。"); NMFTP2->Disconnect(); return; } AnsiString InsertString2= DateTimePicker1->Date.DateString(); AnsiString datelist = FormatDateTime("yyyy",InsertString2)+FormatDateTime("mm",InsertString2)+FormatDateTime("dd",InsertString2); AnsiString FileName=Edit2->Text+ datelist +".txt"; Memo2->Lines->Insert(0,Now().TimeString()+" 自动上传:开始上传文件。"); NMFTP2->Upload("tempauto.txt",FileName); Memo2->Lines->Insert(0,Now().TimeString()+" 自动上传:清理临时文件。"); DeleteFile("tempauto.txt"); if(!FileExists("tempauto.txt")) Memo2->Lines->Insert(0,Now().TimeString()+" 自动上传:成功清理临时文件。"); else Memo2->Lines->Insert(0,Now().TimeString()+" 自动上传:清理临时文件失败,请执行手动删除。"); NMFTP2->Disconnect(); }
//--------------------------------------------------------------------------- AnsiString TUDP::GetLocalAddrPort(void) { AnsiString rv(inet_ntoa(localAddr.sin_addr)); rv += ":" + IntToStr(htons(localAddr.sin_port)); return rv; }
/********************************************************************************** Description: 玩家的角色基本信息更新 @param [in] info @return int @exception none */ int RobRuleValid::DoICSSetRoleInfoPro(Rob_Ics_Complaint& ics_info) { map<string, string> theParamIn; vector < map<string, string> > theGetResult; int iRoleExistFlag = 0; ValidLOG->WriteLog("单据过滤,验证单据有效性,单据信息:ICSID:%s|UIN:%s|Role_ID:%s\n", ics_info.sICSId.c_str(), ics_info.sUin.c_str(), ics_info.sRoleID.c_str()); WriteLogsRUN(TLOG_TYPE_ROBANLYSVALID, ics_info.sICSId.c_str(), ics_info.sUin.c_str(), TLOG_LEVEL_INFO, __FUNCTION__, "单据过滤,验证单据有效性,单据信息:ICSID:%s|UIN:%s|Role_ID:%s\n", ics_info.sICSId.c_str(), ics_info.sUin.c_str(), ics_info.sRoleID.c_str()); //第一步角色基本信息更新:角色名字和等级 ValidLOG->WriteLog("获取角色列表\n"); WriteLogsRUN(TLOG_TYPE_ROBANLYSVALID, ics_info.sICSId.c_str(), ics_info.sUin.c_str(), TLOG_LEVEL_INFO, __FUNCTION__, "获取角色列表\n"); theParamIn["area"] = ics_info.sWordId; theParamIn["uin"] = ics_info.sUin; iRet = valid_parse.GetFunction(ics_log_header(ics_info.sICSId, ics_info.sUin, ics_info.sServiceID), theParamIn, "ics_get_role_list", theGetResult); ValidLOG->WriteLog("获取角色列表,完成,结果:%d\n", iRet); WriteLogsRUN(TLOG_TYPE_ROBANLYSVALID, ics_info.sICSId.c_str(), ics_info.sUin.c_str(), TLOG_LEVEL_INFO, __FUNCTION__, "获取角色列表,完成,结果:%d\n", iRet); for (int i = 0; i < theGetResult.size(); i++) { WriteLogsRUN(TLOG_TYPE_ROBANLYSVALID, ics_info.sICSId.c_str(), ics_info.sUin.c_str(), TLOG_LEVEL_INFO, __FUNCTION__, "获取玩家ID:%s|填单ID:%s\n", theGetResult[i]["name_0"].c_str(), ics_info.sRoleID.c_str()); if (theGetResult[i]["name_0"] == ics_info.sRoleID) { ics_info.sRoleName = theGetResult[i]["name_1"]; iRoleExistFlag = 1; ValidLOG->WriteLog("获取玩家角色名:%s|角色ID:%s\n", ics_info.sRoleName.c_str(), ics_info.sRoleID.c_str()); WriteLogsRUN(TLOG_TYPE_ROBANLYSVALID, ics_info.sICSId.c_str(), ics_info.sUin.c_str(), TLOG_LEVEL_INFO, __FUNCTION__, "获取玩家等级:%s|角色ID:%s\n", ics_info.sRoleLevel.c_str(), ics_info.sRoleID.c_str()); } } if (0 == iRoleExistFlag) { ValidLOG->WriteLog("没有找到相关玩家角色信息\n"); WriteLogsRUN(TLOG_TYPE_ROBANLYSVALID, ics_info.sICSId.c_str(), ics_info.sUin.c_str(), TLOG_LEVEL_WARNING, __FUNCTION__, "没有找到相关玩家角色信息\n"); return STEP_FLITER_RUN_STAT_ERROR_ROLE_INFO; } //第二步角色基本信息更新:【IDIP】 theParamIn.clear(); theGetResult.clear(); #ifdef fzr ValidLOG->WriteLog("In [fzr] Proccess,第二步角色基本信息更新:角色封号信息\n"); WriteLogsRUN(TLOG_TYPE_ROBANLYSVALID, ics_info.sICSId.c_str(), ics_info.sUin.c_str(), TLOG_LEVEL_INFO, __FUNCTION__, "In [dj2] Proccess,第二步角色基本信息更新:角色封号信息\n"); //theParamIn["charac_no"] = ics_info.sRoleID; theParamIn["world_id"] = ics_info.sWordId; theParamIn["uin"] = ics_info.sUin; #endif iRet = valid_parse.GetFunction(ics_log_header(ics_info.sICSId, ics_info.sUin, ics_info.sServiceID), \ theParamIn, "ics_get_role_ban_info", theGetResult); ValidLOG->WriteLog("In Valid Proccess,DoICSSetRoleInfoPro-ics_get_role_ban_info-iRet=%d\n", iRet); WriteLogsRUN(TLOG_TYPE_ROBANLYSVALID, ics_info.sICSId.c_str(), ics_info.sUin.c_str(), TLOG_LEVEL_INFO, __FUNCTION__, "In Valid Proccess,DoICSSetRoleInfoPro-ics_get_role_ban_info-iRet=%d\n", iRet); if (iRet != 0 || theGetResult.size() != 1) { return STEP_FLITER_RUN_STAT_ERROR_ROLE_INFO; } else { //ics_info.sRoleLevel = theGetResult[0]["level"]; string stop_time = theGetResult[0]["ban_end_time"]; time_t now_time = time(0); string strNTime = LLongToStr(now_time); ValidLOG->WriteLog("In [fzr] Proccess,DoICSSetRoleInfoPro-ics_get_role_ban_info-stop_time=%s\n", stop_time.c_str()); WriteLogsRUN(TLOG_TYPE_ROBANLYSVALID, ics_info.sICSId.c_str(), ics_info.sUin.c_str(), TLOG_LEVEL_WARNING, __FUNCTION__, "In [fzr] Proccess,DoICSSetRoleInfoPro-ics_get_role_ban_info-stop_time=%s\n", stop_time.c_str()); //如果查询到的时间为0,则未封 if (stop_time < strNTime) { ics_info.siRobedRoleBan = "0"; } //如果查询到的时间大于0,则已封,表封停时间 else { ics_info.siRobedRoleBan = "1";//已封号 } } //第三步角色基本信息更新:角色VIP信息 theParamIn.clear(); theGetResult.clear(); #ifdef fzr ValidLOG->WriteLog("In [fzr] Proccess,第三步角色基本信息更新:角色VIP信息\n"); WriteLogsRUN(TLOG_TYPE_ROBANLYSVALID, ics_info.sICSId.c_str(), ics_info.sUin.c_str(), TLOG_LEVEL_WARNING, __FUNCTION__, "In [fzr] Proccess,第三步角色基本信息更新:角色VIP信息\n"); //获取被盗用户的VIP 信息 int iIsVip = ProCheckVIPInfo(ics_info); if(-1 == iIsVip) // 如果获取VIP信息失败则当普通用户来处理 { ics_info.sIsVip = "0"; } else { ics_info.sIsVip = IntToStr(iIsVip); } #endif return 0; }
//--------------------------------------------------------------------------- AnsiString TUDP::GetRemoteAddrPort(void) { AnsiString rv(inet_ntoa(destAddr.sin_addr)); rv += ":" + IntToStr(htons(destAddr.sin_port)); return rv; }
void MapEditor2D::SaveToTextFile (const char *fn) { objectId = 0; FILE *F = fopen (fn, "w+"); string ws = " "; fputs ("Room\n", F); fputs (string(" Size : "+IntToStr (RoomSize.x)+", "+IntToStr (RoomSize.y)+";\n").c_str(), F); fputs ("end;\n\n", F); // Cameras for (int i = 0; i < Cameras.size(); i++) { fputs ("Camera\n", F); fputs (string(" Id : "+IntToStr(i)+";\n").c_str(), F); fputs (string(" Name : \""+wstring2string(Cameras[i]->Name)+"\";\n").c_str(), F); fputs (string(" Position : "+IntToStr (Cameras[i]->Position.x)+", "+IntToStr (Cameras[i]->Position.y)+";\n").c_str(), F); fputs (string(" Size : "+IntToStr (Cameras[i]->Size.x)+", "+IntToStr (Cameras[i]->Size.y)+";\n").c_str(), F); fputs ("end;\n\n", F); } // Layers for (int i = 0; i < Layers.size(); i++) { string bVisible = Layers[i]->Visible ? "True" : "False"; fputs ("Layer\n", F); fputs (string(" Id : "+IntToStr(i)+";\n").c_str(), F); fputs (string(" Name : \""+Layers[i]->Name+"\";\n").c_str(), F); fputs (string(" Visible : "+bVisible+";\n").c_str(), F); fputs ("end;\n\n", F); for (int j = 0; j < Layers[i]->Objects.size(); j++) { Layers[i]->Objects[j]->Id = j; Layers[i]->Objects[j]->LayerId = i; } } // Objects for (int i = 0; i < Layers.size(); i++) { for (int j = 0; j < Layers[i]->Objects.size(); j++) { BaseGameObject *Obj = Layers[i]->Objects[j]; string Type = ""; if (dynamic_cast<PolygonObject*>(Obj)) Type = "Polygon"; else if (dynamic_cast<PointObject*>(Obj)) Type = "Point"; else if (dynamic_cast<LightObject*>(Obj)) Type = "Light"; else Type = "Sprite"; fputs (string("Object ("+Type+")\n").c_str(), F); fputs (string(" Id : " +IntToStr(j)+";\n").c_str(), F); fputs (string(" Layer : " +IntToStr(i)+";\n").c_str(), F); fputs (string(" Class : \"" +Obj->GameClass+";\"\n").c_str(), F); fputs (string(" Position : "+FloatToStr(Obj->Position.x)+", "+FloatToStr(Obj->Position.y)+";\n").c_str(), F); fputs (string(" Size : " +FloatToStr(Obj->Size.x)+", "+FloatToStr(Obj->Size.y)+";\n").c_str(), F); fputs (string(" Rotation : "+FloatToStr(Obj->Rotation)+";\n").c_str(), F); if (dynamic_cast<PolygonObject*>(Obj)) WritePolygonObjectData ((PolygonObject*) Obj, F); else if (dynamic_cast<PointObject*>(Obj)) WritePointObjectData ( (PointObject*) Obj, F); else if (dynamic_cast<LightObject*>(Obj)) WriteLightObjectData ( (LightObject*) Obj, F); else WriteSpriteObjectData (Obj, F); // WriteMaterialData (Obj, F); WritePolygonsData (Obj, F); WriteLabelsData (Obj, F); fputs ("end;\n\n", F); /*if (dynamic_cast<PolygonObject*>(Obj)) { } else { fputs ("end;\n\n", F); }*/ } } fclose (F); }
void TIniFile::WriteInteger(const wxString &Section, const wxString &Ident, long Value) { WriteString(Section, Ident, IntToStr(Value)); }
void __fastcall TForm2::TBTimeChange(TObject *Sender) { LTime->Caption = IntToStr(TBTime->Position * 1000) + " ms"; Form1->Timer1->Interval = (TBTime->Position * 1000); }
//# MENU feldtest void feld_menu(){ getInputWaitRelease(); SETUPgout(BY_AMP); SETUPgout(BY_AMP_N); SETUPgout(TX_RX); SETUPgout(TX_RX_N); SETUPgout(BY_MIX); SETUPgout(BY_MIX_N); SETUPgout(LOW_HIGH_FILT); SETUPgout(LOW_HIGH_FILT_N); SETUPgout(TX_AMP); SETUPgout(RX_LNA); SETUPgout(CE_VCO); SETUPgout(MIXER_EN); char tu=0,td=0,tl=0,tr=0; char tuN=0,tdN=0,tlN=0,trN=0; char page=0; char tu2=0,td2=0,td2N=0,tl2=0,tr2=0; uint16_t sf=3500; char tu3=0,td3=0,tl3=0,tr3=0; int ctr=0; while (1) { lcdClear(0xff); lcdPrintln("Feld-Test v12"); lcdPrintln(""); lcdPrint("Page ");lcdPrintln(IntToStr(page,2,0)); if (page==0){ tu=GET(BY_MIX); tuN=GET(BY_MIX_N); lcdPrint(IntToStr(tu,1,F_HEX)); lcdPrint(IntToStr(tuN,1,F_HEX)); lcdPrintln(" Up BY_MIX/_N"); td=GET(BY_AMP); tdN=GET(BY_AMP_N); lcdPrint(IntToStr(td,1,F_HEX)); lcdPrint(IntToStr(tdN,1,F_HEX)); lcdPrintln(" Dn BY_AMP/_N"); tl=GET(TX_RX);tlN=GET(TX_RX_N); lcdPrint(IntToStr(tl,1,F_HEX)); lcdPrint(IntToStr(tlN,1,F_HEX)); lcdPrintln(" Lt TX_RX/_N"); tr=GET(LOW_HIGH_FILT); trN=GET(LOW_HIGH_FILT_N); lcdPrint(IntToStr(tr,1,F_HEX)); lcdPrint(IntToStr(trN,1,F_HEX)); lcdPrintln(" Rt LOW_HIGH_FILT/_N"); lcdPrintln("Enter for next page"); lcdDisplay(); switch(getInput()){ case BTN_UP: tu=1-tu; if (tu){ OFF(BY_MIX_N); ON(BY_MIX); }else{ OFF(BY_MIX); ON(BY_MIX_N); }; break; case BTN_DOWN: td=1-td; if (td){ OFF(BY_AMP_N); ON(BY_AMP); }else{ OFF(BY_AMP); ON(BY_AMP_N); }; break; case BTN_LEFT: tl=1-tl; if (tl){ OFF(TX_RX_N); ON(TX_RX); }else{ OFF(TX_RX); ON(TX_RX_N); }; break; case BTN_RIGHT: tr=1-tr; if (tr){ OFF(LOW_HIGH_FILT_N); ON(LOW_HIGH_FILT); }else{ OFF(LOW_HIGH_FILT); ON(LOW_HIGH_FILT_N); }; break; case BTN_ENTER: page++; break; }; }else if (page==1){ lcdPrint(" "); lcdPrintln(" Up "); td2=GET(RX_LNA);td2N=GET(TX_AMP); lcdPrint(IntToStr(td2,1,F_HEX)); lcdPrint(IntToStr(td2N,1,F_HEX)); lcdPrintln(" Dn RX/TX"); lcdPrint(IntToStr(tl2,1,F_HEX)); lcdPrint(" "); lcdPrintln(" Lt MIXER_EN"); lcdPrint(IntToStr(tr2,1,F_HEX)); lcdPrint(" "); if(tr2){ lcdPrintln(" Rt SI-clk_dis"); }else{ lcdPrintln(" Rt SI-clk_en"); }; lcdPrintln("Enter for next page"); lcdDisplay(); switch(getInput()){ case BTN_UP: tu2=1-tu2; if (tu2){ ; }else{ ; }; break; case BTN_DOWN: td2=td2+2*td2N; td2++; td2=td2%3; switch (td2){ case(0): OFF(RX_LNA); OFF(TX_AMP); break; case(1): ON(RX_LNA); OFF(TX_AMP); break; case(2): OFF(RX_LNA); ON(TX_AMP); break; }; break; case BTN_LEFT: tl2=1-tl2; if (tl2){ ON(MIXER_EN); }else{ OFF(MIXER_EN); }; break; case BTN_RIGHT: tr2=1-tr2; if (tr2){ si5351c_power_down_all_clocks(); }else{ si5351c_set_clock_source(PLL_SOURCE_XTAL); }; break; case BTN_ENTER: page++; break; }; }else if (page==2){ lcdPrint("SF: ");lcdPrint(IntToStr(sf,4,F_LONG)); lcdPrintln(" MHz"); tl3=GET(CE_VCO); lcdPrint(IntToStr(tl3,1,F_HEX)); lcdPrint(" "); lcdPrintln(" Lt CE_VCO"); lcdPrint(" "); lcdPrintln(" Rt "); lcdPrintln("Enter for next page"); lcdDisplay(); switch(getInput()){ case BTN_UP: sf+=100; mixer_set_frequency(sf); break; case BTN_DOWN: sf-=100; mixer_set_frequency(sf); break; case BTN_LEFT: tl3=1-tl3; if (tl3){ ON(CE_VCO); mixer_setup(); mixer_set_frequency(sf); }else{ OFF(CE_VCO); }; break; case BTN_RIGHT: tr3=1-tr3; if (tr3){ ; }else{ ; }; break; case BTN_ENTER: page++; break; }; }; if (page>2){page=0;} ON(LED1); delay(200000); OFF(LED1); delay(200000); // ctr++; lcdNl(); lcdPrint(IntToStr(ctr,4,F_HEX)); lcdDisplay(); } };
void __fastcall TCZYJSQFrm::QueryBTNClick(TObject *Sender) { if(JSBeginDateEdit->Text.IsEmpty()||JSEndDateEdit->Text.IsEmpty()) { ShowMessage("必须完整填写查询信息!"); return; } QSSJstr = JSBeginDateEdit->Text + " 00:00:00"; JZSJstr = JSEndDateEdit->Text + " 23:59:59"; QCZYstr = USERComboBox->Text; // String sqlstr = "select SUM(case when SFLX='K' then SF_YE else 0 end) as KZE,SUM(case when SFLX='W' then SF_YE else 0 end) as KCB,SUM(case when SFLX='K' then 1 else 0 end) as KZCS,SUM(case when SFLX='a' then SFJE else 0 end) as AZE,SUM(case when SFLX='a' then 1 else 0 end) as AZCS,SUM(case when SFLX='I' then SFJE else 0 end) as IZE,SUM(case when SFLX='I' then 1 else 0 end) as IZCS,SUM(case when SFLX='F' then SF_YE else 0 end) as GZE,SUM(case when SFLX='G' then SFJE else 0 end) as GCB,SUM(case when SFLX='G' then 1 else 0 end) as GZCS,SUM(case when SFLX='D' then SFJE else 0 end) as DZE,SUM(case when SFLX='D' then 1 else 0 end) as DZCS from MXBAK where SFRQ>='"; String sqlstr = "select SUM(case when SFLX='K' then MXBAK.SF_YE else 0 end) as KZE,SUM(case when SFLX='W' then MXBAK.SF_YE else 0 end) as KCB,SUM(case when SFLX='K' then 1 else 0 end) as KZCS,SUM(case when SFLX='a' then MXBAK.SFJE else 0 end) as AZE,SUM(case when SFLX='a' then 1 else 0 end) as AZCS,SUM(case when SFLX='I' then MXBAK.SFJE else 0 end) as IZE,SUM(case when SFLX='I' then 1 else 0 end) as IZCS,SUM(case when SFLX='F' then MXBAK.SF_YE else 0 end) as GZE,SUM(case when SFLX='G' then MXBAK.SFJE else 0 end) as GCB,SUM(case when SFLX='G' then 1 else 0 end) as GZCS,SUM(case when SFLX='D' then -MXBAK.SFJE else 0 end) as DZE,SUM(case when SFLX='D' then 1 else 0 end) as DZCS from MXBAK join CARD_F on MXBAK.BH=CARD_F.BH and MXBAK.KH=CARD_F.KH where SFRQ>='"; sqlstr += QSSJstr; sqlstr += "' and SFRQ<='"; sqlstr += JZSJstr; sqlstr += "'"; // String TKsqlstr = "select SUM(case when YW=1 then 1 else 0 end) as TZCS,SUM(case when YW=1 then TKJE else 0 end) as TZE,SUM(case when YW=1 then TKCB else 0 end) as RZE,SUM(case when YW=0 then 1 else 0 end) as QZCS,SUM(case when YW=0 then TKJE else 0 end) as QZE from CARD_T where TKRQ>='"; String TKsqlstr = "select SUM(case when YW=1 then 1 else 0 end) as TZCS,SUM(case when YW=1 then -TKJE else 0 end) as TZE,SUM(case when YW=1 then -TKCB else 0 end) as RZE,SUM(case when YW=0 then 1 else 0 end) as QZCS,SUM(case when YW=0 then -TKJE else 0 end) as QZE from CARD_T join OperationList on CARD_T.KH=OperationList.KH where (OperationList.LX='退卡' or OperationList.LX='无卡退卡' or OperationList.LX='补发卡') and CARD_T.TKRQ>='"; TKsqlstr += QSSJstr; TKsqlstr += "' and CARD_T.TKRQ<='"; TKsqlstr += JZSJstr; TKsqlstr += "'"; if(QCZYstr != "所有系统用户"&&!QCZYstr.IsEmpty()) { sqlstr += " and CZY='"; sqlstr += QCZYstr; sqlstr += "'"; TKsqlstr += " and CARD_T.TKOperator='"; TKsqlstr += QCZYstr; TKsqlstr += "'"; } JSADOQuery->Close(); JSADOQuery->SQL->Clear(); JSADOQuery->SQL->Add(sqlstr); JSADOQuery->Open(); KZCSstr = JSADOQuery->FieldByName("KZCS")->AsInteger; KCBstr = JSADOQuery->FieldByName("KCB")->AsFloat; KZEstr = JSADOQuery->FieldByName("KZE")->AsFloat; AZCSstr = JSADOQuery->FieldByName("AZCS")->AsInteger; AZEstr = JSADOQuery->FieldByName("AZE")->AsFloat; IZCSstr = JSADOQuery->FieldByName("IZCS")->AsInteger; IZEstr = JSADOQuery->FieldByName("IZE")->AsFloat; GZCSstr = JSADOQuery->FieldByName("GZCS")->AsInteger; GCBstr = JSADOQuery->FieldByName("GCB")->AsFloat; GZEstr = "0";//JSADOQuery->FieldByName("GZE")->AsFloat; DZCSstr = JSADOQuery->FieldByName("DZCS")->AsInteger; DZEstr = JSADOQuery->FieldByName("DZE")->AsFloat; JSADOQuery->Close(); JSADOQuery->SQL->Clear(); JSADOQuery->SQL->Add(TKsqlstr); JSADOQuery->Open(); TZCSstr = JSADOQuery->FieldByName("TZCS")->AsInteger; TCBstr = JSADOQuery->FieldByName("RZE")->AsFloat; TZEstr = JSADOQuery->FieldByName("TZE")->AsFloat; QZCSstr = JSADOQuery->FieldByName("QZCS")->AsInteger; QZEstr = JSADOQuery->FieldByName("QZE")->AsFloat; JSADOQuery->Close(); cxTextEdit1->Text = KZCSstr; cxTextEdit2->Text = KCBstr; cxTextEdit3->Text = KZEstr; cxTextEdit4->Text = AZCSstr; cxTextEdit5->Text = ACBstr; cxTextEdit6->Text = AZEstr; cxTextEdit7->Text = IZCSstr; cxTextEdit8->Text = ICBstr; cxTextEdit9->Text = IZEstr; cxTextEdit10->Text = GZCSstr; cxTextEdit11->Text = GCBstr; cxTextEdit12->Text = GZEstr; cxTextEdit13->Text = DZCSstr; cxTextEdit14->Text = DCBstr; cxTextEdit15->Text = DZEstr; cxTextEdit16->Text = CZCSstr; cxTextEdit17->Text = CCBstr; cxTextEdit18->Text = CZEstr; cxTextEdit19->Text = TZCSstr; cxTextEdit20->Text = TCBstr; cxTextEdit21->Text = TZEstr; cxTextEdit22->Text = QZCSstr; cxTextEdit23->Text = QCBstr; cxTextEdit24->Text = QZEstr; JSZCSstr = IntToStr(StrToInt(KZCSstr)+StrToInt(AZCSstr)+StrToInt(IZCSstr)+ StrToInt(GZCSstr)+StrToInt(DZCSstr)+StrToInt(CZCSstr)+ StrToInt(TZCSstr)+StrToInt(QZCSstr)); JSZCBstr = FloatToStr(StrToFloat(KCBstr)+StrToFloat(ACBstr)+StrToFloat(ICBstr)+ StrToFloat(GCBstr)+StrToFloat(DCBstr)+StrToFloat(CCBstr)+ StrToFloat(TCBstr)+StrToFloat(QCBstr)); JSZJEstr = FloatToStr(StrToFloat(KZEstr)+StrToFloat(AZEstr)+StrToFloat(IZEstr)+ StrToFloat(GZEstr)+StrToFloat(DZEstr)+StrToFloat(CZEstr)+ StrToFloat(TZEstr)+StrToFloat(QZEstr)); cxTextEdit25->Text = JSZCSstr; cxTextEdit26->Text = JSZCBstr; cxTextEdit27->Text = JSZJEstr; ZCZJEstr = FloatToStr(StrToFloat(DZEstr)+StrToFloat(TZEstr)+StrToFloat(QZEstr)+StrToFloat(TCBstr)); SRZJEstr = FloatToStr(StrToFloat(AZEstr)+StrToFloat(IZEstr)+StrToFloat(KZEstr)+StrToFloat(GCBstr)); ZJSstr = FloatToStr(StrToFloat(SRZJEstr)+StrToFloat(ZCZJEstr)); cxTextEdit28->Text = ZCZJEstr; cxTextEdit29->Text = SRZJEstr; cxTextEdit30->Text = ZJSstr; ExportBTN->Enabled = true; PreviewBTN->Enabled = true; }
void main() { current_duty=125; Lcd_Init(); // Initialize LCD Lcd_Cmd(_LCD_CLEAR); // Clear display Lcd_Cmd(_LCD_CURSOR_OFF); // Cursor off //LCD_show(); DDRB = 0xFF; // Set PORTB as output //DDRC = 0xFF; // Set PORTC as output Lcd_Cmd(_LCD_CLEAR); Flag=3; PWM1_Init(_PWM1_FAST_MODE, _PWM1_PRESCALER_8, _PWM1_NON_INVERTED, current_duty); while (1) { LDR_1 = ADC_Read(0); // get ADC value from 2nd channel LDR_2 = ADC_Read(1); LDR_3 = ADC_Read(2); LDR_4 = ADC_Read(3); LDR_5 = ADC_Read(4); prev_pos=Flag; if (LDR_1<LDR_2 && LDR_1<LDR_3 && LDR_1<LDR_4) { Flag=1; } else if (LDR_2<LDR_1 && LDR_2<LDR_3 && LDR_2<LDR_4) { Flag=2; } else if (LDR_3<LDR_1 && LDR_3<LDR_2 && LDR_3<LDR_4) { Flag=3; } else if (LDR_4<LDR_1 && LDR_4<LDR_2 && LDR_4<LDR_3) { Flag=4; } goal=Flag; Lcd_Cmd(_LCD_CLEAR); IntToStr(goal,adc_show1); IntToStr(prev_pos,adc_show2); IntToStr(LDR_3,adc_show3); IntToStr(LDR_4,adc_show4); IntToStr(LDR_5,adc_show5); Lcd_Out(1,1,adc_show1); Lcd_Out(1,8,adc_show2); //Lcd_Out(2,1,adc_show3); //Lcd_Out(2,6,adc_show4); //Delay_ms(5000); //Lcd_Out(2,10,adc_show5); // /*Lcd_Out(1,1,txt5); IntToStr(LDR_1,adc_show); Lcd_Out(2,1,adc_show); Delay_ms(5000); Lcd_Cmd(_LCD_CLEAR); Delay_ms(1000); // Lcd_Out(1,1,txt6); IntToStr(LDR_2,adc_show); Lcd_Out(2,1,adc_show); Delay_ms(5000); Lcd_Cmd(_LCD_CLEAR); Delay_ms(1000); // Lcd_Out(1,1,txt7); IntToStr(LDR_3,adc_show); Lcd_Out(2,1,adc_show); Delay_ms(5000); Lcd_Cmd(_LCD_CLEAR); Delay_ms(1000); // Lcd_Out(1,1,txt8); IntToStr(LDR_4,adc_show); Lcd_Out(2,1,adc_show); Delay_ms(5000); Lcd_Cmd(_LCD_CLEAR); Delay_ms(1000); */ //Lcd_Cmd(_LCD_CLEAR); //Delay_ms(1000); //IntToStr(goal,gool); //IntToStr(prev_pos,prv); //Lcd_Out(1,1,gool); //Lcd_Out(1,6,prv); // motor rotation Start if (goal==prev_pos) { Lcd_Out(2,1,txt2); Delay_ms(1000); } else { Lcd_Out(2,1,txt1); if (goal>prev_pos) { for (i=prev_pos;i<=goal;i++) { PORTB.B0=0; PORTB.B1=1; Delay_ms(one_rot); } } else { for (i=prev_pos;i<=(4+goal);i++) { PORTB.B0=0; PORTB.B1=1; Delay_ms(one_rot); } } } PORTB.B0=1; PORTB.B1=1;// Motor stop Delay_ms(1000); //motor rotation End } }
//--------------------------------------------------------------------------- void __fastcall TFormReportDocZachislenie::CreateWordDocument(void) { int numspec,numform; InitReportQuery(); WordMacros macros; macros.BeginMacros(); macros.InsertLine("Selection.SetRange Start:=0, End:=0"); macros.SelectionParagraphFormat("Alignment = wdAlignParagraphJustify"); macros.SelectionFont("Bold = true"); macros.SelectionText("Слушали: "); macros.SelectionFont("Bold = false"); macros.SelectionText("о зачислении студентами и слушателями ННГАСУ на места с оплатой стоимости обучения на договорной основе."); macros.SelectionTypeParagraph(); macros.SelectionTypeParagraph(); macros.SelectionFont("Bold = true"); macros.SelectionText("Постановили: "); macros.SelectionFont("Bold = false"); macros.SelectionText("зачислить студентами и слушателями ННГАСУ на места с оплатой стоимости обучения на договорной основе."); macros.SelectionTypeParagraph(); macros.SelectionParagraphFormat("Alignment = wdAlignParagraphCenter"); macros.SelectionTypeParagraph(); macros.SelectionFont("Bold = false"); macros.SelectionText("Зачислить студентами 1-го курса с 01 сентября 20__ года на места с оплатой стоимости обучения на договорной основе следующих абитуриентов:"); macros.SelectionTypeParagraph(); macros.SelectionFont("Bold = true"); macros.SelectionText(" в институт экономики, управления и права"); macros.SelectionTypeParagraph(); macros.SelectionFont("Bold = false"); if (ZMySqlQuery->RecordCount==0) return; numspec=-1; numform=-1; int CountTables=0; int CountRows; int CountPrevRows=0; int CountPrevPrevRows=0; AnsiString Str,Strtmp; for (int i = 0; i < ZMySqlQuery->RecordCount; i++) { ZMySqlQuery->RecNo = i+1; if ( numspec!=ZMySqlQuery->Fields->FieldByNumber(4)->AsString.ToInt() || numform!=ZMySqlQuery->Fields->FieldByNumber(5)->AsString.ToInt() ) { numspec=ZMySqlQuery->Fields->FieldByNumber(4)->AsString.ToInt(); numform=ZMySqlQuery->Fields->FieldByNumber(5)->AsString.ToInt(); macros.SelectionTypeParagraph(); macros.SelectionTypeParagraph(); macros.SelectionParagraphFormat("Alignment = wdAlignParagraphCenter"); macros.SelectionText("на 1 курс по специальности \""); macros.SelectionFont("Bold = true"); macros.SelectionText(WCGetTitleForKeyNum(SPECS,numspec)); macros.SelectionText("\""); macros.SelectionFont("Bold = false"); macros.SelectionText(", с формой обучения - "); macros.SelectionText(WCGetTitleForKeyNum(EDUFORMS,numform)); macros.SelectionTypeParagraph(); macros.SelectionTypeParagraph(); CountRows=0; for (int j=i;j<ZMySqlQuery->RecordCount;j++) { ZMySqlQuery->RecNo=j+1; if (numspec!=ZMySqlQuery->Fields->FieldByNumber(4)->AsString.ToInt() || numform!=ZMySqlQuery->Fields->FieldByNumber(5)->AsString.ToInt()) break; CountRows++; } ZMySqlQuery->RecNo=i+1; macros.TablesAdd(CountRows, 6); macros.TableStyle(WordMacros::StyleNone); CountTables++; macros.TablesColumns(CountTables, 1, "Width = 30"); macros.TablesColumns(CountTables, 2, "Width = 90"); macros.TablesColumns(CountTables, 3, "Width = 80"); macros.TablesColumns(CountTables, 4, "Width = 90"); macros.TablesColumns(CountTables, 5, "Width = 100"); macros.TablesColumns(CountTables, 6, "Width = 50"); macros.TablesColumns(CountTables, 1, "Select"); macros.SelectionParagraphFormat("Alignment = wdAlignParagraphRight"); macros.TablesColumns(CountTables, 2, "Select"); macros.SelectionParagraphFormat("Alignment = wdAlignParagraphLeft"); macros.TablesColumns(CountTables, 3, "Select"); macros.SelectionParagraphFormat("Alignment = wdAlignParagraphLeft"); macros.TablesColumns(CountTables, 4, "Select"); macros.SelectionParagraphFormat("Alignment = wdAlignParagraphLeft"); macros.TablesColumns(CountTables, 5, "Select"); macros.SelectionParagraphFormat("Alignment = wdAlignParagraphRight"); macros.TablesColumns(CountTables, 6, "Select"); macros.SelectionParagraphFormat("Alignment = wdAlignParagraphLeft"); macros.InsertLine("ActiveDocument.Tables.Item(" + IntToStr(CountTables) + ").Range.Font.Size = 10"); CountPrevPrevRows=CountPrevRows; CountPrevRows+=CountRows; } macros.TablesCell(CountTables, i+1-CountPrevPrevRows, 1, "Range.Text = \"" + AnsiString(i+1-CountPrevPrevRows) + "\""); macros.TablesCell(CountTables, i+1-CountPrevPrevRows, 2, "Range.Text = \"" + ZMySqlQuery->Fields->FieldByNumber(1)->AsString + "\""); macros.TablesCell(CountTables, i+1-CountPrevPrevRows, 3, "Range.Text = \"" + ZMySqlQuery->Fields->FieldByNumber(2)->AsString + "\""); macros.TablesCell(CountTables, i+1-CountPrevPrevRows, 4, "Range.Text = \"" + ZMySqlQuery->Fields->FieldByNumber(3)->AsString + "\""); Str=WCGetTitleForKeyNum(DOGSHIFRS,ZMySqlQuery->Fields->FieldByNumber(6)->AsString.ToInt())+"-"; Str+=WCGetTitleForKeyNum(DOGYEARS,ZMySqlQuery->Fields->FieldByNumber(8)->AsString.ToInt()); Strtmp=WCGetTitleForKeyNum(DOGFASTS,ZMySqlQuery->Fields->FieldByNumber(9)->AsString.ToInt()); if (!Strtmp.IsEmpty()) Str+="-"+Strtmp; Str+=" -"; macros.TablesCell(CountTables, i+1-CountPrevPrevRows, 5, "Range.Text = \"" + Str + "\""); macros.TablesCell(CountTables, i+1-CountPrevPrevRows, 6, "Range.Text = \"" + ZMySqlQuery->Fields->FieldByNumber(7)->AsString + "\""); if (i+1 == CountPrevRows) { macros.TablesCell(CountTables, CountRows, 1, "Range.Select"); macros.InsertLine("Selection.MoveDown Unit := wdLine, Count := 2"); } } macros.SelectionParagraphFormat("Alignment = wdAlignParagraphLeft"); macros.SelectionTypeParagraph(); macros.SelectionTypeParagraph(); macros.SelectionTypeParagraph(); macros.SelectionTypeParagraph(); macros.SelectionText("Председатель приемной комиссии"); macros.SelectionTypeParagraph(); macros.SelectionText("ректор, академик Е.В. Копосов"); macros.SelectionTypeParagraph(); macros.SelectionTypeParagraph(); macros.SelectionTypeParagraph(); macros.SelectionText("Ответственный секретарь"); macros.SelectionTypeParagraph(); macros.SelectionText("приемной комиссии, доцент Н.Д. Жилина"); macros.InsertLine("ActiveWindow.ActivePane.VerticalPercentScrolled = 0"); macros.EndMacros(); macros.RunMacros(); }
//--------------------------------------------------------------------------- void __fastcall TPingTstForm::Ping1EchoRequest(TObject *Sender, TObject *Icmp) { DisplayMemo->Lines->Add("Sending " + IntToStr(Ping1->Size) + " bytes to " + Ping1->HostName + " (" + Ping1->HostIP + ")"); }
bool IMask3x3::setValue(TypeConfig *type, int x, int y, int value) { if (type->getName()!="Mask3x3") return false; type->setInt("d"+IntToStr(y)+"_"+IntToStr(x), value); return true; }
void __fastcall TMailSndForm::SmtpClientRequestDone(TObject *Sender, TSmtpRequest RqType, WORD Error) { DisplayMemo->Lines->Add("RequestDone Rq=" + IntToStr(RqType) + " Error=" + IntToStr(Error)); }
//--------------------------------------------------------------------------- void __fastcall TGroundGroupForm::AltSpinButtonUpClick(TObject *Sender) { GGSpeedData->Text = IntToStr(StrToInt(GGSpeedData->Text) + 1); }
//--------------------------------------------------------------------------- void __fastcall THttpTestForm::SslHttpCli1SslHandshakeDone(TObject *Sender, WORD ErrCode, TX509Base *PeerCert, bool &Disconnect) { TX509List* CertChain; AnsiString Msg; int I; AnsiString IP; AnsiString Hash; TSslHttpCli* HttpCli; Display("Handshake done, error #" + IntToStr(ErrCode)); HttpCli = (TSslHttpCli*)Sender; CertChain = HttpCli->CtrlSocket->SslCertChain; Display("! " + IntToStr(CertChain->Count) + " Certificate(s) in the verify chain."); // A simple custom verification that may be unsecure! // See also SslVerifyPeer above-> if ((ErrCode != 0) || (HttpCli->CtrlSocket->SslSessionReused()) || !HttpCli->SslContext->SslVerifyPeer) return; IP = HttpCli->CtrlSocket->GetPeerAddr(); Hash = PeerCert->Sha1Hex; if (HttpCli->SslAcceptableHosts->IndexOf(IP + Hash) > -1) return; HttpCli->Abort(); if (CertChain->Count > 0) { Msg = "Certificates in chain:\r\n"; for (I = 0; I < CertChain->Count; I++) { if (Msg.Length() > 0) Msg = Msg + "\r\n"; Msg = Msg + IntToStr(I + 1) + ")" + " SubjectCommonName: " + CertChain->Items[I]->SubjectCName + "\r\n" + " Last VerifyResult: " + CertChain->Items[I]->VerifyErrMsg + "\r\n"; } } // Post connection check in case of SSL handshake went well // Checks whether argument HostOrIp matches dnsName or commonName // of a peer certificate, this is the string-argument of the function // For demo purposes a simple, constant string is passed-> if (!PeerCert->PostConnectionCheck("www->overbyte->be")) { if (Msg.Length() > 0) Msg = Msg + "\r\n"; if (MessageDlg(Msg + "Post connection check:\r\n" + "The name specified in the peer certificate is\r\n" + "invalid or does not match the site!\r\n\r\n" + "Do you want to trust the connection anyway ?", mtWarning, TMsgDlgButtons() << mbYes << mbNo, 0) != mrYes) { Disconnect = TRUE; Display("Post connection check failed, peer will be disconnected"); } else { // Add peer cert to the trusted certs HttpCli->SslAcceptableHosts->Add(IP + Hash); PostMessage(Handle, WM_SSL_NOT_TRUSTED, 0, (int)Sender); } } else { if (MessageDlg(Msg + "\r\n" + "Peer certificate was issued to the site.\r\n\r\n" + "Do you want to trust the connection anyway ?", mtWarning, TMsgDlgButtons() << mbYes << mbNo, 0) != mrYes) { Disconnect = TRUE; Display("Custom verification failed, peer will be disconnected"); } else { // Add peer cert to the trusted certs HttpCli->SslAcceptableHosts->Add(IP + Hash); PostMessage(Handle, WM_SSL_NOT_TRUSTED, 0, Integer(Sender)); } } }