home *** CD-ROM | disk | FTP | other *** search
/ PC World 2000 February / PCWorld_2000-02_cd.bin / Software / TemaCD / tcvpa / data1.cab / MyFileGroup / INCLUDE / Buffer.hpp < prev    next >
C/C++ Source or Header  |  1999-06-03  |  3KB  |  80 lines

  1. #ifndef _INC_BUFFER_HPP
  2. #define _INC_BUFFER_HPP
  3. TC_COREEX_EXPORT void tcBinToStr (const unsigned char* bin, size_t size, TC_CString & dest)  ;
  4. TC_COREEX_EXPORT BOOL tcStrToBin (const char * src, unsigned char * dest, size_t size)  ;
  5. #define TC_SZ_AUTOARR    (sizeof(double))
  6. typedef union TC_bufData {
  7.     char    _arr[TC_SZ_AUTOARR];
  8.     void *    _ptr;
  9. } TC_UBufData;
  10.  
  11. // **********************************************************************
  12. class TC_COREEX_EXPORT TC_CBinArray 
  13. {
  14. protected:  ULONG m_size ;
  15. protected:  TC_UBufData m_data ;
  16. protected:  ULONG m_maxsize ;
  17. public:   TC_CBinArray (ULONG size = 0)  ;
  18. public:   TC_CBinArray (const unsigned char * arr, ULONG size)  ;
  19. public:   TC_CBinArray (const TC_CBinArray & ba)  ;
  20. public:   ~TC_CBinArray ()  ;
  21. protected:  void Init (ULONG size)  ;
  22. protected:  BOOL IsAuto () const ;
  23. public:  void Release ()  ;
  24. public:  void Clear ()  ;
  25. public:  void Assign (const unsigned char * arr, ULONG size)  ;
  26. public:  void Assign (const TC_CBinArray & ba)  ;
  27. public:  TC_CBinArray & operator = (const TC_CBinArray & ba)  ;
  28. public:  int Compare (const TC_CBinArray & ba)  ;
  29. public: static BOOL IsStringValid (const char * str)  ;
  30. public:  BOOL FromString (const char * src)  ;
  31. public:  void ToString (TC_CString & dest)  ;
  32. public:  BOOL IsNull ()  ;
  33. public:  const unsigned char * Array () const ;
  34. public:  ULONG Size () const ;
  35.  
  36. }; // end of class TC_CBinArray
  37.  
  38. // **********************************************************************
  39.  
  40. // **********************************************************************
  41. class TC_COREEX_EXPORT TC_CBuffer 
  42. {
  43. protected:  TC_UBufData m_data ;
  44. protected:  long m_type ;
  45. protected:  int m_size ;
  46. public:   TC_CBuffer ()  ;
  47. public:   TC_CBuffer (short val)  ;
  48. public:   TC_CBuffer (unsigned short val)  ;
  49. public:   TC_CBuffer (int val)  ;
  50. public:   TC_CBuffer (unsigned int val)  ;
  51. public:   TC_CBuffer (long val)  ;
  52. public:   TC_CBuffer (unsigned long val)  ;
  53. public:   TC_CBuffer (TC_CDate & dt)  ;
  54. public:   TC_CBuffer (TC_CTime & tm)  ;
  55. public:   TC_CBuffer (char val)  ;
  56. public:   TC_CBuffer (unsigned char val)  ;
  57. public:   TC_CBuffer (float val)  ;
  58. public:   TC_CBuffer (double val)  ;
  59. public:   TC_CBuffer (const char * val)  ;
  60. public:   TC_CBuffer (TC_CString &val)  ;
  61. public:   TC_CBuffer (TC_CBCD & bcd)  ;
  62. public:   TC_CBuffer (TC_CBuffer &val)  ;
  63. public:   TC_CBuffer (const unsigned char * val, int size)  ;
  64. public: virtual  ~TC_CBuffer ()  ;
  65. protected:  void Init ()  ;
  66. public:  TC_CBuffer & operator = (const TC_CBuffer & psbuf)  ;
  67. public:  void Set (const TC_CBuffer & psbuf)  ;
  68. public:  void Set (const TC_CBuffer * psbuf)  ;
  69. public:  TC_CString Str ()  ;
  70. public: virtual void GetStr (TC_CString & str)  ;
  71. public: virtual long GetType ()  ;
  72. public:  const char * GetBuffer ()  ;
  73. public:  int Size ()  ;
  74.  
  75. }; // end of class TC_CBuffer
  76.  
  77. // **********************************************************************
  78.  
  79. #endif // _INC_BUFFER_HPP
  80.