Пример #1
0
string& VTDROderMeter::Write(string& buf)
{
	OderMeter meter =
	{ 0 };
	ToBCDTime(tNow, meter.vTime);
	ToBCDTime(tInstall, meter.installTime);
	int v = (int) (startMeter * 10.0);
	int i;
	for (i = 0; i < sizeof(meter.startValue); i++)
	{
		meter.startValue[sizeof(meter.startValue) - i] = INT2BCDchar(v % 100);
		v = v / 100;
		if (v == 0)
			break;
	}
	for (i = 0; i < sizeof(meter.oderMeter); i++)
	{
		meter.oderMeter[sizeof(meter.startValue) - i] = INT2BCDchar(v % 100);
		v = v / 100;
		if (v == 0)
			break;
	}
	buf.append((const char*) &meter, sizeof(meter));
	return buf;
}
Пример #2
0
string& VTDROutPoweredRecord::Write(string& buf)
{
	PowerLog log;
	ToBCDTime(tTime, log.vTime);
	log.cType = cType;
	buf.append((const char*) &log, sizeof(log));
	return buf;
}
Пример #3
0
string& VTDRParameterModifyRecord::Write(string& buf)
{
	ModifyLog log =
	{ 0 };
	ToBCDTime(tTime, log.vTime);
	log.cType = cType;
	buf.append((const char*) &log, sizeof(log));
	return buf;
}
Пример #4
0
string& VTDRDriverIDRecord::Write(string& buf)
{
	DriverIDRecord rec =
	{ 0 };
	ToBCDTime(tStart, rec.startTime);
	SET(rec.License, strLicenseNumber);
	rec.cType = cType;
	buf.append((const char*) &rec, sizeof(rec));
	return buf;
}
Пример #5
0
string& VTDRPositionRecord::Write(string& buf)
{
	PositionRecord rec;

	ToBCDTime(tStart, rec.vStart);
	for (int i = 0; i < 60; i++)
	{
		writePosition(rec.record[i].pos, Longititude[i], Latitude[i],
				Altitude[i]);
		rec.record[i].speed = (unsigned char) (Speed[i] & 0x0FF);
	}
	buf.append((const char*) &rec, sizeof(rec));
	return buf;
}