dos_compilers/Borland Turbo Pascal v55/CARDGEN.PAS
2024-07-02 06:49:04 -07:00

76 lines
2.2 KiB
Plaintext
Raw Permalink Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

{ Turbo Generator }
{ Copyright (c) 1989 by Borland International, Inc. }
program CardGen;
{ Turbo Pascal 5.5 object-oriented example.
Generates example OOP databases for CARDFILE.PAS.
Refer to OOPDEMOS.DOC for an overview of this program.
}
{$S-}
{$M 8192, 16384, 16384}
uses Crt, Objects, Forms, Sliders, Cards;
const
Signature: Longint = $44524143; { unique signature for file }
var
F: Form;
C: CardList;
S: FStream;
procedure PeopleForm;
{ Create an example form in memory with "People" info }
begin
F.Init(10, 5, 54, 16);
F.Add(New(FStrPtr, Init(3, 2, ' Firstname ', 30)));
F.Add(New(FStrPtr, Init(3, 3, ' Lastname ', 30)));
F.Add(New(FStrPtr, Init(3, 5, ' Address ', 32)));
F.Add(New(FStrPtr, Init(3, 6, ' City ', 16)));
F.Add(New(FStrPtr, Init(25, 6, ' State ', 2)));
F.Add(New(FZipPtr, Init(34, 6, ' Zip ')));
F.Add(New(FIntPtr, Init(3, 8, ' Counter 1 ', 0, 99999999)));
F.Add(New(FIntPtr, Init(22, 8, ' 2 ', 0, 99999999)));
F.Add(New(FIntPtr, Init(33, 8, ' 3 ', 0, 99999999)));
F.Add(New(FSliderPtr, Init(3, 10, ' Slider One ', 0, 100, 5)));
F.Add(New(FSliderPtr, Init(3, 11, ' Slider Two ', 0, 100, 5)));
end;
procedure PartsForm;
{ Create an example form in memory with "Parts" info }
begin
F.Init(12, 7, 68, 14);
F.Add(New(FStrPtr, Init(3, 2, ' Part Code ', 10)));
F.Add(New(FRealPtr, Init(24, 2, ' Cost ', 9, 2)));
F.Add(New(FRealPtr, Init(39, 2, ' Retail ', 9, 2)));
F.Add(New(FStrPtr, Init(3, 4, ' Description ', 40)));
F.Add(New(FStrPtr, Init(3, 5, ' Description ', 40)));
F.Add(New(FIntPtr, Init(3, 7, ' Units On Hand ', 0, 999999)));
F.Add(New(FIntPtr, Init(24, 7, ' Backorder ', 0, 999999)));
F.Add(New(FIntPtr, Init(41, 7, ' Shipped ', 0, 999999)));
end;
procedure MakeFile(FileName: FNameStr);
{ Use a stream to create a cardfile with a form and no data }
begin
C.Init(F.Size);
S.Init(FileName, SCreate, 1024);
S.Write(Signature, SizeOf(Longint));
F.Store(S);
C.Store(S);
S.Flush;
if S.Status <> 0 then WriteLn('Error creating file ', FileName);
S.Done;
C.Done;
F.Done;
end;
begin
PeopleForm;
MakeFile('PEOPLE.DTA');
PartsForm;
MakeFile('PARTS.DTA');
end.