Example #1
0
//---------------------------------------------------------------------------
void TForm2D::DataPrepare()
{
 m_setval = 0;
 m_val_n  = 0;
 AnsiString as;

 //range of grid values must be slightly wider...
 Chart1->LeftAxis->Maximum = m_fnc_max;
 Chart1->LeftAxis->Minimum = m_fnc_min;

 Chart1->Title->Text->Clear();
 Chart1->Title->Text->Add(m_chart_title_text);
 Chart1->LeftAxis->Title->Caption = m_y_axis_title;
 Chart1->BottomAxis->Title->Caption = m_x_axis_title;

 for(int i = 0; i < m_count_of_function_points; i++)
 {
  if (m_horizontal_axis_grid_mode < 2) //0,1 modes
   as.sprintf(m_horizontal_axis_values_format.c_str(), m_horizontal_axis_grid_values[i]);
  else  //mode 2
   as.sprintf(m_horizontal_axis_values_format.c_str(), mp_modified_function[i+m_count_of_function_points]);
   
  Series1->Add(mp_original_function[i], as, clAqua);
  Series2->Add(mp_modified_function[i], as, clRed);
 }

 if (2==m_horizontal_axis_grid_mode)
  UpdateBins();
}
Example #2
0
//---------------------------------------------------------------------------
void __fastcall TPntDialog::BtnLoadClick(TObject *Sender)
{
	AnsiString s;
	FILE *fp;
	char buff[256],name[256];
	double pos[3];
	int i=0;
	if (!OpenDialog->Execute()) return;
	if (!(fp=fopen(OpenDialog->FileName.c_str(),"r"))) return;
	while (fgets(buff,sizeof(buff),fp)&&i<PntList->RowCount) {
		if (buff[0]=='#') continue;
		if (sscanf(buff,"%lf %lf %lf %s",pos,pos+1,pos+2,name)<4) continue;
		PntList->Cells[0][i]=s.sprintf("%.9f",pos[0]);
		PntList->Cells[1][i]=s.sprintf("%.9f",pos[1]);
		PntList->Cells[2][i]=s.sprintf("%.4f",pos[2]);
		PntList->Cells[3][i++]=name;
	}
	for (;i<PntList->RowCount;i++) {
		PntList->Cells[0][i]="";
		PntList->Cells[1][i]="";
		PntList->Cells[2][i]="";
		PntList->Cells[3][i]="";
	}
	fclose(fp);
}
Example #3
0
//---------------------------------------------------------------------------
void __fastcall TExtOptDialog::GetExtErrOpt(void)
{
    TEdit *editc[][6]= {
        {CodeErr00,CodeErr01,CodeErr02,CodeErr03,CodeErr04,CodeErr05},
        {CodeErr10,CodeErr11,CodeErr12,CodeErr13,CodeErr14,CodeErr15},
        {CodeErr20,CodeErr21,CodeErr22,CodeErr23,CodeErr24,CodeErr25}
    };
    TEdit *editp[][6]= {
        {PhaseErr00,PhaseErr01,PhaseErr02,PhaseErr03,PhaseErr04,PhaseErr05},
        {PhaseErr10,PhaseErr11,PhaseErr12,PhaseErr13,PhaseErr14,PhaseErr15},
        {PhaseErr20,PhaseErr21,PhaseErr22,PhaseErr23,PhaseErr24,PhaseErr25}
    };
    AnsiString s;

    ExtEna0->Checked=OptDialog->ExtErr.ena[0];
    ExtEna1->Checked=OptDialog->ExtErr.ena[1];
    ExtEna2->Checked=OptDialog->ExtErr.ena[2];
    ExtEna3->Checked=OptDialog->ExtErr.ena[3];

    for (int i=0; i<3; i++) for (int j=0; j<6; j++) {
            editc[i][j]->Text=s.sprintf("%.3f",OptDialog->ExtErr.cerr[i][j]);
            editp[i][j]->Text=s.sprintf("%.3f",OptDialog->ExtErr.perr[i][j]);
        }
    GpsGloB0->Text=s.sprintf("%.3f",OptDialog->ExtErr.gpsglob[0]);
    GpsGloB1->Text=s.sprintf("%.3f",OptDialog->ExtErr.gpsglob[1]);
    GloICB0->Text=s.sprintf("%.3f",OptDialog->ExtErr.gloicb[0]);
    GloICB1->Text=s.sprintf("%.3f",OptDialog->ExtErr.gloicb[1]);
}
Example #4
0
//---------------------------------------------------------------------------
bool __fastcall CIniFile::SearchFile(AnsiString strBarCode,AnsiString &strFileName)
{
  WIN32_FIND_DATA FindFileData;
  AnsiString strName;
  char *pFileName;
  TIniFile *pIniFile;
  bool bResult=false;
  
  strName.sprintf("%s*.ini",IniFile_Dir);
  HANDLE hFile=FindFirstFile(strName.c_str(),&FindFileData);
  if(hFile!=INVALID_HANDLE_VALUE)
  {
    while(FindNextFile(hFile,&FindFileData)!=0)
    {
      pFileName=FindFileData.cFileName;
      strName.sprintf("%s%s",IniFile_Dir,pFileName);
      pIniFile = new TIniFile(strName);
      AnsiString strCode=pIniFile->ReadString(Product_Section,"BarCode","0000");
      delete pIniFile;
      if(strCode==strBarCode)
      {
        strFileName=strName;
        bResult=true;
        break;
      }
    }
    FindClose(hFile);
  }

  return bResult;
}
Example #5
0
//---------------------------------------------------------------------------
void __fastcall CIniFile::StoreHistory(int nYear,int nMonth,int nDate,AnsiString strMessage)
{
  AnsiString strFileName;
  TIniFile *pIniFile;
  int nFileMonth,nIndex; 

  strFileName.sprintf("%s\\Message History\\%4d_%02d_%02d.ini",IniFile_Dir,nYear,nMonth,nDate);
  pIniFile = new TIniFile(strFileName);

  nFileMonth=pIniFile->ReadInteger("Control","Month",1);
  nIndex=pIniFile->ReadInteger("Control","Index",1);

  if(nFileMonth!=nMonth)
  {
    nIndex=1;
    pIniFile->WriteInteger("Control","Month",nMonth);
  }

  AnsiString strID;
  strID.sprintf("No%08d",nIndex);
  pIniFile->WriteString("History",strID,strMessage);

  nIndex++;

  strID.sprintf("No%08d",nIndex);
  pIniFile->WriteString("History",strID,"//-------------以下做作廢--------------------//");

  pIniFile->WriteInteger("Control","Index",nIndex);

  delete pIniFile;
}
Example #6
0
// update observation type pull-down menu --------------------------------------
void __fastcall TPlot::UpdateObsType(void)
{
    AnsiString s;
    char *codes[MAXCODE+1],freqs[]="125678";
    int i,j,n=0,cmask[MAXCODE+1]={0},fmask[6]={0};
    
    trace(3,"UpdateObsType\n");
    
    for (i=0;i<Obs.n;i++) for (j=0;j<NFREQ+NEXOBS;j++) {
        cmask[Obs.data[i].code[j]]=1;
    }
    for (i=1;i<=MAXCODE;i++) {
        if (!cmask[i]) continue;
        codes[n++]=code2obs(i,&j);
        fmask[j-1]=1;
    }
    ObsType ->Items->Clear();
    ObsType2->Items->Clear();
    ObsType ->Items->Add("ALL");
    
    for (i=0;i<6;i++) {
        if (!fmask[i]) continue;
        ObsType ->Items->Add(s.sprintf("L%c",freqs[i]));
        ObsType2->Items->Add(s.sprintf("L%c",freqs[i]));
    }
    for (i=0;i<n;i++) {
        ObsType ->Items->Add(s.sprintf("L%s",codes[i]));
        ObsType2->Items->Add(s.sprintf("L%s",codes[i]));
    }
    ObsType ->ItemIndex=0;
    ObsType2->ItemIndex=0;
}
Example #7
0
//---------------------------------------------------------------------------
void __fastcall TSkyImgDialog::UpdateField(void)
{
    AnsiString s;
    Caption=Plot->SkyImageFile;
    SkySize1->Text=s.sprintf("%d",Plot->SkySize[0]);
    SkySize2->Text=s.sprintf("%d",Plot->SkySize[1]);
    SkyCent1->Text=s.sprintf("%.2f",Plot->SkyCent[0]);
    SkyCent2->Text=s.sprintf("%.2f",Plot->SkyCent[1]);
    SkyScale->Text=s.sprintf("%.2f",Plot->SkyScale);
    SkyFov1 ->Text=s.sprintf("%.2f",Plot->SkyFov[0]);
    SkyFov2 ->Text=s.sprintf("%.2f",Plot->SkyFov[1]);
    SkyFov3 ->Text=s.sprintf("%.2f",Plot->SkyFov[2]);
    SkyDest1->Text=s.sprintf("%.1f",Plot->SkyDest[1]);
    SkyDest2->Text=s.sprintf("%.1f",Plot->SkyDest[2]);
    SkyDest3->Text=s.sprintf("%.1f",Plot->SkyDest[3]);
    SkyDest4->Text=s.sprintf("%.1f",Plot->SkyDest[4]);
    SkyDest5->Text=s.sprintf("%.1f",Plot->SkyDest[5]);
    SkyDest6->Text=s.sprintf("%.1f",Plot->SkyDest[6]);
    SkyDest7->Text=s.sprintf("%.1f",Plot->SkyDest[7]);
    SkyDest8->Text=s.sprintf("%.1f",Plot->SkyDest[8]);
    SkyDest9->Text=s.sprintf("%.1f",Plot->SkyDest[9]);
    SkyElMask->Checked=Plot->SkyElMask;
    SkyDestCorr->Checked=Plot->SkyDestCorr;
    SkyRes->ItemIndex=Plot->SkyRes;
    SkyFlip->Checked=Plot->SkyFlip;
}
Example #8
0
//---------------------------------------------------------------------------
void __fastcall TPntDialog::FormShow(TObject *Sender)
{
	TGridRect r={0};
	AnsiString s;
	double pos[3];
	int width[]={90,90,80,90};
	
	FontScale=Screen->PixelsPerInch;
	for (int i=0;i<4;i++) {
		PntList->ColWidths[i]=width[i]*FontScale/96;
	}
	PntList->DefaultRowHeight=17*FontScale/96;
	
	for (int i=0;i<PntList->RowCount;i++) {
		if (i<Plot->NWayPnt) {
			ecef2pos(Plot->PntPos[i],pos);
			PntList->Cells[0][i]=s.sprintf("%.9f",pos[0]*R2D);
			PntList->Cells[1][i]=s.sprintf("%.9f",pos[1]*R2D);
			PntList->Cells[2][i]=s.sprintf("%.4f",pos[2]);
			PntList->Cells[3][i]=Plot->PntName[i];
		}
		else {
			for (int j=0;j<PntList->ColCount;j++) PntList->Cells[j][i]="";
		}
	}
	r.Top=r.Bottom=PntList->RowCount;
	PntList->Selection=r;
}
Example #9
0
void CFolderHelper::GenerateObjectName(TElTree* tv, TElTreeItem* node, AnsiString& name,AnsiString pref, bool num_first)
{
    int cnt = 0;
    if (num_first) name.sprintf("%s_%02d",pref,cnt++); else name = pref;
    while (FindItemInFolder(TYPE_OBJECT,tv,node,name))
    	name.sprintf("%s_%02d",pref,cnt++);
}
Example #10
0
void SPBItem::GetInfo			(AnsiString& txt, float& p, float& m)
{
    if (info.size())txt.sprintf("%s (%s)",text.c_str(),info.c_str());
    else			txt.sprintf("%s",text.c_str());
    p				= progress;
    m				= max;
}  
Example #11
0
// connect to external sources ----------------------------------------------
void __fastcall TPlot::Connect(void)
{
    AnsiString s;
    char *cmd,*path,buff[MAXSTRPATH],*name[2]={"",""},*p;
    int i,mode=STR_MODE_R;
    
    trace(3,"Connect\n");
    
    if (ConnectState) return;
    
    for (i=0;i<2;i++) {
        if      (RtStream[i]==STR_NONE    ) continue;
        else if (RtStream[i]==STR_SERIAL  ) path=StrPaths[i][0].c_str();
        else if (RtStream[i]==STR_FILE    ) path=StrPaths[i][2].c_str();
        else if (RtStream[i]<=STR_NTRIPCLI) path=StrPaths[i][1].c_str();
        else continue;
        
        if (RtStream[i]==STR_FILE||!SolData[i].cyclic||SolData[i].nmax!=RtBuffSize+1) {
            Clear();
            initsolbuf(SolData+i,1,RtBuffSize+1);
        }
        if (RtStream[i]==STR_SERIAL) mode|=STR_MODE_W;
        
        strcpy(buff,path);
        if ((p=strstr(buff,"::"))) *p='\0';
        if ((p=strstr(buff,"/:"))) *p='\0';
        if ((p=strstr(buff,"@"))) name[i]=p+1; else name[i]=buff;
        
        if (!stropen(Stream+i,RtStream[i],mode,path)) {
            ShowMsg(s.sprintf("connect error: %s",name));
            ShowLegend(NULL);
            trace(1,"stream open error: ch=%d type=%d path=%s\n",i+1,RtStream[i],path);
            continue;
        }
        strsettimeout(Stream+i,RtTimeOutTime,RtReConnTime);
        
        if (StrCmdEna[i][0]) {
            cmd=StrCmds[i][0].c_str();
            strwrite(Stream+i,(unsigned char *)cmd,strlen(cmd));
        }
        ConnectState=1;
    }
    if (!ConnectState) return;
    
    if (Title!="") Caption=Title;
    else Caption=s.sprintf("CONNECT %s %s",name[0],name[1]);
    
    BtnConnect->Down=true;
    BtnSol1   ->Down=*name[0];
    BtnSol2   ->Down=*name[1];
    BtnSol12  ->Down=false;
    BtnShowTrack->Down=true;
    BtnFixHoriz->Down=true;
    UpdateEnable();
    UpdateTime();
    UpdatePlot();
}
Example #12
0
// read observation data rinex ----------------------------------------------
int __fastcall TPlot::ReadObsRnx(TStrings *files, obs_t *obs, nav_t *nav,
                                 sta_t *sta)
{
    AnsiString s;
    gtime_t ts,te;
    double tint;
    int i;
    char obsfile[1024],navfile[1024],*p,*opt=RnxOpts.c_str();
    
    trace(3,"ReadObsRnx\n");
    
    TimeSpan(&ts,&te,&tint);
    
    for (i=0;i<files->Count;i++) {
        strcpy(obsfile,U2A(files->Strings[i]).c_str());
        
        ShowMsg(s.sprintf("reading obs data... %s",obsfile));
        Application->ProcessMessages();
        
        if (readrnxt(obsfile,1,ts,te,tint,opt,obs,nav,sta)<0) {
            ShowMsg("error: insufficient memory");
            return -1;
        }
    }
    ShowMsg("reading nav data...");
    Application->ProcessMessages();
    
    for (i=0;i<files->Count;i++) {
        strcpy(navfile,U2A(files->Strings[i]).c_str());
        
        if (!(p=strrchr(navfile,'.'))) continue;
        
        if (!strcmp(p,".obs")||!strcmp(p,".OBS")) {
            strcpy(p,".nav" ); readrnxt(navfile,1,ts,te,tint,opt,NULL,nav,NULL);
            strcpy(p,".gnav"); readrnxt(navfile,1,ts,te,tint,opt,NULL,nav,NULL);
            strcpy(p,".hnav"); readrnxt(navfile,1,ts,te,tint,opt,NULL,nav,NULL);
            strcpy(p,".qnav"); readrnxt(navfile,1,ts,te,tint,opt,NULL,nav,NULL);
            strcpy(p,".lnav"); readrnxt(navfile,1,ts,te,tint,opt,NULL,nav,NULL);
        }
        else if (!strcmp(p+3,"o" )||!strcmp(p+3,"d" )||
                 !strcmp(p+3,"O" )||!strcmp(p+3,"D" )) {
            strcpy(p+3,"N"); readrnxt(navfile,1,ts,te,tint,opt,NULL,nav,NULL);
            strcpy(p+3,"G"); readrnxt(navfile,1,ts,te,tint,opt,NULL,nav,NULL);
            strcpy(p+3,"H"); readrnxt(navfile,1,ts,te,tint,opt,NULL,nav,NULL);
            strcpy(p+3,"Q"); readrnxt(navfile,1,ts,te,tint,opt,NULL,nav,NULL);
            strcpy(p+3,"L"); readrnxt(navfile,1,ts,te,tint,opt,NULL,nav,NULL);
            strcpy(p+3,"P"); readrnxt(navfile,1,ts,te,tint,opt,NULL,nav,NULL);
        }
    }
    if (obs->n<=0) {
        ShowMsg(s.sprintf("no observation data: %s...",files->Strings[0].c_str()));
        freenav(nav,0xFF);
        return 0;
    }
    uniqnav(nav);
    return sortobs(obs);
}
Example #13
0
//---------------------------------------------------------------------------
void __fastcall TConvOptDialog::FormShow(TObject *Sender)
{
	AnsiString s;
	RnxVer->ItemIndex=MainWindow->RnxVer;
	RnxFile->Checked=MainWindow->RnxFile;
	RnxCode->Text=MainWindow->RnxCode;
	RunBy->Text=MainWindow->RunBy;
	Marker->Text=MainWindow->Marker;
	MarkerNo->Text=MainWindow->MarkerNo;
	MarkerType->Text=MainWindow->MarkerType;
	Name0->Text=MainWindow->Name[0];
	Name1->Text=MainWindow->Name[1];
	Rec0->Text=MainWindow->Rec[0];
	Rec1->Text=MainWindow->Rec[1];
	Rec2->Text=MainWindow->Rec[2];
	Ant0->Text=MainWindow->Ant[0];
	Ant1->Text=MainWindow->Ant[1];
	Ant2->Text=MainWindow->Ant[2];
	AppPos0->Text=s.sprintf("%.4f",MainWindow->AppPos[0]);
	AppPos1->Text=s.sprintf("%.4f",MainWindow->AppPos[1]);
	AppPos2->Text=s.sprintf("%.4f",MainWindow->AppPos[2]);
	AntDel0->Text=s.sprintf("%.4f",MainWindow->AntDel[0]);
	AntDel1->Text=s.sprintf("%.4f",MainWindow->AntDel[1]);
	AntDel2->Text=s.sprintf("%.4f",MainWindow->AntDel[2]);
	Comment0->Text=MainWindow->Comment[0];
	Comment1->Text=MainWindow->Comment[1];
	RcvOption->Text=MainWindow->RcvOption;
	for (int i=0;i<6;i++) CodeMask[i]=MainWindow->CodeMask[i];
	AutoPos->Checked=MainWindow->AutoPos;
	ScanObs->Checked=MainWindow->ScanObs;
	OutIono->Checked=MainWindow->OutIono;
	OutTime->Checked=MainWindow->OutTime;
	OutLeaps->Checked=MainWindow->OutLeaps;

	Nav1->Checked=MainWindow->NavSys&SYS_GPS;
	Nav2->Checked=MainWindow->NavSys&SYS_GLO;
	Nav3->Checked=MainWindow->NavSys&SYS_GAL;
	Nav4->Checked=MainWindow->NavSys&SYS_QZS;
	Nav5->Checked=MainWindow->NavSys&SYS_SBS;
	Nav6->Checked=MainWindow->NavSys&SYS_CMP;
	Obs1->Checked=MainWindow->ObsType&OBSTYPE_PR;
	Obs2->Checked=MainWindow->ObsType&OBSTYPE_CP;
	Obs3->Checked=MainWindow->ObsType&OBSTYPE_DOP;
	Obs4->Checked=MainWindow->ObsType&OBSTYPE_SNR;
	Freq1->Checked=MainWindow->FreqType&FREQTYPE_L1;
	Freq2->Checked=MainWindow->FreqType&FREQTYPE_L2;
	Freq3->Checked=MainWindow->FreqType&FREQTYPE_L5;
	Freq4->Checked=MainWindow->FreqType&FREQTYPE_L6;
	Freq5->Checked=MainWindow->FreqType&FREQTYPE_L7;
	Freq6->Checked=MainWindow->FreqType&FREQTYPE_L8;
	ExSats->Text=MainWindow->ExSats;
	TraceLevel->ItemIndex=MainWindow->TraceLevel;
	
	UpdateEnable();
}
Example #14
0
//---------------------------------------------------------------------------
void __fastcall CIniFile::StoreHistoryNew()
{
  AnsiString strFileName;
  TIniFile *pIniFile;
  int nFileMonth,nIndex;
  time_t timer;
  struct tm *tblock;

  int nSize=m_vecMsg.size();
  if(nSize==0) return;

  AnsiString strMsg;
  strMsg.sprintf("訊息共有 %d 筆\n每筆花費時間約 10 ms\n是否要儲存訊息??",nSize);
  if(Application->MessageBoxA(strMsg.c_str(),"Confirm",MB_ICONQUESTION|MB_OKCANCEL)!=IDOK) return;

   /* gets time of day */
   timer = time(NULL);
   /* converts date/time to a structure */
   tblock = localtime(&timer);
   int nMonth=tblock->tm_mon;
   int nDate=tblock->tm_mday;

  strFileName.sprintf("%s\\Message History\\%d.ini",IniFile_Dir,nDate);
  pIniFile = new TIniFile(strFileName);

  nFileMonth=pIniFile->ReadInteger("Control","Month",1);
  nIndex=pIniFile->ReadInteger("Control","Index",1);

  if(nFileMonth!=nMonth)
  {
    DeleteFile(strFileName);
    nIndex=1;
    pIniFile->WriteInteger("Control","Month",nMonth);
  }

  AnsiString strID;

  for(int nSz=0;nSz<nSize;nSz++)
  {
    strID.sprintf("No%08d",nIndex);
    pIniFile->WriteString("History",strID,m_vecMsg[nSz]);

    nIndex++;
  }
 
  m_vecMsg.clear();
  
  strID.sprintf("No%08d",nIndex);
  pIniFile->WriteString("History",strID,"//-------------以下做作廢--------------------//");

  pIniFile->WriteInteger("Control","Index",nIndex);

  delete pIniFile;
}
Example #15
0
AnsiString FloatTimeToStrTime(float v, bool _h, bool _m, bool _s, bool _ms)
{
    AnsiString buf = "";
    int h = 0, m = 0, s = 0, ms;
    AnsiString t;
    if (_h) { h = iFloor(v / 3600); t.sprintf("%02d", h); buf += t; }
    if (_m) { m = iFloor((v - h * 3600) / 60); t.sprintf("%02d", m); buf += buf.IsEmpty() ? t : ":" + t; }
    if (_s) { s = iFloor(v - h * 3600 - m * 60); t.sprintf("%02d", s); buf += buf.IsEmpty() ? t : ":" + t; }
    if (_ms) { ms = iFloor((v - h * 3600 - m * 60 - s)*1000.f); t.sprintf("%03d", ms); buf += buf.IsEmpty() ? t : "." + t; }
    return buf;
}
Example #16
0
//---------------------------------------------------------------------------
void __fastcall TMapAreaDialog::UpdateField(void)
{
	AnsiString s;
	Caption=Plot->MapImageFile;
	MapSize1->Text=s.sprintf("%d",Plot->MapSize[0]);
	MapSize2->Text=s.sprintf("%d",Plot->MapSize[1]);
	ScaleX->Text=s.sprintf("%.5f",Plot->MapScaleX);
	ScaleY->Text=s.sprintf("%.5f",Plot->MapScaleY);
	Lat->Text=s.sprintf("%.7f",Plot->MapLat);
	Lon->Text=s.sprintf("%.7f",Plot->MapLon);
	ScaleEq->Checked=Plot->MapScaleEq;
}
Example #17
0
void CCustomPreferences::Save(CInifile* I)
{
    I->w_u32	("editor_prefs","device_flags",		psDeviceFlags.flags	);
    I->w_u32	("editor_prefs","sound_flags",		psSoundFlags.flags	);

    I->w_u32	("editor_prefs","tools_settings",	Tools->m_Settings.flags	);

    I->w_float	("editor_prefs","view_np",			view_np			);
    I->w_float	("editor_prefs","view_fp",			view_fp			);
    I->w_float	("editor_prefs","view_fov",			view_fov		);

    I->w_u32	("editor_prefs","fog_color",		fog_color		);
    I->w_float	("editor_prefs","fog_fogness",		fog_fogness		);

    I->w_float	("editor_prefs","cam_fly_speed",	cam_fly_speed	);
    I->w_float	("editor_prefs","cam_fly_alt",		cam_fly_alt		);
    I->w_float	("editor_prefs","cam_sens_rot",		cam_sens_rot	);
    I->w_float	("editor_prefs","cam_sens_move",	cam_sens_move	);

    I->w_float	("editor_prefs","tools_sens_rot",	tools_sens_rot	);
    I->w_float	("editor_prefs","tools_sens_move",	tools_sens_move	);
    I->w_float	("editor_prefs","tools_sens_scale",	tools_sens_scale);

    I->w_bool	("editor_prefs","bp_lim_depth",		bp_lim_depth	);
    I->w_bool	("editor_prefs","bp_lim_depth",		bp_cull			);
    I->w_float	("editor_prefs","bp_depth_tolerance",bp_depth_tolerance	);

    I->w_float	("editor_prefs","snap_angle",		snap_angle		);
    I->w_float	("editor_prefs","snap_move",		snap_move		);
    I->w_float	("editor_prefs","snap_moveto",		snap_moveto		);

    I->w_float	("editor_prefs","grid_cell_size",	grid_cell_size	);
    I->w_u32	("editor_prefs","grid_cell_count",	grid_cell_count	);

    I->w_u32	("editor_prefs","scene_undo_level",		scene_undo_level	);
    I->w_u32	("editor_prefs","scene_recent_count",	scene_recent_count	);
    I->w_u32	("editor_prefs","scene_clear_color",	scene_clear_color 	);

    I->w_u32	("editor_prefs","object_flags",		object_flags.flags);

    for (AStringIt it=scene_recent_list.begin(); it!=scene_recent_list.end(); it++){
    	AnsiString L; L.sprintf("recent_files_%d",it-scene_recent_list.begin());
    	AnsiString V; V.sprintf("\"%s\"",it->c_str());
		I->w_string("editor_prefs",L.c_str(),V.c_str());
    }
    I->w_string("editor_prefs","weather",   sWeather.c_str() );
    // load shortcuts
    SaveShortcuts		(I);
    UI->SaveSettings	(I);
}
Example #18
0
// update information for current-cursor position ---------------------------
void __fastcall TPlot::UpdatePoint(int x, int y)
{
    gtime_t time;
    TPoint p(x,y);
    double enu[3]={0},rr[3],pos[3],xx,yy,r,xl[2],yl[2],q[2],az,el,snr;
    int i;
    char tstr[64];
    AnsiString msg;
    
    trace(4,"UpdatePoint: x=%d y=%d\n",x,y);
    
    if (PlotType==PLOT_TRK) { // track-plot
        
        if (norm(OPos,3)>0.0) {
            GraphT->ToPos(p,enu[0],enu[1]);
            ecef2pos(OPos,pos);
            enu2ecef(pos,enu,rr);
            for (i=0;i<3;i++) rr[i]+=OPos[i];
            ecef2pos(rr,pos);
            msg=LatLonStr(pos,8);
        }
    }
    else if (PlotType==PLOT_SKY||PlotType==PLOT_MPS) { // sky-plot
        
        GraphS->GetLim(xl,yl);
        GraphS->ToPos(p,q[0],q[1]);
        r=(xl[1]-xl[0]<yl[1]-yl[0]?xl[1]-xl[0]:yl[1]-yl[0])*0.45;
        
        if ((el=90.0-90.0*norm(q,2)/r)>0.0) {
            az=el>=90.0?0.0:ATAN2(q[0],q[1])*R2D;
            if (az<0.0) az+=360.0;
            msg.sprintf("AZ=%5.1f" CHARDEG " EL=%4.1f" CHARDEG,az,el);
        }
    }
    else if (PlotType==PLOT_SNRE) { // snr-el-plot
        GraphE[0]->ToPos(p,q[0],q[1]);
        msg.sprintf("EL=%4.1f " CHARDEG,q[0]);
    }
    else {
        GraphG[0]->ToPos(p,xx,yy);
        time=gpst2time(Week,xx);
        if      (TimeLabel==2) time=utc2gpst(time); // UTC
        else if (TimeLabel==3) time=timeadd(gpst2utc(time),-9*3600.0); // JST
        TimeStr(time,0,1,tstr);
        msg=tstr;
    }
    Panel22->Visible=true;
    Message2->Caption=A2U(msg);
}
Example #19
0
// read solution status -----------------------------------------------------
void __fastcall TPlot::ReadSolStat(TStrings *files, int sel)
{
    AnsiString s;
    gtime_t ts,te;
    double tint;
    int i,n=0;
    char *paths[MAXNFILE],id[32];
    
    trace(3,"ReadSolStat\n");
    
    freesolstatbuf(SolStat+sel);
    
    for (i=0;i<MAXNFILE;i++) paths[i]=path_str[i];
    
    TimeSpan(&ts,&te,&tint);
    
    for (i=0;i<files->Count&&n<MAXNFILE;i++) {
        strcpy(paths[n++],U2A(files->Strings[i]).c_str());
    }
    ShowMsg(s.sprintf("reading %s...",paths[0]));
    ShowLegend(NULL);
    
    readsolstatt(paths,n,ts,te,tint,SolStat+sel);
    
    UpdateSatList();
}
Example #20
0
//---------------------------------------------------------------------------
void CActorMain::OutGridSize()
{
	VERIFY(fraBottomBar);
    AnsiString s;
    s.sprintf("Grid: %1.1f",EPrefs->grid_cell_size);
    fraBottomBar->paGridSquareSize->Caption=s; fraBottomBar->paGridSquareSize->Repaint();
}
Example #21
0
// disconnect from external sources -----------------------------------------
void __fastcall TPlot::Disconnect(void)
{
    AnsiString s;
    char *cmd;
    int i;
    
    trace(3,"Disconnect\n");
    
    if (!ConnectState) return;
    
    ConnectState=0;
    
    for (i=0;i<2;i++) {
        if (StrCmdEna[i][1]) {
            cmd=StrCmds[i][1].c_str();
            strwrite(Stream+i,(unsigned char *)cmd,strlen(cmd));
        }
        strclose(Stream+i);
    }
    if (strstr(Caption.c_str(),"CONNECT")) {
        Caption=s.sprintf("DISCONNECT%s",Caption.c_str()+7);
    }
    UpdateTime();
    UpdatePlot();
}
Example #22
0
void __fastcall TForm1::TBItem1Click(TObject *Sender)
{
 _di_IXMLNode ANode;
 AnsiString fname;

 ArticleList->Clear();

 if(XMLDoc->FileName == NULL) {
  Application->MessageBoxA("News Turkey can't get news unless a source to get news from is selected.", "News Turkey Error", NULL);
  return;
 }

 XMLDoc->Active = TRUE;

 if(XMLDoc->Active == FALSE) { //This is to predvent Access Violations if there is a problem parsing the file
  return;
 }

 ListSources();

 ANode = RSSChannel->ChildNodes->FindNode("title");

 if(DirectoryExists(ANode->Text) == FALSE) {
  CreateDir(ANode->Text);
 }

 XMLDoc->SaveToFile(fname.sprintf("CNET News.com - Front Door\\feed.xml"));

 XMLDoc->Active = FALSE;        
}
Example #23
0
void SSceneSummary::STextureInfo::Export	(IWriter* F, u32& mem_use)
{
	string128		mask;
	AnsiString		tmp;
    strcpy			(mask,"%s=%s,%d,%d,%s,%d,%3.2f,%3.2f,%s");
    if (info.flags.is_any(STextureParams::flDiffuseDetail|STextureParams::flBumpDetail)){
        if (0!=info.detail_name.size()){
        	strcat	(mask,",%s,%3.2f");
        }
    }
    if (info.bump_mode==STextureParams::tbmUse){
        if (0!=info.bump_name.size()){
        	strcat	(mask,",%s");
        }
    }
    AnsiString 		tmp2;
    for (objinf_map_it o_it=objects.begin(); o_it!=objects.end(); o_it++){
        tmp2 		+= AnsiString().sprintf("%s%s[%d*%3.2f]",tmp2.Length()?"; ":"",o_it->first.c_str(),o_it->second.ref_count,o_it->second.area);
    }
    int tex_mem		= info.MemoryUsage(*file_name);
    mem_use			+=tex_mem;
    tmp.sprintf		(mask,*file_name,info.FormatString(),
    				info.width,info.height,info.HasAlpha()?"present":"absent",
                    iFloor(tex_mem/1024),
                    effective_area, _sqrt((pixel_area*info.width*info.height)/effective_area), tmp2.c_str(), 
                    *info.detail_name, info.detail_scale, *info.bump_name);
	F->w_string		(tmp.c_str());
}
Example #24
0
// read elevation mask data -------------------------------------------------
void __fastcall TPlot::ReadElMaskData(AnsiString file)
{
    AnsiString s;
    FILE *fp;
    double az0=0.0,el0=0.0,az1,el1;
    int i,j;
    char buff[256];
    
    trace(3,"ReadElMaskData\n");
    
    for (i=0;i<=360;i++) ElMaskData[i]=0.0;
    
    if (!(fp=fopen(file.c_str(),"r"))) {
        ShowMsg(s.sprintf("no el mask data: %s...",file.c_str()));
        ShowLegend(NULL);
        return;
    }
    while (fgets(buff,sizeof(buff),fp)) {
        
        if (buff[0]=='%'||sscanf(buff,"%lf %lf",&az1,&el1)<2) continue;
        
        if (az0<az1&&az1<=360.0&&0.0<=el1&&el1<=90.0) {
            
            for (j=(int)az0;j<=(int)az1;j++) ElMaskData[j]=el0*D2R;
        }
        az0=az1; el0=el1;
    }
    fclose(fp);
    UpdatePlot();
}
Example #25
0
void __fastcall TMainFrm::RetrievePOPHeaders(int inMsgCount )
{
  AnsiString  stTemp;
  AnsiString stformat;
  int intIndex;
  TListItem *itm;

   stTemp = StatusBar1->Panels->Items[1]->Text;
   lvHeaders->Items->Clear();

   for (intIndex = 1;intIndex<= inMsgCount ;intIndex++)
   {

         // Clear the message properties
         ShowStatus(stformat.sprintf("Messsage %d of %d", intIndex, inMsgCount));
         Application->ProcessMessages();
         Msg->Clear();
         POP->RetrieveHeader(intIndex, Msg);
         // Add info to ListView
         itm = lvHeaders->Items->Add();
         itm->ImageIndex = 5;
         itm->Caption = Msg->Subject;
         itm->SubItems->Add(Msg->From->Text);
         itm->SubItems->Add(DateToStr(Msg->Date));
         itm->SubItems->Add(IntToStr(POP->RetrieveMsgSize(intIndex)));
         itm->SubItems->Add("n/a");
//         itm.SubItems.Add(POP.RetrieveUIDL(intIndex));
   }
   ShowStatus(stTemp);
}
void __fastcall TfrmMain::LoadTimer(TObject *Sender)
{
	LoadSetting();
	if (FileExists(String(LoginerPath) +"\\Data\\"+ GameAccount + "\\Items.dat"))
	{
		TStringList *list = new TStringList();
		list->LoadFromFile(String(LoginerPath) +"\\Data\\"+ GameAccount + "\\Items.dat");
		for (int i = 0; i < list->Count; i++)
		{
			unsigned int ItemID;
			ItemID = _wtoi(list->Strings[i].w_str());
			AnsiString name = String(GetItemName(ItemID));
			if (name.IsEmpty())
			{
				name.sprintf(TEXT("未知物品(編號:%d)"), ItemID);
			}
			int index = list_drop->Items->IndexOfObject((TObject *)ItemID);
			if (index > -1)
				list_drop->Items->Delete(index);
			index = list_filter->Items->IndexOfObject((TObject *)ItemID);
			if (index < 0)
				list_filter->Items->AddObject(name, (TObject *)ItemID);
		}

		delete list;
	}
	Load->Enabled = false;

}
Example #27
0
// read map image data ------------------------------------------------------
void __fastcall TPlot::ReadMapData(AnsiString file)
{
    TJPEGImage *image=new TJPEGImage;
    AnsiString s;
    
    trace(3,"ReadMapData\n");
    
    try {
        image->LoadFromFile(file);
    }
    catch (Exception &exception) {
        ShowMsg(s.sprintf("map file read error: %s",file));
        ShowLegend(NULL);
        return;
    }
    MapImage->Assign(image);
    MapImageFile=file;
    MapSize[0]=MapImage->Width;
    MapSize[1]=MapImage->Height;
    delete image;
    
    ReadMapTag(file);
    
    BtnShowMap->Down=true;
    
    MapAreaDialog->UpdateField();
    UpdatePlot();
}
Example #28
0
void __fastcall TfrmMain::BroadcastMessage(AnsiString WhoFrom, AnsiString TheMessage   )
{
 int Count;
 TList* List;
 TIdPeerThread * peerthread;
 AnsiString EMote;
 AnsiString Msg;

 Msg = Trim(TheMessage);

 EMote = Trim(memEMotes->Lines->Values[Msg]);

  if (WhoFrom != "System")
    Msg = WhoFrom + ": " + Msg;

  if (EMote != "")
    Msg = Msg.sprintf(EMote.c_str(),WhoFrom.c_str());

  List = tcpServer->Threads->LockList();

  for (Count = 0;Count < List->Count ;Count++)
     {peerthread=(TIdPeerThread*)List->Items[Count];
      if (dynamic_cast <TIdPeerThread*>(peerthread))
      peerthread->Connection->WriteLn(Msg);
     }
  tcpServer->Threads->UnlockList();
}
Example #29
0
//---------------------------------------------------------------------------
void __fastcall TOptDialog::BtnFontClick(TObject *Sender)
{
	AnsiString s;
	FontDialog->Font=FontLabel->Font;
	if (!FontDialog->Execute()) return;
	FontLabel->Font=FontDialog->Font;
	FontLabel->Caption=FontLabel->Font->Name+s.sprintf(" %dpt",FontLabel->Font->Size);
}
Example #30
0
//---------------------------------------------------------------------------
void CActorMain::OutUICursorPos()
{
	VERIFY(fraBottomBar);
    AnsiString s; POINT pt;
    GetCursorPos(&pt);
    s.sprintf("Cur: %d, %d",pt.x,pt.y);
    fraBottomBar->paUICursor->Caption=s; fraBottomBar->paUICursor->Repaint();
}