80 lines
1.7 KiB
C++
80 lines
1.7 KiB
C++
//-----------------------------------------------------------------------------
|
|
//
|
|
// File: FieldVal.h
|
|
// Copyright (C) 1994-1997 Microsoft Corporation
|
|
// All rights reserved.
|
|
//
|
|
//
|
|
//
|
|
//-----------------------------------------------------------------------------
|
|
|
|
#pragma once
|
|
|
|
#pragma warning(disable : 4251)
|
|
class LTAPIENTRY CColumnVal
|
|
{
|
|
public:
|
|
CColumnVal();
|
|
explicit CColumnVal(const CColumnVal & val);
|
|
explicit CColumnVal(const CPascalString & pasValue);
|
|
explicit CColumnVal(long nValue);
|
|
explicit CColumnVal(const COleDateTime & dateValue);
|
|
explicit CColumnVal(BOOL fValue);
|
|
|
|
enum ColumnValType
|
|
{
|
|
cvtNone,
|
|
cvtString,
|
|
cvtLong,
|
|
cvtDate,
|
|
cvtBool,
|
|
cvtStringList,
|
|
cvtLocTerm
|
|
};
|
|
|
|
void Serialize(CArchive &);
|
|
|
|
const CColumnVal & operator=(const CColumnVal & val);
|
|
void SetString(const CPascalString & pasValue);
|
|
void SetLong(const long nValue);
|
|
void SetDate(const COleDateTime & dateValue);
|
|
void SetBool(const BOOL fValue);
|
|
void SetStringIndex(const long nValue);
|
|
|
|
ColumnValType GetType() const;
|
|
const CPascalString &GetString() const;
|
|
long GetLong() const;
|
|
const COleDateTime & GetDate() const;
|
|
BOOL GetBool() const;
|
|
long GetStringIndex() const;
|
|
|
|
int operator==(const CColumnVal &);
|
|
int operator!=(const CColumnVal &);
|
|
|
|
#ifdef LTASSERT_ACTIVE
|
|
void AssertValid(void) const;
|
|
#endif
|
|
|
|
private:
|
|
BOOL Compare(const CColumnVal & valCompare);
|
|
void AssignFrom(const CColumnVal & valSrc);
|
|
|
|
ColumnValType m_cvt;
|
|
|
|
union
|
|
{
|
|
long m_long;
|
|
BOOL m_bool;
|
|
};
|
|
CPascalString m_pasString;
|
|
COleDateTime m_Time;
|
|
};
|
|
|
|
typedef CColumnVal CCV;
|
|
|
|
#pragma warning(default : 4251)
|
|
|
|
#if !defined(_DEBUG) || defined(IMPLEMENT)
|
|
#include "FieldVal.inl"
|
|
#endif
|