06-06-2012, 07:32 PM
Õpin seda ja tekkis tüüpiline algaja küsimus. Neti abiga palju targemaks ei saanud. Küsimus on andmetüüpide konverteerimises.
Saan DS1337-kellalt aja ja tahan moodustada faili nimega yyyy-mm-dd.csv (aasta-kuu-päev).
Hüva, kellalt saadav aasta on WORD tüüpi, muu aga BYTE:
Ilmselt peab ajad muundama stringideks ja siis nad kokku liitma. Proovisin:
Syntax error reas kus FailiName moodustatakse.
Mida paganat... ???
Saan DS1337-kellalt aja ja tahan moodustada faili nimega yyyy-mm-dd.csv (aasta-kuu-päev).
Hüva, kellalt saadav aasta on WORD tüüpi, muu aga BYTE:
Kood:
typedef struct
{
BYTE tm_control;
BYTE tm_status;
BYTE tm_sec;
BYTE tm_min;
BYTE tm_hour;
BYTE tm_wday;
BYTE tm_mday;
// BYTE tm_mon_cent;
WORD tm_year;
BYTE tm_mon;
BYTE tm_yday;
BYTE tm_isdst;
} timetype;
Kood:
char FailiName[32]; // logifaili nime moodustamiseks
char *pFailiName; // viit faili nimele
char * itoa( int value,char * string );
pFailiName=FailiName; // viitab failinime arrayle
FailiName=(itoa ((DS_Aeg->tm_year,pFailiName);//+"-"+(itoa (DS_Aeg->tm_mon,pFailiName)+(itoa (DS_Aeg->tm_mday,pFailiName));
//esialgu testin vaid aastanumbri konvertimist
....
logFile = FSfopenpgm(FailiName+".csv","w"); // see töötab kui anda ette stringikonstant nt logi.csv
.....
Mida paganat... ???