home *** CD-ROM | disk | FTP | other *** search
/ Programmer 7500 / MAX_PROGRAMMERS.iso / PASCAL / TPDB30.ZIP / TPDBDEMO.PAS < prev    next >
Encoding:
Pascal/Delphi Source File  |  1989-08-03  |  3.4 KB  |  132 lines

  1. Program TPDBDemo;
  2.  
  3.  
  4. {Field  Field Name  Type       Width    Dec
  5.       1  CUSTNO      Character      5
  6.       2  FIRSTNAME   Character     20
  7.       3  MI          Character      1
  8.       4  LASTNAME    Character     25
  9.       5  ADDRESS     Character     35
  10.       6  CITY        Character     35
  11.       7  STATE       Character      2
  12.       8  ZIP         Character      5
  13.       9  ORDERNO     Character      9
  14.      10  ITEM        Character     20
  15.      11  COST        Numeric        8      2
  16.      12  SALEPRICE   Numeric        8      2
  17.      13  PROFIT      Numeric        8      2
  18.      14  SALEDATE    Date           8
  19.      15  COMPLETED   Logical        1
  20.  ** Total **                     191}
  21.  
  22. {Demonstration of the capabilities of TPDB  Version 3.0}
  23.  
  24.  Uses Crt,Dos,TPDB,TPDBDate;
  25.  
  26. CONST
  27.     NameNdx : BYTE = 1;
  28.     CustNoNdx : BYTE = 2;
  29.  
  30.  
  31. VAR
  32.     J : LongInt;
  33.     SPos : Byte;
  34.     Message : String[80];
  35.     RecNo : string;
  36.     Continue : Byte;
  37.     Demo : ^DBF;
  38.  
  39.  
  40. BEGIN
  41.     NEW(Demo,Init('tpdbdemo.dbf'));
  42.     Demo^.Zap;
  43.     Demo^.MakeDBIndex(NameNdx,'name.ndx',25,Duplicates);
  44.     Demo^.MakeDBIndex(CustNoNdx,'custno.ndx',5,NoDuplicates);
  45.     Demo^.OpenDBIndex(NameNdx,'name.ndx',25,Duplicates);
  46.     Demo^.OpenDBIndex(CustNoNdx,'custno.ndx',5,NoDuplicates);
  47.  
  48.  
  49.     REPEAT
  50.     Continue := 0;
  51.     Demo^.NewDBRec;
  52.     Demo^.Repl(14,Today);
  53.     Normal := White+BlueBG;
  54.     Reverse := Black+LightGrayBG;
  55.     SetColor(Black,LightGray);
  56.     FlashFill(1,1,25,80,Blue+BlackBG,#176);
  57.     Flash(2,5,Black+LightGrayBG,'Customer');
  58.     Flash(3,5,Black+LightGrayBG,'Database');
  59.     FlashC(2,White+RedBG,'TPDB Version 3.0');
  60.     Flash(24,50,Black+LightGrayBG,'Press Esc Key When Finished.');
  61.     FlashC(4,White+GreenBG,'Demonstration');
  62.     Str(Demo^.DBRecNum:10,RecNo);
  63.     Message := 'Record Number: '+RecNo;
  64.     Flash(2,50,White+RedBG,Message);
  65.     Prompt(6,10,'Enter Customer Number: ');
  66.     Demo^.Say(1,6,33);
  67.     Prompt(8,10,'First Name: ');
  68.     Demo^.Say(2,8,22);
  69.     Prompt(10,10,'MI: ');
  70.     Demo^.Say(3,10,14);
  71.     Prompt(12,10,'Last Name: ');
  72.     Demo^.Say(4,12,21);
  73.     Prompt(14,10,'Address: ');
  74.     Demo^.Say(5,14,19);
  75.     Prompt(16,10,'City: ');
  76.     Demo^.Say(6,16,16);
  77.     Prompt(16,52,'State: ');
  78.     Demo^.Say(7,16,59);
  79.     Prompt(16,63,'ZIP Code: ');
  80.     Demo^.Say(8,16,73);
  81.     Prompt(18,10,'Order No.: ');
  82.     Demo^.Say(9,18,21);
  83.     Prompt(18,35,'Item: ');
  84.     Demo^.Say(10,18,41);
  85.     Prompt(20,10,'Cost: $');
  86.     Demo^.Say(11,20,17);
  87.     Prompt(20,30,'Sale Price: $');
  88.     Demo^.Say(12,20,43);
  89.     Prompt(20,55,'Profit: $');
  90.     Demo^.Say(13,20,64);
  91.     Prompt(22,30,'Sale Date: ');
  92.     Demo^.Say(14,22,41);
  93.     Prompt(24,10,'Transaction Completed ?: ');
  94.     Demo^.Say(15,24,35);
  95.  
  96.     BlockCursor;
  97.     SPos := 1;
  98.  
  99.     REPEAT
  100.     Case SPos of
  101.         1 : Demo^.Get(1,6,33);
  102.         2 : Demo^.Get(2,8,22);
  103.         3 : Demo^.Get(3,10,14);
  104.         4 : Demo^.Get(4,12,21);
  105.         5 : Demo^.Get(5,14,19);
  106.         6 : Demo^.Get(6,16,16);
  107.         7 : Demo^.Get(7,16,59);
  108.         8 : Demo^.Get(8,16,73);
  109.         9 : Demo^.Get(9,18,21);
  110.         10: Demo^.Get(10,18,41);
  111.         11: Demo^.Get(11,20,17);
  112.         12: Demo^.Get(12,20,43);
  113.         13:BEGIN
  114.             Demo^.Repl(13,Demo^.Sub(12,11));
  115.             Demo^.Say(13,20,65);
  116.             END;
  117.         14: Demo^.Get(14,22,41);
  118.         15: Demo^.Get(15,24,35);
  119.         END;
  120.         CheckScreen(SPos,BC,Up,Down,1,15);
  121.     UNTIL BC in Next;
  122.     Demo^.AddDBRec;
  123.     Demo^.AddDBKey(NameNdx,Demo^.Field(4));
  124.     Demo^.AddDBKey(CustNoNdx,Demo^.Field(1));
  125.     Flash(24,50,Blue+BlackBG,Replicate(#176,30));
  126.     Flash(24,50,White+RedBG,'Add another record ? ');
  127.     BC := GetBoolean(Continue,'Y','N',72,24);
  128.     UNTIL BoolToStr(Continue,'Y','N')='N';
  129.     DISPOSE(Demo,Done);
  130.     SetColor(Black,Black);
  131.     ClrScr;
  132. END.