void vmsDataFile::SaveToFile(vmsFile &file, vmsDataFileItem &item) { file.WriteString (item.strName); int iDT = (int)item.vt.type (); file.Write (&iDT, sizeof (iDT)); switch (item.vt.type ()) { case VVT_EMPTY: break; case VVT_INT: file.WriteInt (item.vt); break; case VVT_DOUBLE: file.WriteDouble (item.vt); break; case VVT_INT64: file.WriteInt64 (item.vt); break; case VVT_ASTRING: file.WriteString (item.vt); break; case VVT_LPBYTE: file.WriteInt (item.vt.bytebuffersize ()); file.Write ((LPBYTE)item.vt, item.vt.bytebuffersize ()); break; default: ASSERT (false); } }
void vmsFileUtil::WriteString(vmsFile &file, LPCSTR psz) { int l = lstrlen (psz); file.Write (&l, sizeof (l)); file.Write (psz, l); }
void vmsFileUtil::WriteHeader(vmsFile& file, LPCSTR pszDesc, WORD wVersion) { WriteString (file, pszDesc); file.Write (&wVersion, sizeof (WORD)); }