//////////////////////////////////////////////////////////////// // Technomaint 2004 (c) SofTech di Germinara Francesco 2000,2004 // www.germinara.it info@germinara.it // Story: // //////////////////////////////////////////////////////////////// // Checked Version: 6/5/2004 //////////////////////////////////////////////////////////////// #include "stdafx.h" #include "CBseData.h" #ifdef _DEBUG #define new DEBUG_NEW #undef THIS_FILE static char THIS_FILE[] = __FILE__; #endif //Costruttore CBseData::CBseData(){ data=""; datar=""; strcpy(ch_gg,""); strcpy(ch_mm,""); strcpy(ch_aa,""); ora=""; strcpy(ch_ora,""); strcpy(ch_min,""); strcpy(ch_sec,""); n_gg=0; n_mm=0; n_aa=0; n_ora=0; n_min=0; n_sec=0; } //Imposta la data odierna void CBseData::Oggi(){ time=CTime::GetCurrentTime(); data=time.Format("%d/%m/%Y"); datar=time.Format("%Y%m%d"); //La data di base è sempre aaaammgg ora=time.Format("%H:%M:%S"); ScomponiData(); ScomponiOra(); } //Scompone la data nei suoi elementi void CBseData::ScomponiData(){ CString fit; strcpy(ch_gg," "); strcpy(ch_mm," "); strcpy(ch_aa," "); if(datar.GetLength()==8){ fit=datar.Mid(0,4); //Anno n_aa=atoi(fit); // fit=datar.Mid(4,2); //Mese n_mm=atoi(fit); fit=datar.Mid(6,2); //Giorno n_gg=atoi(fit); if(n_gg!=0) sprintf(ch_gg,"%2d",n_gg); if(n_mm!=0) sprintf(ch_mm,"%2d",n_mm); if(n_aa!=0) sprintf(ch_aa,"%4d",n_aa); }else{ n_gg=0; n_aa=0; n_mm=0; } } //Scompone l'ora nei suoi elementi void CBseData::ScomponiOra(){ n_ora=time.GetHour(); n_min=time.GetMinute(); n_sec=time.GetSecond(); sprintf(ch_ora,"%2d",n_ora); sprintf(ch_min,"%2d",n_min); sprintf(ch_sec,"%4d",n_sec); } //Scompone l'ora nei suoi elementi void CBseData::SetOraHHMMSS(CString ora){ //ora HH:MM:SS CString fitHH,fitMM,fitSS; if(ora.GetLength()!=8) return; fitHH=ora.Mid(0,2); fitMM=ora.Mid(3,2); fitSS=ora.Mid(6,2); n_ora=atoi(fitHH); n_min=atoi(fitMM); n_sec=atoi(fitSS); sprintf(ch_ora,"%2d",n_ora); sprintf(ch_min,"%2d",n_min); sprintf(ch_sec,"%4d",n_sec); MkStrOra(n_ora,n_min,n_sec); } //Crea la data indicata void CBseData::MkStrData(char *gg,char *mm,char *aa){ n_gg=atoi(gg); n_mm=atoi(mm); n_aa=atoi(aa); time=CTime(n_aa,n_mm,n_gg,0,0,0); data=time.Format("%d/%m/%Y"); datar=time.Format("%Y%m%d"); //La data di base è sempre aaaammgg ScomponiData(); } //Crea l'ora indicata void CBseData::MkStrOra(char *hh,char *mm,char *ss){ n_ora=atoi(hh); n_min=atoi(mm); n_sec=atoi(ss); time=CTime(n_aa,n_mm,n_gg,n_ora,n_min,n_sec); ora=time.Format("%H:%M:%S"); ScomponiOra(); } //Crea l'ora indicata void CBseData::MkStrOra(int hh,int mm,int ss){ n_ora=hh; n_min=mm; n_sec=ss; time=CTime(n_aa,n_mm,n_gg,n_ora,n_min,n_sec); ora=time.Format("%H:%M:%S"); ScomponiOra(); } //Crea la data indicata void CBseData::MkStrData(int n_gg,int n_mm,int n_aa){ if(n_gg>0 && n_mm>0 && n_aa>0){ time=CTime(n_aa,n_mm,n_gg,0,0,0); data=time.Format("%d/%m/%Y"); datar=time.Format("%Y%m%d"); //La data di base è sempre aaaammgg }else{ data=" / / "; datar=""; } ScomponiData(); } void CBseData::SetDataAAAAMMGG(){; //Imposta la data nel formato AAAAMMGG data.Format("%4d%0.2d%0.2d",n_aa,n_mm,n_gg); } void CBseData::SetDataGGMMAAAA(){; //Imposta la data nel formato GGMMAAAA data.Format("%0.2d%0.2d%0.4d",n_gg,n_mm,n_aa); } void CBseData::SetVisData(){; //Imposta la data nel formato di Visualizzazione GG/MM/AAAA if(n_gg>0 && n_mm>0 && n_aa>0) data.Format("%0.2d/%0.2d/%0.4d",n_gg,n_mm,n_aa); else data=" / / "; } void CBseData::SetDataR(CString str){ datar=str; ScomponiData(); MkStrData(n_gg,n_mm,n_aa); } //Imposta la data usando il formato ITALIANO di visualizzazione void CBseData::SetDataVis(CString dtVis){ //GG/MM/AAAA char fit[100]; strcpy(ch_gg," "); strcpy(ch_mm," "); strcpy(ch_aa," "); int j=0,k=0; char ch=0; for(k=0,j=0;k= 95 && n_aa <100) n_aa=1900+n_aa; if(n_gg==0 || n_mm==0 || n_aa==0){ n_gg=0; n_aa=0; n_mm=0; } MkStrData(n_gg,n_mm,n_aa); } //Imposta la data usando il fomato USA di visualizzazione void CBseData::SetDataVisUsa(CString dtVis){ //MM/GG/AAAA char fit[100]; strcpy(ch_gg," "); strcpy(ch_mm," "); strcpy(ch_aa," "); int j=0,k=0; char ch=0; for(k=0,j=0;k= 95 && n_aa <100) n_aa=1900+n_aa; if(n_gg==0 || n_mm==0 || n_aa==0){ n_gg=0; n_aa=0; n_mm=0; } MkStrData(n_gg,n_mm,n_aa); } //Imposta la data utilizzando l'oggetto CTIME void CBseData::RefreshInternalData(){ data=time.Format("%d/%m/%Y"); datar=time.Format("%Y%m%d"); //La data di base è sempre aaaammgg ora=time.Format("%H:%M:%S"); ScomponiData(); ScomponiOra(); } //Fine