예제 #1
0
파일: Log.cpp 프로젝트: uonun/TaggableShell
bool Log::CommonLogInit(string directory)
{
    time_t tNowTime;
    time(&tNowTime);

    tm* tLocalTime = localtime(&tNowTime);

    //得到日期的字符串
    string sDateStr = ValueToStr(tLocalTime->tm_year+1900) + "-" +
        ValueToStr(tLocalTime->tm_mon+1) + "-" +
        ValueToStr(tLocalTime->tm_mday);

    return Open(directory + "\\Log_" + sDateStr + ".log");
}
예제 #2
0
	bool BufferLogger::Open(string sFileName, bool bWithATime)
	{
		m_fileName = sFileName;
		if (bWithATime)
		{
			sFileName = m_fileName + GetCurTimeStr();
		}
		srand((unsigned int)time(0));
		sFileName = "log\\" + sFileName + " " + ValueToStr(rand()) + ".log";
		fopen_s(&outputFile_, sFileName.c_str(), "w");

		if (!outputFile_)
		{
			return false;
		}
		return true;
	}
예제 #3
0
string ELLog::GetTimeStr()
{
	time_t tNowTime;
	time(&tNowTime);
	tm* tLocalTime = localtime(&tNowTime);
	//
	string strDateTime = ValueToStr(tLocalTime->tm_year+1900) + "-" +
		ValueToStr(tLocalTime->tm_mon+1)     + "-" +
		ValueToStr(tLocalTime->tm_mday)      + " " +
		ValueToStr(tLocalTime->tm_hour)      + ":" +
		ValueToStr(tLocalTime->tm_min)       + ":" +
		ValueToStr(tLocalTime->tm_sec)       + " ";
	return strDateTime;
}
예제 #4
0
파일: ISORPC.CPP 프로젝트: skappert/mcp
short SyncRPC(char *Name,char *Property,char *Cycle,short Size,void *Data,short Datasize,short DataFormat,short dummy)
{
	ElemDataStruct Elem;
	USHORT i;
	short j,cc,dataindex,flag;
	char Buffer[BUFFER_SIZE+1],eqname[EQNAME_SIZE+1];
	char *values;
	double value;
	char *ptr;
	WORD connectionID;

	flag=abs(Size)/Size;
	if (strlen(Name)>ELEM_NAME_SIZE) return non_existent_elem;
	for (i=0;i<strlen(Name);i++) Elem.ElemName[i]=toupper(Name[i]);
	Elem.ElemName[i]=0;

	dataindex = SearchDataBase(RPCDataElems,Elem.ElemName,"NAME");

	CString data;
	data.Format("%d",dataindex);
	AfxMessageBox(data,MB_OK,0);

	if (dataindex < 0) 
	{
		strcpy(Buffer,"DEFAULT");
		/************************/
		cc = non_existent_fec;
		goto out2;
	}
	else 
	strcpy((char *)Buffer,RPCData[dataindex].FecName);

	Elem.Values = NULL;
	Elem.FecIndex = SearchDataBase(RPCFecElems,Buffer,"FECNAME");
	if (Elem.FecIndex < 0)
	{
		if (dataindex < 0) cc = non_existent_elem;
		else cc = non_existent_fec;
		goto out;
	}

	if (strlen(Property)>PROPERTY_SIZE) return illegal_property;
	strcpy(Elem.Property,Property);
	for (i=strlen(Elem.Property);i<PROPERTY_SIZE+1;i++) Elem.Property[i]=0;

	if (dataindex<0)
	{
		eqname[0]=0;Elem.EqNo=0;
	}
	else
	{
		strcpy((char *)eqname,RPCData[dataindex].EqName);
		Elem.EqNo=RPCData[dataindex].EqNumber;
	}
	strcpy(Elem.EqName,eqname);
	for (i=strlen(Elem.EqName);i<EQNAME_SIZE+1;i++) Elem.EqName[i]=0;
	Elem.DataFormat=DataFormat;
	if (Cycle==NULL) Elem.Cycle[0]=0;
	else strcpy(Elem.Cycle,Cycle);
	Elem.Size=abs(Size);

	if (Size<0)
	{
		switch (Elem.DataFormat)
		{
		case CF_TEXT:
			ptr=(char *)Data;

			for (i=0;i<abs(Size) && *ptr;i++)
			{
				j=0;
				while (*ptr && *ptr!='\t' && *ptr!='\r' && *ptr!='\n') Buffer[j++]=*ptr++;
				Buffer[j]=0;
				while (*ptr=='\t' || *ptr=='\r' || *ptr=='\n') ptr++;
				cc=StrToValue((double *)&value,Buffer,(char *)eqname,(char *)Property);
				if (!cc)
				{
					if (!i)
					{
						if ((Elem.Values = (char *) malloc(GetFormatSize(CF_DOUBLE)*abs(Size)))==NULL)
							{cc=out_of_memory;goto out;}
					}
					values=(char *)&value;
					for (j=0;j<GetFormatSize(CF_DOUBLE);j++)
						Elem.Values[i*GetFormatSize(CF_DOUBLE)+j]=values[j];
					Elem.DataFormat=CF_DOUBLE;
				}
				else
				{
					if (strlen((char *)Data)>=(USHORT)GetFormatSize(CF_TEXT)) {cc=dimension_error;goto out;}
					if ((Elem.Values = (char *) malloc(GetFormatSize(CF_TEXT)*abs(Size)))==NULL)
						{cc=out_of_memory;goto out;}
					strcpy(Elem.Values,(char *)Data);
					break;
				}
			}
			break;
		case CF_DOUBLE:
		case CF_FLOAT:
		case CF_SHORT:
		case CF_LONG:
		case CF_BYTE:
			if ((Elem.Values = (char *) malloc(GetFormatSize(CF_DOUBLE)*abs(Size)))==NULL)
				{cc=out_of_memory;goto out;}

			ConvertFormat(Data,DataFormat,(void *)Elem.Values,CF_DOUBLE,abs(Size));
			Elem.DataFormat=CF_DOUBLE;
			break;
		default:
			cc=illegal_format;goto out;
		}
	}

	cc=RPCConnect(0,&Elem,&connectionID);
	if (cc) goto out;

	cc=RPCSend(flag,&Elem,connectionID);
	if (cc) goto out;

	RPCReceive(flag,&Elem,connectionID);

	cc=Elem.CompCode;

	if (flag>0 && !cc && Data!=NULL)
	{
		ptr=(char *)Data;
		if (DataFormat==CF_TEXT)
		{
			if (Elem.DataFormat==CF_TEXT)
			{
				for (i=0;i<Datasize && Elem.Values[i];i++) ptr[i]=Elem.Values[i];
				ptr[i]=0;
			}
			else ValueToStr(Elem.Values,Elem.DataFormat,ptr,Datasize,
				1,abs(Size),Elem.EqName,Elem.Property,TRUE);
		}
		else ConvertFormat((void *)Elem.Values,Elem.DataFormat,Data,DataFormat,abs(Size));
	}
	if (cc<0 && Data!=NULL && DataFormat==CF_TEXT && Datasize>(short)strlen(Elem.Values))
	{
		strcpy((char *)Data,Elem.Values);
	}
out:
	if (Elem.Values!=NULL) free((void *)Elem.Values);
out2:
	lasterror = cc;
	return cc;
}