void __fastcall TFrmDemand::Button_add_textClick(TObject *Sender) { Demand* text = new Demand; text->text_dem = string(AnsiString(Edit_textNode->Text).c_str()); TreeView_doc_Struct->Items->AddObject(NULL, this->Edit_textNode->Text, (void*)text); }
void __fastcall TfrmMain::Open1Click(TObject *Sender) { if (CloseTexture("This will close current texture, are you sure?", "Warning") == false) { return; } if (openedByClicking) { openedByClicking = false; } else { if (dlgOpen->Execute() == false) { return; } textureFilename = dlgOpen->Files->Strings[0].c_str(); } loadingTexture = true; nrLayers = 0; int handle; if ((handle = open(textureFilename, O_RDONLY | O_BINARY, S_IREAD)) == -1) { Application->MessageBoxA("Error opening file", "Error", MB_OK); return; } char header[5] = {'0','0','0','0','\0'}; read(handle, header, 4); int version = - 1; if (strcmp(header, TEXGEN_HEADER1) == 0) { version = 1; } else if (strcmp(header, TEXGEN_HEADER2) == 0) { version = 2; } if (version == -1) { Application->MessageBoxA("Not a valid Aardbei Texture Studio file", "Error", MB_OK); return; } read(handle, &nrFilters, 2); read(handle, &textureWidth, 2); read(handle, &textureHeight, 2); generator = new TextureGenerator(textureWidth, textureHeight); NewLayer1Click(this); layerPreview = new unsigned int[textureWidth * textureHeight]; for (int i = 0; i < nrFilters; i++) { stbMain->SimpleText = "Loading texture (filter " + IntToStr(i + 1) + " / " + IntToStr(nrFilters) + ")"; unsigned char command; long offset = lseek(handle, 0, SEEK_CUR); read(handle, &command, 1); lseek(handle, offset, SEEK_SET); if (command == TEXGEN_NEWLAYER) { Filter *filter = new Filter(); filters[i] = filter; read(handle, filter, sizeof(Filter)); NewLayer1Click(this); } if (command == TEXGEN_CHANGELAYER) { FilterChangeLayer *filter = new FilterChangeLayer(); filters[i] = filter; read(handle, filter, sizeof(FilterChangeLayer)); frmLayers[filter->layerNr]->SetFocus(); } if (command == TEXGEN_COPY) { FilterCopy *filter = new FilterCopy(); filters[i] = filter; read(handle, filter, sizeof(FilterCopy)); generator->FilterCopy(generator->layerActive, generator->layers[filter->sourceNr], filter->channel); } if (command == TEXGEN_ADD) { FilterAdd *filter = new FilterAdd(); filters[i] = filter; read(handle, filter, sizeof(FilterAdd)); generator->FilterAdd(generator->layerActive, generator->layers[filter->sourceNr], filter->channel); } if (command == TEXGEN_SUB) { FilterSub *filter = new FilterSub(); filters[i] = filter; read(handle, filter, sizeof(FilterSub)); generator->FilterSub(generator->layerActive, generator->layers[filter->sourceNr], filter->channel); } if (command == TEXGEN_MUL) { FilterMul *filter = new FilterMul(); filters[i] = filter; read(handle, filter, sizeof(FilterMul)); generator->FilterMul(generator->layerActive, generator->layers[filter->sourceNr], filter->channel); } if (command == TEXGEN_NOTNULLCOPY) { FilterNotNull *filter = new FilterNotNull(); filters[i] = filter; read(handle, filter, sizeof(FilterNotNull)); generator->FilterNotNullCopy(generator->layerActive, generator->layers[filter->sourceNr], filter->channel); } if (command == TEXGEN_MIX) { FilterMix *filter = new FilterMix(); filters[i] = filter; read(handle, filter, sizeof(FilterMix)); generator->FilterMix(generator->layerActive, generator->layers[filter->sourceNr], filter->alpha, filter->channel); } if (command == TEXGEN_SHADE) { FilterShade *filter = new FilterShade(); filters[i] = filter; read(handle, filter, sizeof(FilterShade)); generator->FilterShade(generator->layerActive, generator->layers[filter->sourceNr], filter->lightning, filter->channel); } if (command == TEXGEN_PLASMA) { FilterPlasma *filter = new FilterPlasma(); filters[i] = filter; read(handle, filter, sizeof(FilterPlasma)); generator->FilterPlasma(filter->aantalX, filter->aantalY, filter->shiftX, filter->shiftY, filter->channel, filter->method); } if (command == TEXGEN_FRACTALPLASMA) { FilterFractalPlasma *filter = new FilterFractalPlasma(); filters[i] = filter; read(handle, filter, sizeof(FilterFractalPlasma)); generator->FilterFractalPlasma(filter->factor, filter->seed, filter->channel, filter->method); } if (command == TEXGEN_CELLS) { FilterCells *filter = new FilterCells(); filters[i] = filter; read(handle, filter, sizeof(FilterCells)); generator->FilterCells(filter->density, filter->strength, filter->seed, filter->channel, filter->method); } if (command == TEXGEN_TEXT) { FilterText *filter = new FilterText(); filters[i] = filter; read(handle, filter, sizeof(FilterText)); generator->FilterText(filter->text, filter->font, filter->color, filter->size, filter->x, filter->y, filter->aa, filter->style, filter->clip, filter->method); } if (command == TEXGEN_BRUSH) { FilterBrush *filter = new FilterBrush(); filters[i] = filter; read(handle, filter, sizeof(FilterBrush)); generator->FilterBrush(filter->x, filter->y, filter->size, filter->density, filter->hardness, filter->opacity, filter->color); } if (command == TEXGEN_NOISE) { FilterNoise *filter = new FilterNoise(); filters[i] = filter; read(handle, filter, sizeof(FilterNoise)); generator->FilterNoise(filter->strength, filter->uniform, filter->multi, filter->seed, filter->channel, filter->method); } if (command == TEXGEN_RECTANGLE) { FilterRectangle *filter = new FilterRectangle(); filters[i] = filter; read(handle, filter, sizeof(FilterRectangle)); generator->FilterRectangle(filter->x1, filter->y1, filter->x2, filter->y2, filter->color, filter->method); } if (command == TEXGEN_GAUSSIANBLUR) { FilterGaussianBlur *filter = new FilterGaussianBlur(); filters[i] = filter; read(handle, filter, sizeof(FilterGaussianBlur)); if (version == 1) { filter->radius *= 27; } generator->FilterGaussianBlur(filter->radius); } if (command == TEXGEN_MOTIONBLUR) { FilterMotionBlur *filter = new FilterMotionBlur(); filters[i] = filter; read(handle, filter, sizeof(FilterMotionBlur)); generator->FilterMotionBlur(filter->angle, filter->radius); } if (command == TEXGEN_DIRBLUR) { FilterDirBlur *filter = new FilterDirBlur(); filters[i] = filter; read(handle, filter, sizeof(FilterDirBlur)); generator->FilterDirBlur(generator->layers[filter->sourceNr], filter->aantal, filter->channel); } if (command == TEXGEN_BOXBLUR) { Filter *filter = new Filter(); filters[i] = filter; read(handle, filter, sizeof(Filter)); generator->FilterBoxBlur(); } if (command == TEXGEN_EMBOSS) { Filter *filter = new Filter(); filters[i] = filter; read(handle, filter, sizeof(Filter)); generator->FilterEmboss(); } if (command == TEXGEN_SOBEL) { Filter *filter = new Filter(); filters[i] = filter; read(handle, filter, sizeof(Filter)); generator->FilterSobel(); } if (command == TEXGEN_EDGE) { Filter *filter = new Filter(); filters[i] = filter; read(handle, filter, sizeof(Filter)); generator->FilterEdge(); } if (command == TEXGEN_TOPLEFT) { Filter *filter = new Filter(); filters[i] = filter; read(handle, filter, sizeof(Filter)); generator->FilterTopLeft(); } if (command == TEXGEN_HSV) { FilterHsv *filter = new FilterHsv(); filters[i] = filter; read(handle, filter, sizeof(FilterHsv)); generator->FilterHsv(filter->rotation, filter->saternation); } if (command == TEXGEN_INVERT) { Filter *filter = new Filter(); filters[i] = filter; read(handle, filter, sizeof(Filter)); generator->FilterInvert(); } if (command == TEXGEN_CONTRAST) { FilterContrast *filter = new FilterContrast(); filters[i] = filter; read(handle, filter, sizeof(FilterContrast)); generator->FilterContrast(filter->strength); } if (command == TEXGEN_BRIGHTNESS) { FilterBrightness *filter = new FilterBrightness(); filters[i] = filter; read(handle, filter, sizeof(FilterBrightness)); generator->FilterBrightness(filter->strength); } if (command == TEXGEN_SINEDISTORT) { FilterSineDistort *filter = new FilterSineDistort(); filters[i] = filter; read(handle, filter, sizeof(FilterSineDistort)); generator->FilterSineDistort(filter->nrX, filter->nrY, filter->ampX, filter->ampY, filter->shiftX, filter->shiftY); } if (command == TEXGEN_TILE) { FilterTile *filter = new FilterTile(); filters[i] = filter; read(handle, filter, sizeof(FilterTile)); generator->FilterTile(filter->repX, filter->repY); } } close(handle); mnuMain->Items->Items[menuIndexGenerate]->Visible = true; mnuMain->Items->Items[menuIndexDistort]->Visible = true; mnuMain->Items->Items[menuIndexLayer]->Visible = true; mnuMain->Items->Items[menuIndexBlur]->Visible = true; Undo1->Enabled = true; Export1->Enabled = true; mnuMain->Items->Items[menuIndexColor]->Visible = true; mnuMain->Items->Items[menuIndexFile]->Items[menuIndexClose]->Visible = true; mnuMain->Items->Items[menuIndexFile]->Items[menuIndexSave]->Visible = true; mnuMain->Items->Items[menuIndexFile]->Items[menuIndexSaveAs]->Visible = true; Caption = "Aardbei Texture Studio (" + AnsiString(textureFilename) + ")"; havesFilename = true; workingOnTexture = true; loadingTexture = false; for (int i = 0; i < nrLayers; i++) { frmLayers[i]->UpdateOutput(); } stbMain->SimpleText = ""; Cascade(); }
bool TestConnect::PerformTest(ConnectionSecurity connection_security, const String &localAddressStr, const String &server, int port, String &result) { std::shared_ptr<IOService> io_service_wrapper = Application::Instance()->GetIOService(); IPAddress localAddress; if (!localAddressStr.IsEmpty()) { if (!localAddress.TryParse(localAddressStr, false)) { result.append(Formatter::Format("ERROR: Unable to parse address {0}.\r\n", localAddressStr)); return false; } else result.append(Formatter::Format("Local address is {0}.\r\n", localAddress.ToString())); } result.append(Formatter::Format("Trying to connect to host {0}...\r\n", server)); // Get a list of endpoints corresponding to the server name. tcp::resolver resolver(io_service_wrapper->GetIOService()); tcp::resolver::query query(AnsiString(server), AnsiString(StringParser::IntToString(port)), tcp::resolver::query::numeric_service); boost::system::error_code errorResolve = boost::asio::error::host_not_found; tcp::resolver::iterator endpoint_iterator = resolver.resolve(query, errorResolve); tcp::resolver::iterator end; if (errorResolve || endpoint_iterator == end) { // Host was not found. String formattedString; formattedString.Format(_T("ERROR: The host name %s could not be resolved.\r\n"), server.c_str()); result.append(formattedString); return false; } String last_error_message; // Try each endpoint until we successfully establish a connection. boost::system::error_code error = boost::asio::error::host_not_found; while (error && endpoint_iterator != end) { boost::asio::ip::address adr = (*endpoint_iterator).endpoint().address(); String ipAddressString = adr.to_string(); String formattedString; formattedString.Format(_T("Trying to connect to TCP/IP address %s on port %d.\r\n"), ipAddressString.c_str(), port); result.append(formattedString); std::shared_ptr<Event> disconnectEvent = std::shared_ptr<Event>(new Event()); std::shared_ptr<TestConnectionResult> connection_result = std::make_shared<TestConnectionResult>(); std::shared_ptr<TestConnection> connection = std::make_shared<TestConnection>(connection_security, io_service_wrapper->GetIOService(), io_service_wrapper->GetClientContext(), disconnectEvent, server, connection_result); if (connection->Connect(ipAddressString, port, localAddress)) { connection.reset(); disconnectEvent->Wait(); if (connection_result->GetConnectedSuccesfully()) { result.append(_T("Connected successfully.\r\n")); if (connection_security == CSSSL) { if (connection_result->GetHandshakeCompletedSuccesfully()) { result.append(_T("SSL/TLS handshake completed successfully.\r\n")); return true; } else { result.append(_T("ERROR: Handshake failed.\r\n")); return false; } } else { return true; } } else { result.append(Formatter::Format("ERROR: It was not possible to connect. Error: {0}.\r\n", connection_result->GetErrorMessage())); } } endpoint_iterator++; } // We were unable to connect. result.append(_T("ERROR: Failed to connect to all servers.\r\n")); return false; }
void __fastcall TFormSimulacion::TrackBarDeposito5Change(TObject *Sender) { deposito[4].Cantidad(TrackBarDeposito5->Position); LabelDeposito5->Caption=AnsiString(deposito[4].Cantidad()/10) + " %"; }
//--------------------------------------------------------------------- // 検索と置き換えの実行 int __fastcall TValRepDlg::Execute(ANTDEF *ap, int Row, int Col) { Row--; Col--; WDEF *wp = &ap->wdef[Row]; double d, nd, od, dd; int f = FALSE; switch(Col){ case 0: // X1 d = wp->X1; dd = GetRmdVal(d); break; case 1: // Y1 d = wp->Y1; dd = GetRmdVal(d); break; case 2: // Z1 d = wp->Z1; dd = GetRmdVal(d); break; case 3: // X2 d = wp->X2; dd = GetRmdVal(d); break; case 4: // Y2 d = wp->Y2; dd = GetRmdVal(d); break; case 5: // Z2 d = wp->Z2; dd = GetRmdVal(d); break; case 6: // R RepSel->ItemIndex = 0; InvSel->Checked = FALSE; RepSel->Enabled = FALSE; InvSel->Enabled = FALSE; d = wp->R; dd = GetRmdValD(d * 1000.0); break; case 7: // Seg RepSel->ItemIndex = 0; InvSel->Checked = FALSE; RepSel->Enabled = FALSE; InvSel->Enabled = FALSE; EditOld->Text = Seg2Str(wp->SEG); EditNew->Text = Seg2Str(wp->SEG); break; } if( Col != 7 ){ EditOld->Text = StrDbl(dd); EditNew->Text = StrDbl(dd); Calc(dd, AnsiString(EditOld->Text).c_str()); } if( ShowModal() == IDOK ){ int i; wp = ap->wdef; if( Col == 7 ){ // SEGの変更 int oseg, nseg; if( Str2Seg(oseg, AnsiString(EditOld->Text).c_str()) != TRUE ) return FALSE; if( Str2Seg(nseg, AnsiString(EditNew->Text).c_str()) != TRUE ) return FALSE; if( oseg != nseg ){ for( i = 0; i < ap->wmax; i++, wp++ ){ if( wp->SEG == oseg ){ wp->SEG = nseg; f = TRUE; } } } return f; } nd = d; Calc(od, AnsiString(EditOld->Text).c_str()); Calc(nd, AnsiString(EditNew->Text).c_str()); if( od == nd ) return FALSE; if( Col == 6 ){ // 半径の変更 if( dd != od ){ d = SetRmdValD(od)/1000.0; } for( i = 0; i < ap->wmax; i++, wp++ ){ if( wp->R == d ){ wp->R = SetRmdValD(nd)/1000.0; f = TRUE; } } } else { if( dd != od ){ d = SetRmdVal(od); } nd = SetRmdVal(nd); for( i = 0; i < ap->wmax; i++, wp++ ){ switch(RepSel->ItemIndex){ case 0: RepJob(f, wp->X1, d, nd); RepJob(f, wp->Y1, d, nd); RepJob(f, wp->Z1, d, nd); RepJob(f, wp->X2, d, nd); RepJob(f, wp->Y2, d, nd); RepJob(f, wp->Z2, d, nd); break; case 1: RepJob(f, wp->X1, d, nd); RepJob(f, wp->X2, d, nd); break; case 2: RepJob(f, wp->Y1, d, nd); RepJob(f, wp->Y2, d, nd); break; case 3: RepJob(f, wp->Z1, d, nd); RepJob(f, wp->Z2, d, nd); break; } } } } return f; }
//--------------------------------------------------------------------------- void __fastcall TFormDLLProgr::BtnCheckOcenkClick(TObject *Sender) { if (ComboBoxOcenka->ItemIndex==-1) { MessageBox(Handle,"Выберите оценку пожалуйста.","Ошибка",MB_OK|MB_ICONERROR); //ComboBoxOcenka->SetFocus(); return; } AnsiString EstimationStr=ComboBoxOcenka->ItemIndex; AnsiString BallStr=GetStrWithReplacedPoints(ComboBoxBall->Text); double valBall; try { valBall=BallStr.ToDouble(); if (valBall<0 || valBall>5.0) throw 1; } catch(...) { MessageBox(Handle,"Балл это вещественное неотрицательное число из диапазона [0..5].\nИсправьте пожалуйста.","Ошибка",MB_OK|MB_ICONERROR); //ComboBoxBall->SetFocus(); ComboBoxBall->SelectAll(); return; } BallStr=GetStrWithReplacedPoints(BallStr,"."); //для MySql нужна точка AnsiString Msg=""; switch (EstimationStr.ToInt()) { case OTL: if (valBall<4.50 || valBall>5.0) Msg="Ошибка! При оценке \'отлично\' балл выбирается из дипазаона [4.50 .. 5.00].\nИсправьте пожалуйста."; break; case HOR: if (valBall<3.50 || valBall>4.49) Msg="Ошибка! При оценке \'хорошо\' балл выбирается из дипазаона [3.50 .. 4.49].\nИсправьте пожалуйста."; break; case UDOVL: if (valBall<2.50 || valBall>3.49) Msg="Ошибка! При оценке \'удовлетворительно\' балл выбирается из дипазаона [2.50 .. 3.49].\nИсправьте пожалуйста."; break; case NEUD: Msg="Ошибка! Оценка \'неудовлетворительно\' не может быть проставлена, поскольку о наличии такой оценки часто забывают, что может отразиться в отчетах.\nПроставьте оценку после пересдачи студентом экзамена."; break; case ZACH: if (valBall<2.50 || valBall>5.0) Msg="Ошибка! При оценке \'зачтено\' балл выбирается из дипазаона [2.50 .. 5.00].\nИсправьте пожалуйста."; break; case NEZACH: Msg="Ошибка! Оценка \'незачтено\' не может быть проставлена, поскольку о наличии такой оценки часто забывают, что может отразиться в отчетах.\nПроставьте оценку после пересдачи студентом зачета."; break; } if (!Msg.IsEmpty()) { MessageBox(Handle,Msg.c_str(),"предупреждение",MB_OK|MB_ICONINFORMATION); ComboBoxBall->SelectAll(); return; } int indexsel=ComboBoxDiscip->ItemIndex; if (indexsel < 0 || indexsel >= listIDsOfDiscip->Count) return; AnsiString IDDiscipStr=listIDsOfDiscip->Strings[indexsel]; int classDiscip=listClassOfDiscip->Strings[indexsel].ToInt(); bool isPeriod = IS_PERIOD(classDiscip); AnsiString IDStudStr=AnsiString(idstud); AnsiString PlanSemestrStr=UpDownPlan->Position; AnsiString GraphSemestrStr=UpDownGraphic->Position; AnsiString myquery="INSERT INTO "+opts.DBProgress+" (idstud,iddiscip,numplansemestr,numgraphsemestr,estimation,ball) VALUES("+ToStr(IDStudStr)+","+ToStr(IDDiscipStr)+","+ToStr(PlanSemestrStr)+","+ToStr(GraphSemestrStr)+","+ToStr(EstimationStr)+","+ToStr(BallStr)+")"; mysql_query(mysql,myquery.c_str()); //MessageBox(Handle,"Оценка зафиксирована!","Сообщение:",MB_OK|MB_ICONINFORMATION); ComboBoxDiscipChange(ComboBoxDiscip); // устанавливаем экзамен или зачет if ( ComboBoxOcenka->ItemIndex < 4 ) { estim = 1; EstimLabel->Caption = "экзамен"; } else { estim = 2; EstimLabel->Caption = "зачет"; } }
//--------------------------------------------------------------------------- void __fastcall TFormDLLProgr::BtnVKRClick(TObject *Sender) { // назначение/удаление названия ВКР AnsiString myquery; myquery="UPDATE "+opts.DBStudTable+" SET vkr_title="+ToStr(EditVKRTitle->Text)+" WHERE id="+ToStr(AnsiString(GetIDCurStud())); mysql_query(mysql,myquery.c_str()); UpdateVKR(); }
std::ostream& operator<<( std::ostream& out, const UnicodeString& s ) { out << AnsiString( s ); return out; }
void __fastcall TfrmHydroGraph::HydroGraph() { /* int i,j; //i:col,j:row int iqobs,iqcal,iMeanGridRain,iAWmean,iSurfaceRunoff,iSubsurfaceRunoff,iRunoff,iETa; //Chart1->RemoveSeries(Series1); for(i=1;i<StringGrid1->ColCount;i++) { if(LowerCase(StringGrid1->Cells[i][0]) == "qobs") iqobs = i; else if(LowerCase(StringGrid1->Cells[i][0]) == "qcal") iqcal = i; else if(LowerCase(StringGrid1->Cells[i][0]) == "meangridrain") iMeanGridRain = i; else if(LowerCase(StringGrid1->Cells[i][0]) == "awmean") iAWmean = i; else if(LowerCase(StringGrid1->Cells[i][0]) == "surfacerunoff") iSurfaceRunoff = i; else if(LowerCase(StringGrid1->Cells[i][0]) == "subsurfacerunoff") iSubsurfaceRunoff = i; else if(LowerCase(StringGrid1->Cells[i][0]) == "runoff") iRunoff = i; else if(LowerCase(StringGrid1->Cells[i][0]) == "eta") iETa = i; } switch(iGraph) { case 0: //TLineSeries *LineSeries1; //LineSeries1->ParentChart = Chart1; //Chart1->AddSeries(TLineSeries *LineSeries1); Notebook1->PageIndex = 0; Series_qobs->Clear(); Series_qcal->Clear(); Series_P->Clear(); Series_sm->Clear(); //Chart1->Title->Text->Clear(); //Chart1->Title->Text->Add("降水-径流过程线"); //Series1->Style<<tssDenyChangeType; //不出错,但是没有看到作用 for(j=1;j<StringGrid1->RowCount;j++) { Series_qobs->AddXY(StringGrid1->Cells[0][j].ToInt(),StringGrid1->Cells[iqobs][j].ToDouble(),"",clBlack); Series_qcal->AddXY(StringGrid1->Cells[0][j].ToInt(),StringGrid1->Cells[iqcal][j].ToDouble(),"",clRed); Series_P->AddXY(StringGrid1->Cells[0][j].ToInt(),StringGrid1->Cells[iMeanGridRain][j].ToDouble(),"",clGreen); Series_sm->AddXY(StringGrid1->Cells[0][j].ToInt(),StringGrid1->Cells[iAWmean][j].ToDouble(),"",clBlue); } Chart1->LeftAxis->Maximum = int(max(Series_qobs->MaxYValue(),Series_qcal->MaxYValue())*1.5); Chart1->RightAxis->Maximum = int(max(Series_P->MaxYValue(),Series_sm->MaxYValue())*1.5); break; case 1: Notebook1->PageIndex = 1; Series_Rd->Clear(); Series_Rs->Clear(); Series_R->Clear(); Series_ETa->Clear(); //Chart1->Title->Text->Clear(); //Chart1->Title->Text->Add("地表/地下径流/蒸散发"); for(j=1;j<StringGrid1->RowCount;j++) { Series_R->AddXY(StringGrid1->Cells[0][j].ToInt(),StringGrid1->Cells[iRunoff][j].ToDouble(),"",clTeeColor); Series_ETa->AddXY(StringGrid1->Cells[0][j].ToInt(),StringGrid1->Cells[iETa][j].ToDouble(),"",clTeeColor); Series_Rd->AddXY(StringGrid1->Cells[0][j].ToInt(),StringGrid1->Cells[iSurfaceRunoff][j].ToDouble(),"",clTeeColor); Series_Rs->AddXY(StringGrid1->Cells[0][j].ToInt(),StringGrid1->Cells[iSubsurfaceRunoff][j].ToDouble(),"",clTeeColor); } Chart2->LeftAxis->Maximum = int(Series_R->MaxYValue()*1.5); Chart2->RightAxis->Maximum = int(Series_ETa->MaxYValue()*1.5); Chart2->Repaint(); break; }//switch */ float pcp,qobs,qcal,sm,ep,eta,tavg,tmax,tmin; float etau,etad,awd,rud,rgg; char sgauge[20],sdate[20]; char *s_graphfile; FILE *fpgraph; s_graphfile = "\dtvgmgraph.txt"; if (FileExists(s_graphfile)) { if((fpgraph=fopen(s_graphfile,"r"))==NULL) { fprintf(stderr, "Cannot open input file.\n"); return ; } } else { ShowMessage(AnsiString("Couldn't find the file: ")+ s_graphfile + "." ); return; } Notebook1->PageIndex = 0; Series_qobs->Clear(); Series_qcal->Clear(); Series_P->Clear(); Series_sm->Clear(); for(;!feof(fpgraph);) { fscanf(fpgraph,"%s%s%f%f%f%f%f%f%f%f%f%f%f%f%f%f" ,&sgauge,&sdate,&qobs,&qcal,&pcp,&sm,&ep,&eta,&tavg,&tmax,&tmin,&etau,&etad,&awd,&rud,&rgg); Series_P->AddXY(StrToDate(sdate),pcp,"",clTeeColor); Series_qobs->AddXY(StrToDate(sdate),qobs,"",clTeeColor); Series_qcal->AddXY(StrToDate(sdate),qcal,"",clTeeColor); Series_sm->AddXY(StrToDate(sdate),sm,"",clTeeColor); } fclose(fpgraph); //Chart1->RightAxis->Maximum = int(Series4->MaxYValue()*3.5); Chart1->LeftAxis->Maximum = int(max(Series_qobs->MaxYValue(),Series_qcal->MaxYValue())*1.5); Chart1->RightAxis->Maximum = int(max(Series_P->MaxYValue(),Series_sm->MaxYValue())*1.5); }
//--------------------------------------------------------------------- void __fastcall TTelnetCfgDlg::FormShow(TObject *Sender) { char str[128]; if(MainForm->bbs_startup.telnet_interface==0) TelnetInterfaceEdit->Text="<ANY>"; else { sprintf(str,"%d.%d.%d.%d" ,(MainForm->bbs_startup.telnet_interface>>24)&0xff ,(MainForm->bbs_startup.telnet_interface>>16)&0xff ,(MainForm->bbs_startup.telnet_interface>>8)&0xff ,MainForm->bbs_startup.telnet_interface&0xff ); TelnetInterfaceEdit->Text=AnsiString(str); } if(MainForm->bbs_startup.rlogin_interface==0) RLoginInterfaceEdit->Text="<ANY>"; else { sprintf(str,"%d.%d.%d.%d" ,(MainForm->bbs_startup.rlogin_interface>>24)&0xff ,(MainForm->bbs_startup.rlogin_interface>>16)&0xff ,(MainForm->bbs_startup.rlogin_interface>>8)&0xff ,MainForm->bbs_startup.rlogin_interface&0xff ); RLoginInterfaceEdit->Text=AnsiString(str); } if(MainForm->bbs_startup.ssh_interface==0) SshInterfaceEdit->Text="<ANY>"; else { sprintf(str,"%d.%d.%d.%d" ,(MainForm->bbs_startup.ssh_interface>>24)&0xff ,(MainForm->bbs_startup.ssh_interface>>16)&0xff ,(MainForm->bbs_startup.ssh_interface>>8)&0xff ,MainForm->bbs_startup.ssh_interface&0xff ); SshInterfaceEdit->Text=AnsiString(str); } TelnetPortEdit->Text=AnsiString((int)MainForm->bbs_startup.telnet_port); RLoginPortEdit->Text=AnsiString((int)MainForm->bbs_startup.rlogin_port); SshPortEdit->Text=AnsiString((int)MainForm->bbs_startup.ssh_port); FirstNodeEdit->Text=AnsiString((int)MainForm->bbs_startup.first_node); LastNodeEdit->Text=AnsiString((int)MainForm->bbs_startup.last_node); AutoStartCheckBox->Checked=MainForm->SysAutoStart; AnswerSoundEdit->Text=AnsiString(MainForm->bbs_startup.answer_sound); HangupSoundEdit->Text=AnsiString(MainForm->bbs_startup.hangup_sound); CmdLogCheckBox->Checked=MainForm->bbs_startup.options&BBS_OPT_DEBUG_TELNET; TelnetGaCheckBox->Checked =!(MainForm->bbs_startup.options&BBS_OPT_NO_TELNET_GA); XtrnMinCheckBox->Checked=MainForm->bbs_startup.options&BBS_OPT_XTRN_MINIMIZED; AutoLogonCheckBox->Checked=MainForm->bbs_startup.options&BBS_OPT_AUTO_LOGON; HostnameCheckBox->Checked =!(MainForm->bbs_startup.options&BBS_OPT_NO_HOST_LOOKUP); IdentityCheckBox->Checked =MainForm->bbs_startup.options&BBS_OPT_GET_IDENT; RLoginEnabledCheckBox->Checked =MainForm->bbs_startup.options&BBS_OPT_ALLOW_RLOGIN; RLogin2ndNameCheckBox->Checked =MainForm->bbs_startup.options&BBS_OPT_USE_2ND_RLOGIN; SshEnabledCheckBox->Checked =MainForm->bbs_startup.options&BBS_OPT_ALLOW_SSH; QWKEventsCheckBox->Checked =!(MainForm->bbs_startup.options&BBS_OPT_NO_QWK_EVENTS); EventsCheckBox->Checked =!(MainForm->bbs_startup.options&BBS_OPT_NO_EVENTS); JavaScriptCheckBox->Checked =!(MainForm->bbs_startup.options&BBS_OPT_NO_JAVASCRIPT); RLoginEnabledCheckBoxClick(Sender); SshEnabledCheckBoxClick(Sender); PageControl->ActivePage=GeneralTabSheet; }
void TMDIhtml::CreateTEMP(void) { FileTemp=GetCurrentDir()+"\\kans"+AnsiString(NumberClass)+".tmp"; FileClose(FileCreate(FileTemp)); FileName=""; }
void CLight::Render(int priority, bool strictB2F) { inherited::Render(priority,strictB2F); if ((1==priority)&&(false==strictB2F)) { Device.SetShader (Device.m_WireShader); RCache.set_xform_world (Fidentity); u32 clr = Locked()?LOCK_COLOR:(Selected()?SEL_COLOR:(m_Flags.is(ELight::flAffectDynamic)?NORM_DYN_COLOR:NORM_COLOR)); switch (m_Type) { case ELight::ltPoint: if (Selected()) DU.DrawLineSphere( PPosition, m_Range, clr, true ); DU.DrawPointLight(PPosition,VIS_RADIUS, clr); if (m_Flags.is(ELight::flPointFuzzy)) { VERIFY(m_FuzzyData); for (FvectorIt it=m_FuzzyData->m_Positions.begin(); it!=m_FuzzyData->m_Positions.end(); it++) { Fvector tmp; _Transform().transform_tiny(tmp,*it); DU.DrawPointLight(tmp,VIS_RADIUS/6, clr); } } break; case ELight::ltSpot: { // Fvector dir; // dir.setHP (PRotation.y,PRotation.x); // DU.DrawCone (Fidentity, PPosition, dir, Selected()?m_Range:VIS_RADIUS, radius2, clr, true, false); if (Selected()) DU.DrawSpotLight( PPosition, FTransformR.k, m_Range, m_Cone, clr ); else DU.DrawSpotLight( PPosition, FTransformR.k, VIS_RADIUS, m_Cone, clr ); } break; default: THROW; } ESceneLightTools* lt = dynamic_cast<ESceneLightTools*>(ParentTools); VERIFY(lt); if (lt->m_Flags.is(ESceneLightTools::flShowControlName)) { Fvector D; D.sub(Device.vCameraPosition,PPosition); float dist = D.normalize_magn(); if (!Scene->RayPickObject(dist,PPosition,D,OBJCLASS_SCENEOBJECT,0,0)) DU.OutText (PPosition,AnsiString().sprintf(" %s",GetLControlName()).c_str(),0xffffffff,0xff000000); } } else if ((1==priority)&&(true==strictB2F)) { Device.SetShader (Device.m_SelectionShader); RCache.set_xform_world (Fidentity); switch (m_Type) { case ELight::ltPoint: if (m_Flags.is(ELight::flPointFuzzy)) { u32 clr = Locked()?LOCK_COLOR:(Selected()?SEL_COLOR:(m_Flags.is(ELight::flAffectDynamic)?NORM_DYN_COLOR:NORM_COLOR)); clr = subst_alpha(clr,0x40); const Fvector zero= {0.f,0.f,0.f}; VERIFY(m_FuzzyData); switch (m_FuzzyData->m_ShapeType) { case CLight::SFuzzyData::fstSphere: DU.DrawSphere (_Transform(),zero,m_FuzzyData->m_SphereRadius,clr,clr,true,true); break; case CLight::SFuzzyData::fstBox: DU.DrawAABB (_Transform(),zero,m_FuzzyData->m_BoxDimension,clr,clr,true,true); break; } } break; case ELight::ltSpot: break; default: THROW; } } }
void CSceneObject::OnShowHint(AStringVec& dest) { inherited::OnShowHint(dest); dest.push_back(AnsiString("Reference: ")+*m_ReferenceName); dest.push_back(AnsiString("-------")); float dist = UI->ZFar(); SRayPickInfo pinf; if (m_pReference->RayPick(dist,UI->m_CurrentRStart,UI->m_CurrentRNorm,_ITransform(),&pinf)){ dest.push_back(AnsiString("Object Type: ")+get_token_name(eo_type_token,pinf.e_obj->m_Flags.flags)); R_ASSERT(pinf.e_mesh); CSurface* surf=pinf.e_mesh->GetSurfaceByFaceID(pinf.inf.id); dest.push_back(AnsiString("Surface: ")+AnsiString(surf->_Name())); dest.push_back(AnsiString("2 Sided: ")+AnsiString(surf->m_Flags.is(CSurface::sf2Sided)?"on":"off")); if (pinf.e_obj->m_Flags.is(CEditableObject::eoSoundOccluder)){ dest.push_back(AnsiString("Game Mtl: ")+AnsiString(surf->_GameMtlName())); int gm_id = surf->_GameMtl(); if (gm_id!=GAMEMTL_NONE_ID){ SGameMtl* mtl = GMLib.GetMaterialByID(gm_id); if (mtl) dest.push_back(AnsiString().sprintf("Occlusion Factor: %3.2f",mtl->fSndOcclusionFactor)); } }else if (pinf.e_obj->m_Flags.is(CEditableObject::eoHOM)){ }else{ dest.push_back(AnsiString("Texture: ")+AnsiString(surf->_Texture())); dest.push_back(AnsiString("Shader: ")+AnsiString(surf->_ShaderName())); dest.push_back(AnsiString("LC Shader: ")+AnsiString(surf->_ShaderXRLCName())); dest.push_back(AnsiString("Game Mtl: ")+AnsiString(surf->_GameMtlName())); } } }
//--------------------------------------------------------------------------- void __fastcall TForm4::cmdOKClick(TObject *Sender) { String InsFormatText = ""; String MsgErrorString; //----------------------------------- //記憶パスワードの入力タブシート //----------------------------------- if ( PageControl1->ActivePageIndex == 0 ) { if ( AnsiString(txtInputMemConfirmPassword->Text).Length() > 56 ){ //'パスワードに使用できる文字数は半角56文字(全角28文字)以内です。' MsgErrorString = LoadResourceString(&Msgunit4::_MSG_ERROR_PASSWORD_MAX_NUM); MessageDlg(MsgErrorString, mtError, TMsgDlgButtons() << mbOK, 0); txtInputMemConfirmPassword->SetFocus(); txtInputMemConfirmPassword->SelectAll(); return; } if ( (AnsiString)txtInputMemPassword->Text != (AnsiString)txtInputMemConfirmPassword->Text ){ //'入力されたパスワードとちがいます。'+#13+ //'再度パスワードを入力してください。' MsgErrorString = LoadResourceString(&Msgunit4::_MSG_ERROR_INPUT_PASSWORD_MISMATCH); MessageDlg(MsgErrorString, mtError, TMsgDlgButtons() << mbOK, 0); txtInputMemConfirmPassword->SetFocus(); txtInputMemConfirmPassword->SelectAll(); return; } if ( InputType == 0 ){ //暗号化パスワードの記録 //OKボタンが押されるまではまだ仮 Form3->TempMyEncodePassword = (AnsiString)txtInputMemConfirmPassword->Text; //文字数分だけ"*"を表示 Form3->btneditMyEncPassword->Text = String::StringOfChar('*', Form3->TempMyEncodePassword.Length()); Form3->chkMyEncPasswordKeep->Checked = true; } else if ( InputType == 1 ){ //復号パスワードの記録 //OKボタンが押されるまではまだ仮 Form3->TempMyDecodePassword = (AnsiString)txtInputMemConfirmPassword->Text; //文字数分だけ"*"を表示 Form3->btneditMyDecPassword->Text = String::StringOfChar('*', Form3->TempMyDecodePassword.Length()); Form3->chkMyDecPasswordKeep->Checked = true; }//end if; Close(); } //----------------------------------- // 書式入力タブシート //----------------------------------- else { switch(InputType){ case 2: //日付書式の挿入 InsFormatText = "<date:"+ComboDateTime->Items->Strings[ComboDateTime->ItemIndex]+">"; break; case 3: //連番書式の挿入 InsFormatText = "<number:" + IntToStr(UpDown1->Position) + ">"; break; case 4: //ランダム文字列数の挿入 InsFormatText = "<fend:" + IntToStr(UpDown1->Position) + ">"; break; case 5: //ファイル名の先頭文字数の挿入 InsFormatText = "<fhead:" + IntToStr(UpDown1->Position) + ">"; break; case 6: //ファイル名の末尾文字数の挿入 InsFormatText = "<fend:" + IntToStr(UpDown1->Position) + ">"; break; default: break; } Form3->btneditAutoNameFormatText->SelText = InsFormatText; Close(); } }
AnsiString AnsiString::operator +(const char * rhs) const { AnsiString Result = AnsiString(Data.c_str(), Data.size()); Result += rhs; return Result; }
int BaseFontBitmap::textHeightDraw(const byte *text, int x, int y, int width, TTextAlign align, bool draw, int maxHeight, int maxLength) { if (maxLength == 0) { return 0; } if (text == nullptr || text[0] == '\0') { return _tileHeight; } AnsiString str; if (_gameRef->_textEncoding == TEXT_UTF8) { WideString wstr = StringUtil::utf8ToWide(Utf8String((const char *)text)); str = StringUtil::wideToAnsi(wstr); } else { str = AnsiString((const char *)text); } if (str.empty()) { return 0; } int lineLength = 0; int realLength = 0; int numLines = 0; int i; int index = -1; int start = 0; int end = 0; int last_end = 0; bool done = false; bool newLine = false; bool longLine = false; if (draw) { _gameRef->_renderer->startSpriteBatch(); } while (!done) { if (maxHeight > 0 && (numLines + 1)*_tileHeight > maxHeight) { if (draw) { _gameRef->_renderer->endSpriteBatch(); } return numLines * _tileHeight; } index++; if (str[index] == ' ' && (maxHeight < 0 || maxHeight / _tileHeight > 1)) { end = index - 1; realLength = lineLength; } if (str[index] == '\n') { end = index - 1; realLength = lineLength; newLine = true; } if (lineLength + getCharWidth(str[index]) > width && last_end == end) { end = index - 1; realLength = lineLength; newLine = true; longLine = true; } if ((int)str.size() == (index + 1) || (maxLength >= 0 && index == maxLength - 1)) { done = true; if (!newLine) { end = index; lineLength += getCharWidth(str[index]); realLength = lineLength; } } else { lineLength += getCharWidth(str[index]); } if ((lineLength > width) || done || newLine) { if (end < 0) { done = true; } int startX; switch (align) { case TAL_CENTER: startX = x + (width - realLength) / 2; break; case TAL_RIGHT: startX = x + width - realLength; break; case TAL_LEFT: startX = x; break; default: error("BaseFontBitmap::TextHeightDraw - Unhandled enum"); break; } for (i = start; i < end + 1; i++) { if (draw) { drawChar(str[i], startX, y); } startX += getCharWidth(str[i]); } y += _tileHeight; last_end = end; if (longLine) { end--; } start = end + 2; index = end + 1; lineLength = 0; newLine = false; longLine = false; numLines++; } } if (draw) { _gameRef->_renderer->endSpriteBatch(); } return numLines * _tileHeight; }
void __fastcall TMDIChild::actWriteExecute(TObject *Sender) { if(tvParseTree->Selected == NULL) return; ParseTreeNode * curParseTree = (ParseTreeNode *)tvParseTree->Selected->Data; if(curParseTree == NULL) { return; } ClassData * curClass = GetCurParseClass(); if(curClass == NULL) return; tagSelRect selRect; if(GetTreeSelRect(selRect) == false) return; String type = curParseTree->GetClassMember()->GetType(); if(IsNormalType(type) == false) { ShowMessage("只能改变普通变量的值"); return; } String value = curParseTree->GetParseResult(); if(InputQuery("输入值", "输入值", value) == false) return; // m_HexEditor->BeginUpdate(); char *pointer = m_HexEditor->GetFastPointer(0, m_HexEditor->DataSize); int dataSize = m_HexEditor->DataSize; int pos = selRect.SelStart; int nodeSize = m_ParseEngine->GetSize(type, pointer, dataSize, pos); int childCount = curParseTree->GetClassMember()->GetArrayVar().ToIntDef(0); int curSize = 0; for(int i=0; i<m_ParseTree->GetParseTreeNodeCount(); i++) { ParseTreeNode * curTreeNode = m_ParseTree->GetParseTreeNode(i); if(curTreeNode == curParseTree) break; int curChildCount = curTreeNode->GetClassMember()->GetArrayVar().ToIntDef(0); if(curChildCount == 0) curChildCount = 1; curSize += curChildCount * m_ParseEngine->GetSize( curTreeNode->GetClassMember()->GetType(), pointer, dataSize, pos); } pos = m_LastPos + curSize; if(childCount == 0) childCount = 1; nodeSize *= childCount; //插入数据 if(pos + nodeSize > dataSize) { String buffer; buffer.SetLength(pos + nodeSize - dataSize); memset(buffer.c_str(), '\0', buffer.Length()); m_HexEditor->InsertBuffer(AnsiString(buffer).c_str(), buffer.Length(), selRect.SelStart, "insert", false); } pointer = m_HexEditor->GetFastPointer(0, m_HexEditor->DataSize); // String setEmpty; // setEmpty.SetLength(nodeSize); // int oldPos = pos; // WriteBuf(pointer, oldPos, setEmpty.c_str(), setEmpty.Length()); if(type == "char") { WriteBuf(pointer, pos, value.c_str(), value.Length()); } else { int iResult = value.ToIntDef(0); WriteBuf(pointer, pos, &iResult, sizeof(iResult)); } m_HexEditor->SelStart = m_LastPos; ParseData(false); // m_HexEditor->EndUpdate(); }
AnsiString InitUDP2(CConceptClient *owner, char *host) { AnsiString result; if (owner->RTSOCKET) { closesocket(owner->RTSOCKET); owner->RTSOCKET = INVALID_SOCKET; } int s_len = strlen(host); if ((!owner) || (!host) || (!s_len)) return result; char *stun_server = host; char *p_str = strchr(host, ','); if ((!p_str) || (p_str[1] == '-')) return result; p_str[0] = 0; p_str++; char *local_host = strchr(p_str, ','); if ((!local_host) || (local_host[1] == '-')) return result; local_host[0] = 0; local_host++; char *local_port = strchr(local_host, ','); if ((!local_port) || (local_port[1] == '-')) return result; local_port[0] = 0; local_port++; AnsiString lport(local_port); struct addrinfo hints; struct addrinfo *a_res = 0; memset(&serveraddr, 0, sizeof(serveraddr)); memset(&hints, 0, sizeof hints); hints.ai_family = AF_UNSPEC; hints.ai_socktype = SOCK_DGRAM; hints.ai_protocol = IPPROTO_UDP; int gerr = getaddrinfo(local_host, local_port, &hints, &a_res); if ((gerr != 0) || (!a_res)) { AnsiString err((char *)"Error in getaddrinfo(): "); err += host; err += (char *)":"; err += p_str; err += (char *)" "; err += (char *)gai_strerror(gerr); fprintf(stderr, "Dropping RT socket: %s\n", err.c_str()); result = ""; return result; } if ((a_res->ai_family != AF_INET) && (a_res->ai_family != AF_INET6)) { freeaddrinfo(a_res); fprintf(stderr, "Invalid socket family\n"); return result; } memcpy(&serveraddr, a_res->ai_addr, a_res->ai_addrlen); server_len = a_res->ai_addrlen; unsigned short connect_port = 0; int socket = CreateUDPSocket(lport.ToInt(), a_res->ai_family == AF_INET6, connect_port); freeaddrinfo(a_res); if (socket < 0) return result; char connect_ip[0xFF]; connect_ip[0] = 0; if (stun_server[0] == '*') { strcpy(connect_ip, "self"); } else { int res = STUN(socket, stun_server, p_str, connect_ip, &connect_port); if (!res) { closesocket(socket); return result; } } owner->RTSOCKET = socket; result = connect_ip; result += (char *)","; result += AnsiString((long)connect_port); return result; }
//--------------------------------------------------------------------------- void __fastcall TFormDLLProgr::ComboBoxDiscipChange(TObject *Sender) { indexDiscipForEditOneGroup=ComboBoxDiscip->ItemIndex; ListBoxOcenk->Clear(); listIDsOfOcenk->Clear(); ListBoxOcenk->Items->Add("Сем. по плану Сем. по графику Оценка Балл"); listIDsOfOcenk->Add(""); ListBoxOcenk->Items->Add(""); listIDsOfOcenk->Add(""); if (ComboBoxDiscip->Items->Count==0) { BtnCheckOcenk->Enabled=false; return; } else BtnCheckOcenk->Enabled=true; int indexsel=ComboBoxDiscip->ItemIndex; if (indexsel < 0 || indexsel >= listIDsOfDiscip->Count) return; AnsiString idselDiscip=listIDsOfDiscip->Strings[indexsel]; int classDiscip=listClassOfDiscip->Strings[indexsel].ToInt(); MYSQL_RES *result; MYSQL_ROW row; AnsiString numplansem,numgraphsem,est,ball; int estindex; AnsiString SpaceStr; AnsiString Str; AnsiString myquery; myquery="SELECT id,numplansemestr,numgraphsemestr,estimation,ball FROM "+opts.DBProgress+" WHERE idstud="+ToStr(AnsiString(idstud))+" AND iddiscip="+ToStr(idselDiscip)+" AND deleted=0 ORDER BY numplansemestr"; mysql_query(mysql,myquery.c_str()); if (mysql_field_count(mysql)) { result=mysql_store_result(mysql); if (result && mysql_num_rows(result)) { while (row = mysql_fetch_row(result)) { listIDsOfOcenk->Add(AnsiString(row[0])); numplansem=AnsiString(row[1]); numgraphsem=AnsiString(row[2]); estindex=AnsiString(row[3]).ToInt(); est=arrOcenk[estindex]; ball=GetStrWithReplacedPoints(AnsiString(row[4]),","); SpaceStr=" "; if (numplansem.Length()==1) SpaceStr+=" "; Str=SpaceStr+numplansem; SpaceStr=" "; if (numgraphsem.Length()==1) SpaceStr+=" "; Str+=SpaceStr+numgraphsem; SpaceStr=" "; switch(estindex) { case 0: SpaceStr+=" ";break; case 1: SpaceStr+=" ";break; case 2: SpaceStr+=" ";break; case 4: SpaceStr+=" ";break; case 5: SpaceStr+=" ";break; } Str+=SpaceStr+est; switch(estindex) { case 0: SpaceStr=" ";break; case 1: SpaceStr=" ";break; case 2: SpaceStr=" ";break; case 3: SpaceStr=" ";break; case 4: SpaceStr=" ";break; case 5: SpaceStr=" ";break; } SpaceStr+=" "; Str+=SpaceStr+ball; SpaceStr=" "; if (IS_PERIOD(classDiscip)) Str+=SpaceStr; ListBoxOcenk->Items->Add(Str); } } mysql_free_result(result); } ListBoxOcenkClick(ListBoxOcenk); }
AnsiString SwitchP2P(CConceptClient *owner, char *host) { AnsiString result; is_p2p = 0; memset(&p2paddr, 0, sizeof(p2paddr)); p2paddr_len = 0; if (owner->RTSOCKET <= 0) return result; int s_len = strlen(host); if ((!owner) || (!host) || (!s_len)) return result; char *stun_server = host; char *p_str = strchr(host, ','); if ((!p_str) || (p_str[1] == '-')) return result; p_str[0] = 0; p_str++; char *local_host = strchr(p_str, ','); if ((!local_host) || (local_host[1] == '-')) return result; local_host[0] = 0; local_host++; char *local_port = strchr(local_host, ','); if ((!local_port) || (local_port[1] == '-')) return result; local_port[0] = 0; local_port++; AnsiString lport(local_port); struct addrinfo hints; struct addrinfo *a_res = 0; memset(&hints, 0, sizeof hints); hints.ai_family = AF_UNSPEC; hints.ai_socktype = SOCK_DGRAM; hints.ai_protocol = IPPROTO_UDP; int gerr = getaddrinfo(local_host, local_port, &hints, &a_res); if ((gerr != 0) || (!a_res)) { AnsiString err((char *)"Error in getaddrinfo(): "); err += host; err += (char *)":"; err += p_str; err += (char *)" "; err += (char *)gai_strerror(gerr); fprintf(stderr, "Dropping RT socket\n"); result = ""; return result; } if ((a_res->ai_family != AF_INET) && (a_res->ai_family != AF_INET6)) { freeaddrinfo(a_res); fprintf(stderr, "Invalid socket family\n"); return result; } memcpy(&p2paddr, a_res->ai_addr, a_res->ai_addrlen); p2paddr_len = a_res->ai_addrlen; unsigned short connect_port = 0; char connect_ip[0xFF]; connect_ip[0] = 0; if (stun_server[0] == '*') { if (a_res->ai_family == AF_INET) { inet_ntop(a_res->ai_family, &((struct sockaddr_in *)&p2paddr)->sin_addr, connect_ip, INET6_ADDRSTRLEN + 1); connect_port = ntohs(((struct sockaddr_in *)&p2paddr)->sin_port); } else { inet_ntop(a_res->ai_family, &((struct sockaddr_in6 *)&p2paddr)->sin6_addr, connect_ip, INET6_ADDRSTRLEN + 1); connect_port = ntohs(((struct sockaddr_in6 *)&p2paddr)->sin6_port); } freeaddrinfo(a_res); } else { freeaddrinfo(a_res); int res = STUN(owner->RTSOCKET, stun_server, p_str, connect_ip, &connect_port); if (!res) return result; } result = connect_ip; result += (char *)","; result += AnsiString((long)connect_port); is_p2p = 1; if (lastaddr_len) { // already received hello package memcpy(&p2paddr, &lastaddr, lastaddr_len); p2paddr_len = lastaddr_len; memset(&lastaddr, 0, sizeof(lastaddr)); lastaddr_len = 0; is_p2p = 2; } sendto(owner->RTSOCKET, "hi", 2, 0, (struct sockaddr *)&p2paddr, p2paddr_len); sendto(owner->RTSOCKET, "hi", 2, 0, (struct sockaddr *)&p2paddr, p2paddr_len); sendto(owner->RTSOCKET, "hi", 2, 0, (struct sockaddr *)&p2paddr, p2paddr_len); return result; }
void __fastcall TFormSimulacion::TrackBarMezcladoraChange(TObject *Sender) { mezcladora.Cantidad(TrackBarMezcladora->Position); LabelMez->Caption=AnsiString(mezcladora.Cantidad()/100) + " %"; }
/* gather data from UI to internal representation */ bool TframTag::ValidateView() { PTAG_NAME name; PRTK_TAG tag; name = &m_TagName; tag = &m_Tag; try{ #undef cc #define cc(name) tag->s.Flags |= (chk##name->Checked ? TF_##name : 0); if( edtTagName->Text.Length() >sizeof(TAG_KEY) || !edtTagName->Text.Length() ){ m_Hint = "变量名不正确"; throw(-1); } if( !is_valid_name(edtTagName->Text.c_str()) ){ m_Hint = "变量名只能包含字母、数字和下划线"; throw(-3); } if(edtTagName->Text.Length() > sizeof(TAG_KEY)){ m_Hint = AnsiString("错误: 标签名不能超过 ") + IntToStr(sizeof(TAG_KEY)) + " 个字节"; throw(-3); } name->sname.tag = CTagName(edtTagName->Text.c_str()); tag->s.Device = CDeviceName(cmbDevice->Text.c_str()); tag->key = name->sname.tag; if(edtCName->Text.Length() > sizeof(tag->s.Description)){ m_Hint = "中文名太长(最长 " + AnsiString(sizeof(tag->s.Description)/2) + " 字)"; throw(-4); } strncpy(tag->s.Description, edtCName->Text.c_str(), sizeof(tag->s.Description)); tag->s.Description[sizeof(tag->s.Description) - 1] = 0; if(edtAddr->Text.Length() > sizeof(tag->s.Address)){ m_Hint = "地址太长(最长 " + AnsiString(sizeof(tag->s.Address)/2) + " 字)"; throw(-5); } strncpy(tag->s.Address, edtAddr->Text.c_str(), sizeof(tag->s.Address)); tag->s.Address[sizeof(tag->s.Address) - 1] = 0; tag->s.Flags = 0; switch(cmbType->ItemIndex){ case 0: set_value_type(tag->s.Flags, dt_bool); break; case 1: set_value_type(tag->s.Flags, dt_real4); break; case 2: set_value_type(tag->s.Flags, dt_real8); break; case 3: set_value_type(tag->s.Flags, dt_int8); break; case 4: set_value_type(tag->s.Flags, dt_int16); break; case 5: set_value_type(tag->s.Flags, dt_int32); break; case 6: set_value_type(tag->s.Flags, dt_int64); break; case 7: set_value_type(tag->s.Flags, dt_uint8); break; case 8: set_value_type(tag->s.Flags, dt_uint16); break; case 9: set_value_type(tag->s.Flags, dt_uint32); break; case 10: set_value_type(tag->s.Flags, dt_uint64); break; case 11: set_value_type(tag->s.Flags, dt_date); break; case 12: m_Hint = "不支持这个数据类型."; throw(-41); break; } cc(SaveToHistory); cc(Step); // collecting common analog attributes switch(get_value_type(tag->s.Flags)){ case dt_int8: case dt_int16: case dt_int32: case dt_int64: case dt_uint8: case dt_uint16: case dt_uint32: case dt_uint64: case dt_real4: case dt_real8: case dt_date: cc(HiHi); cc(Lo); cc(Hi); cc(LoLo); cc(Rate); strncpy( tag->s.AnalogMsg.EU, edtEU->Text.c_str(), sizeof(tag->s.AnalogMsg.EU) ); tag->s.AnalogMsg.EU[sizeof(tag->s.AnalogMsg.EU) - 1] = 0; break; case dt_bool: cc(On2Off); cc(Off2On); strncpy( tag->s.SwitchMsg.OnMsg, edtOnMessage->Text.c_str(), sizeof(tag->s.SwitchMsg.OnMsg) ); tag->s.SwitchMsg.OnMsg[sizeof(tag->s.SwitchMsg.OnMsg) - 1] = 0; strncpy( tag->s.SwitchMsg.OffMsg, edtOffMessage->Text.c_str(), sizeof(tag->s.SwitchMsg.OffMsg) ); tag->s.SwitchMsg.OffMsg[sizeof(tag->s.SwitchMsg.OffMsg) - 1] = 0; break; } #define get(msg, name, ignore_on_condition, _default_value)\ m_Hint = msg;\ if( !edt##name->Text.Length() ){\ if(ignore_on_condition){\ tag->s.flt##name = _default_value;\ }else{\ throw(-1);\ }\ }else{\ tag->s.flt##name = edt##name->Text.ToDouble();\ } #pragma warn -ccc #pragma warn -rch switch(get_value_type(tag->s.Flags)){ case dt_real4: case dt_real8: get("高高值不正确", HiHi, !chkHiHi->Checked, 0); get("低低值不正确", LoLo, !chkLoLo->Checked, 0); get("低值不正确", Lo, !chkLo->Checked, 0); get("高值不正确", Hi, !chkHi->Checked, 0); get("报警死区值不正确", AlarmDeadband, !(tag->s.Flags & 0xffffff00), 0); get("最大值不正确", MaxValue, false, 0); get("最小值不正确", MinValue, false, 0); get("速率报警阈值不正确", Rate, !chkRate->Checked, 0.1); break; case dt_int8: case dt_int16: case dt_int32: case dt_int64: case dt_uint8: case dt_uint16: case dt_uint32: case dt_uint64: get("速率报警阈值不正确", Rate, !chkRate->Checked, 0.1); #undef get #define get(msg, attrName, uiName, ignore_on_condition, _default_value)\ m_Hint = msg;\ if( !edt##uiName->Text.Length() ){\ if(ignore_on_condition){\ tag->s.##attrName = _default_value;\ }else{\ throw(-1);\ }\ }else{\ tag->s.attrName = edt##uiName->Text.ToDouble();\ } get("高高值不正确", u_hihi.i, HiHi, !chkHiHi->Checked, 0); get("低低值不正确", u_lolo.i, LoLo, !chkLoLo->Checked, 0); get("低值不正确", u_lo.i, Lo, !chkLo->Checked, 0); get("高值不正确", u_hi.i, Hi, !chkHi->Checked, 0); get("报警死区值不正确", u_deadband.i, AlarmDeadband, !(tag->s.Flags & 0xffffff00), 0); get("最大值不正确", u_max.i, MaxValue, false, 0); get("最小值不正确", u_min.i, MinValue, false, 0); break; } #pragma warn .ccc #pragma warn .rch if(get_value_type(tag->s.Flags) == dt_bool){ tag->s.AlarmRank = edtAlarmRank2->Text.ToInt(); }else{ tag->s.AlarmRank = edtAlarmRank->Text.ToInt(); } tag->s.Compressing = Compress_Const; tag->s.CompDev = StrToFloat(edtCompDev->Text); tag->s.CompMax = StrToInt(edtCompMax->Text); }catch(...){ return false; } m_Hint = "更新成功"; return true; }
void __fastcall TFormSimulacion::TrackBarBasculaChange(TObject *Sender) { bascula.Peso(TrackBarBascula->Position); LabelBascula->Caption=AnsiString(bascula.Peso()/100) + " %"; }
void __fastcall TSmallTypeForm::btnokClick(TObject *Sender) { if (!dm1->ConnectDB()) return; switch(btnidx) { case 0://do add if (!CheckEdit()) break; if (!CheckCode()) break; strsql =AnsiString("select st_code from dicsmalltype where st_code='") +edtcode->Text+"'"; if (DoQuery(dm1->Query1,strsql)) { if (!dm1->Query1->IsEmpty()) { ErrorDlg("输入了重复的代码!"); break; } } else { SetButton(1,1,1,1,0,0,1,1); break; } strsql =AnsiString("insert into dicsmalltype values('")+edtcode->Text+"','" +edtname->Text+"')"; if (DoQuery(dm1->Query1,strsql,1)) { btnref->Click(); ClearEdit(); edtcode->SetFocus(); } break; case 1: LocateRow(); break; case 2://do modify if (ListView1->SelCount==0) { InfoDlg("请先在列表中选择要修改的项次!"); break; } if (!CheckEdit()) break; if (!CheckCode()) break; strsql =AnsiString("update dicsmalltype set st_name='") +edtname->Text+"' where st_code='" +ListView1->Selected->SubItems->Strings[0]+"'"; if (DoQuery(dm1->Query1,strsql,1)) { btnref->Click(); ClearEdit(); InfoDlg("修改完成!"); } else SetButton(1,1,1,1,0,0,1,1); break; case 3://do delete if (ListView1->SelCount==0) { InfoDlg("请先在列表中选择要删除的项次!"); break; } if (AskDlg("确实要删除该项次吗?")==IDNO) break; strsql =AnsiString("delete dicsmalltype where st_code='") +ListView1->Selected->SubItems->Strings[0]+"'"; if (DoQuery(dm1->Query1,strsql,1)) { ClearEdit(); btnref->Click(); InfoDlg("删除完成!"); } else SetButton(1,1,1,1,0,0,1,1); break; } dm1->db1->Connected=false; }
TSoundContainer::TSoundContainer(LPDIRECTSOUND pDS, char *Directory, char *strFileName, int NConcurrent) { // wczytanie pliku dŸwiêkowego int hr = 111; DSBuffer = NULL; // na pocz¹tek, gdyby uruchomiæ dŸwiêków siê nie uda³o Concurrent = NConcurrent; Oldest = 0; // strcpy(Name, strFileName); strcpy(Name, Directory); strcat(Name, strFileName); CWaveSoundRead *pWaveSoundRead; // Create a new wave file class pWaveSoundRead = new CWaveSoundRead(); // Load the wave file if (FAILED(pWaveSoundRead->Open(Name))) if (FAILED(pWaveSoundRead->Open(strFileName))) { // SetFileUI( hDlg, TEXT("Bad wave file.") ); return; ErrorLog("Missed sound: " + AnsiString(strFileName)); } strcpy(Name, AnsiString(strFileName).LowerCase().c_str()); // Set up the direct sound buffer, and only request the flags needed // since each requires some overhead and limits if the buffer can // be hardware accelerated DSBUFFERDESC dsbd; ZeroMemory(&dsbd, sizeof(DSBUFFERDESC)); dsbd.dwSize = sizeof(DSBUFFERDESC); dsbd.dwFlags = DSBCAPS_STATIC | DSBCAPS_CTRLPAN | DSBCAPS_CTRLVOLUME | DSBCAPS_CTRLFREQUENCY; if (!Global::bInactivePause) // jeœli prze³¹czony w t³o ma nadal dzia³aæ dsbd.dwFlags |= DSBCAPS_GLOBALFOCUS; // to dŸwiêki maj¹ byæ równie¿ s³yszalne dsbd.dwBufferBytes = pWaveSoundRead->m_ckIn.cksize; dsbd.lpwfxFormat = pWaveSoundRead->m_pwfx; fSamplingRate = pWaveSoundRead->m_pwfx->nSamplesPerSec; iBitsPerSample = pWaveSoundRead->m_pwfx->wBitsPerSample; // pDSBuffer= (LPDIRECTSOUNDBUFFER*) malloc(Concurrent*sizeof(LPDIRECTSOUNDBUFFER)); // for (int i=0; i<Concurrent; i++) // pDSBuffer[i]= NULL; // Create the static DirectSound buffer if (FAILED(hr = pDS->CreateSoundBuffer(&dsbd, &(DSBuffer), NULL))) // if (FAILED(pDS->CreateSoundBuffer(&dsbd,&(DSBuffer),NULL))) return; // Remember how big the buffer is DWORD dwBufferBytes; dwBufferBytes = dsbd.dwBufferBytes; //---------------------------------------------------------- BYTE *pbWavData; // Pointer to actual wav data UINT cbWavSize; // Size of data VOID *pbData = NULL; VOID *pbData2 = NULL; DWORD dwLength; DWORD dwLength2; // The size of wave data is in pWaveFileSound->m_ckIn INT nWaveFileSize = pWaveSoundRead->m_ckIn.cksize; // Allocate that buffer. pbWavData = new BYTE[nWaveFileSize]; if (NULL == pbWavData) return; // E_OUTOFMEMORY; // if (FAILED(hr=pWaveSoundRead->Read( nWaveFileSize,pbWavData,&cbWavSize))) if (FAILED(hr = pWaveSoundRead->Read(nWaveFileSize, pbWavData, &cbWavSize))) return; // Reset the file to the beginning pWaveSoundRead->Reset(); // Lock the buffer down // if (FAILED(hr=DSBuffer->Lock(0,dwBufferBytes,&pbData,&dwLength,&pbData2,&dwLength2,0))) if (FAILED(hr = DSBuffer->Lock(0, dwBufferBytes, &pbData, &dwLength, &pbData2, &dwLength2, 0L))) return; // Copy the memory to it. memcpy(pbData, pbWavData, dwBufferBytes); // Unlock the buffer, we don't need it anymore. DSBuffer->Unlock(pbData, dwBufferBytes, NULL, 0); pbData = NULL; // We dont need the wav file data buffer anymore, so delete it delete[] pbWavData; delete pWaveSoundRead; DSBuffers.push(DSBuffer); /* for (int i=1; i<Concurrent; i++) { if( FAILED( hr= pDS->DuplicateSoundBuffer(pDSBuffer[0],&(pDSBuffer[i])))) { Concurrent= i; break; }; };*/ };
AnsiString BasePlatform::getPlatformName() { // TODO: Should conform to the WME-spec. //return AnsiString(SDL_GetPlatform()); return AnsiString("ScummVM"); }
void __fastcall TItemList::AssignItems(ListItemsVec& items, bool full_expand, bool full_sort) { // begin fill mode LockUpdating (); // clear values // if (tvItems->Selected) FHelper.MakeFullName(tvItems->Selected,0,last_selected_item); if (!m_Items.empty()) ClearParams(); // fill values m_Items = items; for (ListItemsIt it=m_Items.begin(); it!=m_Items.end(); it++){ ListItem* prop = *it; if (prop->key.size()&&(prop->key[prop->key.size()-1]=='\\')){ prop->item = FHelper.AppendFolder(tvItems,*prop->key,!m_Flags.is(ilSuppressIcon)); TElTreeItem* prop_item = (TElTreeItem*)prop->item; prop_item->CheckBoxEnabled = false; prop_item->UseStyles = true; prop_item->MainStyle->TextColor = (TColor)prop->prop_color; prop_item->MainStyle->OwnerProps = true; prop_item->MainStyle->Style = ElhsOwnerDraw; }else{ prop->item = FHelper.AppendObject(tvItems,*prop->key,false,!m_Flags.is(ilSuppressIcon)); if (!prop->item){ Msg ("#!Duplicate item name found: '%s'",*prop->key); break; } TElTreeItem* prop_item = (TElTreeItem*)prop->item; prop_item->ImageIndex = prop->icon_index; prop_item->Tag = (int)prop; prop_item->UseStyles = true; prop_item->CheckBoxEnabled = prop->m_Flags.is(ListItem::flShowCB); prop_item->ShowCheckBox = prop->m_Flags.is(ListItem::flShowCB); prop_item->CheckBoxState = (TCheckBoxState)prop->m_Flags.is(ListItem::flCBChecked); // set flags if (prop->m_Flags.is(ListItem::flDrawThumbnail)){ prop_item->Height = 64; prop_item->OwnerHeight = !miDrawThumbnails->Checked; } // set style prop_item->MainStyle->OwnerProps = true; prop_item->MainStyle->Style = ElhsOwnerDraw; } } // end fill mode if (full_expand) tvItems->FullExpand(); // folder restore if (m_Flags.is(ilFolderStore)&&!FolderStore.empty()){ for (TElTreeItem* item=tvItems->Items->GetFirstNode(); item; item=item->GetNext()){ if (item->ChildrenCount){ AnsiString nm; FHelper.MakeFullName (item,0,nm); FolderStorePairIt it = FolderStore.find(nm); if (it!=FolderStore.end()){ SFolderStore& st_item = it->second; if (st_item.expand) item->Expand (false); else item->Collapse (false); } } } } // sorting if (full_sort){ tvItems->ShowColumns = false; tvItems->Sort (true); tvItems->ShowColumns = true; }else{ for (ListItemsIt it=m_Items.begin(); it!=m_Items.end(); it++){ ListItem* prop = *it; if (prop->m_Flags.is(ListItem::flSorted)) ((TElTreeItem*)prop->item)->Sort(true); } } // expand sel items for (RStringVecIt s_it=last_selected_items.begin(); s_it!=last_selected_items.end(); s_it++) FHelper.ExpandItem (tvItems,**s_it); UnlockUpdating (); // restore selection tvItems->DeselectAll (); for (s_it=last_selected_items.begin(); s_it!=last_selected_items.end(); s_it++) FHelper.RestoreSelection(tvItems,**s_it,true); // check size tvItemsResize (0); paStatus->Caption = AnsiString(" Items count: ")+m_Items.size(); }
AnsiString AnsiString::operator +(const RawByteString & rhs) const { AnsiString Result = AnsiString(Data.c_str(), Data.size()); Result += rhs.c_str(); return Result; }
//int TARGETSEQUENCE::LoadPotentialTargets(const int targetRow, const int targetCol, const int treeRow, const int treeCol) int TARGETSEQUENCE::LoadPotentialTargets() { /*shidong starts */ int targetID, parentID, displaypos, ptr, targettype; TARGET *cur_target; // if we already have a list of potential targets, delete this list if (targets) delete targets; targets=new TARGETLIST(); if(debug)fprintf(f, "Row # is %d.\n", Parameter("TargetDefinitionMatrix")->NumRows()); if(debug)fprintf(f, "ID \tType \tDisplay\tFontSizeFactor\tIconFile\n"); /* */ // parse the target definition matrix for (int i = 0; i < Parameter("TargetDefinitionMatrix")->NumRows(); i++) { targetID = AnsiString(Parameter("TargetDefinitionMatrix")(i,0).c_str()).ToInt(); cur_target = new TARGET(targetID); cur_target->targettype = AnsiString(Parameter("TargetDefinitionMatrix")(i,1).c_str()).ToInt(); cur_target->Caption = AnsiString(Parameter("TargetDefinitionMatrix")(i,2).c_str()); cur_target->FontSizeFactor = (float)(Parameter("TargetDefinitionMatrix")(i,3)); cur_target->IconFile = AnsiString(Parameter("TargetDefinitionMatrix")(i,4).c_str()); cur_target->SoundFile = AnsiString(Parameter("TargetDefinitionMatrix")(i,5).c_str()); if(debug)fprintf(f, "%d\t", cur_target->targetID); if(debug)fprintf(f, "%d\t", cur_target->targettype); if(debug)fprintf(f, "%s\t", cur_target->Caption); if(debug)fprintf(f, "%f\n", cur_target->FontSizeFactor); if(debug)fprintf(f, "%s\n", cur_target->IconFile); if(debug)fprintf(f, "%s\n", cur_target->SoundFile); // VK adding for playing .wav files if ((cur_target->SoundFile != "") && (cur_target->SoundFile != " ")) { // perform parsing to determine sound file or TextToSpeech if (cur_target->SoundFile.SubString(0,1) != "'" && (!cur_target->wavplayer) ) // implies .wav file { cur_target->wavplayer = new WavePlayer; cur_target->wavplayer->SetFile(cur_target->SoundFile.c_str()); } } targets->Add(cur_target); }//for /* char buf[256], line[256]; FILE *fp; int targetID, parentID, displaypos, ptr, targettype; TARGET *cur_target; // if we already have a list of potential targets, delete this list if (targets) delete targets; targets=new TARGETLIST(); // read the target definition file fp=fopen(targetdeffilename, "rb"); if (!fp) return(0); while (!feof(fp)) { fgets(line, 255, fp); if (strlen(line) > 2) { ptr=0; // first column ... target code ptr=get_argument(ptr, buf, line, 255); targetID=atoi(buf); cur_target=new TARGET(targetID); // second column ... caption ptr=get_argument(ptr, buf, line, 255); cur_target->Caption=AnsiString(buf).Trim(); // third column ... icon ptr=get_argument(ptr, buf, line, 255); cur_target->IconFile=AnsiString(buf).Trim(); targettype=TARGETTYPE_NOTYPE; if ((targetID == TARGETID_BLANK) || (targetID == TARGETID_BACKUP) || (targetID == TARGETID_ROOT)) targettype=TARGETTYPE_CONTROL; if ((targetID >= TARGETID_A) && (targetID <= TARGETID__)) targettype=TARGETTYPE_CHARACTER; if ((targetID >= TARGETID_ABCDEFGHI) && (targetID <= TARGETID_YZ_)) targettype=TARGETTYPE_CHARACTERS; cur_target->targettype=targettype; targets->Add(cur_target); } } fclose(fp); */ // load the tree file to go with the list of targets //if (tree->LoadTree(treeRow, treeCol) == 0) if (tree->LoadTree() == 0) return(-1); return(1); /*shidong ends*/ }
void __fastcall TFrmDemand::comboboxtypedemChange(TObject *Sender) { ((Demand*)(TreeView_doc_Struct->Selected->Data))->type_dem = string(AnsiString(this->comboboxtypedem->Text).c_str()); }