home *** CD-ROM | disk | FTP | other *** search
/ Reverse Code Engineering RCE CD +sandman 2000 / ReverseCodeEngineeringRceCdsandman2000.iso / RCE / Tools / Turbo Pascal V7 / DOCDEMO.ZIP / TUTTYPES.PAS < prev    next >
Encoding:
Pascal/Delphi Source File  |  1992-11-03  |  3.0 KB  |  138 lines

  1. {************************************************}
  2. {                                                }
  3. {   Turbo Vision 2.0 Demo                        }
  4. {   Copyright (c) 1992 by Borland International  }
  5. {                                                }
  6. {************************************************}
  7.  
  8. {$X+,V-}
  9.  
  10. Unit TutTypes;
  11.  
  12. interface
  13.  
  14. uses Memory, Objects;
  15.  
  16. type
  17.  
  18.   TSupplierID = String[6];
  19.  
  20.   PSupplier = ^TSupplier;
  21.   TSupplier = record
  22.     AccountNo: TSupplierID;
  23.     CompanyName: String[45];
  24.     Address1: String[60];
  25.     Address2: String[60];
  26.     Address3: String[60];
  27.     Phone: String[20];
  28.   end;
  29.  
  30.   PStockItem = ^TStockItem;
  31.   TStockItem = record
  32.     StockNo: String[8];
  33.     Description: String[80];
  34.     QtyOnHand: String[12];
  35.     UnitCost: String[12];
  36.     Supplier: TSupplierID;
  37.   end;
  38.  
  39.   POrder = ^TOrder;
  40.   TOrder = record
  41.     OrderNum: String[8];
  42.     OrderDate: String[8];
  43.     StockNum: String[8];
  44.     Quantity: string[5];
  45.     Payment, Received, MemoLen: Word;
  46.     MemoText: array[0..255] of Char;
  47.   end;
  48.  
  49.   POrderObj = ^TOrderObj;
  50.   TOrderObj = object(TObject)
  51.     TransferRecord: TOrder;
  52.     constructor Load(var S: TStream);
  53.     procedure Store(var S: TStream);
  54.   end;
  55.  
  56.   PSupplierObj = ^TSupplierObj;
  57.   TSupplierObj = object(TObject)
  58.     TransferRecord: TSupplier;
  59.     constructor Load(var S: TStream);
  60.     procedure Store(var S: TStream);
  61.   end;
  62.  
  63.   PStockItemObj = ^TStockItemObj;
  64.   TStockItemObj = object(TObject)
  65.     TransferRecord: TStockItem;
  66.     constructor Load(var S: TStream);
  67.     procedure Store(var S: TStream);
  68.   end;
  69.  
  70. procedure RegisterGlobals;
  71.  
  72. implementation
  73.  
  74. const
  75.   ROrderObj: TStreamRec = (
  76.      ObjType: 15000;
  77.      VmtLink: Ofs(TypeOf(TOrderObj)^);
  78.      Load:    @TOrderObj.Load;
  79.      Store:   @TOrderObj.Store
  80.   );
  81.  
  82.   RSupplierObj: TStreamRec = (
  83.      ObjType: 15001;
  84.      VmtLink: Ofs(TypeOf(TSupplierObj)^);
  85.      Load:    @TSupplierObj.Load;
  86.      Store:   @TSupplierObj.Store
  87.   );
  88.  
  89.   RStockItemObj: TStreamRec = (
  90.      ObjType: 15002;
  91.      VmtLink: Ofs(TypeOf(TStockItemObj)^);
  92.      Load:    @TStockItemObj.Load;
  93.      Store:   @TStockItemObj.Store
  94.   );
  95.  
  96. { TDataCollection }
  97. constructor TOrderObj.Load(var S: TStream);
  98. begin
  99.   inherited Init;
  100.   S.Read(TransferRecord, SizeOf(TransferRecord));
  101. end;
  102.  
  103. procedure TOrderObj.Store(var S: TStream);
  104. begin
  105.   S.Write(TransferRecord, SizeOf(TransferRecord));
  106. end;
  107.  
  108. constructor TSupplierObj.Load(var S: TStream);
  109. begin
  110.   inherited Init;
  111.   S.Read(TransferRecord, SizeOf(TransferRecord));
  112. end;
  113.  
  114. procedure TSupplierObj.Store(var S: TStream);
  115. begin
  116.   S.Write(TransferRecord, SizeOf(TransferRecord));
  117. end;
  118.  
  119. constructor TStockItemObj.Load(var S: TStream);
  120. begin
  121.   inherited Init;
  122.   S.Read(TransferRecord, SizeOf(TransferRecord));
  123. end;
  124.  
  125. procedure TStockItemObj.Store(var S: TStream);
  126. begin
  127.   S.Write(TransferRecord, SizeOf(TransferRecord));
  128. end;
  129.  
  130. procedure RegisterGlobals;
  131. begin
  132.   RegisterType(ROrderObj);
  133.   RegisterType(RSupplierObj);
  134.   RegisterType(RStockItemObj);
  135. end;
  136.  
  137. end.
  138.