//{$codepage cp_acp} //{$codepage cp1250} program tw30119; //uses // fkdane, // fkrecord; //uses // cwstringdisabled; {$H+} type rButikPtr = ^rButik; rButik = packed record data : word; {2} dowod : word; {4} numer : int64; {12} dataDost : word; {14} {w zamowieniu otwarte 00 } memoa, {16} { 1- dot zamowienia zamkniete 10 2- par fisk --> WNT z importu zawieszone 01 anulowane 11 4- paleta pilne 8- (nazwa zestawu) (stare :dot produkcji 16- numer odbiorcy w tww 32- zablokowane (stare:druga jednostkia cenaP 64- poprano z produkcji - wyrob (stere data WZ w twn (norm numer WZ)) 128 : pole memo w tww } vat : byte; towar, {18} dostawca, {20} odbiorca : word; {22} typ : -77..103; {23} ilosc, {27} cenaZ, {31} cenaS : single; {35} akwizytor : byte; {36} wolne1 : word; {38} {nr dostawy} cenaE : single; {42} end; const ntFakturaIMP = 2; ntKoszt = 3; ntWOC = 4; ntFI = 5; ntPW = 14; ntPrzyjecieTow = 15; ntFakturaExp = 25; ntFakturaSprz = 26; ntKP = 27; ntUslUnia = 28; ntfakturaUSL = 29;{ *} ntPzRWS = 30; ntFakturaSprzVat= 34; ntFakturaUslVat = 35; { faktura do paragonu*} ntZamowienieSprz= 36; ntDetal = 55; ntRW = 65; ntPrzesun = 66; ntDekompl = 67; ntPZO = 68; // ntWymiana = 69;{*} ntFakturaSprzDew = 69; ntReklamacjaVAT = 70; ntPZOVat = 71; ntBO = 77; ntZobowImp = 78; ntWZ = 79; ntZwrotPW = 80; ntKpZ = 81; ntKWz = 82; ntPZOEXP = 83; ntFakturaW = 84; ntExpUnia = 98; ntImpUnia = 99; ntImpUniaM = 100; ntPZOUnia = 103; var tab : array [0..10] of double; procedure testCaseRaw(const rr : rButik); var kwz: Double; begin kwz:=20; case rr.typ of ntFakturaSprz,ntFakturaSPrzVat, ntPzoExp,ntPzoUnia, ntPzoVat,ntPzo, ntDetal,ntPzRWS, ntExpUnia,ntFakturaEXP: begin tab[1]:=tab[1]+rr.ilosc; tab[2]:=tab[2]+kwz; end; -20..-16: ; -30..-21: ; ntRW : begin tab[4]:=tab[4]+kwz; end; -ntFakturaIMP, -ntPrzyjecietow : begin tab[3]:=tab[3]+kwz; end; -ntBO : begin tab[5]:=tab[5]+kwz; end; end; end; procedure testCaseA; var r : rButik; begin // zeruj(r); r.ilosc:=1; r.cenaZ:=10; r.typ:=65; testCaseRaw(r); // checkEquals(10,tab[4]); r.typ:=-ntPrzyjecieTow; testCaseRaw(r); // checkEquals(10,tab[3]); r.typ:=65; testCaseRaw(r); end; begin writeln('start'); testCaseA; writeln('stop') ; end.