| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183 |
- IMPLEMENTATION MODULE PMIGlobals;
- (*
- * ModBase
- * Release 3.0
- * (c) Copyright 1986 - 1991 PMI
- * P.O. Box 8402
- * Green Bay Wi 53308
- * All Rights Reserved
- * by Ed Ross
- *)
- FROM EnvironUtils IMPORT GetDate;
- FROM DateFunctions IMPORT DatePlusDays,DateToStr,DayOfWeek,DaysSince1900;
- FROM PosUtils IMPORT Equal;
- FROM HandleIO IMPORT CreateFile,OpenFile,BlockRead,BlockWrite,FileExists;
- FROM ScrnTypes IMPORT DisplayFrame,InitDisplayFrame;
- FROM DspFiles IMPORT ReadDisplayFrame;
- FROM ScrnUtl2 IMPORT CloseDisplayFrame;
- FROM LowLevel IMPORT Fill;
- FROM StrEdit IMPORT CrunchBlanks,Center,AssignStr;
- FROM FramePainter IMPORT ShowDisplayFrame;
- FROM ControlUtils IMPORT ChangeField,ReadInput,Control;
- FROM DBUtils IMPORT ChangeCardField,ChangeRealField,
- ReadCardField,ReadRealField;
- FROM VWindows IMPORT CurrentWindow;
- FROM StringIO IMPORT ErrorMessage;
- FROM SYSTEM IMPORT ADR,SIZE;
- FROM HandleIO IMPORT BlockRead, BlockWrite, CloseHandle, CreateFile,
- FileExists, FileOffSet, OpenFile, SetFilePtr;
- FROM DBUtils IMPORT PrintTitle;
- PROCEDURE EditConfig();
- VAR
- DF : DisplayFrame;
- H : CARDINAL;
- NextInvNbr : CARDINAL; (* updated only for display and reset *)
- NextCustNbr : CARDINAL;
- NextPONbr : CARDINAL;
- EM : ErrorMessage;
- BEGIN
- InitDisplayFrame(DF,CurrentWindow);
- ReadDisplayFrame(PMIScreens,DF,'PMIConfig');
- EM := OpenFile(H,'Inseq');
- EM := BlockRead(H,ADR(NextInvNbr),SIZE(NextInvNbr));
- EM := CloseHandle(H);
- EM := OpenFile(H,'Cuseq');
- EM := BlockRead(H,ADR(NextCustNbr),SIZE(NextCustNbr));
- EM := CloseHandle(H);
- EM := OpenFile(H,'POseq');
- EM := BlockRead(H,ADR(NextPONbr),SIZE(NextPONbr));
- EM := CloseHandle(H);
- WITH Config DO
- ChangeField(DF,CompanyName,'CompanyName',TRUE);
- ChangeField(DF,CompanyAddr1,'Address1',TRUE);
- ChangeField(DF,CompanyAddr2,'Address2',TRUE);
- ChangeField(DF,Phone,'Phone',TRUE);
- ChangeField(DF,InvoicePrt,'invprn',TRUE);
- ChangeField(DF,PksSlipPrt,'pkgprn',TRUE);
- ChangeField(DF,ReportPrt,'rptprn',TRUE);
- ChangeField(DF,LabelPrt,'labprn',TRUE);
- ChangeField(DF,InvoicePre,'PreInvoice',TRUE);
- ChangeField(DF,PurchOrdPre,'PrePONbr',TRUE);
- ChangeField(DF,CustNbrPre,'PreCust',TRUE);
- ChangeRealField(DF,TaxRate,'TaxRate');
- ChangeCardField(DF,NextInvNbr,'NxtInvoice');
- ChangeCardField(DF,NextCustNbr,'NxtCust');
- ChangeCardField(DF,NextPONbr,'NxtPONbr');
- ChangeRealField(DF,OvertimeCharge,'GasChg');
- ChangeCardField(DF,KeepPaymentHist,'KeepDays');
- ShowDisplayFrame(DF,0,0,0,0);
- Control(DF);
- ReadInput(DF,CompanyName,'CompanyName');
- ReadInput(DF,CompanyAddr1,'Address1');
- ReadInput(DF,CompanyAddr2,'Address2');
- ReadInput(DF,Phone,'Phone');
- ReadInput(DF,InvoicePrt,'invprn');
- ReadInput(DF,PksSlipPrt,'pkgprn');
- ReadInput(DF,ReportPrt,'rptprn');
- ReadInput(DF,LabelPrt,'labprn');
- ReadInput(DF,InvoicePre,'PreInvoice');
- ReadInput(DF,CustNbrPre,'PreCust');
- ReadInput(DF,PurchOrdPre,'PrePONbr');
- ReadRealField(DF,TaxRate,'TaxRate');
- ReadCardField(DF,NextInvNbr,'NxtInvoice');
- ReadCardField(DF,NextPONbr,'NxtPONbr');
- ReadCardField(DF,NextCustNbr,'NxtCust');
- ReadCardField(DF,KeepPaymentHist,'KeepDays');
- ReadRealField(DF,OvertimeCharge,'GasChg');
- END; (* end with *)
- EM := OpenFile(H,'PMI.cfg');
- EM := BlockWrite(H,ADR(Config),SIZE(Config));
- EM := CloseHandle(H);
- EM := OpenFile(H,'Inseq');
- EM := BlockWrite(H,ADR(NextInvNbr),SIZE(NextInvNbr));
- EM := CloseHandle(H);
- EM := OpenFile(H,'POSeq');
- EM := BlockWrite(H,ADR(NextPONbr),SIZE(NextPONbr));
- EM := CloseHandle(H);
- EM := OpenFile(H,'Cuseq');
- EM := BlockWrite(H,ADR(NextCustNbr),SIZE(NextCustNbr));
- EM := CloseHandle(H);
- CloseDisplayFrame(DF);
- END EditConfig;
- PROCEDURE NormalTitle(VAR LastLine : ARRAY OF CHAR);
- VAR
- J : CARDINAL;
- BEGIN
- AssignStr(PrintTitle[0], Config.CompanyName);
- AssignStr(PrintTitle[1], Config.CompanyAddr1);
- AssignStr(PrintTitle[2], Config.CompanyAddr2);
- AssignStr(PrintTitle[3], Config.Phone);
- PrintTitle[4,0] := CHR(0);
- AssignStr(PrintTitle[5], TodayStr);
- AssignStr(PrintTitle[6], LastLine);
- FOR J := 0 TO 6 DO
- CrunchBlanks(PrintTitle[J]);
- Center(PrintTitle[J],79);
- END;
- END NormalTitle;
- PROCEDURE OpenReportDevice() : CARDINAL;
- VAR EM : CARDINAL;
- Handle : CARDINAL;
- BEGIN
- EM := OpenFile(Handle,Config.ReportPrt);
- IF EM = 0
- THEN RETURN Handle;
- ELSE RETURN 0;
- END;
- END OpenReportDevice;
- PROCEDURE CloseReportDevice(Device : CARDINAL);
- VAR
- EM : CARDINAL;
- BEGIN
- EM := CloseHandle(Device);
- END CloseReportDevice;
- PROCEDURE GlobalInit();
- VAR
- Str1,Str2 : ARRAY[0..15] OF CHAR;
- B : BOOLEAN;
- EM : CARDINAL;
- H : CARDINAL;
- BEGIN
- IF FileExists('PMI.CFG')
- THEN
- EM := OpenFile(H,'PMI.cfg');
- EM := BlockRead(H,ADR(Config),SIZE(Config));
- ELSE
- Fill(ADR(Config),SIZE(Config),0);
- EM := CreateFile(H,'PMI.CFG');
- EM := BlockWrite(H,ADR(Config),SIZE(Config));
- END;
- EM := CloseHandle(H);
- GetDate(Today.mo,Today.day,Today.yr,Str2,TodayStr);
- DateToStr(Today,TodayStr,B);
- TodayP30 := Today;
- TodayDays := DaysSince1900(Today);
- DatePlusDays(TodayP30,30,B); (* today plus 30 *)
- DayOfWeek(TodayP30,Str1);
- IF Equal(Str1,'SATURDAY')
- THEN DatePlusDays(TodayP30,2,B); (* make due date a weekday *)
- ELSIF Equal(Str2,'SUNDAY')
- THEN DatePlusDays(TodayP30,1,B);
- END;
- END GlobalInit;
- END PMIGlobals.
|