#include < stdio.h >
#include "decimals.h"
#include "inter.h"
#include "tick.h"
#include "exlib.h"
static const L_LONG Byte_Const = 0x010203ff;
static const L_LONG Varbyte_Const = 0xff0302;
// Заполняет буфер простейшим значением в символьном виде в зависимости от типа данных:
L_BYTE* MakeCHARValue(int type, int Len, L_BYTE* buf)
{
switch (type)
{
case DT_CHAR:
return (L_BYTE*)strcpy((char*)buf, "char");
case DT_VARCHAR:
return (L_BYTE*)strcpy((char*)buf, "vchar");
case DT_BYTE:
return (L_BYTE*)memcpy(buf, & Byte_Const, sizeof(Byte_Const));
case DT_VARBYTE:
return (L_BYTE*)memcpy(buf, & Varbyte_Const, sizeof(Varbyte_Const));
case DT_NCHAR:
return (L_BYTE*)wcscpy((wchar_t*)buf, L"nchar");
case DT_NVARCHAR:
return (L_BYTE*)wcscpy((wchar_t*)buf, L"nvarchar");
case DT_DATE:
return (L_BYTE*)strcpy((char*)buf, "03.03.2003");
case DT_INTEGER:
if (Len == sizeof(L_SWORD))
return (L_BYTE*)strcpy((char*)buf, "2");
if (Len == sizeof(L_LONG))
return (L_BYTE*)strcpy((char*)buf, "4");
return NULL; // Будет обозначать NULL-значение
case DT_REAL:
if (Len == sizeof(L_REAL))
return (L_BYTE*)strcpy((char*)buf, "-12.34567");
return (L_BYTE*)strcpy((char*)buf, "30.01");
case DT_DECIMAL:
return (L_BYTE*)strcpy((char*)buf, "12.34");
case DT_BOOL:
return (L_BYTE*)strcpy((char*)buf, "TRUE");
case DT_EXTFILE:
return (L_BYTE*)strcpy((char*)buf, "EXTFILE");
default:
return NULL;
} // switch
} // MakeCHARValue