home *** CD-ROM | disk | FTP | other *** search
/ CD Actual 15 / CDACTUAL15.iso / cdactual / program / c / WLIB.ZIP / WBASE.H < prev    next >
Encoding:
C/C++ Source or Header  |  1993-02-24  |  3.0 KB  |  80 lines

  1. #ifndef WBaseIncluded
  2. #define WBaseIncluded
  3.  
  4. // copyright (c) 1992, 1993 by Paul Wheaton
  5. // 1916 Brooks #205, Missoula, MT  59801
  6. //
  7. // voice phone:  (406)543-7543
  8. // modem phone:  (406)543-1144 (2400N81)
  9. //  CompuServe:  72707,207
  10. //    Internet:  72707.207@CompuServe.com
  11.  
  12. #include <d4all.h>  // codebase stuff
  13. #include <WStr.h>
  14.  
  15. class Field
  16.   {
  17.       F4FIELD* F;
  18.     public:
  19.       Field(F4FIELD* FF){F=FF;}
  20.       void operator=(const char* St){f4assign(F,(char*)St);}
  21.       void Assign(const char* St){f4assign(F,(char*)St);}
  22.       operator const char*(){return f4str(F);}
  23.       operator String() {return String(f4str(F));}
  24.       String St() {return String(f4str(F));}
  25.  
  26.       void operator=(double D){f4assign_double(F,D);}
  27.       void Assign(double D){f4assign_double(F,D);}
  28.       operator double(){return f4double(F);}
  29.       double D(){return f4double(F);}
  30.  
  31.       void operator=(int I){f4assign_int(F,I);}
  32.       void Assign(int I){f4assign_int(F,I);}
  33.       operator int(){return f4int(F);}
  34.       int I(){return f4int(F);}
  35.  
  36.       void operator=(long L){f4assign_long(F,L);}
  37.       void Assign(long L){f4assign_long(F,L);}
  38.       operator long(){return f4long(F);}
  39.       long L(){return f4long(F);}
  40.  
  41.       // void operator=(Bool B){f4assign_char(F,(B?'T':'F'));}
  42.       void AssignBool(Bool B){f4assign_char(F,(B?'T':'F'));}
  43.       // operator Bool(){return f4true(F);}
  44.       Bool B(){return f4true(F);}
  45.  
  46.       void Blank(){f4blank(F);}
  47.       const char* Name(){return f4name(F);}
  48.   };
  49.  
  50. class dBase
  51.   {
  52.       D4DATA* D;  //  points to the data CodeBase keeps on this database
  53.     public:
  54.       dBase(const char* FileName);
  55.       ~dBase()                              {d4close(D);}
  56.       operator D4DATA*(){return D;}
  57.       void Close()                          {d4close(D);}
  58.       void Top()                            {d4top(D);}
  59.       void Bottom()                         {d4bottom(D);}
  60.       Bool bof()                            {return (d4bof(D)!=0);}
  61.       Bool eof()                            {return (d4eof(D)!=0);}
  62.         // "EOF" (vs. "eof") will not work due to conflict with ANSI lib "EOF"
  63.       void Delete()                         {d4delete(D);}
  64.       long RecNum()                         {return d4recno(D);}
  65.       void GetRec(long R)                   {d4go(D,R);}
  66.       Field F(const char* FieldName)        {return d4field(D,(char*)FieldName);}
  67.       Field F(int FieldNum)                 {return d4field_j(D,FieldNum);}
  68.       int FieldNum(const char* FieldName)   {return d4field_number(D,(char*)FieldName);}
  69.       int NumFields()                       {return d4num_fields(D);}
  70.       long NumRecs()                        {return d4reccount(D);}
  71.       int Seek(const char* SearchText)      {return d4seek(D,(char*)SearchText);}
  72.       Bool Skip(long Num=1)                   {return (d4skip(D,Num)==0);}
  73.       void SetIndexTag(const char* TagName);
  74.       void SetDefaultTag() {d4tag_default(D);}
  75.       void AppendBlank() {d4append_blank(D);}
  76.       double Percent() {return d4position(D);}
  77.   };
  78.  
  79. #endif
  80.