PRG files in Original Script.
ACCTCODE.PRG
- Date: 12-Feb-2017
- Program: AcctCode.PRG
- Program to replace AcctCode Field with C1+C2+C3 code
- and Replace chart field with chart description
CLEAR
CLOSE ALL
SET TALK OFF
SET SAFE OFF
SET CONFIRM OFF
CLEAR
@ 20, 40 SAY “Running INDEXALL.PRG” FONT “Times New Roman”,26
DO INDEXALL.PRG
CLEAR
@ 20, 40 SAY “Running acctcode.PRG – ldgrcode.dbf updates” FONT “Times New Roman”,26
USE ldgrcode EXCL
SCAN
MPC1 = REPLICATE('0',2-LEN(LTRIM(STR(c1))))+LTRIM(STR(c1))
MPC2 = REPLICATE('0',2-LEN(LTRIM(STR(c2))))+LTRIM(STR(c2))
MPC3 = REPLICATE('0',3-LEN(LTRIM(STR(c3))))+LTRIM(STR(c3))
REPLACE acctcode WITH MPC1+"-"+MPC2+"-"+MPC3
DO CASE
CASE c1 >= 10 AND c1 <= 19
REPLACE chart WITH "Capital / Equity"
CASE c1 >= 20 AND c1 <= 29
REPLACE chart WITH "Long Term Liabilities"
CASE c1 >= 30 AND c1 <= 39
REPLACE chart WITH "Current Liabilities"
CASE c1 >= 40 AND c1 <= 49
REPLACE chart WITH "Long Term Assets"
CASE c1 >= 50 AND c1 <= 59
REPLACE chart WITH "Current Assets"
CASE c1 >= 60 AND c1 <= 69
REPLACE chart WITH "Sales / Revenues"
CASE c1 >= 70 AND c1 <= 79
REPLACE chart WITH "Cost of Sales"
CASE c1 >= 80 AND c1 <= 89
REPLACE chart WITH "Expenses"
CASE c1 >= 90 AND c1 <= 99
REPLACE chart WITH "Appropriations"
OTHERWISE
REPLACE chart WITH "Not Applicable"
ENDCASE
ENDSCAN
INDEX ON acctcode TAG acctcode
INDEX ON chart TAG chart
USE
CLEAR
CLOSE ALL
CLEAR
@ 20, 40 SAY “Running acctcode.PRG – tran.dbf updates” FONT “Times New Roman”,26
USE tran EXCL
SCAN
MPC1 = REPLICATE('0',2-LEN(LTRIM(STR(c1))))+LTRIM(STR(c1))
MPC2 = REPLICATE('0',2-LEN(LTRIM(STR(c2))))+LTRIM(STR(c2))
MPC3 = REPLICATE('0',3-LEN(LTRIM(STR(c3))))+LTRIM(STR(c3))
REPLACE acctcode WITH MPC1+"-"+MPC2+"-"+MPC3
DO CASE
CASE c1 >= 10 AND c1 <= 19
REPLACE chart WITH "Capital / Equity"
CASE c1 >= 20 AND c1 <= 29
REPLACE chart WITH "Long Term Liabilities"
CASE c1 >= 30 AND c1 <= 39
REPLACE chart WITH "Current Liabilities"
CASE c1 >= 40 AND c1 <= 49
REPLACE chart WITH "Long Term Assets"
CASE c1 >= 50 AND c1 <= 59
REPLACE chart WITH "Current Assets"
CASE c1 >= 60 AND c1 <= 69
REPLACE chart WITH "Sales / Revenues"
CASE c1 >= 70 AND c1 <= 79
REPLACE chart WITH "Cost of Sales"
CASE c1 >= 80 AND c1 <= 89
REPLACE chart WITH "Expenses"
CASE c1 >= 90 AND c1 <= 99
REPLACE chart WITH "Appropriations"
OTHERWISE
REPLACE chart WITH "Not Applicable"
ENDCASE
ENDSCAN
INDEX ON acctcode TAG acctcode
INDEX ON chart TAG chart
USE
USE ldgrcode EXCL
INDEX ON acctcode TAG acctcode
USE
SELECT 1
USE tran ORDER acctcode
SELECT 2
USE ldgrcode ORDER acctcode
SELECT 1
SET RELATION TO acctcode INTO ldgrcode ADDITIVE
REPL ALL title WITH ldgrcode.title
CLEAR
CLOSE ALL
CLEAR
CLOSE ALL
CLEAR
@ 20, 40 SAY “Running acctcode.PRG – master.dbf updates” FONT “Times New Roman”,26
USE master EXCL
SCAN
MPC1 = REPLICATE('0',2-LEN(LTRIM(STR(c1))))+LTRIM(STR(c1))
MPC2 = REPLICATE('0',2-LEN(LTRIM(STR(c2))))+LTRIM(STR(c2))
MPC3 = REPLICATE('0',3-LEN(LTRIM(STR(c3))))+LTRIM(STR(c3))
REPLACE acctcode WITH MPC1+"-"+MPC2+"-"+MPC3
DO CASE
CASE c1 >= 10 AND c1 <= 19
REPLACE chart WITH "Capital / Equity"
CASE c1 >= 20 AND c1 <= 29
REPLACE chart WITH "Long Term Liabilities"
CASE c1 >= 30 AND c1 <= 39
REPLACE chart WITH "Current Liabilities"
CASE c1 >= 40 AND c1 <= 49
REPLACE chart WITH "Long Term Assets"
CASE c1 >= 50 AND c1 <= 59
REPLACE chart WITH "Current Assets"
CASE c1 >= 60 AND c1 <= 69
REPLACE chart WITH "Sales / Revenues"
CASE c1 >= 70 AND c1 <= 79
REPLACE chart WITH "Cost of Sales"
CASE c1 >= 80 AND c1 <= 89
REPLACE chart WITH "Expenses"
CASE c1 >= 90 AND c1 <= 99
REPLACE chart WITH "Appropriations"
OTHERWISE
REPLACE chart WITH "Not Applicable"
ENDCASE
ENDSCAN
INDEX ON acctcode TAG acctcode
INDEX ON chart TAG chart
USE
USE ldgrcode EXCL
INDEX ON acctcode TAG acctcode
USE
SELECT 1
USE master ORDER acctcode
SELECT 2
USE ldgrcode ORDER acctcode
SELECT 1
SET RELATION TO acctcode INTO ldgrcode ADDITIVE
REPL ALL title WITH ldgrcode.title
CLEAR
CLOSE ALL
- Tran-key VchNo field type Character 5-12-12345
CLEAR
CLOSE ALL
CLEAR
@ 20, 40 SAY “Running acctcode.PRG – tran-key.dbf updates” FONT “Times New Roman”,26
USE tran-key EXCL
SCAN
MVCH1 = REPLICATE('0',1-LEN(LTRIM(STR(vch_type))))+LTRIM(STR(vch_type))
MVCH2 = REPLICATE('0',2-LEN(LTRIM(STR(vch_no1))))+LTRIM(STR(vch_no1))
MVCH3 = REPLICATE('0',5-LEN(LTRIM(STR(vch_no2))))+LTRIM(STR(vch_no2))
REPLACE VchNo WITH MVCH1+"-"+MVCH2+"-"+MVCH3
DO CASE
CASE vch_type = 1
REPLACE type WITH "Cash Receipt"
CASE vch_type = 2
REPLACE type WITH "Cash Payment"
CASE vch_type = 3
REPLACE type WITH "Bank Receipt"
CASE vch_type = 4
REPLACE type WITH "Bank Payment"
CASE vch_type = 5
REPLACE type WITH "Journal"
CASE vch_type = 6
REPLACE type WITH "Sales"
CASE vch_type = 7
REPLACE type WITH "Purchase"
OTHERWISE
REPLACE type WITH "Not Applicable"
ENDCASE
ENDSCAN
INDEX ON VchNo TAG VchNo
INDEX ON Type TAG type
USE
- Tran VchNo field type Character 5-12-12345
CLEAR
CLOSE ALL
CLEAR
@ 20, 40 SAY “Running acctcode.PRG – tran.dbf updates” FONT “Times New Roman”,26
USE tran EXCL
SCAN
MVCH1 = REPLICATE('0',1-LEN(LTRIM(STR(vch_type))))+LTRIM(STR(vch_type))
MVCH2 = REPLICATE('0',2-LEN(LTRIM(STR(vch_no1))))+LTRIM(STR(vch_no1))
MVCH3 = REPLICATE('0',5-LEN(LTRIM(STR(vch_no2))))+LTRIM(STR(vch_no2))
REPLACE VchNo WITH MVCH1+"-"+MVCH2+"-"+MVCH3
DO CASE
CASE vch_type = 1
REPLACE type WITH "Cash Receipt"
CASE vch_type = 2
REPLACE type WITH "Cash Payment"
CASE vch_type = 3
REPLACE type WITH "Bank Receipt"
CASE vch_type = 4
REPLACE type WITH "Bank Payment"
CASE vch_type = 5
REPLACE type WITH "Journal"
CASE vch_type = 6
REPLACE type WITH "Sales"
CASE vch_type = 7
REPLACE type WITH "Purchase"
OTHERWISE
REPLACE type WITH "Not Applicable"
ENDCASE
ENDSCAN
INDEX ON VchNo TAG VchNo
INDEX ON Type TAG type
USE
- Master VchNo field type Character 5-12-12345
CLEAR
CLOSE ALL
CLEAR
@ 20, 40 SAY “Running acctcode.PRG – master.dbf updates” FONT “Times New Roman”,26
USE master EXCL
SCAN
MVCH1 = REPLICATE('0',1-LEN(LTRIM(STR(vch_type))))+LTRIM(STR(vch_type))
MVCH2 = REPLICATE('0',2-LEN(LTRIM(STR(vch_no1))))+LTRIM(STR(vch_no1))
MVCH3 = REPLICATE('0',5-LEN(LTRIM(STR(vch_no2))))+LTRIM(STR(vch_no2))
REPLACE VchNo WITH MVCH1+"-"+MVCH2+"-"+MVCH3
DO CASE
CASE vch_type = 1
REPLACE type WITH "Cash Receipt"
CASE vch_type = 2
REPLACE type WITH "Cash Payment"
CASE vch_type = 3
REPLACE type WITH "Bank Receipt"
CASE vch_type = 4
REPLACE type WITH "Bank Payment"
CASE vch_type = 5
REPLACE type WITH "Journal"
CASE vch_type = 6
REPLACE type WITH "Sales"
CASE vch_type = 7
REPLACE type WITH "Purchase"
OTHERWISE
REPLACE type WITH "Not Applicable"
ENDCASE
ENDSCAN
INDEX ON VchNo TAG VchNo
INDEX ON Type TAG type
USE
- This Update: 12-Feb-2017
- Prepare ChartOfAccts.XLS
CLEAR
@ 20, 40 SAY “Running acctcode.PRG – XLS files” FONT “Times New Roman”,26
SELECT Acctcode,;
Title,;
Ldgr_bal,;
Status,;
Chart,;
LEFT(AcctCode,1) AS “ChrtNo”;
FROM LdgrCode.dbf;
ORDER BY AcctCode;
INTO DBF ChartOfAccts.dbf
CLOSE ALL
USE ChartOfAccts.dbf EXCL
INDEX ON AcctCode TAG AcctCode
SET ORDER TO AcctCode
COPY TO XLS\ChartOfAccts.XLS TYPE XLS
USE
CLOSE ALL
SELECT Acctcode,;
Title,;
SUM(Ldgr_bal) AS “Total”,;
Status,;
Chart,;
LEFT(AcctCode,1) AS “ChrtNo”,;
LEFT(AcctCode,2) AS “C1”;
FROM LdgrCode.dbf;
ORDER BY AcctCode;
GROUP BY ldgrcode.c1;
INTO DBF SumLevel_1.dbf
USE SumLevel_1.dbf EXCL
INDEX ON AcctCode TAG AcctCode
SET ORDER TO AcctCode
COPY TO XLS\SumLevel_1.XLS TYPE XLS
USE
CLEAR
CLEAR ALL
CLOSE ALL
CLEAR
@ 20, 40 SAY “Running acctcode.PRG – Chart_L2.dbf updates” FONT “Times New Roman”,26
SELECT C1,C2,TITLE FROM LDGRCODE INTO DBF CHART_L2.DBF WHERE C3=0 ORDER BY C1,C2
SELECT CHART_L2
USE
SELECT 1
USE CHART_L2 EXCL
INDEX ON STR(C1,2)+STR(C2,2) TAG ACL2
CLEAR
CLEAR ALL
CLOSE ALL
ASKPW.PRG
- PROGRAM : ASKPW.PRG
- WRITTEN BY AMJAD IZHAR
- LAST REVISED ON 03-04-2001
*————————————
SET TALK OFF
PUBLIC pass,mm1,Permit
CLEAR
pass=SPACE(9)
mm1=space(9)
Permit = Space(2)
DEFINE WINDOW upper FROM 0,0 TO 22,78 NONE
ACTIVATE WINDOW upper
@ 1,1 SAY “Password:”
DEFINE WINDOW inwin FROM 2,0 TO 10,20 NONE
DEFINE WINDOW hidewin FROM 2,0 TO 8,20 NONE
ACTIVATE WINDOW hidewin NOSHOW
HIDE WINDOW hidewin IN WINDOW inwin
@ 1,1 GET pass PICT “@!”
READ COLOR 1,1
USE Usr
LOCATE FOR usrcode = mMenu
DO back
DO CASE
CASE pass <> mm1
CLEAR WINDOWS
*FOR a = 1 TO 4
* SET BELL TO 300,1
* ?? CHR(7)
* SET BELL TO
* DO ACSSDEN
Permit = "OK"
*ENDFOR
CASE pass = mm1
Permit = "OK"
ENDCASE
CLEAR WINDOWS
DEACTIVATE WINDOW upper
DEACTIVATE WINDOW inwin
DEACTIVATE WINDOW hidewin
PROCEDURE AcssDen
- ÖÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ·
- º º
- º 07/23/96 ACSSDEN.SPR 13:13:49 º
- º º
- ÇÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄĶ
- º º
- º Author’s Name º
- º º
- º Copyright (c) 1996 Company Name º
- º Address º
- º City, Zip º
- º º
- º Description: º
- º This program was automatically generated by GENSCRN. º
- º º
- ÓÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄĽ
REGION 0
REGIONAL m.currarea, m.talkstat, m.compstat
IF SET(“TALK”) = “ON”
SET TALK OFF
m.talkstat = “ON”
ELSE
m.talkstat = “OFF”
ENDIF
m.compstat = SET(“COMPATIBLE”)
SET COMPATIBLE FOXPLUS
- ÖÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ·
- º º
- º MS-DOS Window definitions º
- º º
- ÓÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄĽ
* - ÖÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ·
- º º
- º ACSSDEN/MS-DOS Screen Layout º
- º º
- ÓÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄĽ
*
REGION 1
@ 13,33 SAY “Access Denied!” ;
SIZE 1,14, 0
REGION 0
IF m.talkstat = “ON”
SET TALK ON
ENDIF
IF m.compstat = “ON”
SET COMPATIBLE ON
ENDIF
RETURN
PROCEDURE back
*PUBLIC mm1
STORE SUBSTR(pw,1,1) TO ncode1
STORE SUBSTR(pw,2,1) TO ncode2
STORE SUBSTR(pw,3,1) TO ncode3
STORE SUBSTR(pw,4,1) TO ncode4
STORE SUBSTR(pw,5,1) TO ncode5
STORE SUBSTR(pw,6,1) TO ncode6
STORE SUBSTR(pw,7,1) TO ncode7
STORE SUBSTR(pw,8,1) TO ncode8
STORE SUBSTR(pw,9,1) TO ncode9
mm1 = chr(asc(“&ncode1”)+30)+;
chr(asc(“&ncode2”)+28)+;
chr(asc(“&ncode3”)+29)+;
chr(asc(“&ncode4”)+21)+;
chr(asc(“&ncode5”)+19)+;
chr(asc(“&ncode6”)+13)+;
chr(asc(“&ncode7”)+12)+;
chr(asc(“&ncode8”)+18)+;
chr(asc(“&ncode9”)+19)
RETURN
ATDETSHT.PRG
- Report Program for Employee Detailed Attendence Sheet
SET TALK OFF
SET SAFETY OFF
CLEAR
CLOSE DATA
@ 1,20 SAY “Report: Employee Detailed Attendence Sheet”
@ 2,20 SAY “——————————————“
PUBLIC mMnth,mMcode,mYear,Vp
mMnth = space(10)
mMcode = 0
mYear = 0
Vp = space(1)
SELECT 1
USE attend ORDER empno2
STORE mcode TO mMcode
STORE year TO mYear
SELECT 2
USE employee ORDER empno
SELECT 3
USE salary ORDER empno
SELECT 4
USE ovtime ORDER empno2
SELECT 5
USE deptt ORDER deptcode
SELECT 6
USE salcode ORDER salcode
SELECT 7
USE month ORDER mcode
STORE month.month TO mMnth
SELECT 8
USE artime ORDER empno2
SELECT 1
SET RELATION TO str(deptcode)+str(empno) INTO employee ADDITIVE
SET RELATION TO str(deptcode)+str(empno) INTO salary ADDITIVE
SET RELATION TO str(deptcode)+str(empno) INTO artime ADDITIVE
SET RELATION TO str(deptcode)+str(empno) INTO ovtime ADDITIVE
SET RELATION TO deptcode INTO deptt ADDITIVE
SET RELATION TO mcode INTO month ADDITIVE
SELECT 3
SET RELATION TO salcode INTO salcode ADDITIVE
SELECT 1
DO AskEmpno
@ 12,5 SAY “Report to Printer or View (P/V) ? “
@ ROW(),COL() GET Vp PICT “@!” VALID INLIST(Vp,’P’,’V’);
ERROR “(P)rinter,(V)iew “
READ
DO CASE
CASE Vp = "P"
REPORT FORM ATDETSHT.FRX TO PRINTER NOEJECT FOR;
deptcode = mDptCode .and. empno = mEmpNo
CASE Vp = "V"
REPORT FORM ATDETSHT.FRX PREVIEW FOR;
deptcode = mDptCode .and. empno = mEmpNo
ENDCASE
CLOSE DATA
PROCEDURE AskEmpno
PUBLIC mDptCode,mEmpNo
mDptCode = 0
mEmpNo = 0
@ 5,5 SAY “Enter Empno for which you want Detailed Attendence Sheet ? “
@ ROW(),COL() GET mDptCode PICT “99” VALID VmDptCode()
@ ROW(),COL() SAY “-“
@ ROW(),COL() GET mEmpNo PICT “999” VALID VmEmpNo()
READ
RETURN
PROCEDURE VmDptCode
SELECT deptt
LOCATE FOR deptcode = mDptCode
IF FOUND()
@ 8,0 TO 8,79 CLEAR
@ 8,5 SAY “Department Name: “
@ ROW(),COL() SAY deptname
SELECT 1
RETURN .T.
ELSE
@ 8,0 TO 8,79 CLEAR
WAIT WINDOW “Deptt.Code Not in File! Try Again” TIMEOUT 1
SELECT 1
RETURN .F.
ENDIF
SELECT 1
RETURN .T.
PROCEDURE VmEmpNo
SELECT 1
LOCATE FOR deptcode = mDptCode AND empno = mEmpNo
DO CASE
CASE FOUND()
@ 10,0 TO 10,79 CLEAR
@ 10,5 SAY "Employee Name: "
@ ROW(),COL() SAY employee.name
CASE NOT FOUND()
@ 10,0 TO 10,79 CLEAR
WAIT WINDOW "Employee Code Not in File! Try Again" TIMEOUT 1
SELECT 1
_CUROBJ = 1
RETURN .T.
ENDCASE
SELECT 1
RETURN .T.
ATNDV2.PRG
- PROGRAM: ATNDV2.PRG
- Program to paint a brow for attendence register
- with complete 31 days
- Programmer: Amjad Izhar
- This update: 29-Dec-2019
DO mainprog
PROCEDURE mainprog
DO iniset
DO SetVars
DO paintbrow
DO endprog
RETURN
PROCEDURE iniset
CLEAR
*HIDE POPUP mainmenu
SET TALK OFF
SET SAFETY OFF
ON KEY LABEL F1 DO Ord1
ON KEY LABEL F2 DO Ord2
ON KEY LABEL F3 DO Ord3
SET FUNCTION F4 TO
SET FUNCTION F5 TO
SET FUNCTION F6 TO
SET FUNCTION F7 TO
SET FUNCTION F8 TO
SET FUNCTION F9 TO
SET FUNCTION F10 TO
SET FUNCTION F11 TO
SET FUNCTION F12 TO
PUBLIC mMcode,mYear
mMcode = 0
mYear = 0
SELECT 1
USE attend.dbf
SET ORDER TO empno
STORE mcode TO mMcode
STORE year TO mYear
SELECT 2
USE employee.dbf
SET ORDER TO empno
SELECT 3
USE month
SET ORDER TO mcode
SELECT 4
USE ovtime
SET ORDER TO empno
SELECT 5
USE deptt
SET ORDER TO deptcode
SELECT 6
USE salary ORDER empno2
SELECT 7
USE saldtail ORDER empno
SET FILTER TO
SET FILTER TO mcode = mMcode AND year = mYear
SELECT 1
SET RELATION TO str(deptcode)+str(empno) INTO employee ADDITIVE
SET RELATION TO str(deptcode)+str(empno) INTO salary ADDITIVE
SET RELATION TO str(deptcode)+str(empno)+str(mcode)+str(year);
INTO saldtail ADDITIVE
SET RELATION TO mcode INTO month ADDITIVE
SET RELATION TO str(deptcode)+str(empno)+str(mcode)+str(year) INTO ovtime ADDITIVE
SET RELATION TO deptcode INTO deptt ADDITIVE
goto top
RETURN
PROCEDURE SetVars
PUBLIC CurFld
CurFld = space(3)
RETURN
PROCEDURE paintbrow
PUBLIC Pal
*@ 0,0,40,120 BOX
DEFINE WINDOW b FROM 0,0 TO 24,79
mrecord = RECNO()
SCAN
Pal = d1+d2+d3+d4+d5+d6+d7+d8+d9+d10+d11+d12+d13+d14+d15+;
d16+d17+d18+d19+d20+d21+d22+d23+d24+d25+d26+d27+d28+;
d29+d30+d31
REPLACE present WITH OCCURS(“P”,Pal)
REPLACE absent WITH OCCURS(“A”,Pal)
REPLACE leave WITH OCCURS(“L”,Pal)
REPLACE late WITH OCCURS(“T”,Pal)
ENDSCAN
GOTO mrecord
BROWS FIELDS;
Eno = str(deptcode,2)+”-“+;
str(empno,3)+”³”;
:R :H = “Code” :W=.F.,;
employee.name :18 :R :W=.F.,;
L1 = “³” :1 :R :H = “” :W=.F.,D1:H=”1 “:P=”@!”:V=UP(),;
D2:H=”2 “:P=”@!”:V=UP(),D3:H=”3 “:P=”@!”:V=UP(),;
D4:H=”4 “:P=”@!”:V=UP(),D5:H=”5 “:P=”@!”:V=UP(),;
D6:H=”6 “:P=”@!”:V=UP(),D7:H=”7 “:P=”@!”:V=UP(),;
D8:H=”8 “:P=”@!”:V=UP(),D9:H=”9 “:P=”@!”:V=UP(),;
D10:H=”10″:P=”@!”:V=UP(),D11:H=”11″:P=”@!”:V=UP(),;
D12:H=”12″:P=”@!”:V=UP(),D13:H=”13″:P=”@!”:V=UP(),;
D14:H=”14″:P=”@!”:V=UP(),D15:H=”15″:P=”@!”:V=UP();
WINDOW b;
NOAPPEND NODELETE
BROWS FIELDS;
Eno = str(deptcode,2)+”-“+;
str(empno,3)+”³”;
:R :H = “Code” :W=.F.,;
employee.name :16 :R:W=.F.,;
L1 = “³” :1 :R :H = “”:W=.F.,;
D16:H=”16″:P=”@!”:V=UP(),D17:H=”17″:P=”@!”:V=UP(),;
D18:H=”18″:P=”@!”:V=UP(),D19:H=”19″:P=”@!”:V=UP(),;
D20:H=”20″:P=”@!”:V=UP(),D21:H=”21″:P=”@!”:V=UP(),;
D22:H=”22″:P=”@!”:V=UP(),D23:H=”23″:P=”@!”:V=UP(),;
D24:H=”24″:P=”@!”:V=UP(),D25:H=”25″:P=”@!”:V=UP(),;
D26:H=”26″:P=”@!”:V=UP(),;
D27:H=”27″:P=”@!”:V=UP(),;
D28:H=”28″:P=”@!”:V=UP(),;
D29:H=”29″:P=”@!”:V=UP(),;
D30:H=”30″:P=”@!”:V=UP(),;
D31:H=”31″:P=”@!”:V=UP();
WINDOW b;
NOAPPEND NODELETE
ON KEY
SET INDEX TO attend.cdx
SET ORDER TO empno
RETURN
PROCEDURE below && Browse When clause
@ 22,2 SAY deptcode
@ 22,4 SAY “-“
@ 22,5 SAY empno PICT “@L”
*@ 22,9 SAY employee.salutation+”.”
@ 22,12 SAY employee.name
@ 22,35 SAY deptt.deptname
@ 23,9 SAY “P=”
@ 23,11 SAY present
@ 23,15 SAY “A=”
@ 23,17 SAY absent
@ 23,21 SAY “L=”
@ 23,23 SAY leave
@ 23,27 SAY “T=”
@ 23,29 SAY late
IF ovtime.totalot <> 0
@ 23,35 SAY “Tot.OT=”
@ 23,42 SAY ovtime.totalot
ELSE
@ 23,32 TO 23,48 CLEAR
ENDIF
@ 22,60 SAY ALLTRIM(month.month)+”,”+ALLTRIM(STR(attend.year));
COLOR GR+/B
@ 23,60 SAY “Payable Days: “
@ ROW(),COL() SAY pbldays
@ 24,9 SAY “F1=Attendence Wise F2=Emp.No Wise F3=Name Wise”
RETURN .T.
PROCEDURE Up
STORE VARREAD() TO CurFld
IF INLIST(&CurFld,’P’,’A’,’L’,’T’,’ ‘,’F’,’H’) = .F.
WAIT WINDOW “(P)resent,(A)bsent,(L)eave,La(T)e” TIMEOUT 3
RETURN .F.
ENDIF
Pal = d1+d2+d3+d4+d5+d6+d7+d8+d9+d10+d11+d12+d13+d14+d15+;
d16+d17+d18+d19+d20+d21+d22+d23+d24+d25+d26+d27+d28+;
d29+d30+d31
REPLACE present WITH OCCURS(“P”,Pal)
REPLACE absent WITH OCCURS(“A”,Pal)
REPLACE leave WITH OCCURS(“L”,Pal)
REPLACE late WITH OCCURS(“T”,Pal)
PUBLIC mPblDysS,mPblDysW,mPblDysP
mPblDysS = 0
mPblDysW = 0
mPblDysP = 0
IF present <> 0
mPblDysS = month.mdays-absent
mPblDysW = present+late
mPblDysP = month.mdays-absent
ENDIF
DO CASE
CASE salary.mpay AND NOT employee.probation
REPLACE pbldays WITH mPblDysS
CASE salary.mpay AND employee.probation
REPLACE pbldays WITH mPblDysP
CASE salary.mpay = .f. ;
AND salary.wrdaily = .f. AND NOT employee.probation;
AND NOT EMPTY(salary.dwratem)
REPLACE pbldays WITH mPblDysS
CASE salary.mpay = .f. ;
AND salary.wrdaily = .f. AND employee.probation;
AND NOT EMPTY(salary.dwratem)
REPLACE pbldays WITH mPblDysP
OTHERWISE
REPLACE pbldays WITH mPblDysW
ENDCASE
REPLACE saldtail.days WITH pbldays
RETURN .T.
PROCEDURE Ord1
STORE RECNO() TO mRecord
WAIT WINDOW “Changing Order to Attendence Wise” TIMEOUT 1
SET INDEX TO attend.cdx
SET ORDER TO empno
KEYBOARD ‘{PGUP}’
KEYBOARD ‘{PGUP}’
GOTO mRecord
RETURN
PROCEDURE Ord2
STORE RECNO() TO mRecord
WAIT WINDOW “Changing Order to Emp. No. Wise” TIMEOUT 1
SET INDEX TO attend.cdx
SET ORDER TO empno2
KEYBOARD ‘{PGUP}’
KEYBOARD ‘{PGUP}’
GOTO mRecord
RETURN
PROCEDURE Ord3
STORE RECNO() TO mRecord
WAIT WINDOW “Changing Order to Name Wise” TIMEOUT 1
INDEX ON employee.name TO atname.idx
SET INDEX TO atname.idx
KEYBOARD ‘{PGUP}’
KEYBOARD ‘{PGUP}’
GOTO mRecord
RETURN
PROCEDURE endprog
CLEAR
CLOSE DATABASES
CLEAR WINDOWS
*SHOW POPUP mainmenu
IF _DOS
RESTORE SCREEN FROM backgrnd
ENDIF
RETURN
ATNDV3.PRG
- This update: 22-Sep-2017
clear
@ 0,0,21,79 BOX
DEFINE WINDOW bratnd FROM 1,1 TO 20,78
SET VIEW TO attend
BROWS FIELDS;
Ename = employee.name :H = “Employee Name”,;
L1 = “³” :1 :R :H = “”,;
D1 :H = “1 “,;
D2 :H = “2 “,;
D3 :H = “3 “,;
D4 :H = “4 “,;
D5 :H = “5 “,;
D6 :H = “6 “,;
D7 :H = “7 “,;
D8 :H = “8 “,;
D9 :H = “9 “,;
D10 :H = “10”,;
D11 :H = “11”,;
D12 :H = “12”,;
D13 :H = “13”,;
D14 :H = “14”,;
D15 :H = “15”,;
D16 :H = “16”,;
D17 :H = “17”,;
D18 :H = “18”,;
D19 :H = “19”,;
D20 :H = “20”,;
D21 :H = “21”,;
D22 :H = “22”,;
D23 :H = “23”,;
D24 :H = “24”,;
D25 :H = “25”,;
D26 :H = “26”,;
D27 :H = “27”,;
D28 :H = “28”,;
D29 :H = “29”,;
D30 :H = “30”,;
D31 :H = “31”;
WINDOW bratnd;
WHEN below();
TITLE “Daily Attendence Register”;
NOAPPEND NOEDIT
CLEAR ALL
CLEAR
CANCEL
RETURN
PROCEDURE below
@ 22,2 SAY deptcode
@ 22,4 SAY “-“
@ 22,5 SAY empno PICT “@L”
@ 22,9 SAY employee.salutation+”.”
@ 22,12 SAY employee.name
@ 22,35 SAY deptt.deptname
RETURN
ATNDVIEW.PRG
- this update: 22-Sep-2017
clear
DEFINE WINDOW fullview FROM 0,0 TO 24,79
SET VIEW TO attend
BROWS FIELDS;
Ename = employee.name :H = “Employee Name”,;
L1 = “³” :1 :R :H = “”,;
D1;
WINDOW fullview;
TITLE “Daily Attendence Register”
ATSHEET.PRG
CLOSE DATA
CLEA
SET TALK OFF
SET SAFETY OFF
SELECT 1
USE attend ORDER empno
SELECT 2
USE employee ORDER empno
SELECT 3
USE ovtime ORDER empno3
SELECT 4
USE artime ORDER empno2
SELECT 5
USE deptt ORDER deptcode
SELECT 6
USE month ORDER mcode
SELECT 1
SET RELATION TO str(deptcode)+str(empno) INTO employee ADDITIVE
SET RELATION TO str(deptcode)+str(atord)+str(empno) INTO ovtime ADDITIVE
SET RELATION TO str(deptcode)+str(empno) INTO artime ADDITIVE
SET RELATION TO deptcode INTO deptt ADDITIVE
SET RELATION TO mcode INTO month ADDITIVE
CLEAR
PUBLIC Vp
Vp = space(1)
@ 11,19 SAY “Report to Printer or View (P/V) ? “
@ ROW(),COL() GET Vp PICT “@!” VALID INLIST(Vp,’P’,’V’);
ERROR “(P)rinter,(V)iew “
READ
DO CASE
CASE Vp = "P"
??? CHR(15)
??? CHR(15)
REPORT FORM ATsheet.FRX TO PRINTER NOEJECT
CASE Vp = "V"
REPORT FORM ATsheet.FRX PREVIEW
ENDCASE
CLEAR
CLOSE DATA
ATSHEET2.PRG
- This Update: 22-Sep-2017
CLOSE DATA
CLEA
SET TALK OFF
SET SAFETY OFF
SELECT 1
USE attend ORDER empno
SELECT 2
USE employee ORDER empno
SELECT 3
USE ovtime ORDER empno3
SELECT 4
USE artime ORDER empno2
SELECT 5
USE deptt ORDER deptcode
SELECT 6
USE month ORDER mcode
SELECT 1
SET RELATION TO str(deptcode)+str(empno) INTO employee ADDITIVE
SET RELATION TO str(deptcode)+str(atord)+str(empno) INTO ovtime ADDITIVE
SET RELATION TO str(deptcode)+str(empno) INTO artime ADDITIVE
SET RELATION TO deptcode INTO deptt ADDITIVE
SET RELATION TO mcode INTO month ADDITIVE
CLEAR
PUBLIC Vp
Vp = space(1)
@ 11,19 SAY “Report to Printer or View (P/V) ? “
@ ROW(),COL() GET Vp PICT “@!” VALID INLIST(Vp,’P’,’V’);
ERROR “(P)rinter,(V)iew “
READ
DO CASE
CASE Vp = "P"
??? CHR(15)
??? CHR(15)
REPORT FORM ATsheet2.FRX TO PRINTER NOEJECT
CASE Vp = "V"
REPORT FORM ATsheet2.FRX PREVIEW
ENDCASE
CLEAR
CLOSE DATA
ATSHEET3.PRG
CLOSE DATA
CLEA
SET TALK OFF
SET SAFETY OFF
SELECT 1
USE attend ORDER empno
SELECT 2
USE employee ORDER empno
SELECT 3
USE ovtime ORDER empno3
SELECT 4
USE artime ORDER empno2
SELECT 5
USE deptt ORDER deptcode
SELECT 6
USE month ORDER mcode
SELECT 1
SET RELATION TO str(deptcode)+str(empno) INTO employee ADDITIVE
SET RELATION TO str(deptcode)+str(atord)+str(empno) INTO ovtime ADDITIVE
SET RELATION TO str(deptcode)+str(empno) INTO artime ADDITIVE
SET RELATION TO deptcode INTO deptt ADDITIVE
SET RELATION TO mcode INTO month ADDITIVE
CLEAR
PUBLIC Vp
Vp = space(1)
@ 11,19 SAY “Report to Printer or View (P/V) ? “
@ ROW(),COL() GET Vp PICT “@!” VALID INLIST(Vp,’P’,’V’);
ERROR “(P)rinter,(V)iew “
READ
DO CASE
CASE Vp = "P"
??? CHR(15)
??? CHR(15)
REPORT FORM ATsheet3.FRX TO PRINTER NOEJECT
CASE Vp = "V"
REPORT FORM ATsheet3.FRX PREVIEW
ENDCASE
CLEAR
CLOSE DATA
ATSHEET4.PRG
CLOSE DATA
CLEA
SET TALK OFF
SET SAFETY OFF
SELECT 1
USE attend ORDER empno
SELECT 2
USE employee ORDER empno
SELECT 3
USE ovtime ORDER empno3
SELECT 4
USE artime ORDER empno2
SELECT 5
USE deptt ORDER deptcode
SELECT 6
USE month ORDER mcode
SELECT 1
SET RELATION TO str(deptcode)+str(empno) INTO employee ADDITIVE
SET RELATION TO str(deptcode)+str(atord)+str(empno) INTO ovtime ADDITIVE
SET RELATION TO str(deptcode)+str(empno) INTO artime ADDITIVE
SET RELATION TO deptcode INTO deptt ADDITIVE
SET RELATION TO mcode INTO month ADDITIVE
CLEAR
PUBLIC Vp
Vp = space(1)
@ 11,19 SAY “Report to Printer or View (P/V) ? “
@ ROW(),COL() GET Vp PICT “@!” VALID INLIST(Vp,’P’,’V’);
ERROR “(P)rinter,(V)iew “
READ
DO CASE
CASE Vp = "P"
REPORT FORM ATsheet4.FRX TO PRINTER NOEJECT
CASE Vp = "V"
REPORT FORM ATsheet4.FRX PREVIEW
ENDCASE
CLEAR
CLOSE DATA
BACKGRND.PRG
- ÖÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ·
- º º
- º 11/18/95 BACKGRND.SPR 17:42:11 º
- º º
- ÇÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄĶ
- º º
- º Author’s Name º
- º º
- º Copyright (c) 1995 Company Name º
- º Address º
- º City, Zip º
- º º
- º Description: º
- º This program was automatically generated by GENSCRN. º
- º º
- ÓÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄĽ
REGION 0
REGIONAL m.currarea, m.talkstat, m.compstat
IF SET(“TALK”) = “ON”
SET TALK OFF
m.talkstat = “ON”
ELSE
m.talkstat = “OFF”
ENDIF
m.compstat = SET(“COMPATIBLE”)
SET COMPATIBLE FOXPLUS
- ÖÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ·
- º º
- º MS-DOS Window definitions º
- º º
- ÓÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄĽ
* - ÖÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ·
- º º
- º BACKGRND/MS-DOS Screen Layout º
- º º
- ÓÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄĽ
*
REGION 1
@ 24,77 SAY “°°°” ;
SIZE 1,3, 0
@ 1,0 SAY “°°” ;
SIZE 1,2, 0
@ 1,2 SAY “°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°” ;
SIZE 1,75, 0
@ 2,0 SAY “°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°” ;
SIZE 1,58, 0
@ 3,0 SAY “°°” ;
SIZE 1,2, 0
@ 3,2 SAY “°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°” ;
SIZE 1,75, 0
@ 4,0 SAY “°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°” ;
SIZE 1,58, 0
@ 5,0 SAY “°°” ;
SIZE 1,2, 0
@ 5,2 SAY “°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°” ;
SIZE 1,75, 0
@ 6,0 SAY “°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°” ;
SIZE 1,58, 0
@ 7,0 SAY “°°” ;
SIZE 1,2, 0
@ 7,2 SAY “°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°” ;
SIZE 1,75, 0
@ 8,0 SAY “°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°” ;
SIZE 1,58, 0
@ 9,0 SAY “°°” ;
SIZE 1,2, 0
@ 9,2 SAY “°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°” ;
SIZE 1,75, 0
@ 10,0 SAY “°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°” ;
SIZE 1,58, 0
@ 11,0 SAY “°°” ;
SIZE 1,2, 0
@ 11,2 SAY “°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°” ;
SIZE 1,75, 0
@ 12,0 SAY “°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°” ;
SIZE 1,58, 0
@ 13,0 SAY “°°” ;
SIZE 1,2, 0
@ 13,2 SAY “°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°” ;
SIZE 1,75, 0
@ 14,0 SAY “°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°” ;
SIZE 1,58, 0
@ 15,0 SAY “°°” ;
SIZE 1,2, 0
@ 15,2 SAY “°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°” ;
SIZE 1,75, 0
@ 16,0 SAY “°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°” ;
SIZE 1,58, 0
@ 17,0 SAY “°°” ;
SIZE 1,2, 0
@ 17,2 SAY “°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°” ;
SIZE 1,75, 0
@ 18,0 SAY “°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°” ;
SIZE 1,58, 0
@ 19,0 SAY “°°” ;
SIZE 1,2, 0
@ 19,2 SAY “°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°” ;
SIZE 1,75, 0
@ 0,58 SAY “°°°°°°°°°°°°°°°°°°°” ;
SIZE 1,19, 0
@ 2,58 SAY “°°°°°°°°°°°°°°°°°°°” ;
SIZE 1,19, 0
@ 4,58 SAY “°°°°°°°°°°°°°°°°°°°” ;
SIZE 1,19, 0
@ 6,58 SAY “°°°°°°°°°°°°°°°°°°°” ;
SIZE 1,19, 0
@ 8,58 SAY “°°°°°°°°°°°°°°°°°°°” ;
SIZE 1,19, 0
@ 10,58 SAY “°°°°°°°°°°°°°°°°°°°” ;
SIZE 1,19, 0
@ 12,58 SAY “°°°°°°°°°°°°°°°°°°°” ;
SIZE 1,19, 0
@ 14,58 SAY “°°°°°°°°°°°°°°°°°°°” ;
SIZE 1,19, 0
@ 16,58 SAY “°°°°°°°°°°°°°°°°°°°” ;
SIZE 1,19, 0
@ 18,58 SAY “°°°°°°°°°°°°°°°°°°°” ;
SIZE 1,19, 0
@ 20,0 SAY “°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°” ;
SIZE 1,77, 0
@ 21,0 SAY “°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°” ;
SIZE 1,77, 0
@ 22,0 SAY “°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°” ;
SIZE 1,77, 0
@ 23,1 SAY “°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°” ;
SIZE 1,77, 0
@ 0,77 SAY “°°°” ;
SIZE 1,3, 0
@ 1,77 SAY “°°°” ;
SIZE 1,3, 0
@ 2,77 SAY “°°°” ;
SIZE 1,3, 0
@ 3,77 SAY “°°°” ;
SIZE 1,3, 0
@ 4,77 SAY “°°°” ;
SIZE 1,3, 0
@ 5,77 SAY “°°°” ;
SIZE 1,3, 0
@ 6,77 SAY “°°°” ;
SIZE 1,3, 0
@ 7,77 SAY “°°°” ;
SIZE 1,3, 0
@ 8,77 SAY “°°°” ;
SIZE 1,3, 0
@ 9,77 SAY “°°°” ;
SIZE 1,3, 0
@ 10,77 SAY “°°°” ;
SIZE 1,3, 0
@ 11,77 SAY “°°°” ;
SIZE 1,3, 0
@ 12,77 SAY “°°°” ;
SIZE 1,3, 0
@ 13,77 SAY “°°°” ;
SIZE 1,3, 0
@ 14,77 SAY “°°°” ;
SIZE 1,3, 0
@ 15,77 SAY “°°°” ;
SIZE 1,3, 0
@ 16,77 SAY “°°°” ;
SIZE 1,3, 0
@ 17,77 SAY “°°°” ;
SIZE 1,3, 0
@ 18,77 SAY “°°°” ;
SIZE 1,3, 0
@ 19,77 SAY “°°°” ;
SIZE 1,3, 0
@ 20,77 SAY “°°°” ;
SIZE 1,3, 0
@ 21,77 SAY “°°°” ;
SIZE 1,3, 0
@ 22,77 SAY “°°°” ;
SIZE 1,3, 0
@ 23,77 SAY “°°°” ;
SIZE 1,3, 0
@ 22,22 SAY “Designed & Developed by Amjad Izhar” ;
SIZE 1,35, 0
@ 0,4 SAY “°°°°°°°°°°°° P°°° A°°° Y°°° R°°° O°°° L°°° L°°°°°°°°°°°°°°°°°°°°°°°°°°°°” ;
SIZE 1,72, 0
@ 0,0 SAY “°°” ;
SIZE 1,2, 0
@ 0,2 SAY “°°” ;
SIZE 1,2, 0
@ 24,0 SAY “°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°” ;
SIZE 1,77, 0
@ 23,0 SAY “°” ;
SIZE 1,1, 0
REGION 0
IF m.talkstat = “ON”
SET TALK ON
ENDIF
IF m.compstat = “ON”
SET COMPATIBLE ON
ENDIF
BACKGRWN.PRG
- *
- *
- * 09/03/96 BACKGRWN.SPR 12:44:18
- *
- *
- *
- * Author’s Name
- *
- * Copyright (c) 1996 Company Name
- * Address
- * City, Zip
- *
- * Description:
- * This program was automatically generated by GENSCRN.
- *
- *
REGION 0
REGIONAL m.currarea, m.talkstat, m.compstat
IF SET(“TALK”) = “ON”
SET TALK OFF
m.talkstat = “ON”
ELSE
m.talkstat = “OFF”
ENDIF
m.compstat = SET(“COMPATIBLE”)
SET COMPATIBLE FOXPLUS
m.rborder = SET(“READBORDER”)
SET READBORDER ON
m.currarea = SELECT()
- *
- *
- * Windows Window definitions
- *
- *
*
IF _DOS
MODIFY WINDOW SCREEN ;
AT 0.000, 0.000 ;
SIZE 30.769,125.000 ;
FONT “MS Sans Serif”, 8 ;
NOFLOAT ;
NOCLOSE ;
NOMINIMIZE ;
FILL FILE LOCFILE(“REDBRICK.BMP”,”BMP|ICO|PCT|ICN”, ;
“Where is redbrick?”)
ENDIF
CLEAR
- *
- *
- * BACKGRWN/Windows Screen Layout
- *
- *
*
REGION 1
IF _DOS
@ 27.308,2.000 SAY (LOCFILE(“copyrite.bmp”,”BMP|ICO|PCT|ICN”, “Where is copyrite?” )) BITMAP ;
SIZE 1.615,4.200 ;
STYLE “T”
ENDIF
DO top IN tbl_proc.PRG
DO bot IN tbl_proc.PRG
@ 11,58 SAY “P A Y R O L L – M A I N M E N U” FONT ‘FoxFont’,11
@ 37,141 SAY “P a y r o l l” FONT “Times New Roman”, 14 STYLE “BIT”
*@ 25.769,6.800 SAY “Designed & Developed By: Amjad Izhar. amjad18@yahoo.com” ;
- FONT “Busorama Md BT”, 10 ;
- STYLE “BT” ;
- COLOR RGB(0,255,0,,,,)
*@ 27.462,7.000 SAY “Dada Industries. 2015-16” ;
- FONT “Photina”, 12 ;
- STYLE “BT” ;
- COLOR RGB(255,255,0,,,,)
SELECT (m.currarea)
REGION 0
SET READBORDER &rborder
IF m.talkstat = “ON”
SET TALK ON
ENDIF
IF m.compstat = “ON”
SET COMPATIBLE ON
ENDIF
BACKUP.PRG
!PKZIP DBFS.ZIP *.DBF
!PKZIP CDX.ZIP *.CDX
!PKZIP FPT.ZIP *.FPT
!PKZIP PRGS.ZIP *.PRG
BHM_PROC.PRG
- PROGRAM: BHM_PROC.PRG
- Author: Amjad Izhar
- Budget Heads Maintenance
- Revised Again On : 18-01-2001
- 1 – Budget Heads ….. Creation budg_ent
- 2 – Budget Heads ….. Printing/Display budg_prt
- 1 – Budget Heads ….. Creation budg_ent *
PROCEDURE budg_ent
CLEAR
CLOSE ALL
SET CONFIRM OFF
IF _DOS
SET COLOR TO 7/1
ENDIF
SELECT 1
USE ldgrcode ORDER ac1
SELECT 3
USE chart ORDER crt
STORE 0 TO MC1, MC2, MC3
DO WHILE .T.
CLEAR
DO top IN tbl_proc.prg
IF _DOS
SET COLOR TO +7/1
ENDIF
@ 6, 25 SAY ‘Budget Maintenance Entry ‘
IF _DOS
SET COLOR TO 7/1
ENDIF
@ 23, 1 TO 23, 79
SELECT 1
IF _DOS
SET COLOR TO 7/1
ENDIF
@ 24, 51 SAY ‘Press Ctrl Q To Quit ‘
@ 8, 8 SAY ‘Ledger Head Code ‘
IF _DOS
SET COLOR TO /w
ENDIF
@ 8, 30 SAY ‘ – – ‘
@ 8, 30 GET MC1 PICTURE ‘@z 99’
IF _DOS
SET COLOR TO 7/1
ENDIF
READ
IF READKEY()=12
CLEAR
CLOSE ALL
SET CONFIRM OFF
RETURN
ENDIF
@ 24, 50 CLEAR TO 24, 78
IF MC1=0
LOOP
ENDIF
SELECT 3
SET FILTER TO MC1>=FR.and.MC1<=TO GOTO TOP IF MC1>=FR.and.MC1<=TO
SEEK STR(FR,2)+STR(TO,2)
IF FOUND()
MCH= CHART
ENDIF
ENDIF
SET FILTER TO
SELECT 1
IF MC1<10
@ 24, 1 SAY ‘Code C1 less than 10 not allowed.’
WAIT ”
@ 24, 1
LOOP
ENDIF
IF _DOS
SET COLOR TO *+7/1
ENDIF
@ 8, 50 SAY MCH
IF _DOS
SET COLOR TO 7/1
ENDIF
IF MC1>99.and.MC1<100
IF _DOS
SET COLOR TO *+7/1
ENDIF
@ 8, 50 SAY 'Not Defined Head '
IF _DOS
SET COLOR TO 7/1
ENDIF
ENDIF
MPC1= REPLICATE(‘0’,2-LEN(LTRIM(STR(MC1))))+LTRIM(STR(MC1))
IF _DOS
SET COLOR TO /w
ENDIF
@ 8, 30 SAY MPC1
@ 8, 33 GET MC2 PICTURE ‘@z 99’
READ
MPC2= REPLICATE(‘0’,2-LEN(LTRIM(STR(MC2))))+LTRIM(STR(MC2))
@ 8, 33 SAY MPC2
@ 8, 36 GET MC3 PICTURE ‘@z 999’
READ
MPC3= REPLICATE(‘0’,3-LEN(LTRIM(STR(MC3))))+LTRIM(STR(MC3))
@ 8, 36 SAY MPC3
IF _DOS
SET COLOR TO 7/1
ENDIF
IF READKEY()=12
CLOSE DATA
CLEAR
RETURN
ENDIF
SELECT 1
STORE STR(MC1,2)+STR(MC2,2)+STR(MC3,3) TO MLCODE
SEEK MLCODE
IF .not. FOUND()
@ 24, 15 SAY ‘This Code Does Not Exist — Please Re-try ‘
WAIT ”
@ 24, 8 CLEAR TO 24, 63
LOOP
ENDIF
IF MC3=0
@ 12, 1 CLEAR TO 22, 79
@ 12, 8 SAY ‘ Note:- Three zeros at the end of the ledger code’
@ 13, 8 SAY ‘ will make it a consolidation head i.e you’
@ 14, 8 SAY ‘ will not be able to Post Transactions’
@ 15, 8 SAY ‘ directly into this head.’
@ 16, 8 SAY ‘ Hit any key to continue ……….’
WAIT ”
CLEAR
LOOP
ENDIF
@ 10, 8 SAY ‘Title of Ledger Head ‘ GET TITLE
CLEAR GETS
IF SR_NO>1
@ 14, 17 SAY ‘Transactions already exist for this ‘
@ 15, 17 SAY ‘Ledger Head therefore you can only ‘
@ 16, 17 SAY ‘make changes in the Title and cannot ‘
@ 17, 17 SAY ‘make changes in the Budget Amount ‘
WAIT ”
CLEAR
LOOP
ENDIF
IF SR_NO=1.and.C3<>0
@ 12, 8 SAY ‘Budget Amount Rs. ‘ GET BUDGET PICTURE ‘999999999.99’
READ
ENDIF
Q= ‘ ‘
DO WHILE .not. Q$’YN’
@ 24, 25 SAY ‘More Data Entry – Y/N’ GET Q FUNCTION ‘!’
READ
ENDDO
IF Q=’N’
CLEAR
CLOSE ALL
SET CONFIRM OFF
RETURN
ENDIF
MC3= MC3+1
ENDDO
RETURN
- 2 – Budget Heads ….. Printing/Display budg_prt *
PROCEDURE budg_prt
CLEAR
CLOSE ALL
USE ldgrcode ORDER ac1
IF RECCOUNT()=0
CLEAR
@ 12, 12 SAY ‘No Ledger Heads Exist in Data File – Press any key to return to menu …. ‘
WAIT ”
CLEAR
CLOSE ALL
RETURN
ENDIF
P= ‘ ‘
DO WHILE .not. P$’PSQ’
@ 23, 45 SAY ‘Printer/Screen/Quit – P/S/Q ‘ GET P FUNCTION ‘!’
READ
ENDDO
IF P=’Q’
CLOSE ALL
CLEAR
RETURN
ENDIF
IF P=’S’
CLEAR
SET PRINTER OFF
SET DEVICE TO SCREEN
ELSE
CLEAR
PANS= ‘ ‘
do PRNCHK in tbl_proc
IF PANS=’Q’
CLOSE ALL
CLEAR
RETURN
ENDIF
@ 11, 20 SAY ‘Please wait … Printing in progress ‘
SET PRINTER ON
SET DEVICE TO PRINTER
ENDIF
HEADING= .T.
PAGE= 0
DO WHILE .not. EOF()
IF HEADING
L= 3
PAGE= PAGE+1
IF P=’P’
DO top_prt1 IN tbl_proc.prg
@ 3, 15 SAY CHR(18)
@ 3, 33 SAY ‘BUDGET HEADS’
@ 4, 32 SAY ‘————–‘
@ 4, 65 SAY ‘Page -‘
@ 4, 71 SAY PAGE PICTURE ’99’
L= L+1
ELSE
DO screen IN tbl_proc.prg
@ 3, 30 SAY ‘BUDGET HEADS’
L= L+1
@ L, 30 SAY ‘————– Page – ‘
@ L, 70 SAY PAGE PICTURE ‘999’
ENDIF
L= L+2
@ L, 7 SAY ‘Code’
@ L, 28 SAY ‘Title’
@ L, 52 SAY ‘Budget’
L= L+1
@ L, 5 SAY REPLICATE(‘-‘,72)
HEADING= .F.
ENDIF
IF C3=0
SKIP
LOOP
ENDIF
IF BUDGET=0
SKIP
LOOP
ENDIF
L= L+1
IF C2=0.and.C3=0.and.RIGHT(STR(C1),1)=’0′
L= L+1
MPC1= REPLICATE(‘0’,2-LEN(LTRIM(STR(C1))))+LTRIM(STR(C1))
@ L, 5 SAY MPC1
@ L, 7 SAY ‘-‘
MPC2= REPLICATE(‘0’,2-LEN(LTRIM(STR(C2))))+LTRIM(STR(C2))
@ L, 8 SAY MPC2
@ L, 10 SAY ‘-‘
MPC3= REPLICATE(‘0’,3-LEN(LTRIM(STR(C3))))+LTRIM(STR(C3))
@ L, 11 SAY MPC3
@ L, 20 SAY TITLE
MLEN= LEN(RTRIM(TITLE))
L= L+1
@ L, 5 SAY REPLICATE(‘-‘,15+MLEN)
ENDIF
IF C3=0.and.RIGHT(STR(C1),1)<>’0′
L= L+1
MPC1= REPLICATE(‘0’,2-LEN(LTRIM(STR(C1))))+LTRIM(STR(C1))
@ L, 5 SAY MPC1
@ L, 7 SAY ‘-‘
MPC2= REPLICATE(‘0’,2-LEN(LTRIM(STR(C2))))+LTRIM(STR(C2))
@ L, 8 SAY MPC2
@ L, 10 SAY ‘-‘
MPC3= REPLICATE(‘0’,3-LEN(LTRIM(STR(C3))))+LTRIM(STR(C3))
@ L, 11 SAY MPC3
@ L, 20 SAY TITLE
ELSE
IF C3<>0
MPC1= REPLICATE(‘0’,2-LEN(LTRIM(STR(C1))))+LTRIM(STR(C1))
@ L, 8 SAY MPC1
@ L, 10 SAY ‘-‘
MPC2= REPLICATE(‘0’,2-LEN(LTRIM(STR(C2))))+LTRIM(STR(C2))
@ L, 11 SAY MPC2
@ L, 13 SAY ‘-‘
MPC3= REPLICATE(‘0’,3-LEN(LTRIM(STR(C3))))+LTRIM(STR(C3))
@ L, 14 SAY MPC3
@ L, 20 SAY TITLE
ENDIF
ENDIF
@ L, 45 SAY BUDGET PICTURE ‘999,999,999.99’
SKIP
IF EOF()
IF P=’P’
EJECT
SET PRINTER OFF
SET DEVICE TO SCREEN
ENDIF
ENDIF
IF P=’S’
IF L>21
@ 24, 15 SAY ”
XYZ= ‘ ‘
DO WHILE .not. XYZ$’CQ’
SET CONFIRM OFF
@ 24, 55 SAY ‘Continue/Quit – C/Q ‘ GET XYZ FUNCTION ‘!’
READ
ENDDO
IF XYZ=’Q’
CLEAR
CLOSE ALL
RETURN
ENDIF
CLEAR
L= 3
HEADING= .T.
ENDIF
ENDIF
IF P=’P’
IF L>56
EJECT
L= 3
HEADING= .T.
ENDIF
ENDIF
ENDDO
IF P=’S’
@ 24, 7 SAY ‘End of Screen Printing – Press any key to return to menu…. ‘
WAIT ”
ELSE
EJECT
SET PRINTER OFF
SET DEVICE TO SCREEN
ENDIF
CLOSE ALL
RETURN

Leave a comment