NearEastUniversity - docs.neu.edu.trdocs.neu.edu.tr/library/4855709838.pdfName: jem Surname: klarck...

Post on 19-Jan-2021

2 views 0 download

Transcript of NearEastUniversity - docs.neu.edu.trdocs.neu.edu.tr/library/4855709838.pdfName: jem Surname: klarck...

1988

Near East Universityac Engineering

B. • •gıneerıngt•

Final Year ProjectTittle: Hotel Reservation

Using FoxPro••

Student: Emad Adnan Aalian

Supervisor: Miss. Besime Erin

February 2000

1

1\l(NO\VLEDGEMEN'J'

firstly I would like to thank my dear parents who supported me

through all my life until this moment

Also I would like to thank my supervisor Miss. Besiıııe Eriıı who\

has provided me with invaluable help and advice through all stages of

my under graduate study. She taught me FoxPro in two courses and

then completed her favor by taking the responsibility of supervising

me iıı my final graduation project.

Special thanks fo my advisor 1Hr. Tayseet Al-sluııuıbeleh for his

advises and helping.

Thanks are due to my dearest friend with whom I sheared

everything in life from my first day in Cyprus:

ılf arwaıı Al-aklırııs.

Particular mention must be made of:

Gökçe Taş/uran.

Who helped me very much in finishing this project.

ABSTRACT

As the information age has effected every aspect of our life, the

need for computerizing many information systems has raised.

One of the important branches that are affected by information

revolution is the database management system.

This project is concerned about using computer program in

hotel management system. It is written using FoxPro programming

language. which is one of the best and strongest database languages.

mnlete hotal management program, that

in most hotels. such as customer related

rmanon.rooms. employees. goods and many other hotel

management related services,

Before coming to this point, this project, has gone through some

important steps;

First one was the requirements definition, for which I had to go to

ome hotels and study their systems.

The second steps were designing the system and software that is

intended to serve an integrated hotel management system.

The final step was the implementation of the design on the computer

using FoxPro language.

EXAMPELS OF THEDATABASES

1. CUSTOMER.DBF

2. EMPLOYEE.DBF

3. SERVICES.DBF

4. ROOM.DBF

5. BUYING GOODS.DBF

6. SELLING GOODS.DBF

••

CUSTOMER DBF

Name: I hassan

I~ı 'Sa: -ıaıe·ı

I Stııle: s.ıgle

I Wllıı!ı .ne; no

i a.dısldr11: oCNdundr15: o

II Aıoomtype: single

I a wııııııber. 104

,Aoaıııphoııe: ...~ 1 o.uxxxxx:ı

I Coınelndate: 29.12.1999

I Notes: no

Amountpaye: 150

Comoutdate: 05.01.1999 lo

!

Name: emad

Surname: aalian

Natlonatty: palistinian

Pass.,.•rtnu: rt5561231

Adress: gazanusitratblockc

I Birthdate: 18-Cll.1977

Biı H ıplace: palistain

Sex: male

State: single

Wlfename: no

Chlldundr6: o_,,

Clıldundr15: oRoorntype: single

Roornnumber: 101

Roomphone: ...Accounnum: 101 CXXXXXXJ

Comelndate: 01.01.1999

Notes: nothing

Arnountpaye: 400

Cornoutdate: 09.01.1999

l

Name: marwan

Surname: alakhras

Natlonaıty: jordanian

Passportnu: ed2358112

Adress: lefkosa KKaymakl

Blrthdate: 24.08.1978

Birthplace: amman

Sex: male

State: married

Wlfename: bahar ..Chlldundr6: oChldundr15: o

Roomtype: shift

Roomnumber: 201

Roornphone: ...'

Accounnum: 201CXXXXXXJ

Comelndate: 02.02.1999

Notes: no

Amountpaye: 400

Cornoutdate: 10.02.1999

Name: I hagi-

Surname: kahi

Natlonalty: romanian

Passportnu: re1987456

Adress: romaniapo. streuit--

Blrthdate: 12.12.1~

Birthplace: romania

Sex: male

State: single

Wlfename: no

Chlldundr6: oChldundr15: o

Roorntype: single

Roornnumber: ~

Roomphone:

Accounnum: :.nnxxxmComeindate: 12.02.1999

Notes: no

Amountpaye: 200

Cornoutdate: 12.00.1999

2

Nmıe:; s.-a.c.. II

NI .,_fll I -=,"*ess:

mıw .•:~:

I

I Sex:LI

I' State:II Wtfename:

Clıldundr6: o:

CMıtıwıdr15: oRocımtype: single

Rııııanwll.mber: 401I

Roomphone: ...I Accounnum:

I Comeindate:

I Notes:

Amountpaye:

Comoutdate:

I

3

Name:

Surname:

Natıonalty:

Passportnu:

Adress:

Birthdate:

Birthplace:

Sex:

State:

Wifename:

Chlldundr6: oChldundr15: o

Roomtype: chift

Roomnumber: &J1

Roomphone: ...Accounnum:

•;

Comeindate:

Notes:

Arnountpaye:

Cornoutdate:

Name: jem

Surname: klarck

Natıonalty: usa

Passportnu: er1245412

Adress: texas mon.43198 st

Blrthdate: 01.03.1955

Birthplace: monterial

Sex: male

State: married

Wlfename: paws

Chlldundr6: oChldundr15: o

Roomtype: shift

Roomnumber: HE

Roomphone: ***

Accounnum: 1 C6CXXXXXX)

Comelndate: 11.02.1999

Notes: no

Amountpaye: an

Comoutdate: 11.00.1999

Name:

Surname:

Natıonalty:

Passportnu: I

Adress: l

Birthdate:

Birthplace: :Sex:

State: '

•• Wlfename:

Chlldundr6: oChldundr15: o

Roomtype: chiftI

Roomnumber: ~1

R.oomphone: ***

Accounnum:

Comeindate:

Notes: no

Amountpaye:I

Comoutdate: I

4

EMPLOYEE DBF

Name: hussin

Surname: khalid

Idnumber: resaJ2

Workperlod: evening

Workhours: 12

Overtime: 3

Salary: 400

Place: reseption

Occupation: guarding

Name: fatih

Surname: mehmetI

ldnumber: kil001

Workperlod: morning

Workhours: 10

Overtime: oSalary: 500

Place: kitchen

Occupation: cooking

Name: SUSİ

Surname: samy

Idnumber: romOJ6

Workperlod: morning -Workhours: 10

Overtime: 4

Salary: 1'380

Place: rooms

Occupation: cleaning

5

Name: emad Name: hassan

Passportnu: rt5561231 Passportnu: pl5454354

Roomnumber: 101 Roomnumber: 104

Roomtype: single Roomtype: single

Roomphone: ... Roomphone: ...Position: Position: corner-sea

Storey: 1st Storey: 1st

Empty: N Empty: N

Full: y Full: y

Deposittyp: 50 Deposittyp: 40

Name: hagi Name: jem

Passportnu: re1987456 Passportnu: er1245412

Roomnumber: eos •• Roomnumber: 1(6

Roomtype: single Roomtype: shift

Roomphone: ... Roomphone: ...'

Position: mlddel Position: corner

Storey: 3rd Storey: 1st

Empty: N Empty: N

Full: y Full: y

Deposittyp: 50 Deposlttyp: 50

Name: hakan Name: kalse

Passportnu: tr1245789 Passportnu: er-451236

Roomnumber: 103 Roomnumber: 501

Roomtype: single Roomtype: sinle

Roomphone: ...Roomphone: ...

Position: corner_sea Position:

Storey: 1st Storey:

Empty: N Empty: N

Full: y Full: y

Deposlttyp: 40 Deposlttyp:

6

ROOM DBF

IName: Name:

I Passportnu: Passportnu:!

Roomnumber: 301 Roomnumber: 106

Roomtype: chift Roomtype: shiftI

Roomphone: ...Roomphone: ...

Position: corner Position: middel

Storey: 3rd Storey: 1st

Empty: y Empty: y

Full: N Full: N

Deposittyp: 50 Oeposittyp: 50

Name: Name:

Passportnu: Passportnu:

Roomnumber: 401 Roomnumber: 107Roomtype: single Roomtype: shift

Roomphone: ...Roomphone: ...

Position: middel Position: corner-sea

Storey: 4th Storey: 1st

Empty: y Empty: y

Full: N Full: N

Deposittyp: 40 Deposlttyp: 50

I

I

Name: Name:

Passportnu: Passportnu:

Roomnumber: 501 Roomnumber: 100

Roomtype: chift Roomtype: shiftRoomphone: ...

Roomphone: ...I

Position: mlddel Position: comer .II Storey: 1st Storey: 1stI'

Empty: y Empty: y

Full: N Full: N

Deposittyp: 50 Deposittyp: 50I

7

I

Kind: cheken Kind: water

Quantity: 1 &! kg Quantity: 2CXX) peices

Cost: 100.CXXJ Cost: 100.CXXJ II!

Purch_date: 07.01.1999 Purch_date: 03.06.1999 II

I

"Kind: classes

Quantity: &J dozen

Cost: &l.CXXJ

Purch_date: 04.04.1999

Kind: coca cola

Quantity: 1 CXXJ peices

Cost: 400.CXXJ

Purch_date: 08.04.1999

Kind: meat

!Quantity: DJkg

Cost: txXJ.CXXJ

Purch_date: 01.02.1999

I

Kind: potatose

Quantity: 100kg I

I Cost: &JO.CXXJI

Purch_date: 02.01.1999

II!

8

,.

'--==- - ~ - i

BUYINGDBF

---- SELLING

Kind: I tace crames

I I~ I :ıear-

Qı fly .. 2SJ cıeıces

Cost: 3.ClXJ

Pun:h_date: (6..()3.99

Kind: wesky

Quantity: 1450peicesI

I

Cost: 9.(lX)

Pun:h_date: 02-12-99

9

Kind: haircrames

Quantity: 150peices

Cost: 150

Purch_date: 03-06-99

Kind: tost

Quantity: 100peices

Cost: 250

Purch_date: 06-01-99

•SERVICES DBF

1Service: bar

From_to: 2 pmto2 am

Charge: 10 dolar

Service: disco

From_to: 11pmto 4am

Charge: 8 dolar ..

Service: gardens

From_to: 6amto 11 p

Charge: o

Service: market

From_to: 8 am to8pm

Charge: o

Service: oto park

From_to: 24hour

Charge: 2 dolar

Service: resturant

From_to: 24 hour

Charge: o

10

Service: summingpoolI

From_to: 10amto 10pm

Charge: 5 dolar

evilay J-Iotel 10:10 PM I Sevilay liotel

WELLCOME ro SEVILA Y I-IOTEI_/

I 2. EMPLOYEE FILE

I 4. RESERVATION

~- SEARCH

[ 8. DONE BY

9. DATE ı I ,. SEViLAY HOTEL 11 ıo. ALL ROOMS

I ı l. EXIT ![I]

11

Supervised by:

Dr. Besime Erin

CUSTOMER FILE I

. SERVICES

5. ROOM FILE

. GOODS

***************************************************************** *

THE MAIN MENU PROGRAM **

********************************************************************

"'*******

***** Sevilay Hotel";20;

_.\Y " WELLCOME TO SEVILAY HOTEL " ;_ IT ~IS Sans Serif", 24 ;1LE '13T";

COLOR RGB(255,255,0,128,128,0)

, .""4SAY"==F01'.ı "jokar", 24;nU"BT";

COLOR RGB(255,255,0,128,128,0)

'g33, 75 SAY" SUPERVISED BYoxr "JOKAR", 10;

II•

II•

12

TYLE "R+/B+" ;COLOR RGB( 192,192,192,O,,)

g'35, 75 SAY" § DR. BESJME ERIN " ;FONT "JOKAR", 10;

TYLE "R+/B+";COLOR RGB( 192,192, 192,0,,)

*1912,70 SAY 'c:\400\3.BMP'BITMAP:@12,27 SAY 'c:\400\otell .BMP'BITMAP@38,45 SAY 'C:\400\CLOSE.BMP'BITMAP@16,7PROMPT "l. CUSTOMER FILE "@16,67 PROMPT "2. EMPLOYEE FILE "®19,7 PROMPT "3. SERVICES ":@19,67PROMPT "4. RESERVATION 11

1'@22 7 PROMPT "5 ROOMS ".._, ' .

~2,67 PROMPT "6. SEARCH "§25,7 PROMPT "7. Goods@25,67 PROMPT "8. DONE BY@28,7 PROMPT "9. date 11

@28,67 prompt "10. ALLROOMS "@38,37 prompt "11.EXIT"MENU TO CHOICEDO CASECASE CHOICE=lDO C:\400\custom.PRGCASE CHOICE=2DO C:\400\employee.PRGCASE CHOICE=3DO C: \400\ser. prgCASE CHOICE=4DO C:\400\deladd.prgCASE CHOICE=lDO C: \400\costum.PRGCASE CHOICE=5DO C:\400\rooml.PRGCASE CHOICE=6DO C:\400\SEARCHO.PRGCASE CHOICE=?DO C:\400\goods.prgdeactivate window systemCASE CHOICE=8DO C:\400\POGRAMME.PRGCASE CHOICE=9DO C:\400\2.PRGCASE CHOICE= 1 O

""

13

-*************************************************************** ***

THE MAIN PROGRAM **

**************************************************************

SET TALK OFFSTORE O TO CHOICEDO WHILE CHOICE< 10

CLEARSET SYSMENU OFFSET SAFETY OFFSET TALK OFFSET STATUS BAR ONSET SYSMENU ON

••

****** DEFINING THE SYSTEM WINDOW*********DEFINE WINDOW system FROM 0,0 TO 55,120 SYSTEM;

FLOAT SHADOW TITLE" SEVILAY HOTEL" IN SCREEN;GROW MINIMJZE ZOOM CLOSE COLOR R/R+ACTIVATE WINDOW system

@1,1 SAY "Sevilay Hotel*****";FONT "jokar", 20 ;STYLE "GR+/B+" ;

@33, 75 SAY" SUPERVISED BYFONT "JOKAR", 10;

"

@1,67 SAY" ***** Sevilay Hotel";FONT "jokar", 20;STYLE "GR+/B+" ;

@5, 19 SAY" WELLCOME TO SEVJLAY HOTEL";FONT "MS Sans Serif', 24 ;STYLE "BT";COLOR RGB(255,255,0, 128, 128,0)

@9 24 SAY " --------------------- 11 •

' 'FONT "jokar", 24 ;STYLE "BT";COLOR RGB(255,255,0, 128,128,0)

12

14

,ı \ il ,\Y llOITL

CllSTOl\lER FILE

ı~~ II SURNAME:

INATIONALITY: PASSPORTNU:PALIST AIN1N PL35789545AALIAN

ADDRESS: BIRTHPLACE BIRTH DATE:GAZA -NU SIRAT BLOCK C 206/06 PALISTIN 31/7/51

~~

WIFENAME: I ;HLDUND15: I CILHDUND6:MALE ISSAF NO

ROOM TYPE: ROOM PHONE: ROOM NUMBER:SHIFT 8801 801

IN:COMEINDATE: M12/12/99

COMEOUTDATE: ACCOUNTNUM: LEFT:

12/24/99 8010000000 nil

· 11~ I ~ lij\ı· ~ I ~11 ° 1~1~1111 ~ 1•1 ••1

15

__ ,. •._.,•• ······********** * ** * *** * * * * * * * ** * * * * * ** * * ** * * * * * * * ** * * ** * * *

CUSTOM.PROGRAM ***

***********************************************

************************************************

************************************************* ***

********************* **'*

m.currarea, m.talkstat, m.compstat

="ON"

talk.stat = "ON"E

m.talkstat = "OFF"IDIF

mpstat = SET("COMPATIBLE")ET COMPATIBLE FOXPLUS

rder = SET("READBORDER")ET READBORDER ON

currarea = SELECT()

16

* ********************************************************* * ** * S 1087984/Windows Databases, Indexes, Relations* ** ********************************************************* *IF USED("custom")

SELECT customSET ORDER TO TAG " sa00vwr6x"

ELSESELECT OUSE (LOCFILE("custom.dbf',"DBF':,"Where is custom?"));

AGAIN ALIAS custom ;ORDER TAG " sa00vwr6x"

END IF

* ********************************************************* * ** * Windows Window definitions* ** ********************************************************* *IF NOT WEXIST(''_00816bnua")

DEFINE WINDOW _00816bnua;AT 0.000, 0.000 ;SIZE 18.900,71.429;TITLE "Custom" ;FONT "Times New Roman", 12;STYLE "B";FLOAT;CLOSE;MINIMIZE;COLOR RGB(,,,255,255,255)

MOVE WINDOW 00816bnua CENTEREND IF

* ********************************************************* * ** * CUSTOM/Windows Setup Code - SECTION 2* ** ********************************************************* *

17

iiREGION 1

#DEFINE C_DBFEMPTY 'Database is empty, add a record?'#DEFINE C_EDITS 'Please finish your edits.'#DEFINE C_TOPFILE 'Top of file.'liDEFINE C END FILE 'End of file.'#DEFINE C BRTITLE 'Locate Record'#DEFINE C_NOLOCK 'Sorry, could not lock record>- try again later.'#DEFINE C ECANCEL 'Edits Canceled.'#DEFINE C DELREC 'Delete selected record?'#DEFINE C_NOFEAT 'Feature not available yet.'#DEFINE C_NOWIZ 'Wizard application is not available.'#DEFINE C_MAKEREPO 'Creating report with ReportWizard,'#DEFINE C_NOREPO 'Could not create report.'#DEFINE C_DELNOTE 'Deleting records ... '#DEFINE C_READONL Y 'Table is read-only. No editing allowed.'#DEFINE C_NOTABLE 'No table selected. Open table or run query.'#DEFINE C_BADEXPR 'Invalid expression.'#DEFINE C LOCWIZ 'Locate WIZARD.APP:'#DEFINE C_MULTITABLE 'You have multiple related tables. Adding records in notallowed.'

MOVE WINDOW' 00816bnua' CENTERPRIVATE isediting,isadding,wztblarrPRIVATE wzolddelete,wzolderror,wzoldescPRIVATE wzalias, tempcurs, wzlastrecPRIVATE isreadonly ,fınd_drop,is2table

IF EMPTY(ALIAS())WAIT WINDOWC NOTABLERETURN

ENDIF

m.wztblarr="m.wzalias=SELECT()m.isediting= .F.m.isadding=.F.m.is2table = .F.m.wzolddelete=SET('DELETE')SET DELETED ONm.tempcurs=S YS(20 I 5) &&used if General fieldm.wzlastrec = 1m.wzolderror=ON('error')ON ERROR DO wizerrorhandlerwroldesc=ON('KEY','ESCAPE')ON KEY LABEL ESCAPEm.find_drop = IIFLDOS,0,2)

isreadonly=IIF(ISREAD(),.T.,.F.)

18

6f

: ztrt£'0ÇL'£ o.ı ILÇOZ'OO£'Z@(ççz'ççz'ççz'ççz'o'o)ao1111010:J

: .. r, 3'1AlS: 8 ',Jpas SUBS sw •• lNOd

: eezcrooor szıs: u:~nllBNıı AVS tll'£'oçp·z ®

(ççz'ççz'ççz'o'o'o)ao~' 11010:J: ~lf!l!PaS! N3HA\

: uXXXXXX:XXXX )I@.,aaruora: .a.. 3'1AlS

: 8 ',Jpas SUBS sw •• lNOd: ., •• l'111Vd3G

: ooost'ooot azıs: ouratrur 13:0 tll'£'0ÇJ"£ ®

(ççz'ççz'ççto'o'o)ao1111010:J: 8 'I N3d

: I ~3:llVd: OOO'l I'OÇ8'£Ol 6Zt'£'00t•Z@

«ro'sz ı 'szt 'o'o)ao1111010:J: 8 'I N3d

: I ~3:llVd: ÇIL'OL'OÇ8'1 Ol 98Z'O'OOO'O@

dlGN3MOHSON Bnuq9J800- MOGNIM 3:lVAU:JV

3S'133:WVS Bnuq9J800- MOGNIM 3:lVAU;JV

(.."ımuq9 f 800-.,)3'1HlSlAM dlI NOlD~#

********************************************************** * * ** ** ********************************************************** *

OW3W11VAW3W113:llV:JSaoı.o.ıoo

dlGN3)INV'1HGN3ddV

(AldW3dHG-;J)µ~p?-XOJGNV AfUOpBaısrıni GNVc-ouınocoaa dl

ddO 113:@0HGV~ 13:S

dlGN3l lfl03WU AlNOGVtlli ;) MOGNIM lIVM

AJUOpBalS!'W dl

]TERN 1;PE\ 1, 8;,COLOR RGB(0,0,0,255,255,255)

n,.20.857 GET m.surname ;SIZE 1.000, 15.000 ;DEFAULT"";FONT "MS Sans Serif', 8 ;

TYLE "B";PICTURE "@K XXXXXXXXXX" ;WHEN isediting ;COLOR ,RGB(0,0,0,255,255,255)

- 2..350,20.857 SAY "Surname:" ;SIZE 1.000,13.200;FONT "MS Sans Serif', 8 ;STYLE "T";COLOR RGB(0,0,255,255,255,255)

00,36.000 TO 3.750,53.857;PATTERN 1;PEN 1, 8;COLOR RGB(0,0,0,255,255,255)

3.050,36.286 GET m.nationalty ;SIZE 1.000,20.000 ;DEFAULT"";FONT "MS Sans Serif', 8 ;STYLE "B";PICTURE ''@K XXXXXXXXXXXXXXX'' ;WHEN isediting ;COLOR ,RGB(0,0,0,255,255,255)

~ 2.350,36.286 SAY "Nationalty:";SIZE 1.000,13.200;FONT "MS Sans Serif', 8 ;STYLE "T";COLOR RGB(0,0,255,255,255,255)

'g 2.400,56.571 TO 3.850,68.857 ;PATTERN 1;PEN 1, 8; il

COLOR RGB(0,0,0,255,255,255)@ 3.150,56.857 GET m.passportnu ;

SIZE 1.000, 13.500 ;DEFAULT"";FONT "MS Sans Serif', 8 ;STYLE "B";PICTURE "@K XXXXXXXXX" ;WHEN isediting ;COLOR ,RGB(0,0,0,255,255,255)

@2.450,56.857 SAY "Passportnu:" ;SIZE 1.000,13.200;FONT "MS Sans Serif', 8 ;STYLE "T";

20

COLOR RGB(0,0,255,255,255,255)@5.200,3.429 TO 6.650,27.000;

PATTERN 1;PEN 1, 8;COLOR RGB(0,0,0,255,255,255)

@ 5.950,3.714 GET m.adress;SIZE 1.000,26.667 ;DEFAULT"";FONT "MS Sans Serif', 8 ;STYLE "B";PICTURE "@K XXXXXXXXXXXXXXXXXXXX" ;WHEN isediting ;COLOR ,RGB(0,0,0,255,255,255)

@ 5.250,3.714 SAY "Adress:";SIZE 1.000, 13.200 ;FONT "MS Sans Serif', 8 ; ••

STYLE "T";COLORRGB(o,o:255,255,255,255)

@5.300,54.857 TO 6.750,63.286;PATTERN 1;PEN 1, 8;COLORRGB(0,0,0,255,255,255)

@6.050,55.143 GET m.birthdate;SIZE 1.000,9.000;DEFAULT"";FONT "MS Sans Serif', 8 ;STYLE "B";PICTURE "@K" ;WHEN isediting ;COLOR ,RGB(0,0,0,255,255,255)

@ 5.350,55.143SAY "Birthdate:";SIZE 1.000,13.200;FONT "MS Sans Serif', 8 ;STYLE "T";COLORRGB(0,0,255,255,255,255)

@5.300,34.286 TO 6.750,47.857;PATTERN 1;PEN 1, 8;COLORRGB(0,0,0,255,255,255)

@6.050,34.571 GET m.birthplace;SIZE 1.000,15.000;DEFAULT"";FONT "MS Sans Serif', 8 ;STYLE "B";PICTURE "@KXXXXXXXXXX" ;WHEN isediting ;COLOR ,RGB(0,0,0,255,255,255)

@5.350,34.571 SAY "Birthplace:";SIZE 1.000,13.200;

21

Sans Serif', 8 ;'T'.

'ıLORRGB(0,0,255,255,255,255)17.000 TO 9.350,25.429;

PATTERN 1;PEN 1, 8;COLOR RGB(0,0,0,255~255,255)

.650,17.286 GET m.sex;SIZE 1.000,9.000 ;DEFAULT" II;FONT "MS Sans Serif', 8 ;STYLE "B";PICTURE "@K XXXXXX" ;WHEN isediting ;COLOR ,RGB(0,0,0,255,255,255)

·~ .950,17.143 SAY "Sex:";SIZE 1.000, 13.200 ;FONT "MS Sans Serif', 8 ;STYLE "T"; (COLOR RGB(0,0,255,255,255,255)

~ 8.000,3.429 TO 9.450,13.143;PATTERN 1;PEN 1, 8;COLOR RGB(0,0,0,255,255,255)

@8.750,3.714 GET m.state;SIZE 1.000,10.500;DEFAULT" II;FONT "MS Sans Serif', 8 ;STYLE "B";PICTURE "@K XXX:XXXX" ;WHEN isediting ;COLOR ,RGB(0,0,0,255,255,255)

@8.050,3.714 SAY "State:";SIZE 1.000, 13.200 ;FONT "MS Sans Serif', 8 ;STYLE "T";COLOR RGB(0,0,255,255,255,255)

@ 7.900,29.857 TO 9.350,43.428; ••PATTERN 1;PEN 1, 8;COLOR RGB(0,0,0,255,255,255)

@8.650,30.143 GET m.wifename;SIZE 1.000, 15.000 ;DEFAULT" II;FONT "MS Sans Serif', 8 ;STYLE "B";PICTURE "@K XXXXXXXXXX" ;WHEN isediting ;COLOR ,RGB(0,0,0,255,255,255)

22

£l

••

: ••X:XXX:XXX)I@ •• aaruoıa: •. s: .. 3'1AlS

: 8 '.J!l;:}S SUt?S SW•• lNOd: •••• 11IlVd3G

: OOÇ'OI'ooo·ı 3ZIS: ;:}dı(ıuıoonu 1301ı'Il'£'QÇÇ'J I®

«sz'ssz'sszo'o'oıaoa "H0'10;:): 8 'I N3d

: I N"H311Vd: £v1·£1'oçz·zı 016zv·£'oos·o1@

ıssz'ssz'ssz'ssz'o'oıaoa "H0'10;:): ••1 •• 3'1AlS

: 8 ',J!l;:}S SUt?S sw.. lNOd: ooz:·£1'000·1 3ZIS

: •• :çppunpJl{;:) •• AVS ILS"'9v'oçs·L@(ççtççtççto'o'o)s:o"H' "H0'10;:)

: 8lJ!l!P;:}S! NffiW.: ••6 )I@ •• ffillil;:)Id

: •. s: .• 3'1AlS: 8 ',J!l;)S SUtıS SWu lNOd

: •••• 11IlVd3G: zsrrecoı nzıs

: çj.rpunprqouı 130 ILÇ9v'oççg@(ççz'ççz;'ççto'o'o)s:o"H "H0'10;:)

: 8 'I N3d: IN"H311Vd

: £vrçç'oçz:·6 019sz·9v'oos·L@(ççz;'ççz:'ççz;'ççz'o'o)s:o"H"H0'10;:)

: uL, 3'1AlS: 8 ',J!J;)S SUt?S sw.. lNOd

: oozcı 'ooo· ı nzıs: •• :9ıpunpl!l{;:)•• AVS ILÇ09'0Ç8·L@

(ççz:'ççz:'ççz:'o'o'o)s:o"H'"H0'10;:): 8lJ!l!P;:}S! NffiW.

: ••6 )I@ •• ffillil;:)ld: us: .. 3'1AlS

: 8 ',J!l;:}S SUt?S sw.. lNOd: •• u 11IlVd3G

: zstrooot 3ZIS: 91punpf!11J·nı 13D ILÇ'09'oççg@

(ççz'ççz'ççz:'o'o'o)s:o"H "H0'10;:): 8 'I N3d

: I N"H311Vd: uçs9'oçz:·6 o.ı 9gz:·09'oos·L@

(ççz:'ççz;'ççtççz:'o'o)s:o"H "H0'10;:): ulu 3'JA1S

: 8 '.J!l;:}S SUt?S sw.. IN Od: oozcroooı azıs

: •• :;:}Ult?U;:}J!M.u AVS £vı·o£'0Ç6.l@

WHEN isediting ;COLOR ,RGB(0,0,0,255,255,255)

.850,3.714 SAY "Roomtype:";SIZE 1.000,13.200;FONT "MS Sans Serif', 8 ;STYLE "T";COLOR RGB(0,0,255,255,255,255)

0.800,54.857 TO 12.250,65.000 ;PATTERN 1;PEN 1, 8;COLOR RGB(0,0,0,255,255,255)

1.550,55.143 GET m.roomnumber;SIZE 1.000,3.500 ;DEFAULT"";FONT "MS Sans Serif', 8;STYLE "B";PICTURE "@K 999" ;WHEN isediting ;COLOR ,RGB(0,0,0,255,255,255)

~ 0.850,55.143 SAY "Roomnumber:";SIZE 1.000,13.200 ;FONT "MS Sans Serif', 8 ;STYLE "T";COLOR RGB(0,0,255,255,255,255)

g 10.800,30.857 TO 12.250,40.286;PATTERN 1;PEN 1, 8;COLOR RGB(0,0,0,255,255,255)

g 11 .550,31.143 GET m.roomphone ;SIZE 1.000,4.667 ;DEFAULT"";FONT "MS Sans Serif', 8 ;STYLE "B";PICTURE "@K 9999" ;WHEN isediting ;COLOR ,RGB(0,0,0,255,255,255)

@ 10.850,31.143 SAY "Roomphone:";SIZE 1.000, 13.200 ;FONT "MS Sans Serif', 8;STYLE "T";COLOR RGB(0,0,255,255,255,255)

@ 15.000,56.571 TO 16.450,61.857;PATTERN 1;PEN 1, 8;COLOR RGB(0,0,0,255,255,255)

@ 15.650,56.571 GET m.empty;PICTURE "@*C " ;SIZE 1.308,5.400 ;DEFAULTO;

24

STYLE "T";WHEN isediting ;COLOR ,,,,,,,,RGB(0,0,0,255,255,255),RGB(0,0,0,255,255,255)

@ 15.050,56.857 SAY "LEFT:" ;SIZE 1.000,13.200;FONT "MS Sans Serif', 8 ;STYLE "T";COLOR RGB(0,0,255,255,255,255)

@ 13.550,56.571 TO 15.000,60.000;PATTERN 1;PEN 1, 8;COLOR RGB(0,0,0,255,255,255)

@ 14.200,56.571 GET m.full;PICTURE "@*C " ;SIZE 1.308,5.400 ;DEFAULT O;FONT "MS Sans Serif', 8 ;STYLE "T";WHEN isediting ;COLOR ,,,,,,,,RGB(0,0,0,255,255,255),RGB(0,0,0,255,255,255)

@ 13.600,56.857 SAY "IN:";SIZE 1.000,13.200;FONT "MS Sans Serif', 8 ;

••

FONT "MS Sans Serif', 8 ;

STYLE "T";COLOR RGB(0,0,255,255,255,255)

@ 13.500,3.571 TO 14.950,12.714;PATTERN 1;PEN 1, 8;COLOR RGB(0,0,0,255,255,255)

@ 14.250,3.857 GET m.comeindate;SIZE 1.000,9.000 ;DEFAULT"";FONT "MS Sans Serif', 8;STYLE "B";PICTURE "@K" ;WHEN isediting ;COLOR ,RGB(0,0,0,255,255,255)

@ 13.550,3.857 SAY "Comeindate:" ;SIZE 1.000,13.200;FONT "MS Sans Serif', 8 ;STYLE "T";COLOR RGB(0,0,255,255,255,255)

@ 14.900,3.571 TO 16.350,12.857;PATTERN 1;PEN 1, 8;COLOR RGB(0,0,0,255,255,255)

@ 15.650,3.857 GET m.comoutdate;SIZE 1.000,9.000 ;

25

DEFAULT"";FONT "MS Sans Serif', 8 ;STYLE "B";PICTURE "@K" ;WHEN isediting ;COLOR ,RGB(0,0,0,255,255,255)

14.950,3.857 SAY "Comoutdate:";SIZE 1.000,13.200;FONT "MS Sans Serif', 8 ;STYLE "T";COLOR RGB(0,0,255,255,255,255)

'@ 14.400,30.857 TO 15.850,44.428;PATTERN 1;PEN 1, 8;COLOR RGB(0,0,0,255,255,255)

15.150,3Ll43 GET m.accounnum;SIZE 1.000,15.000;DEFAULT"";FONT "MS Sans Serif', 8 ;STYLE "B";PICTURE "@K XXXXXXXXXX" ;WHEN isediting ;COLOR ,RGB(0,0,0,255,255,255)

@14.450,31.143 SAY "Accounnum:";SIZE 1.000, 13.200 ;FONT "MS Sans Serif', 8 ;STYLE "T";COLOR RGB(0,0,255,255,255,255)

@ 16.450,0.000 TO 17.100,1.429;PEN 1, 8;STYLE "T";COLOR RGB(l 92,192, 192,,,,)

17.050,0.143 TO 18.900,71.429;PATTERN 1;PEN 1, 8;COLOR RGB(0,0,128,128,0,0)

@ 17.350,5.429 GET m.top_btn;PICTURE "@*BHN " + ; '"

(LOCFILE("d:\fpw26\wizards\wizbmps\wztop. bmp", "BMPjICOjPCTjICN", "Where is wztop?")) ;

SIZE 1.350,3.857,0.571 ;DEFAULT 1;FONT "Times New Roman", 12;STYLE "B";VALID btn_val('TOP') ;MESSAGE 'Go to first record.'

17.350,10.571 GET m.prev_btn;PICTURE "@*BHN " + ;

26

(LOCFILE("d:\fpw26\wizards\wizbmps\wzback.bnıp","BMPIICOIPCTIICN","Where is wzback?")) ;

SIZE 1.350,3.857,0.571 ;DEFAULT 1;FONT "Times New Roman", 12;STYLE "B";VALID btn_val('PREV') ;MESSAGE 'Go to previous record.'

@17.350,15.714 GET m.loc_btn;PICTURE "@*BHN "+ ;

(LOCFILE("d:\fpw26\wizards\wizbnıps\wzlocate.bmp","BMPIICOIPCTIICN","Where is wzlocate?")) ;

SIZE 1.350,3.857,0.571 ;DEFAULT 1;FONT "Times New Roman", 12 ;STYLE "B";VALID btn_val('LOCATE') ;MESSAGE 'Locate a record.'

@ 17.350,20.857 GET m.next_btn;PICTURE "@*BHN " + ;

(LOCFILE("d:\fpw26\wizards\wizbmps\wznext.bmp","BMPjICOIPCTIICN","Where is wznext?")) ;

SIZE 1.350,3.857,0.571 ;DEFAULT 1;FONT "Times New Roman", 12;STYLE "B";VALID btn_val('NEXT') ;MESSAGE 'Go to next record.'

@17.350,26.000 GET m.end_btn;PICTURE "@*BHN II + ;

(LOCFILE("d:\fpw26\wizards\wizbmps\wzend. bmp", "BMPIICOjPCTjICN", "Where is wzend?")) ;

SIZE 1.350,3.857,0.571 ;DEFAULT 1;FONT "Times New Roman", 12 ;STYLE "B";VALID btn val('END') ;MESSAGE 'Go to last record.'

@ 17.350,31.143 GET m.add_btn;PICTURE "@*BHN " + ;

(LOCFILE("d:\fpw26\wizards\wizbmps\wznew.bmp","BMPjICOjPCTjICN","Where is wznew?")) ;

SIZE 1.350,3.857,0.571 ;DEFAULT 1;

27

e.bmp'',"BMPIICOIPCTIICN","

-L6 wizardsvwizbrnpsvwzsave,bmp'', "BMPIICOIPCTIICN", "Wh

d:\fpw26\wizards\wizbmps\wzundo.bmp","BMPIICOIPCTIICN","W

28

PICTURE "@*BHN" +;

(LOCFILE("d:\fpw26\wiZ,aids\wizbmps\wzprint.bmp","BMPJICOJPCTJICN","Where is wzprint?")) ;

SIZE 1.350,3.857,0.571 ;DEFAULT 1;FONT "Times New Roman", 12;STYLE "B";VALID btn_val('PRINT') ;MESSAGE 'Print report.'

@ 17.350,62.000 GET m.exit_btn;PICTURE "@*BHN " + ;

(LOCFILE("d:\fpw26\wizards\wizbmps\wzclose.hrnp","BMPJICOJPCTIICN","Where is wzclose?")) ; ••

SIZE 1.350,3.857,0.571 ;DEFAULT 1;FONT "Times New Roman", 12 ;STYLE "B";VALID btn_val('EXIT') ;MESSAGE 'Close screen.'

@ 0.450,24.000 SAY "CUSTOMER FILE" ;FONT "Times New Roman", 12;STYLE "BT";COLOR RGB(255,255,255,,,,)

IF NOT WVISIBLE("_00816bnua")ACTIVATE WINDOW 00816bnua

END IF

* ********************************************************* * ** * WindowsREAD contains clauses from SCREEN s 1087984* ** ********************************************************* *READ CYCLE;

ACTIVATE READACT() ;DEACTIVATE READDEAC() ;NOLOCK

RELEASE WINDOW 00816bnua

* ********************************************************* * ** * Windows Closing Databases* *

29

********************************************************

CSED("custom")SELECT customUSE

IDIF

CT (m.currarea)

GIONO

,ET READBORDER &rborder

IF m.talkstat = "ON"SET TALK ON

ENDIFIF m.compstat = "ON"

SET COMPATIBLE ONENDIF

********************************************************* • *

**

CUSTOM/Windows Cleanup Code

• ********************************************************* •

REGION 1SET DELETED &wzolddeleteSET FIELDS &wzfıeldsON ERROR &wzolderrorON KEY LABEL ESCAPE &wzoldescDO CASECASE _DOS AND SET('DISPLA Y')='VGA25'

@24,0 CLEAR TO 24,79 ıo

CASE DOS AND SET('DISPLA Y')='VGA50'@49,0 CLEAR TO 49,79

CASE DOS@24,0 CLEAR TO 24,79

ENDCASE

****Procedures****

• ********************************************************* • *

30

#REGION 1PROCEDURE readdeac

IF iseditingACTIVATE WINDOW' 00816bnua'WAIT WINDOW C EDITS NOWAIT

ENDIFIF !WVISIBLE(WOUTPUT())CLEAR READRETURN .T.

ENDIFRETURN .F. ••

* * CUSTOM/Windows Supporting Procedures and Functions* ** **********************************************************

PROCEDURE readactIF !isediting

SELECT (m.wzalias)SHOW GETS

END IFDO REFRESH

RETURN

PROCEDURE wizerrorhandler* This very simple error handler is primarily intended* to trap for General field OLE errors which may occur* during editing from the MODIFY GENERAL window.WAIT WINDOW message()

RETURN

PROCEDURE printrecPRlV ATE sü ldError, wizfuame,saverec,savearea, tmpcurs, tmpstrPRIVATE prnt_btn,p_recs,p_output,pr_out,pr_recordSTORE 1 TO p_recs,p_outputSTORE O TO prnt_btnSTORE RECNO() TO saverecm.süldError=ON('error')DO pdialogIF m.prnt_btn = 2RETURN

ENDIFIF !FILE(ALIAS()+'.FRX')

m.wizfname=SYS(2004 )+'WIZARDS\'+'WIZARD.APP'IF !FILE(m.wizfname)

ON ERROR*m.wizfııame=LOCFILE('WIZARD .APP','APP' ,C_LOCWIZ)

31

CASE m.btnname='DELETE'IF EOF() OR BOF()

WAIT WINDOW C ENDFILE NOW AITRETURN

ENDIFIF fox_alert(C_DELREC)

DELETEIF !EOF() AND DELETED()

SKIP 1ENDIFIF EOF()

WAIT WINDOW C END FILE NOW AITGO BOTTOM

ENDIFELSE

RETURNEND IF

CASE m.btnname='PRINT'DO printrecRETURN

CASE m,btnname='EXIT'm.bailout=.T. &&this is needed if used with FoxAppCLEAR READRETURN

OTHERWISERETURN

END CASESCATTER MEMV AR MEMOSHOW GETS

RETURN

PROCEDURE REFRESHDO CASECASE m.isreadonly AND RECCOUNT()=O

SHOW GETS DISABLESHOW GET exit btn ENABLE

CASE m.isreadonly "SHOW GET add btn DISABLESHOW GET edit btn DISABLESHOW GET del btn DISABLESHOW GET save btn DISABLESHOW GET can btn DISABLE

CASE (RECCOUNT()=O OR EOF()) AND !m.iseditingSHOW GETS DISABLESHOW GET add btn ENABLESHOW GET exit btn ENABLE

CASE m.iseditingSHOW GET find_drop DISABLE

33

SHOW GET top_btn DISABLESHOW GET prev_btn DISABLESHOW GET loc btn DISABLESHOW GET next btn DISABLESHOW GET end btn DISABLESHOW GET add btn DISABLESHOW GET edit_btn,1 DISABLESHOW GET del_btn, 1 DISABLESHOW GET pmt_btn DISABLESHOW GET exit btn DISABLESHOW GET save btn ENABLESHOW GET can btn ENABLEON KEY LABEL ESCAPE DO BTN VAL WITH 'CANCEL'RETURN

OTHERWISESHOW GET fınd_drop ENABLE

SHOW GET top_ btn ENABLESHOW GET prev_btn ENABLESHOW GET loc btn ENABLESHOW GET next btn ENABLESHOW GET end btn ENABLESHOW GET add btn ENABLESHOW GET edit_btn,1 ENABLESHOW GET del__btn, 1 ENABLESHOW GET pmt_btn ENABLESHOW GET exit btn ENABLESHOW GET save btn DISABLESHOW GET can btn DISABLE

ENDCASEIF m.is2table

SHOW GET add btn DISABLEENDIFON KEY LABEL ESCAPE

RETURN

PROCEDURE edithandPARAMETER m.paction* procedure handles editsDO CASECASE m.paction = 'ADD'

SCATTER MEMV AR MEMO BLANKCASE m.paction = 'SAVE'

INSERT INTO (ALIAS()) FROM MEMV ARCASE m.paction = 'CANCEL'

* nothing hereENDCASE

RETURN

PROCEDURE fox alert

wzalrtmessTE alrtbtn

sktbtn=2DEFINE WINDOW _qeclij2t7 AT 0,0 SIZE 8,50;

FONT "MS Sans Serif',10 STYLE 'B';FLOAT NOCLOSE NOMINIMIZE DOUBLE TITLE WTITLE()OVE WINDOW _qeclij2t7 CENTER

ACTIVATE WINDOW _qeclij2t7 NOSHOW® 2,(50-txtwidth(w:zalrtmess))/2 SAY w:zalrtmess;FONT "MS Sans Serif', 10 STYLE "B"

E) 6, 18 GET m.alrtbtn ;PIC flJRE "@*HT \<OK;\ ?\!\<Cancel" ;SIZE 1.769,8.667,1.333 ;FONT "MS Sans Serif', 8 STYLE "B"

ACTIVATE WINDOW _qeclij2t7READ CYCLE MODALRELEASE WINDOW _qeclij2t7

m.alrtbtn= 1

OCEDURE pdialogDEFINE WINDOW _qjn12zbvh;

AT 0.000, 0.000 ;SIZE 13.231,54.800;TITLE "Microsoft FoxPro" ;FONT "MS Sans Serif', 8 ;FLOAT NOCLOSE MINIMIZE SYSTEM

MOVE WINDOW _qjn12zbvhCENTERACTIVATE WINDOW _qjnl2zbvh NOSHOW@2.846,33.600 SAY "Output:" ;

FONT "MS Sans Serif', 8 ;STYLE "BT"

@ 2.846,4.800 SAY "Print:" ;FONT "MS Sans Serif', 8 ;STYLE "BT"

@4.692,7.200 GET m.p_recs;PICTURE "@*RVN \<Current Record;\<All Records";SIZE 1.308, 18.500,0.308 ;DEFAULT 1;FONT "MS Sans Serif', 8;STYLE "BT"

@4.692,36.000 GET m.p_output;PICTURE "@*RVN \<Printer·Pre\<view" ·

7 ' 'SIZE l.308,12.000,0.308;DEFAULT 1;FONT "MS Sans Serif', 8 ;STYLE "BT"

@ 10.154,16.600 GET m.pmt_btn;PICTURE "@*HT P\<rint·Ca\<ncel" ·' '

34

SIZE 1.769,8.667,0.667;DEFAULT 1;FONT "MS Sans Serif', 8 ;STYLE "B"

ACTIVATE WINDOW _qjn12zbvhREAD CYCLE MODALRELEASE WINDOW _qjn12zbvh

RETURN

PROCEDURE loc_dlogPRIVATE gfields,iDEFINE WINDOW wzlocate FROM 1, 1 TO 20,40;

SYSTEM GROW CLOSE ZOOM FLOAT FONT "MS Sans Serif',8MOVE WINDOW wzlocate CENTERm.gfıelds=SET('FIELDS ',2)IF !EMPTY(RELATION(l))

SET FIELDS ONIF m.gfields # 'GLOBAL'

SET FIELDS GLOBALENDIFIF EMPTY(FLDLIST())

m.i=lDO WHILE !EMPTY(OBNAR(m.i))

IF ATC('M.',OBN AR(m.i))=OSET FIELDS TO (OBN AR(m.i))

ENDIFm.i = m.i + 1

ENDDOEND IF

ENDIFBROWSE WINDOW wzlocate NOEDIT NODELETE ;

NOMENU TITLE C BRTITLESET FIELDS &gfıeldsSET FIELDS OFFRELEASE WINDOW wzlocate

RETURN

fHHTl.

,,ı~~- EMPLOYEE FILE. .:esi''". ·,;. -- ., . ·-· . ~·-- --~- _ . .. . ·"'·"~ -··-·M········· _ .•....•.. -.:.-· ,

SURNAME:TASK.IRAN

WORKPERlODMORNING

PLACEKITCHIN

WORK HOURS10

~VERT!ME IOOCUPATION.COOKER

SALARY:500 $

35

• • *********************************************************

EMPLOYEE.PRO

********************************************************* *

**********************************************************

********************************************************** ************************************************************

EMPLOYEE/Windows Setup Code - SECTION 1

ATE wzfıelds, wztalkSET("TALK") = "ON"

SET TALK OFFm.wztalk = "ON"

Em.wztalk = "OFF"

ıIFwzfields=SET('FIELDS ')

SET FIELDS OFFmwztalk= "ON"

SET TALK ON,JF

GIONOREGIONAL m.currarea, m.talkstat, m.compstat

IF SET("T ALK") = "ON"SET TALK OFFm.talkstat = "ON"

ELSEm.talkstat = "OFF"

END IFcompstat = SET("COMPATIBLE")

SET COMPATIBLE FOXPLUS

m.rborder = SET("READBORDER")IET READBORDER ON

36

m.currarea = SELECT()

* ********************************************************* * ** * S4736880/Windows Databases, Indexes, Relations* ** ********************************************************* *IF USED("employee")

SELECT employeeSET ORDER TO TAG "_sb9le00y8"

ELSE .•SELECT OUSE (LOCFILE("employee.dbf',"DBF","Where is employee?"));

AGAIN ALIAS employee;ORDER TAG "_sb9le00y8"

ENDIF

* ********************************************************* * ** * Windows Window definitions* ** ********************************************************* *IF NOT WEXIST("_sb9leg7ea")

DEFINE WINDOW _sb9leg7ea;AT 0.000, 0.000 ;SIZE 15.217,62.500;TITLE "Employee";FONT "Times New Roman", 14;STYLE "B";FLOAT;CLOSE;MINIMIZE;COLOR RGB(,,,255,255,255)

MOVE WINDOW _sb9leg7ea CENTERENDIF

37

********************************************************* ***

EMPLOYEE/WindowsSetup Code - SECTION2

*********************************************************

JREGION 1

EFINE C_DBFEMPTY 'Database is empty, add a record?'EFINE C_EDITS 'Please finish your edits.'EFINE C_TOPFILE 'Top of file.'1EFINE C ENDFILE 'End of file.'1EFINE C BRTITLE 'Locate Record'EFINE C_NOLOCK 'Sorry, could not lock record-- try again later.'EFINE C £CANCEL 'Edits Canceled.'EFINE C DELREC 'Delete selected record?'EFINE C_NOFEAT 'Feature not availableyet.'EFINE C NOWIZ 'Wizard application is not available.'

IDEFINE C_MAKEREPO 'Creatingreport with Report Wizard.'EFINE C_NOREPO 'Could not create report.'

filEFINE C_DELNOTE 'Deleting records.. .'IDEFINE C_READONLY 'Table is read-only.No editingallowed.'

EFINE C_NOTABLE 'No table selected. Opentable or run query.'EFINE C_BADEXPR 'Invalid expression.'

~EFINE C LOCWIZ 'Locate WIZARD.APP:'EFINE C_MULTITABLE'You have multiplerelated tables. Adding records in not

allowed.'

--~OVE WINDOW'_sb9leg7ea' CENTERPRIVATEisediting,isadding,wztblarrPRIVATEwzolddelete,wzolderror,wzoldescPRIVATEwzalias, tempcurs,wzlastrecPRIVATEisreadonly,fınd_drop,is2table

IF EMPTY(ALIAS())WAiT WINDOWC NOTABLERETURN

ENDIF

mwztblarr= "mwzalias=SELECT()

isediting=.F.misadding=.F.

38

ın.is2table = .F.ın.wzo lddelete=SET('DELETE')SET DELETED ONm.tempcurs=SYS(2015) &&used if General fieldm.wzlastrec = 1m.wzolderror=ON('error')ON ERROR DO wizerrorhandlerwzoldesc=ON('KEY','ESCAPE')ON KEY LABEL ESCAPEm.fınd_drop = IIF(_DOS,0,2)

m.isreadonly=IIF(ISREAD(),. T.,.F.)IF ın.isreadonly

WAIT WINDOW C READONLY TIMEOUT 1END IF

SET READBORDER OFF

IF RECCOUNT()=O AND !m.isreadonly AND fox_alert(C_DBFEMPTY)APPEND BLANK

ENDIF

GOTO HWSCATTER MEMV AR MEMO

* ********************************************************* * ** * EMPLOYEE/Windows Screen Layout* ** ********************************************************* *#REGION 1IF WVISIBLE(" sb91eg7ea")

ACTIVATE WINDOW _sb9leg7ea SAMEELSE

ACTIVATE WINDOW _sb91eg7ea NOSHOWENDIF@0.000,0.000 TO 1.609,61.625;

PATTERN 1;PEN 1, 8;COLOR RGB(O,O,128,128,0,0)

@2.870,3.000 TO 4.131,14.875;PATTERN 1;PEN 1, 8;

39

WHEN isediting ;COLOR ,RGB(0,0,0,255,255,255)6,46.750 SAY "Overtime:";SIZE 1.000,11.600;FONT "MS Sans Serif', 8 ;STYLE "T";COLOR RGB(128,0,0,255,255,255),46.375 TO 10.565,58.250;

PATTERN 1;PEN 1, 8;COLOR RGB(0,0,0,255,255,255)

.J57,46.625 GET m.salary ;SIZE 1.000,15.000;DEFAULT"";FONT "MS Sans Serif', 8 ;STYLE "B";PICTURE "@K XXXXXXXXXX" ;WHEN isediting ;COLOR ,RGB(0,0,0,255,255,255)8,46.625 SAY "Salary:" ;SIZE 1.000, 11.600 ;FONT "MS Sans Serif', 8 ;STYLE "T";COLOR RGB(128,0,0,255,255,255)

-~35,27.000 TO 6.696,39.125 ;PATTERN 1;PEN 1, 8;COLOR RGB(0,0,0,255,255,255)7,27.250 GET m.place;SIZE 3.000,15.333;DEFAULT"";FONT "MS Sans Serif', 8 ;STYLE "B";PICTURE "@K XXXXXXXXXX" ;WHEN isediting ;COLOR ,RGB(0,0,0,255,25\,255)

.. 78,27.250 SAY "Place:";SIZE 1.000, 11.600 ;FONT "MS Sans Serif', 8 ;STYLE "T";COLOR RGB(128,0,0,255,255,255)

70,12.000 TO 10.479,25.625;PATTERN 1;PEN 1, 8;COLOR RGB(0,0,0,255,255,255)

0.000, 12.250 GET m.occupation ;

42

SIZE 2.000,17.333 ;DEFAULT II";

FONT "MS Sans Serif', 8;STYLE "B";PICTURE "@K XXXXXXXXXX" ;WHEN isediting;COLOR ,RGB(0,0,0,255,255,255)

@ 9.391,12.250 SAY "Occupation:";SIZE 1.000, 11.600 ;FONT "MS Sans Serif', 8 ;STYLE "T";COLOR RGB(l28,0,0,255,255,255)

@ 13.087,0.000 TO 13.652,1.250;PEN 1, 8;STYLE "T";COLOR RGB( 192,192, 192,,,,)

@ 13.609,0.125 TO 15.218,62.500;PATTERN 1;PEN 1, 8;COLOR RGB(0,0,128,128,0,0)

@ 13.870,4.750 GET m.top_btn;PICTURE "@*BHN " + ;

(LOCFILE("d:\fpw26\ wizards\wizbmps\wztop. bmp", "BMPjICOjPCTjICN", "Whereis wztop?"));

SIZE 1.174,3.375,0.500;DEFAULT 1;

"

FONT "Times New Roman", 14;STYLE "B";VALID btn__val('TOP') ;MESSAGE 'Go to first record.'

@ 13.870,9.250 GET m.prev_btn;PICTURE "@*BHN II + ;

(LOCFILE("d:\fpw26\ wizards\wizbmps\wzback. bmp", "BMPjICOjPCTIICN", "Where is wzback?")) ;

SIZE 1.174,3.375,0.500;DEFAULT 1;FONT "Times New Roman", 14;STYLE "B";VALID btn_val('PREV') ;MESSAGE 'Go to previous record.'

@ 13.870,13.750 GET m.loc_btn;PICTURE "@*BHN II + ;

43

(LOCFILE("d:\:ipw26\wizards\wizbmps\wzlocate.bmp","BMPIICOIPCTIICN","Wh· wzlocate?")) ;

SIZE 1.174,3.375,0.500 ;DEFAULT 1;FONT "Times New Roman", 14;STYLE "B";VALID btn_val('LOCATE') ;MESSAGE 'Locate a record.'

13.870,18.250 GET m.next_btn;PICTURE "@*BHN " + ;

(LOCFILE("d:\:ipw26\wizards\ wizbmps\ wznext. bmp", "BMPIICOIPCTIICN","Wher· wznext?")) ;

SIZE 1.174,3.375,0.500;DEFAULT 1;FONT "Times New Roman", 14;STYLE "B";VAUD btn_val('NEXT') ;MESSAGE 'Go to next record.'

13.870,22.750 GET m.end_btn;PICTURE "@*BHN " + ;

(LOCFILE("d:\:ipw26\ wizards\wizbmps\wzend. bmp", "BMPIICOIPCTIICN", "Whereva.end?"));

SIZE 1.174,3.375,0.500 ;DEFAULT 1;FONT "Times New Roman", 14;STYLE "B";VALID btn_val('END') ;MESSAGE 'Go to last record.'

..., 13.870,27.250 GET m.add_btn;PICTURE "@*BHN " + ;

(LOCFILE("d:\:ipw26\wizards\wizbmps\wznew. bmp", "BMPIICOIPCTIICN", 11 Wherwznew?11)) ; ••

SIZE 1.174,3.375,0.500 ;DEFAULT 1;FONT "Times New Roman", 14;STYLE "B";VALID btn, val('ADD');MESSAGE 'Add a new record.'

13.870,31.750 GET m.edit_btn;PICTURE ll@*BHN II+;

44

(LOCFILE("d:\fpw26\wizards\wizbmps\wzedit.bmp","BMPIICOIPCTIICN","Where is wzedit?")) ;

SIZE 1.174,3.375,0.500;DEFAULT 1;FONT "Times New Roman", 14;STYLE "B";VALID btn_ val('EDIT') ;MESSAGE 'Edit current record.'

@ 13.870,36.250 GET m.del_btn;PICTIJRE "@*BHN " + ;

(LOCFILE("d:\fpw26\wizards\wizbmps\wzdelete. bmp ", "BMPIICOIPCTIICN", "Where is wzdelete?")) ; "

SIZE 1.174,3.375,0.500 ;DEFAULT 1;FONT "Times New Roman", 14;STYLE "B";VALID btn_val('DELETE') ;MESSAGE 'Delete current record.'

@ 13.870,40.750 GET m.save_btn;PICTURE "@*BHN " + ;

(LOCFILE("d:\fpw26\wizards\wizbmps\wzsave.bmp","BMPIICOIPCTIICN","Where is wzsave?")) ;

SIZE 1.174,3.375,0.500 ;DEFAULT 1;FONT "Times New Roman", 14;STYLE "B";VALID btn_val('SA VE') ;MESSAGE 'Save edits.'

@ 13.870,45.250 GET m.can btn ;PICTURE "@*BHN " + ;

(LOCFILE("d:\fpw26\wizards\wizbmps\wzundo.bmp","BMPIICOIPCTIICN","Where is wzundo ?")) ;

SIZE 1.174,3.375,0.500 ;DEFAULT 1;FONT "Times New Roman", 14;STYLE "B";VALID btn_val('CANCEL') ;MESSAGE 'Cancel edits.'

@ 13.870,49.750 GET m.prnt_btn;PICTURE "@*BHN " + ;

45

ı'.._.

h

·26\wizards\wizbmps\wzprint.bmp" ,"BMP\ICO\PCT\ICN" ,"Wher

FONT "Times New Roman", 14;,TYLE "B";ALID btn_val('PRINT') ;

MESSAGE 'Print report.'70,54.250 GET m.exit_ btn ;PICTURE "@*BHN " + ;

(LOCFILE("d:\fpw26\wizards\wizbmps\wzclose.bmp","BMPjICOjPCTjICN","Whew2dose?")) ;

SIZE 1.174,3.375,0.500 ;DEFAULT 1;FONT "Times New Roman", 14 ;STYLE "B";VALID btn_val('EXIT') ;MESSAGE 'Close screen.',17.750 SAY "EMPLOYEE FILE";

FONT "Times New Roman", 14;STYLE "BT";COLOR RGB(255,255,255,,,,)

'T WVIS1BLE("_sb91eg7ea")ACTIVATE WINDOW _sb91eg7ea

~

···*****************************************************

WindowsREAD contains clauses from SCREEN s4736880

•••******************************************************

~CYCLE;ACTIVATE READACT();DEACTIVATE READDEAC() ;NOLOCK

46

* ********************************************************* * ** * Windows Closing Databases* ** ********************************************************* *IF USED("employee")

SELECT employeeUSE

END IF

SELECT (m.currarea)

#REGION O

SET READBORDER &rborder

IF m.talkstat = "ON"SET TALK ON

ENDIFIF m.compstat = "ON"

SET COMPATIBLE ONENDIF

* ********************************************************* * ** * EMPLOYEE/Windows Cleanup Code* ** ********************************************************* *#REGION 1SET DELETED &wzolddeleteSET FIELDS &wzfieldsON ERROR &wzolderrorON KEY LABEL ESCAPE &wzoldescDO CASECASE _DOS AND SET('DISPLAY')='VGA25'

@24,0 CLEAR TO 24,79CASE _DOS AND SET('DISPLAY')='VGA50'

47

@49,0 CLEAR TO 49,79DOS

@24,0 CLEAR TO 24,79IDCASE

Procedures****

********************************************************* ** EMPLOYEE/Windows Supporting Procedures and Functions**********************************************************

-"'--'LDURE readdeacisediting.CTIVATE WINDOW '_sb91eg7ea'AiT WINDOW C EDITS NOW AiT

ıIF!WVISIBLE(WOUTPUT())

CLEAR READRETURN .T.

ılf.F.

OCEDURE readact!isediting

SELECT (m.wzalias)SHOW GETS

IFDO REFRESH

.OCEDURE wizerrorhandler* This very simple error handler is primarily intended* to trap for General field OLE errors which may occur* during editing from the MODIFY GENERAL window.WAiT WINDOW message()

.OCEDURE printrecPRIVATE sOldError, wizfuame,saverec,savearea,tmpcurs, tmpstrPRIVATE pmt_btn,p_recs,p_output,pr_out,pr_record

48

-·... ;

617

3:SV:) onourauuıq·w 113:13:WV11Vd

'1VA N.18 ınm.G3::)011d

ml013:11::>;)J;)Aes·w OD

pıo:,gı-ıd~lno-ıd~ (0SVl'1V) W110d 1110d3:11Cı'1V,'ı l lX3:N.'I=S::>;)rd·w)dII=Pl0::>;}rJd·w

C.A\3:IA3:11d,'.3:ıOSN0:)0N lNHid Olı'I=ındlno-d·w)dII=lno-ıd·w

dlGN3:dlGN3:

Nllil13:11Od3:110N :) A\OQNIA\ llVA\

ııodaı oınoro ıou pıno::,pmz!M~~ CX11.•r,+0SVl'1V)3:'1Hi dlW3:'1:) lIV A\

(srnoduıruı) NI asrısm::>dwrw'Osvnv'.3:1 V3:11:)/N1!:)S0Nı'.Od3:11Ö-ZA\,'.,

HllA\ (;)WeUJZ!M"W)oa(e;,ıe;,Aesw) 1:)3:'13:S

(ıısdwrw)S3:fl'1VA (smoduıruı) OlNl 1113:SNI(OI)11H:)+(£ı)1IH:)+,WNWfl'10:)= lflOAVı *' = nsdurruı

(uı ıuounııoo) (sm::>dwrw) 110S11fl:) 3:1V3:11:)(L'(£)SAShd3:'1+,-,=sm::>dwı·w

01:)3:'13:S=e;,ıe;,Aes·wlIV A\ON Od3:113:)JVJl•r:)A\OQNIA\ 11VA\

dlGN3dlGN3:

ml013:11ZIA\ON :) A\OQNIA\ lIV A\

(:}WeUJZ!M·w)1!3:ddfl$,JdV" Q11VZIA\,i dll0ll3:PTOS~ 11011113: NO

(ZIA\:)0'1-:)',ddV,',ddV"G11VZIM,)3:'1H:)0'1=;)WelIJZ!M"W* 11011113:NO

(:}WeUJZfMW)3:'1Hidl,ddV"G11VZIA\,+,\SG11VZIA\,+(t,OOZ:)SAS=;,weUJZ!M"W

C.X11d",+0SVl'1V)3:'1HidldlGN3:

N11fll3:11z = uıq-ıwd·w dl'801e!pdoa

(.ıon:},)NO=lOlltJPl os 'uı::>;)J:}Aes Ol OON:)3:113:1101S

uıq-ıwd Ol O 3:1101Smdınod'soaı' d Ol I 3:1101S

CASE m.btnname='TOP'GO TOPWAiT WINDOW C TOPFILE NOW AiT

CASE m.btnname='PREV'IF !BOF()

SKIP -1ENDIFIFBOF()

WAiT WINDOW C TOPFILE NOW AiTGO TOP

ENDIFCASE m.btnname='NEXT'

IF !EOF()SKIP 1

ENDIFIFEOF()

WAiT WINDOW C ENDFILE NOW AiTGO BOTTOM

ENDIFCASE m.btnname='END'

GO BOTTOMWAiT WINDOW C END FILE NOW AiT

CASE m.btnname='LOCATE'DO loc_dlog

CASE m.btnname='ADD' AND !isediting &&add recordisediting=. T.isadding=. T.=edithand('ADD')_curobj=lDO refreshSHOW GETSRETURN

CASE nı.btnname='EDIT' AND !isediting &&edit recordIF EOF() OR BOF()

WAiT WINDOW C END FILE NOW AiTRETURN *

ENDIFIFRLOCK()

isediting=.T._curobj=lDO refreshRETURN

ELSEWAiT WINDOW C NO LOCKRETURN

ENDIF

50

51

CASE m.btnname='SA VE' AND isediting &&save recordIF isadding

=edithand('SAVE')ELSE

GATHER MEMV AR MEMOENDIFUNLOCKisediting= .F.isadding= .F.DO refresh

CASE m.btnname='CANCEL' AND isediting &&cancel recordIF isadding

=edithand('CAN CEL ')ENDIFisediting= .F.isadding= .F.UNLOCKWAIT WINDOW C ECANCEL NOW AITDO refresh

CASE m.btnname='DELETE'IF EOF() OR BOF()

WAIT WINDOW C END FILE NOW AITRETURN

ENDIFIF fox_alert(C_DELREC)

DELETEIF !EOF() AND DELETED()

SKIP 1END IFIFEOF()

WAIT WINDOW C END FILE NOW AITGO BOTTOM

END IFELSE

RETURNEND IF

CASE m.btnname='PRINT'DO printrecRETURN

CASE m.btnname='EXIT'm.bailout=.T. &&this is needed if used with FoxAppCLEAR READRETURN

OTHERWISERETURN

ENDCASE

''-,-

SCATTER MEMV AR MEMOSHOW GETS

RETURN

OCEDURE REFRESHDO CASECASE m.isreadonly AND RECCOUNT()=O

SHOW GETS DISABLESHOW GET exit btn ENABLE

CASE m.isreadonlySHOW GET add btn DISABLESHOW GET edit_btn DISABLESHOW GET del btn DISABLESHOW GET save btn DISABLESHOW GET can btn DISABLE

CASE (RECCOUNT()=O OR EOFO) AND !m.iseditingSHOW GETS DISABLESHOW GET add btn ENABLESHOW GET exit btn ENABLE

CASE m.iseditingSHOW GET fınd_drop DISABLE

SHOW GET top_btn DISABLESHOW GET prev_btn DISABLESHOW GET loc btn DISABLESHOW GET next btn DISABLESHOW GET end btn DISABLESHOW GET add btnDISABLESHOW GET edit_btn,l DISABLESHOW GET del_btn,l DISABLESHOW GET pmt_btn DISABLESHOW GET exit btn DISABLESHOW GET save btn ENABLESHOW GET can_btn ENABLEON KEY LABEL ESCAPE DO BTN VAL WITH 'CANCEL'RETURN ı. -

OTHERWISESHOW GET fınd_drop ENABLE

SHOW GET top_btn ENABLESHOW GET prev_btn ENABLESHOW GET loc btn ENABLESHOW GET next btn ENABLESHOW GET end btn ENABLESHOW GET add btn ENABLESHOW GET edit_btn,l ENABLESHOW GET del_btn,l ENABLE

PROCEDURE edithandPARAMETER m.pact ion* procedure handles editsDO CASECASE m.paction = 'ADD'

SCATTER MEMV AR MEMO BLANKCASE m.paction = 'SAVE'

INSERT INTO (ALIAS()) FROM MEMV ARCASE m.paction = 'CANCEL'

* nothing hereENDCASE

RETURN

••

SHOW GET pmt_btn ENABLESHOW GET exit btn ENABLESHOW GET save btn DISABLESHOW GET can btn DISABLE

ENDCASEIF m.is2table

SHOW GET add btn DISABLEENDIFON KEY LABEL ESCAPE

RETURN

PROCEDURE fox alertPARAMETER wzalrtmessPRIVATE alrtbtnm.alrtbtn=2

DEFINE WINDOW _qeclij2t7 AT 0,0 SIZE 8,50;FONT "MS Sans Serif', 1 O STYLE 'B' ;FLOAT NOCLOSE NOMINIMIZE DOUBLE TITLE WTITLE()

MOVE WINDOW _qeclij2t7 CENTERACTIVATE WINDOW _qeclij2t7 NOSHOW@2,(50-txtwidth(wzalrtmess))/2 SAY wzalrtmess;FONT "MS Sans Serif", 10 STYLE "B"

@ 6, 18 GET m.alrtbtn ;PICTURE "@*HT \<OK;\?\!\<Cancel" ;SIZE 1.769,8.667,1.333 ;FONT "MS Sans Serif', 8 STYLE "B"

ACTIVATE WINDOW _qeclij2t7READ CYCLE MODALRELEASE WINDOW _qeclij2t7

RETURN m.alrtbtn=l

PROCEDURE pdialog

DEFINE WINDOW _qjn12zbvh;AT 0.000, 0.000 ;SIZE 13.231,54.800;TITLE "Microsoft FoxPro";FONT "MS Sans Serif', 8 ;FLOAT NOCLOSE MINIMIZE SYSTEM

MOVE WINDOW _qjn12zbvh CENTERACTIVATE WINDOW _qjn12zbvh NOSHOW@ 2.846,33.600 SAY "Output:" ;

FONT "MS Sans Serif', 8 ;STYLE "BT"

@ 2.846,4.800 SAY "Print:" ;FONT "MS Sans Serif', 8 ;STYLE "BT"

@4.692,7.200 GET m.p_recs;PICTURE "@*RVN \<Current Record;\<All Records" ;SIZE 1.308, 18.500,0.308 ;DEFAULT 1;FONT "MS Sans Serif', 8 ;STYLE "BT"

@4.692,36.000 GET m.p_output;PICTURE "@*RVN \<Printer;Pre\<view" ;SIZE l.308,12.000,0.308;DEFAULT 1;FONT "MS Sans Serif', 8 ;STYLE "BT"

@ 10.154,16.600 GET m.prnt_btn;PICTURE "@*HT P\<rint·Ca\<ncel" ·' 'SIZE 1.769,8.667,0.667;DEFAULT 1;FONT "MS Sans Serif', 8 ;STYLE "B"

ACTIVATE WINDOW _qjn12zbvhREAD CYCLE MODALRELEASE WINDOW _qjnl2zbvh

RETURN

PROCEDURE loc_dlogPRIVATE gfıelds,iDEFINE WINDOW wzlocate FROM 1,1 TO 20,40;

SYSTEM GROW CLOSE ZOOM FLOAT FONT "MS Sans Serif',8MOVE WINDOW wzlocate CENTERm.gfields=SET('FIELDS',2)IF !EMPTY(RELATION(l))

SET FIELDS ON

52

IF m.gfields # 'GLOBAL'SET FIELDS GLOBAL

ENDIFIF EMPTY(FLDLIST())

m.i=lDO WIBLE !EMPTY(OBN AR(m.i))

IF ATC('M.',OBJV AR(m.i))=OSET FIELDS TO (OBN AR(m.i))

END IFm.i=m.i+l

END DOENDIF

END IFBROWSE WINDOW wzlocate NOEDIT NODELETE ;

NOMENU TITLE C BRTITLESET FIELDS &gfıeldsSET FIELDS OFFRELEASE WINDOW wzlocate

RETURN

\ IL:\ Y HOTEL

,,.~/!'·· SERVICES rtt.t•••••··-·••· P- •• ..,,W,•~••·"'---.-, •.•••.•.-.--•~'••'"•'••--•··--·••AO-. ~--., ..•. ., •.••.. <., •••••• ,_,.,, •• , •.••••.• ,.:•>">*>.o',,.,·,,-~ ',•:.ı,,,.,,,_,••...•.~ .•.•..••••••. ,..,....~ .•• -. •

SERVICE:DISCO

FROM TO11 PMT04AM

CHARGE8DOLAR

********************************************************* ***

SERVICES PROGRAM

********************************************************* • *

********************************************************* *********************************************************

****

SER/Windows Setup Code - SECTION l

*********************************************************

=tREGION 1PRIVATE wzfıelds,wztalkIF SET("TALK") = "ON"

SET TALK OFFm.wztalk = "ON"

ELSEm. wztalk = "OFF"

ENDIFm.wzfıelds=SET('FIELDS')

ET FIELDS OFFIF m.wztalk = "ON"

SET TALK ONENDIF

:::REGION OREGIONAL m. currarea, m. talkstat, m comp stat

IF SET("T ALK") = "ON"SET TALK OFFm.talkstat = "ON"

ELSEm.talkstat = "OFF"

ENDIFm.compstat = SET("COMPATIBLE")SET COMPATIBLE FOXPLUS

m.rborder = SET("READBORDER")SET READBORDER ON

m.currarea = SELECT()

54

ELSE ••

* ********************************************************* * ** * S5689998/Windows Databases, Indexes, Relations* ** ********************************************************* *IF USED("ser")

SELECT serSET ORDER TO TAG "_sa00y9zzi"

SELECT OUSE (LOCFILE("ser.dbf","DBF","Where is ser?"));

AGAIN ALIAS ser ;ORDER TAG "_sa00y9zzi"

END IF

* ********************************************************* * ** * Windows Window definitions* ** ********************************************************* *IF NOT WEXIST("_sb91fDmts")

DEFINE WINDOW _sb9lfDmts;AT 0.000, 0.000 ;SIZE 7.913,62.500;TITLE "Ser" ;FONT "Times New Roman", 14;STYLE "B";FLOAT;CLOSE;MINIMIZE;COLOR RGB(,,,255,255,255)

MOVE WINDOW sb91fümts CENTEREND IF

* ********************************************************* * ** * SER/Windows Setup Code - SECTION 2* *

55

••••• ****************************************************

'Database is empty, add a record?'•&•l!l':ıı.""E. C_EDITS 'Please finish your edits.'

IL""lıt C_TOPFILE 'Top of file'••.•- ••..••.ı1'""E. C ENDFILE 'End of file.'

ırE C BRTITLE 'Locate Record'flJIEF_ _.........,,L"ıt C_NOLOCK 'Sorry, could not lock record -- try again later.'IDEFINE C ECANCEL 'Edits Canceled.'#DEFINE C DELREC 'Delete selected record?':lDEFINE C_NOFEAT 'Feature not available yet'#DEFINE C_NOWIZ 'Wizard application is not available.'#DEFINE C_MAKEREPO 'Creating report with Report Wizard.'#DEFINE C_NOREPO 'Could not create report.'#DEFINE C_DELNOTE 'Deleting records ... '#DEFINE C_READONL Y 'Table is read-only. No editing allowed.'#DEFINE C_NOTABLE 'No table selected. Open table or run query.'#DEFINE C_BADEXPR 'Invalid expression.'#DEFINE C LOCWIZ 'Locate WIZARD APP '#DEFINE C_MULTIT ABLE 'You have multiple related tables. Adding records in notallowed.'

MOVE WINDOW' sb9lf0mts' CENTERPRIVATE isediting,isadding,wztblarrPRIVATE wzolddelete,wzolderror,wzoldescPRIVATE wzalias, temp curs,wzlastrecPRIVATE isreadonly,fınd_drop,is2table

IF EMPTY(ALIAS())WAiT WINDOW C NOT ABLERETURN

ENDIF ••

m.wztblarr= "m.wzalias=SELECT()m. isediting=.F.m.isadding=.F.m. is2table = .F.m. wzolddelete=SET('DELETE')SET DELETED ONm.tempcurs=SYS(2015) &&used if General fieldm.wzlastrec = 1m.wzo lderror=ON ('error')

56

ON ERROR DO wizerrorhandlerwzoldesc=ON('KEY','ESCAPE')ON KEY LABEL ESCAPEm.fınd_drop = IIF(_DOS,0,2)

m.isreadonly=IIF(ISREAD(),.T.,.F.)IF m.isreadonly

WAiT WINDOW C READONL Y TIMEOUT 1END IF

SET READBORDER OFF

"IF RECCOUNT()=O AND !m.isreadonly AND fox_alert(C_DBFEMPTY)APPEND BLANK

END IF

GOTO TOPSCATTER :MEMVAR :MEMO

* ********************************************************* * ** * SER/Windows Screen Layout* ** ********************************************************* *#REGION 1IF WVISIBLE("_sb91f0mts")

ACTIVATE WINDOW sb91f0mts SAMEELSE

ACTIVATE WJNDOW sb91fümts NOSHOWEND IF@0.000,0.125 TO 1.609,62.500;

PATTERN 1;PEN 1, 8;COLOR RGB(0,0,128,128,0,0)

@2.087,3.000 TO 3.348,18.625;PATTERN 1;PEN 1, 8;COLOR RGB(0,0,0, 192,192,192)

@2.739,3.250 GET m.service;SIZE 1.000,20.000;DEFAULT"";FONT "MS Sans Serif', 8 ;STYLE "B";

57

S -•N-·,

PICTURE ''@K XXXX:XXXXXXXX:XXX'' ;WHEN isediting ;COLOR ,RGB(0,0,0,192,192,l92)

_ 2.130,3.250 SAY "Service:";SIZE 1.000,8.200 ;FONT "MS Sans Serif', 8 ;STYLE "T";COLOR RGB(128,0,0,192,192,192)

_ 3.565,23.625 TO 4.826,37.750;PATTERN 1;PEN 1, 8;COLOR RGB(0,0,0, 192,192,192)

~ 4.217,23.875 GET m.from_to;SIZE 1.000, I 8.000 ;DEFAULT II II;

FONT "MS Sans Serif', 8 ;STYLE "B";PICTURE "@K X:XXXXXXXXXXX" ;WHEN isediting ;COLOR ,RGB(0,0,0, 192,192, I 92)

_ 3.609,23.875 SAY "Fromto:";SIZE 1.000,8.200;FONT "MS Sans Serif', 8 ;STYLE "T";COLOR RGB(128,0,0, 192,192,192)

= 4.696,44.375 TO 5.957,56.250;PATTERN 1;PEN 1, 8;COLOR RGB(0,0,0, 192,192,192)

5.348,44.625 GET rn.charge ;SIZE 1.000,15.000;DEFAULT II";

FONT "MS Sans Serif', 8 ;STYLE "B";PICTURE "@K XXX:XXXXX~X" ;WHEN isediting ;COLOR ,RGB(0,0,0, 192,192,192)

_ 4.739,44.625 SAY "Charge:";SIZE 1.000,8.200 ;FONT "MS Sans Serif', 8 ;STYLE "T";COLOR RGB(l28,0,0,192,192,192)

-· 5.783,0.000 TO 6.348,1.250;PEN 1, 8;STYLE "T";COLOR RGB( 192,192, 192,,,,)

58

(LOCFILE(" d: \fpw26\wizards\wizbmps\wztop. bmp", "BMPIICOIPCTIICN", "Whereis wztop?")) ;

SIZE 1.174,3.375,0.500;DEFAULT 1;FONT "Times New Roman", 14;STYLE "B";VALID btn_val('TOP') ;MESSAGE 'Go to first record.'

@6.565,9.250 GET rn.prevbtn ;PICTURE "@*BHN II + ;

••

@ 6.304,0.125 TO 7.913,62.500;PATTERN 1;PEN 1, 8;COLOR RGB(0,0,128,128,0,0)

@ 6.565,4.750 GET m.top_btn;PICTURE "@*BHN " + ;

(LOCFILE(" d: \fpw26\wizards\wizbmps\wzback. bmp ", "BMPJICOJPCTJICN","Where is wzback?"));

SIZE 1.174,3.375,0.500;DEFAULT 1;FONT "Times New Roman", 14;STYLE "B";VALID btn_val('PREV') ;MESSAGE 'Go to previous record.'

@6.565,13.750 GET m.loc_btn;PICTURE "@*BHN " + ;

(LOCFILE("d:\fpw26\wizards\wizbmps\wzlocate.bmp","BMPJICOJPCTJICN","Where is wzlocate?")) ;

SIZE 1. I 74,3.375,0.500;DEFAULT 1;FONT "Times New Roman", 14;STYLE "B";VALID btn_val('LOCA TE') ;MESSAGE 'Locate a record.'

@ 6.565,18.250 GET m.next_btn;PICTURE "@*BHN II + ;

(LOCFILE("d:\fpw26\wizards\wizbmps\wznext.bmp","BMPIICOJPCTIICN","Where is wznext?")) ;

SIZE 1.174,3.375,0.500;DEFAULT 1;FONT "Times New Roman", 14;STYLE "B";

59

VALID btn_val('NEXT') ;MESSAGE 'Go to next record.'

@6.565,22.750 GET m.end_btn;PICTURE "@*BHN " + ;

(LOCFILE(" d: \fpw26\wizards\wizbmps\wzend. bmp", "BMP[ICO[PCT[ICN","Whereis wzend?")) ;

SIZE 1. 174,3.375,0.500;DEFAULT 1;FONT "Times New Roman", 14 ;STYLE "B";VALID btn_val('END') ;MESSAGE 'Go to last record.'

@6.565,27.250 GET m.add_btn;PICTURE "@*BHN " + ;

(LOCFILE("d: \fpw26\wizards\wizbmps\wznew. bmp", "BMP[ICO[PCT[ICN","Where is wznew?")) ;

SIZE 1. 174,3.375,0 500;DEFAULT 1;FONT "Times New Roman", 14;STYLE "B";

'VALID btn_val('ADD');MESSAGE 'Add a new record.'

@6.565,31.750 GET m.edit_btn;PICTURE "@*BHN " + ;

(LOCFILE(" d: \fpw26\wizards\wizbmps\wzedit. bmp ", "BMPIICOfPCTfICN", "Where is wzedit?")) ;

SIZE 1. 174,3.375,0.500;DEFAULT I;FONT "Times New Roman", 14;STYLE "B";VALID btn_val('EDIT') ;MESSAGE 'Edit current record.'

@6.565,36.250 GET m.del_btn;PICTURE "@*BHN" + ;

••

(LOCFILE(" d: \tpw26\wizards\wizbmps\wzdelete. bmp", "BMPfICOfPCTIICN", "Where is wzdelete?")) ;

SIZE 1. 174,3.375,0.500 ;DEFAULT 1;FONT "Times New Roman", 14;STYLE "B";VALID btn_val('DELETE') ;MESSAGE 'Delete current record.'

60

@6.565,40.750 GET m.savebtn ;PICTURE "@*BHN II+;

(LOCFILE(" d: \fpw26\wizards\wizbmps\wzsave. bmp", "BMPIICOIPCTIICN", "Where is wzsave?"));

SIZE 1. I 74,3.375,0.500;DEFAULT I;FONT "Times New Roman", 14;STYLE "B";VALID btn_val('SA VE') ;MESSAGE 'Save edits.'

@6.565,45.250 GET m.can__btn;PICTURE "@*BHN II + ;

(LOCFILE("d:\fpw26\wizards\wizbmps\wzundo.bmp","BMPIICOIPCTIICN","Where is wzundo?")) ;

SIZE 1.174,3.375,0.500;DEFAULT 1;FONT "Times New Roman", 14;STYLE "B";VAUD btn_val('CANCEL') ;MESSAGE 'Cancel edits.'

@6.565,49.750 GET m.prnt_btn;PICTURE "@*BHN II + ;

(LOCFILE("d:\fpw26\wizards\wizbmps\wzprint.bmp","BMPIICOIPCTIICN","Where is wzprint?")) ;

SIZE 1. I 74,3.375,0.500;DEFAULT 1;FONT "Times New Roman", 14;STYLE "B";VALID btn_val('PRINT') ;MESSAGE 'Print report.'

@ 6.565,54.250 GET m.exit_btn;PICTURE "@*BHN II + ;

(LOCFILE(" d: \fpw26\wizards\wizbmps\wzclose. bmp", "BMPIICOIPCTIICN", "Where is wzclose?")) ;

SIZE 1. I 74,3.375,0.500;DEFAULT 1;FONT "Times New Roman" 14 ·

. ' 'STYLE "B";VALID btn_val('EXIT') ;MESSAGE 'Close screen.'

@0.304,22.500 SAY "SERVICES";FONT "Times New Roman", 14;

61

STYLE "BT";COLOR RGB(255,255,255,,,,)

IF NOT WVISIBLE("_sb9lfDmts")ACTIVATE WINDOW sb91fümts

ENDIF

* ********************************************************* * ** * WindowsREAD contains clauses from SCREEN s5689998* ** ********************************************************* *

READ CYCLE;ACTIVATE READ ACT() ;DEACTIVATE READDEAC() ;NOLOCK

RELEASE WINDOW sb9lfDmts

* ********************************************************* * ** * Windows Closing Databases* ** ********************************************************* *IF USED("ser")

SELECT serUSE

END IF

SELECT (m.currarea)..

#REGION O

SET READBORDER &rborder

IF m.talkstat = "ON"SET TALK ON

END IFIF m.compstat = "ON"

SET COMPATIBLE ON

62

63

ENDIF

* ********************************************************** ** * SER/Windows Cleanup Code* ** **********************************************************

#REGION 1SET DELETED &wzolddeleteSET FIELDS &wzfıeldsON ERROR &wzolderrorON KEY LABEL ESCAPE &wzoldescDO CASECASE _DOS AND SET('DISPLAY')='VGA25'

@24,0 CLEAR TO 24,79CASE _DOS AND SET('DISPLAY')='VGA50'

@49,0 CLEAR TO 49,79CASE DOS

@24,0 CLEAR TO 24, 79ENDCASE

****Procedures****

* ********************************************************** ** * SER/Windows Supporting Procedures and Functions* ** **********************************************************

#REGION 1PROCEDURE readdeacIF iseditingACTIVATE WINDOW' sb91fDmts'WAIT WINDOW C EDITS NOW AIT

ENDIFIF !WVISIBLE(WOUTPUT())CLEAR READRETURN .T.

END IFRETURN .F. ·

PROCEDURE readactIF !isediting

SELECT (m.wzalias)SHOW GETS

ENDIFDO REFRESH

RETURN

PROCEDURE wizerrorhandler* This very simple error handler is primarily intended* to trap for General field OLE errors which may occur* during editing from the MODIFY GENERAL window.WAIT WINDOW message()

RETURN

PROCEDURE printrecPRIVATE sOldError, wizfname,saverec,savearea,tmpcurs,tmpstrPRIVATE prnt_btn,p_recs,p _output,pr _out,pr_recordSTORE 1 TO p_recs,p_outputSTORE O TO prnt_btnSTORE RECNO() TO saverecm. sOldError=ON ('error')DO pdialogIF m.prnt_btn = 2RETURN

ENDIFIF !FILE(ALIAS()+'.FRX')

m. wizfname=S YS(2004)+'WIZARDS\'+'WIZARD. APP'IF !FILE(m.wizfname)

ON ERROR*m. wizfname=LOCFILE('WIZARD.APP','APP',C _LOCWIZ)ON ERROR &sOldErrorIF !'WIZARD.APP'$UPPER(m.wizfname)WAIT WINDOW C NOWIZRETURNEND IF

END IFWAIT WINDOW C MAKEREPO NOW AIT

••

m. savearea=SELECT()m. tmpcurs='_'+LEFT(SYS(3 ),7)CREATE CURSOR (m.tmpcurs) (comment m)m.tmpstr ='*LAYOUT= COLUMNAR'+CHR(13)+CHR(10)INSERT INTO (m.tmpcurs) VALUES(m.tmpstr)SELECT (m.savearea)

64

65

DO (nı.wizfname) WITH",'WZ_QREPO','NOSCRN/CREATE',ALIAS(),m.tmpcurs

USE IN (m.tmpcurs)WAIT CLEAR

IF !FILE(ALIAS()+'.FRX') &&wizard could not create reportWAIT WINDOW C NOREPORETURNENDIF

END IF

m.pr_out=IIF(nı.p_output=l,'TO PRINT NOCONSOLE','PREVIEW')m.pr_record=IIF(m.p_recs=l,'NEXT l','ALL')REPORT FORM (ALIAS()) &pr_out &pr_recordGO m.saverec

RETURN

PROCEDURE BTN VALPARAMETER m. btnnameDO CASECASE m.btnname='TOP'

GO TOPWAIT WINDOW C TOPFILE NOW AIT

CASE m.btnname='PREV'IF !BOF()

SKIP -1END IFIFBOF()

WAIT WINDOW C TOPFILE NOW AITGO TOP

END IFCASE nı. btnname='NEXT'

IF !EOF()SKIP 1

END IF. IF EOF()

WAIT WINDOW C END FILE NOW AITGO BOTTOM

END IFCASE m.btnname='END'

GO BOTTOMWAIT WINDOW C END FILE NOW AIT

CASE m.btnname='LOCATE'DO loc_dlog

CASE m.btnname='ADD' AND !isediting &&add recordisediting=. T.

isadding=.T=edithand('ADD')_curobj=lDO refreshSHOW GETSRETURN

CASE m.btnname='EDIT' AND !isediting &&edit recordIF EOF() OR BOF()

WAiT WINDOW C ENDFILE NOW AiTRETURN

END IFIFRLOCK()

isediting=.T._curobj=lDO refreshRETURN

ELSEWAiT WINDOW C NOLOCKRETURN

END IFCASE m.btnname='SAVE' AND isediting &&save record

IF isadding=edithand('SA VE')

ELSEGATHERMEMVARMEMO

END IFUNLOCKisediting=.F.isadding= .F.DO refresh

CASE m. btnname='CANCEL' AND isediting &&cancel recordIF isadding

=edithand('CANCEL')END IFisediting=. F.isadding=.F. ••UNLOCKWAiT WINDOW C EC ANCEL NOW AITDO refresh

CASE m.btnname='DELETE'IF EOF() OR BOF()

WAiT WINDOW C ENDFlLE NOW AiTRETURN

END1FIF fox_alert(C_DELREC)

DELETE

IF !EOF() AND DELETED()SKIP 1

ENDlF1F EOF()

WAIT WINDOW C END FILE NOW AITGO BOTTOM

END IFELSE

RETURNEND IF

CASE m. btnname='PRINT'DO printrecRETURN

CASE m. btnname='EXIT'm.bailout=.T. &&this is needed if used with FoxAppCLEAR READRETURN

OTHERWISERETURN

ENDCASESCATTER MEMV AR MEMOSHOW GETS

RETURN

PROCEDURE REFRESHDO CASECASE m.isreadonly AND RECCOUNT()=O

SHOW GETS DISABLESHOW GET exit btn ENABLE

CASE m.isreadonlySHOW GET add btn DISABLESHOW GET edit btn DISABLESHOW GET del btn DISABLESHOW GET save btn DISABLESHOW GET can btn DISABLE

CASE (RECCOUNT()=O OR EOF()) AND !m.iseditingSHOW GETS DISABLESHOW GET add btrı ENABLESHOW GET exit btn ENABLE

CASE m.iseditingSHOW GET fınd_drop DISABLE

SHOW GET top_btn DISABLESHOW GET prev_btn DISABLESHOW GET loc btn DISABLESHOW GET next btn DISABLE

SHOW GET end btn DISABLESHOW GET add btn DISABLESHOW GET edit_btn,1 DISABLESHOW GET del_btn,1 DISABLESHOW GET prnt_btn DISABLESHOW GET ex.it btn DISABLESHOW GET save btn ENABLESHOW GET can btn ENABLEON KEY LABEL ESCAPE DO BTN VAL WITH 'CANCEL'RETURN

OTHERWISESHOW GET fınd_drop ENABLE

SHOW GET top_btn ENABLESHOW GET prev_btn ENABLESHOW GET loc btn ENABLESHOW GET next btn ENABLESHOW GET end btn ENABLESHOW GET add btn ENABLESHOW GET edit_btn,l ENABLESHOW GET del_btn,1 ENABLESHOW GET prnt_btn ENABLESHOW GET exit btn ENABLESHOW GET save btn DISABLESHOW GET can btn DISABLE

ENDCASEIF m.is2table

SHOW GET add btn DISABLEENDIFON KEY LABEL ESCAPE

RETURN

PROCEDURE edithandPARAMETER m.paction* procedure handles editsDO CASECASE m.paction = 'ADD' ••

SCATTER MEMV AR MEMO BLANKCASE m. paction = 'SAVE'

INSERT INTO (ALIAS()) FROM MEMV ARCASE m.paction = 'CANCEL'

* nothing hereEND CASE

RETURN

PROCEDURE fox alertPARAMETER wzalrtmess

PRIVATE alrtbtnm.alrtbtn=2

DEFINE WINDOW _qeclij2t7 AT 0,0 SIZE 8,50;FONT "MS Sans Serif',10 STYLE 'B';FLOAT NOCLOSE NOMINIMIZE DOUBLE TITLE WTITLE()

MOVE WINDOW _qeclij2t7 CENTERACTIVATE WINDOW _qeclij2t7 NOSHOW@2,(50-txtwidth(wzalrtmess))/2 SAY wzalrtrness;FONT "MS Sans Serif", 10 STYLE "B"

@6,18 GET m.alrtbtn ;PICTURE "@*HT \<OK;\?\t\<Cancel" ;SIZE 1. 769,8.667, 1.333 ;FONT "MS Sans Serif", 8 STYLE "I;}"

ACTIVATE WINDOW _qeclij2t7READ CYCLE MODALRELEASE WINDOW _qeclij2t7

RETURN m.alrtbtn=l

PROCEDURE pdialogDEFINE WINDOW _qjııl'.lzbvlı;

AT 0.000, 0.000 ;SIZE 13.231,54.800;TITLE "Microsoft FoxPro";FONT "MS Sans Serif', 8 ;FLOAT NOCLOSE MINIMIZE SYSTEM

MOVE WINDOW _qjnl2zbvh CENTERACTIVATE WINDOW _qjn12zbvh NOSHOW@2.846,33.600 SAY "Output:" ;

FONT "MS Sans Serif', 8 ;STYLE "BT"

@2.846,4.800 SAY "Print:" ;FONT "MS Sans Serif', 8;STYLE "BT"

@4.692,7.200 GET m.p_recs;PICTURE "@*RVN \<Current Record;\<AJI Records";SIZE 1.308, 18.500,0.308 ;DEFAULT 1;FONT "MS Sans Serif', 8;STYLE "BT"

@4.692,36.000 GET m.p_output;PICTURE "@*RVN \<Printer·Pre\<view" ·' 'SIZE 1.308,12.000,0.308 ;66DEFAULT 1;FONT "MS Sans Serif', 8 ;STYLE "BT"

@ 10.154,16.600 GET m.prnt_btn;PICTURE "@*HT P\<rint;Ca\<ncel" ;SIZE 1.769,8.667,0.667;DEFAULT 1;FONT "MS Sans Serif', 8 ;STYLE "B"

ACTIVATE WINDOW _qjn12zbvhREAD CYCLE MODALRELEASE WINDOW _qjn12zbvh

RETURN

PROCEDURE loc_dlogPRIVATE gfıelds,iDEFINE WINDOW wzlocate FROM 1, 1 TO 20,40;

SYSTEM GROW CLOSE ZOOM FLOAT FONT "MS Sans Serif',8MOVE WINDOW wzlocate CENTERm.gfields=SET('FIELDS',2)IF !EMPTY(RELATION(l))

SET FIELDS ONIF m.gfıelds # 'GLOBAL'

SET FIELDS GLOBALEND IFIF EMPTY(FLDLIST())

m.i=lDO WHILE !EMPTY(OBJV AR(m.i))

IF ATC('M.',OBJV AR(m.i))=OSET FIELDS TO (OBJVAR(m.i))

END IFm.i = m.i + 1

ENDDOEND IF

END IFBROWSE WINDOW wzlocate NOEDIT NODELETE ;

NOMENU TITLE C_BRTITLESET FIELDS &gfıelds ••SET FIELDS OFFRELEASE WINDOW wzlocate

RETURN

67

***** SEVILAY HOTEL*****

:RESERVATION

11. DELETE CUSTOMER I12. ADD CUSTOMER Iı 3. QUIT I

68

•••

RESERVATION :tvfENU PROGRAM***

*************************************************************

*************************************************************

CLEARSTORE O TO CHOICEDO WHILE CHOICE < 3

@4,21 SAY"***** Sevilay Hotel*****";FONT "jokar", 24 ;STYLE "W";

@10,33 SAY " RESERVATION ";FONT "jokar", 20;STYLE "W";

@16, 33 PROMPT "l. DELETE CUSTO:tvfER "@18, 33 PROMPT "2. ADD CUSTO:tvfER "@20, 33 PROMPT "3. QUIT "@8,25 TO 32, 60 DOUBLE;COLOR RGB(l 92,220,192, 128,,,)@13,25 TO 32, 60 DOUBLE;COLOR RGB(0,220,0, 128,,,):tvfENU TO CHOICEDO CASECASE CHOICE=lDO C:\400\CUSTOM.prgCASE CHOICE=2DO C:\400\CUSTOM.prgCASE CHOICE=3DO C:\400\a.prgENDCASECLEARENDDO

69

ROOM PHONEE:2201

ROOM TYPE:SHJFT

SE\IL\ 'ı IIOlTL

ROOr\l FILE

CUSTOMER

I NAMEMAR WAN

CUSTOMER

PASSPORTNO:JR9121457892

ROOM INFORMATION

I ~~OMNO JPOSITION:CORNER-SEA I ~iPOSIT J

ROOM STATUS

I~

70

* ********************************************************** *

***********************************************************

ROOM.PRG

**********************************************************

• *********************************************************• *• * ROOM/Windows Setup Code - SECTION l• *

*********************************************************•

#REGION 1PRIVATE wzfıelds,wztalkIF SET("TALK") = "ON"

SET TALK OFFm.wztalk = "ON"

ELSEm.wztalk = "OFF"

END IFm. wzfıelds=SET('FlpLDS ')SET FIELDS OFFIF m.wztalk = "ON"

SET TALK ONENDIF

#REGION OREGIONAL m.currarea, m.talkstat, m.compstat

IF SET("T ALK") = "ON"SET TALK OFFm.talkstat = "ON"

..ELSE

m.talkstat = "OFF"ENDIFm.compstat = SET("COMPATIBLE")SET COMPATIBLE FOXPLUS

m.rborder = SET("READBORDER")SET READBORDER ON

m.currarea = SELECT()

71

* ********************************************************** ** * S5243320/Windows Databases, Indexes, Relations* ** **********************************************************IF USED("room")

SELECT roomSET ORDER TO TAG "_sb9lejxib"

ELSE ••SELECT OUSE (LOCFILE("room.dbf'',"DBF","Where is room?"));

AGAIN ALIAS room ;ORDER TAG "_sb91ejxib"

END IF

* ********************************************************** ** * Windows Window definitions* ** **********************************************************IF NOT WEXIST("_sb9ler262")

DEFINE WINDOW _sb9ler262;AT 0.000, 0.000 ;SIZE 10.348,62.500;TITLE "Room" ;FONT "Times New Roman", 14;STYLE "B";FLOAT;CLOSE;MINIMJZE;COLOR RGB(,,,255,255,255)

MOVE WINDOW sb9ler262 CENTEREND IF

* ********************************************************** ** * ROOM/Windows Setup Code - SECTION 2* *

72

• *********************************************************•

#REGION 1

~DEFINE C DBFEMPTY#DEFINE C EDITS::DEFINE C TOPFILE#DEFINE C ENDFILE#DEFINE C BRTITLEiiDEFINE C NOLOCKıiDEFINE C ECANCELıiDEFINE C DELREC;£I)EFINE C NOFEAT#DEFINE C NOWIZ#DEFINE C MAKEREPO#DEFINE C NOREPO#DEFINE C DELNOTEBDEFINE C READONL Y#DEFINE C NOT ABLE#DEFINE C BADEXPR#DEFINE C LOCWIZ

'Database is empty, add a record?''Please finish your edits.''Top of file.''End of file.''Locate Record''Sorry, could not lock record -- try again later.''Edits Canceled.''Delete selected record?''Feature not available yet''Wizard application is not available.''Creating report with Report Wizard.''Could not create report.''Deleting records ... ''Table is read-only. No editing allowed.''No table selected. Open table or run query.''Invalid expression.''Locate \VIZARD.APP:'

#DEFINE C_MULTITABLE 'You have multiple related tables. Adding records in notallowed.'

MOVE WINDOW' sb9ler262' CENTERPRIVATE isediting,isadding,wztblarrPRIVATE wzolddelete, wzolderror, wzoldescPRIVATE wzalias, tempcurs,wzlastrecPRIVATE isreadonly,find_drop,is2table

IF EMPTY(ALIAS())WAiT WINDOW C NOT ABLERETURN ••

ENDIF

m.wztblarr="m.wzalias=SELECT()m.isediting=.F.m. isadding=.F.m.is2table = .F.m. wzolddelete=SET('DELETE')SET DELETED ONm.tempcurs=SYS(2015) &&used if General fieldm.wzlastrec = Im. wzolderror=ON('error')

73

ON ERROR DO wizerrorhandlerwzoldesc=ON('KEY','ESCAPE')ON KEY LABEL ESCAPEm.fınd_drop = IIFLDOS,0,2)

rn.isreadonly=IIF(ISREAD(),.T.,.F.)IF m. isreadonl y

WAIT WINDOW C READONL Y TIMEOUT 1END IF

SET READBORDER OFF••

IF RECCOUNT()=O AND lm.isreadonly AND fox_alert(C_DBFEMPTY)APPEND BLANK

END IF

GOTO TOPSCATTER MEMV AR MEMO

* ********************************************************** ** * ROOM/Windows Screen Layout* ** **********************************************************#REGION 1IF WVISIBLE("_sb9ler262")

ACTIVATE WINDOW sb91er262 SAMEELSE

ACTIVATE WINDOW sb9ler262 NOSHOWEND IF@ 0.000,0.000 TO 1.609,61.625;

PATTERN 1;PEN 1, 8;COLOR RGB(O,O,128,128,0,0)

@2.087,6.250 TO 3.348,12. 125;PATTERN 1;PEN 1, 8;COLOR RGB(0,0,0, 192,192,192)

@2.739,6.500 GET m.number;SIZE 1.000,7.000;DEFAULT II II;

FONT "MS Sans Serif', 8 ;STYLE "B";

74

PICTURE "@K 99,999";WHEN isediting ;COLOR ,RGB(0,0,0, 192,192,192)

@ 2.130,6. 500 SAY "Number:" ;SIZE 1.000,8.800;FONT "MS Sans Serif', 8 ;STYLE "T";COLOR RGB(128,0,0, 192,192,192)

@2.087,25.500 TO 3.348,30.250;PATTERN 1;PEN 1, 8;COLOR RGB(0,0,0, I 92,192,192)

@2.739,25.750 GET m.storey ;SIZE 1.000,2.333 ;DEFAULT II II;

FONT "MS Sans Serif", 8 ;STYLE "B";PICTURE "@K 99" ;WHEN isediting ;COLOR ,RGB(0,0,0, 192,192,192)

@2.130,25.750 SAY "Storey:";SIZE 1.000,8.800;FONT "MS Sans Serif', 8 ;STYLE "T";COLOR RGB(l28,0,0,192,192,192)

@ 5.739,25.500 TO 7.000,37.375;PATTERN 1;PEN 1, 8;COLOR RGB(0,0,0,192,192,192)

@6.391,25.750 GET m.status ;SIZE 1.000,15.000;DEFAULT II II;

FONT "MS Sans Serif", 8 ;STYLE "B";PICTURE "@K XX:XXXXXXXX" ;WHEN isediting ; "COLOR ,RGB(0,0,0, 192, I 92,I92)

@5.783,25.750 SAY "Status:";SIZE 1.000,8.800;FONf "MS Sans Serif', 8;STYLE "T";COLOR RGB(l28,0,0,192, 192,192)

@ 5.739,6.250 TO 7.000,18. 125;PATTERN 1;PEN I, 8;COLOR RGB(0,0,0, 192,192, I 92)

75

@ 6.391,6.500 GET m.position;SIZE 1.000,15.000;DEFAULT II It;

FONT "MS Sans Serif', 8;STYLE "B";PICTURE "@K XXXXXXXXXX" ;WHEN isediting ;COLOR ,RGB(0,0,0,192,192,192)

@5.783,6.500 SAY "Position:";SIZE 1.000,8.800;FONT "MS Sans Serif', 8 ;STYLE "T";COLOR RGB(l28,0,0, 192,192,1~2)

@ 5.652,45.000 TO 6.913,56.875;PATTERN 1;PEN 1, 8;COLOR RGB(0,0,0, 192,192,192)

@ 6.304,45.250 GET m.capacity;SIZE 1.000,15.000;DEFAULT It II;

FONT "MS Sans Serif', 8 ;STYLE "B";PICTURE "@K XXXXXX:XXXX" ;WHEN isediting ;COLOR ,RGB(0,0,0,192,192,l92)

@ 5.696,45.250 SAY "Capacity:";SIZE 1.000,8.800;FONT "MS Sans Serif', 8 ;STYLE "T";COLOR RGB(l28,0,0, 192,192,192)

@8.217,0.000 TO 8.782,1.250;PEN 1, 8;STYLE "T";COLOR RGB( 192,192, 192,,,,)

@ 8. 739,0.125 TO 10.348,62. 500 ;PATTERN 1;PEN 1, 8;COLOR RGB(128,0,0, 128,0,0)

@9.000,4.750 GET m.top_btn;PICTURE "@*BHN II + ;

(LOCFILE(" d: \fpw26\wizards\wizbmps\wztop. bmp", "BMP/ICO/PCT/ICN", "Whereis wztop?")) ;

SIZE 1.174,3.375,0.500;DEFAULT 1;FONT "Times New Roman", 14;

76

..

STYLE "B";VALID btn _val('TOP') ;MESSAGE 'Go to first record.'

@9.000,9.250 GET m.prev btn ;PICTURE "@*BHN II + ;

(LOCFILE("d:\fpw26\wizards\wizbmps\wzback.bmp","BMPJICOJPCTJICN","Where is wzback?")) ;

SIZE 1.174,3.375,0.500;DEFAULT ı ,FONT "Times New Roman", 14;STYLE "B";VALID btn_val('PREV');MESSAGE 'Go to previous record.'

@9.000,13.750 GET m.loc btn ;PICTURE "@*BHN II + ;

(LOCFILE(" d: \fpw26\wizards\wizbmps\wzlocate. bmp", "BMPJICOJPCTJICN","Where is wzlocate?")) ;

SIZE 1.174,3.375,0.500;DEFAULT 1;FONT "Times New Roman", 14;STYLE "B";VALID btn_val('LOCATE') ;MESSAGE 'Locate a record.'

@9.000,18.250 GET m.next_btn;PICTURE "@*BHN II + ;

(LOCFILE("d: \fpw26\wizards\wizbmps\wznext. bmp ", "BMPIICOIPCTJICN","Where is wznext?"));

SIZE 1.174,3.375,0.500 ;DEFAULT 1;FONT "Times New Roman", 14;STYLE "B";VALID btn_val('NEXT') ;MESSAGE 'Go to next record.' ı.

@ 9.000,22.750 GET m.end_btn;PICTURE "@*BHN II + ;

(LOCFILE("d: \fpw26\wizards\ wizbmps\wzend bmp ", "BMP/ICO/PCT/ICN", "Whereis wzend?")) ;

SIZE 1.174,3.375,0.500;DEFAULT 1;FONT "Times New Roman", 14;STYLE "B";VALID btn_val('END') ;

77

8l

'. uıq'uaour l3:0 oszs+uoos ®,"Sl!PJ JAtıS, 3:0VSS3:W

'. (a.A vs.)JtıA-ulq anv A: .. s: .. 3:'1AlS

'. PI \utıuro11 MJN SJID!L lNOd: I l1TIVd3:G

: ooç·o'ÇL£'£'PLI'I 3ZIS' ((11lJı\tlSZM S! J

JJ4.M.11'11N:)l\l:)d\O:)llcIWS:11'11durq·JAtıszM\Sdurqz!M\SpJtız!M\9ZMdJ\:p11)31B:)0'1)

'. + II NHS:*®" 3IDli:)ld'Ulq-Jı\t?S"UIl3D QÇL'OP'000'6@

, 'prooaı lUJJJn:J JlJJJQ. 3DVSS3:W: C.3l3'13a.)ıtıı\ - uıq anv A

'. .. s: .. 3'1AlS' Pl \utııno11 MJN SJID!L lNOtl

'I l'10Vd3Q'00Ç'Q'ÇL£.£'PL I. I 3ZIS

'. ((..lJlJPPZM S! JJ;)J.lı\\11' 11N.:)I\l:)d\O:)J\dWS11' 11druq;)lJ\;}pZM.\Sdruqz!M.\Sp1tız!M\9ZM.dJ\:p11)31B:)0'1)

~+II NH\h® •• tf'filli.'Jld'. u1q-pp·ur l3D oçz·9£'000·6@

,·pJO:)JJ ıuaımo l!P3, 3DVSS3:W'. Cnat1.)reA-uıq cnrv A

'. .. a.. 3'L\.lS' Pl \uuuro11 M.JN S;)ID!L, lNOd

'. l l'10Vd3Q'. ooso'szrc'ez.ır 3ZIS

'. (( •• ll!PJZM S! d J;)lJM11'11N:)I\l:)dlü:)IicIWS:11'11.duıq·ı!PJZM\Sdnıqz!M\SpJtıZ!M\9ZM.dJ\:p11)3'1B:)0'1)

' + •• NHS:*®" 3110l:)Id'. uıq-l!P;}·ur l3D oçL·1£'000·6 ®

, ·pJO:)JJ MJU tı PPV, 3DVSS3:W' Caav.)ıuı\ - uıq anv A

: .. s: .. 3'1.AlS'Pl \utıwo11 MJN S;)W!L lNOtl

'. l l1IlVtl3Q'. ooç·o'ÇL£'£'PLI'I 3ZIS

' ((11lMJUZM S! JJ;)qı\\11' 11N:)Ill:)d\O:)I\dWS:ıı '11 duıq · M;)UZM.\Sdnıqz!M\SpJtıZ!M\9ZMdJ\ :p •• )3'1H:)0'1)

..

'+ •• NHS:*®" 3110l:)ld: tnq' ppauı .ıııo oszzz'oooe ®

,·p.ıo:JJJ ıstıı oı OD, 3:0VSS3:W

-·.

PICTURE "@*BHN " + ·,

(LOCFlLE(" d:\fpw26\wizards\wizbmps\wzundo .bmp'' ," BMP\lCO\PCT\lCN", "Where is wzundo?")) ;

SIZE 1.174,3.375,0.500;DEFAULT 1; FONT "Times New Roman", 14 ; STYLE "B";VALID btn_val('CANCEL');MESSAGE 'Cancel edits.'

@ 9.000,49.750 GET m.prnt_btn;PICTURE "@*BHN " + ;

(LOCFILE(" d: \fpw26\ wizards\wizbmps\ wzprint. bmp", "BMPIICOIPCTIICN", "Where is wzprint?")) ;

SIZE 1.174,3.375,0.500 ;DEFAULT 1;FONT "Times New Roman", 14;STYLE "B";VALID btn_val('PRINT') ;MESSAGE 'Print report.'

@ 9.000,54.250 GET m.exit_btn;PICTURE "@*BHN " + ;

(LOCFILE("d:\fpw26\wizards\wizbmps\wzclose.bmp","BMPIICOIPCTIICN'',"Where is wzclose?")) ;

SIZE 1.174,3.375,0.500;DEFAULT 1;FONT "Times New Roman", 14;STYLE "B";VALID btn_val('EXIT') ;MESSAGE 'Close screen.'

@0.304,19.500 SAY "ROOM FILE";FONT "Times New Roman", 14 ;STYLE "BT";COLOR RGB(255,255,255,,,,) "

IF NOT WVISIBLE("_sb9ler262")ACTIVATE WINDOW sb9ler262

END IF

* *********************************************************

* ** * WindowsREAD contains clauses from SCREEN s5243320* *

79

* **********************************************************READ CYCLE;

ACTIVATE READ ACT() ;DEACTIVATE READDEAC() ;NOLOCK

RELEASE WINDOW sb9ler262

* ********************************************************** ** * Windows Closing Databases* ** **********************************************************

IF USED("room")SELECT roomUSE

END IF

SELECT (m.currarea)

#REGION O

SET READBORDER &rborder

IF m.talkstat = "ON"SET TALK ON

ENDIFIF m.compstat = "ON"

SET COMPATIBLE ONEND IF

* ********************************************************** ** * ROOM/Windows Cleanup Code* ** **********************************************************#REGION 1SET DELETED &wzolddelete

80

**********************************************************

SET FIELDS &wzfıeldsON ERROR &wzolderrorON KEY LABEL ESCAPE &wzoldescDO CASECASE _DOS AND SET('DISPLAY')='VGA25'

@24,0 CLEAR TO 24,79CASE _DOS AND SET('DISPLAY')='VGASO'

@49,0 CLEAR TO 49,79CASE DOS

@24,0 CLEAR TO 24,79END CASE

****Procedures****

*****

* ROOM/Windows Supporting Procedures and Functions**********************************************************

*

#REGION IPROCEDURE readdeac

IF iseditingACTIVATE WINDOW' sb91er262'WAIT WINDOW C EDITS NOW AIT

END IFIF !WVISIBLE(WOUTPUT())CLEAR READRETURN .T.

ENDIFRETURN .F.

PROCEDURE readactIF !isediting

SELECT (m.wzalias)SHOW GETS

ENDIFDO REFRESH

RETURN

PROCEDURE wizerrorhandler* This very simple error handler is primarily intended* to trap for General field OLE errors which may occur* during editing from the MODIFY GENERAL window.

81

WAIT WINDOW message()RETURN

PROCEDURE printrecPRIVATE sOldError, wizfname,saverec,savearea,tmpcurs, tmpstrPRIVATE prnt_btn,p_recs,p_output,pr_out,pr _recordSTORE 1 TO p_recs,p _outputSTORE O TO prnt_btnSTORE RECNO() TO saverecm. sOldError=ON('error')DO pdialogIF m.prnt_btn = 2RETURN

END IFIF !FILE(ALIAS()+'.FRX')

m.wizfname=SYS(2004 )+'WlZARDS\'+'WlZARD. APP'IF !FILE(m.wizfname)

ON ERROR*m.wizfname=LOCFILE('WIZARD.APP','APP',C_LOCWIZ)ON ERROR &sOldErrorIF !'WIZARD.APP'$UPPER(m.wizfname)WAIT WINDOW C NOWIZRETURNEND IF

END IFWAIT WINDOW C MAKEREPO NOW AIT

m. savearea=SELECT()m. tmpcurs='_'+LEFT(SYS(3 ),7)CREATE CURSOR (m.tmpcurs) (comment m)m.tmpstr ='*LAYOUT= COLUMNAR'+CHR(13)+CHR(l0)INSERT INTO (m.tmpcurs) VALUES(m.tmpstr)SELECT (m.savearea)DO (m.wizfname) WITH

",'WZ_QREPO','NOSCRN/CREATE',ALIAS(),m.tmpcursUSE IN (m.tmpcurs)

WAIT CLEARIF !FILE(ALIAS()+'.FRX') &&wizard could not create reportWAIT WINDOW C NOREPORETURNEND IF

ENDIF

m.pr_out=IIF(m.p_output=l,'TO PRINT NOCONSOLE','PREVIEW')m.pr_record=IIF(m.p_recs=l,'NEXT l','ALL')REPORT FORM (ALIAS()) &pr_out &pr_record

82

GO m.saverecRETURN

PROCEDURE BTN VALPARAMETER m. btnııameDO CASECASE m. btnname='TOP'

GO TOPWAIT WINDOW C TOPFILE NOW AIT

CASE m. btnname='PREV'IF !BOF()

SKIP -1ENDIFIF BOF()

WAIT WINDOW C TOPFILE NOW AITGO TOP

END IFCASE m.btnname=NEXT'

IF !EOF()SKIP 1

END IF IFEOF()

WAlT WINDOW C END FILE NO WAITGO BOTTOM

END IFCASE m.btnname='END'

GO BOTTOMWAIT WINDOW C ENDFILE NOW AIT

CASE m.btnname='LOCATE'DO loc_dlog

CASE m.btnname='ADD' AND !isediting &&add recordisediting=. T.isadding=.T.=edithand('ADD') ı.

_curobj=lDO refreshSHOW GETSRETURN

CASE m.btnname='EDIT' AND !isediting &&edit recordIF EOF() OR BOF()

WAIT WINDOW C END FILE NOW AITRETURN

END IFIF RLOCK()

isediting=. T.

83

ınınıınıJaJlU!Jd OQ

,l.Nnıd,=anıtmuıq·w 3:SVJdlGN3

ınınıını3S13

dIGN3W011080D

lIV MON 3'lldON3 J MOONIM lIV Mo.ıou aı

dIGN31 cIDIS

0G31313G GNV Osoaı sr313130

ÖffiI'l3Q-J)UaJB-XOJ dldIGNH

NW"llffilrrvMON 31HGN3 J MOGNIM .ııvM

oaou 110 Üd03 dl

qsaJJaJ oalIV MON 13JNVJ3 J MOGNIM lIV M

)IJ01N[lT='all!PPBS!T='aU!J!pas!

dlGN3C13JNVJ,)puBlJl!Pa=

'aU!PPBS! dlprooaı ıa:,uB:,;y;y'aup!pas! ONV ,13JNVJ,=awt?Uuıq·w 3SVJ

qsaJJaJ oa. ..ı· ='aU!PPBS!· .'f ='aU!l!PaS!

)IJ01NfldlGN3

owaw uv AWaw )!3HlVD3S13

C3Avs.)pUBl(l!Pa='aU!PPBS! dl

pıooaı aı\Bs;y;y 'aU!l!PaS! ONV ı3AVS,=awBuuıq·w 3SVJdlGN3

NWllffil)IJO'lON J MOONIA\ lIV M

3S13N)I[llffil

qsaJJaJ oaI=fqoJm-

CASE m. btnname='EXIT'm.bailout=.T. &&this is needed if used with FoxAppCLEAR READRETURN

OTHERWISERETURN

ENDCASESCATTER MEMV AR MEMOSHOW GETS

RETURN

PROCEDURE REFRESHDO CASECASE m.isreadonly AND RECCOUNT()=O

SHOW GETS DISABLESHOW GET exit btn ENABLE

CASE m. isreadonlySHOW GET add btn DISABLESHOW GET edit btn DISABLESHOW GET del btn DISABLESHOW GET save btn DISABLESHOW GET can btn DISABLE

CASE (RECCOUNT()=O OR EOF()) AND !m.iseditingSHOW GETS DISABLESHOW GET add btn ENABLESHOW GET exit btn ENABLE

CASE m.iseditingSHOW GET find_drop DISABLE

SHOW GET top_btn DISABLESHOW GET prev_btn DISABLESHOW GET loc btn DISABLESHOW GET next btn DISABLESHOW GET end btn DISABLESHOW GET add btn DISABLESHOW GET edit_btn,l DISABLESHOW GET del_btn,l DISABLESHOW GET pmt_btn DISABLESHOW GET exit btn DISABLESHOW GET save btn ENABLESHOW GET can btn ENABLEON KEY LABEL ESCAPE DO BTN VAL WITH 'CANCEL'RETURN

OTHERWISESHOW GET find_drop ENABLE

SHOW GET top_btn ENABLE

SHOW GET prev btn ENABLESHOW GET loc btn ENABLESHOW GET next btn ENABLESHOW GET end btn ENABLESHOW GET add btn ENABLESHOW GET edit_btn,1 ENABLESHOW GET del_btn, 1 ENABLESHOW GET prnt_btn ENABLESHOW GET exit btrı ENABLESHOW GET save btn DISABLESHOW GET can btn DISABLE

ENDCASEIF m.is2table

SHOW GET add btn DISABLEENDIFON KEY LABEL ESCAPE

RETURN

PROCEDURE edithandPARAMETER m. paction* procedure handles editsDO CASECASE m.paction = 'ADD'

SCATTER MEMV AR MEMO BLANKCASE m.paction ='SAVE'

INSERT INTO (ALIAS()) FROM MEMV ARCASE m. paction = 'CANCEL'

* nothing hereENDCASE

RETURN

PROCEDURE fox alertPARAMETER wzalrtmessPRIVATE alrtbtnm.alrtbtn=2

DEFINE WINDOW _qeclij2t7 AT 0,0 SIZE 8,50;FONT "MS Sans Serif',10 STYLE 'B';FLOAT NOCLOSE NOMINIMIZE DOUBLE TITLE WTITLE()

MOVE WINDOW_ qec 1 ij2t7 CENTERACTİVATE WINDOW _qeclij2t7 NOSHOW@ 2,(50-txtwidth( wzalrtmess) )/2 SAY wzalrtmess;FONT "MS Sans Serif', 10 STYLE "B"

@ 6, 18 GET m.alrtbtn;PICTURE "@*HT \<OK;\?\l\<Cancel" ;SIZE 1.769,8.667,1.333;FONT "MS Sans Serif', 8 STYLE "B"

PROCEDURE pdialogDEFINE WINDOW _qjn12zbvh;

AT 0.000, O 000 ;SIZE 13.231,54.800;TITLE "Microsoft FoxPro";FONT "MS Sans Serif", 8 ;FLOAT NOCLOSE MINIMIZE SYSTEM

MOVE WINDOW _qjn12zbvh CENTERACTIVATE WINDOW _qjn12zbvh NOSHOW@2.846,33.600 SAY "Output:" ;

FONT "MS Sans Serif", 8 ;STYLE "BT"

@2.846,4.800 SAY "Print:" ;FONT "MS Sans Serif", 8 ;STYLE "BT"

@4.692,7.200 GET m.p_recs;PICTURE "@*RVN \<Current Record;\<All Records";SIZE 1.308,18.500,0.308;DEFAULT 1;FONT "MS Sans Serif'', 8 ;STYLE "BT"

@4.692,36.000 GET m.p_output;PICTURE "@*RVN \<Printer·Pre\<view" ·' 'SIZE 1.308,12.000,0.308;DEFAULT 1;FONT "MS Sans Serif'', 8 ;STYLE "BT"

@ 10.154,16.600 GET m.pmtbtn ;PICTURE "@*HT P\<rint;Ca\<ncel";SIZE 1.769,8.667,0.667 ;"DEFAULT 1;FONT "MS Sans Serif", 8 ;STYLE "B"

ACTIVATE WINDOW _qjnl2zbvhREAD CYCLE MODALRELEASE WINDOW _qjnl2zbvh

RETURN

ACTIVATE WINDOW _qeclij2t7READ CYCLE MODALRELEASE WINDOW _qeclij2t7

RETURN m.alrtbtn=l

PROCEDURE loc_dlog

84

N11fl.LITHJlB:)OJZM A\OGNIA\ 3:SV3:'IITH

.•:BO SG1.3:H l3:Ssppgii~ Sff13Id l3:S

ıruı.ı1!8 :) mıı.ı ON3WON' 3l31.3GON lIG30N JlB:)0\ZM .MOGNIA\ 3SA\01!8

illGN3:.1IGN3

OGGN3I+ pu = ruı

dJGN3((!·w))IVAf80) Ol SCI1.3B 13:S

O=((ı·w))IVAf80',·w,):)lV illw·nı)w AJao)A.cdW3i Hl.IHM oa

l=l'W

«ıısncruıxıareı aıdlGN3

1V8010 SG13Id 13:S,1.V801.D, # spı~gii-w ill

NO SG1.3ld 13:S((ÜNOilV1.ITH)AldW3i dl(z', SG1.3ld,)l3S=SPP!Jii 'uı

1!3:1N3:) JlU:)O{ZM A\OGNIM. MOW8'.J!J~S suns SW•• lNOd 1V01.d WOOZ 3S01.:) M01ID W31SAS

'ov'oz oı I'I wo1ıd ;;:ııu:)oızM .MOGNIM 3NH3:G(sppgii 3:lVAIBd

* * * * * SEVILA Y HOTEL*****

SEARCHING

ı ı. FOR CUSTOMERS I

\ 2. FOR EMPLOYEES I

\ 3. QUIT \

86

*************************************************************

* ***

* SEARCHING MAIN MENU PROGRAM**************************************************************

CLEARSTORE O TO CHOICEDO WHILE CHOICE < 3

@4,21 SAY" ***** Sevilay Hotel*****" ;FONT "jokar", 24 ;STYLE "W";

@10,33 SAY" SEARCHING";FONT "jokar", 20 ;STYLE "W";

@16, 33 PROMPT "l. FOR CUSTOMERS "@19, 33 PROMPT "2. FOR EMPLOYEES "@22,33 PROMPT "3. QUIT "@8,25 TO 32, 60 DOUBLE;COLOR RGB(192,220,192,128,,,)@13,25 TO 32, 60 DOUBLE;COLOR RGB(0,220,0, 128,,,)MENU TO CHOICEDO CASECASE CHOICE=lDO C:\400\custsch.prgCASE CHOICE=2DO C:\400\empsch.prgCASE CHOICE=3DO C:\400\a.prgENDCASE -CLEARENDDO

87

SEARCHING

11. BY CUSTOMER NAME IJ 2. BY PASSPORT NUMBER I

ı 3. BY ACCOUNTNUMBER Iı 4. QUIT I

..

* * * * * SEVILA Y HOTEL*****

88

*****************************************************************THE SERCHING PROGRAM FOR CUSTOMER

***********************************************************************************************************************************

a EMSTORE O TO CHOICE

O WHILE CHOICE< 4

@4,20 SAY"***** SEVILAY HOTEL*****";FONT "jokar", 24STYLE "W" ;

@10,34 SAY "SEARCHING";FONT "jokar", 20 ;STYLE "W" ;

@15,33 PROMPT "1. BY CUSTOMER NAME "@18,33 PROMPT "2. BY PASSPORT NUMBER"

@21,33 PROMPT "3. BY ACCOUNT NUMBER "@24,33 PROMPT "4. QUIT "

@8,24 TO 32,63 DOUBLE;COLOR RGB(0,220,0,128,,,)@13,24 TO 32,63 DOUBLE;COLOR RGB(192,220,128,128,,,)MENU TO CHOICEDO CASECASE CHOICE=lDO C:\400\SEARCHlCASE CHOICE=2DO C:\400\SEARCH2CASE CHOICE=3DO e:\400\search3CAS,E CHOICE=4DO C:\400\searchO.prgENDCASE

..

CLEAREND DO

89

ENTER CUSTOMER NAME

EVILAY HOTEL

SEVII.X'ı HOTEi.- - - -- -

••

90

* SEARCHING PROGRAM FOR CUSTOMET BY NAME **

cleardo findprocedure find

define window al at 12,12 size 4,40 systemactivate window al

***************************************************************

**************************************************************

your_ch=space( 12)@1, 1 say "input customer name"@1,21 get your_chreadrelease window aluse C:\400\custom.dbflocate all for alltrim(name)=alltrim(your_ch)if found() thenwait window "searchig is OK"NOW AiTbrowse fields;name,surname,passportnu,roomnumber ,accounnum,notes: H=' '·

elsewait window "it's not found!"wait window "to exit press enter"endifdo C:\400\searchü.prg

••

91

EVILA Y HOTEL

ENTER CUST. PASSPORT#

••

92

**************************************************************

* *SEARCHING PROGRAM FOR CUSTOMER BY PASSPORT#**

**************************************************************

cleardo findprocedure find

define window al at 12,12 size 4,40 systemactivate window a 1your_ch=space(12)@1,1 say "input passport#"@1,21 get your_chreadrelease window aluse c:\400\custom.dbflocate all for alltrim(passportnu )=alltrim(your _ch)if found() thenwait window "searchig is OK"NOW AITbrowse fields;

passportnu, name,surname,roomnumber,accounnunı,notes:H=' '·

elsewait window "it's not found!"wait window "to exit press enter"endifdo C:\400\searchO.prg

93

EVILA Y HOTEL

SEVILA Y HOTEL- -

ENTER ACCOUNT NUMBER c ___.

94

*************************************************************

***

***

SEARCHING PROGRAM FOR CUSTOMER BY ACCOUNT #

*************************************************************

cleardo findprocedure find

define window al at 12,12 size 4,40 systemactivate window alyour_ch=space( 12)@1,1 say "input ACCOUNT NUMBER"@1,21 get your_ch 'readrelease window aluse C:\400\custom.dbflocate all for alltrim( accounnum)=alltrim(your _ch)

if found() thenwait window "searchig is OK"NOW AITbrowse fields;accounnum,roomnumber,name,surname,passportnu,notes:H=' '·

elsewait window "it's not found!"wait window "to exit press enter"endifdo C:\400\searchO.prg

95

***** SEVILAY HOTEL*****

I

SEARCHING

ı ı. BY EMPLOYEE NAME I

\ 2. BY ID NUMBER Iı 3. QUIT I

••

96

* SEARCHING FOR EMPLOYEE MENU PROGRAM

*

***

*************************************************************

*

***********************************************t*************

CLEARSTORE O TO CHOICEDO WHil.,E CHOICE < 3

@4,21 SAY 11 ***** Sevilay Hotel *****11;

FONT "jokar", 24 ;STYLE 11W11;

@10,33 SAY II SEARCHING";FONT "jokar", 20 ;STYLE 11W11;

@16,33 PROMPT 111. BY EMPLOYEE NAME11

@19,33 PROMPT 112. BY ID NUMBER11

@22,33 PROMPT 113. QUIT11

@8,28 TO 32, 60 DOUBLE;COLOR RGB(0,220,0, 128,,,)@13,28 TO 32, 60 DOUBLE;COLOR RGB(0,220,0, I 28,,,)MENU TO CHOICEDO CASECASE CHOICE=lDO C:\400\empl.prgCASE CHOICE=2DO C:\400\emp2.prgCASE CHOICE=3DO C:\400\searchO.prgENDCASE

••

*READCLEAREND DO

97

ENTER EMPLOYEE ID. #

£VILA Y HOTEL

SEVIIAY IIOTEL- - - - .

98

•••***********************************************************•

• SEARCHING PROGRAM FOR EMPLOYEE BY ID NUMBER **•*************************************************************

cleardo findprocedure find

define window al at 12,12 size 4,40 systemactivate window alyour_ch=space(12)@1,1 say "input Employee ID"@1,21 get your_chreadrelease window aluse C:\400\employee.dbflocate all for alltrim(idnumber)=alltrim(your_ch)

if found() thenwait window "searchig is OK"NOW AITbrowse fields;idnumber,place,name,surname:H=' ';

elsewait window "it's not found!"wait window "to exit press enter"endifdo C:\400\searchO.prg

••

99

ENTER EMPLOYEE NAME

SEVILAY HOTEL

SEViL,\ Y IIOTEL-- - - -- .,__ ~ - - .

*************************************************************

* SEARCHING PROGRAM FOR EMPLOYEE BY NAME

*

***

*

*************************************************************

cleardo findprocedure find

define window al at 12,12 size 4,40 systemactivate window al your_ ch=space(l 2) @1,1 say "input Employee name" @1,21 get your_chreadrelease window a 1use C:\400\employee.dbflocate all for alltrim(name)=alltrim(your_ch)if found() thenwait window "searchig is OK"NOW AiTbrowse fields;name,surname,idnumber,place:H=' ';

elsewait window "it's not found!"wait window "to exit press enter"endifdo C:\400\searchO.prg

101

***** SEVILAY HOTEL*****

GOODS

l 1. BUYING GOODS j L2. SELLING GOODS ]

\3. QUll \

102

***************************************************************

* GOODS PROGRAM *

***************************************************************CLEARSTORE O TO CHOICEDO WHILE CHOICE < 3

@4,21 SAY" ***** Sevilay Hotel*****" ;FONT "jokar", 24 ;STYLE "W";

@10,33 SAY" GOODS "·FONT "jokar", 20 ;STYLE "W";

@16,33 PROMPT "l. BUYING GOODS "@19,33 PROMPT "2. SELLING GOODS "@22,33 PROMPT "3. QUIT "@8,28 TO 32, 60 DOUBLE;COLOR RGB(0,220,0, 128,,,)@13,28 TO 32, 60 DOUBLE;COLOR RGB(0,220,0, 128,,,)MENU TO CHOICEDO CASECASE CHOICE=lDO C:\400\pgoods.prgCASE CHOICE=2DO C:\400\sgoods.prgCASE CHOICE=3 "DO C:\400\a.prgENDCASE*READCLEARENDDO

103

KIND:CLASSES

f QUANTITY. SO DOZEN ı

COST 100 DOLAR

PRUCH DATE04/04/99

104

* *********************************************************

* * * * PGOODS.SPR

* * * *********************************************************

* * * ********************************************************* * *********************************************************

* * * * PGOODS/Windows Setup Code - SECTION I

* * * *********************************************************

* #REGION 1PRIVATE wzfields, wztalkIF SET("T ALK") = "ON"

SET TALK OFFm.wztalk = "ON"

ELSEm.wztalk = "OFF"

END IFm.wzfıelds=SET('FIELDS ')SET FIELDS OFFIF m.wztalk = "ON"

SET TALK ONENDIF

#REGION OREGIONAL m.currarea, m.talkstat, m.compstat

IF SET("T ALK") = "ON"SET TALK OFFm.talkstat = "ON"

••

ELSEm.talkstat = "OFF"

ENDIFm.compstat = SET("COMPATIBLE")SET COMPATIBLE FOXPLUS

m.rborder = SET("READBORDER")SET READBORDER ON

m.currarea = SELECT()

105

* ********************************************************* * * * S075319/Windows Databases, Indexes, Relations* * * * ********************************************************* *

IF USED("pgoods")SELECT pgoodsSET ORDER TO TAG "_00404pdog"

ELSE •• SELECT OUSE (LOCFILE("pgoods.dbf',"DBF","Where is pgoods?"));

AGAIN ALIAS pgoods ;ORDER TAG "_00404pdog"

END IF

* ********************************************************* * * * Windows Window definitions* * * * ********************************************************* * IF NOT WEXIST("_00404t2yj")

DEFINE WINDOW _00404t2yj;AT 0.000, 0.000 ;SIZE 10.500,71.429;TITLE "Pgoods" ;FONT "Times New Roman", 12;STYLE "B";FLOAT;CLOSE;MINIMIZE;COLOR RGB(,,, 192, 192,192)

MOVE WINDOW_ 00404t2yj CENTEREND IF

* ********************************************************* * * * * PGOODS/Windows Setup Code - SECTION 2* *

106

* *********************************************************

* #REGION 1

#DEFINE C_DBFEMPTY 'Database is empty, add a record?'#DEFINE C_EDITS 'Please finish your edits.'#DEFINE C_TOPFILE 'Top of file.'#DEFINE C END FILE 'End of file.'#DEFINE C BRTITLE 'Locate Record'#DEFINE C_NOLOCK 'Sorry, could not lock record-- try again later.'#DEFINE C ECANCEL 'Edits Canceled.'#DEFINE C DELREC 'Delete selected record?'#DEFINE C_NOFEAT 'Feature not available yet'#DEFINE C_NOWIZ 'Wizard application is not available.'#DEFINE C_MAKEREPO 'Creating report with Report Wizard.'#DEFINE C_NOREPO 'Could not create report.'#DEFINE C_DELNOTE 'Deleting records ... '#DEFINE C_READONL Y 'Table is read-only. No editing allowed.'#DEFINE C_NOTABLE 'No table selected. Open table or run query.'#DEFINE C_BADEXPR 'Invalid expression.'#DEFINE C LOCWIZ 'Locate WIZARD APP:'#DEFINE C_MULTITABLE'You have multiple related tables. Adding records in notallowed.'

MOVE WINDOW ', 00404t2yj' CENTERPRIVATE isediting,isadding,wztblarrPRIVATE wzolddelete, wzolderror, wzoldescPRIVATE wzalias, tempcurs,wzlastrecPRIVATE isreadonly,find_drop,is2table

IF EMPTY(ALIAS())WAiT WINDOW C NOT ABLERETURN

ENDIF••

m.wztbları= "m.wzalias=SELECT()m. isediting= .F.m.isadding=.F.m. is2table = .F.m.wzolddelete=SET('DELETE')SET DELETED ON'm.tempcurs=SYS(2015) &&used if General fieldm.wzlastrec = 1m.wzolderroı=ON('error')

107

ON ERROR DO wizerrorhandlerwzoldesc=ON('KEY', 'ESCAPE')ON KEY LABEL ESCAPEm.find_drop = IIF(_DOS,0,2)

m.isreadonly=IIF(ISREAD(),.T.,.F.)IF m.isreadonly

WAiT WINDOW C READONL Y TIMEOUT 1END IF

SET READBORDER OFF

IF RECCOUNT()=O AND lm.isreadonly AND fox_alert(C_DBFE.NIPTY)APPEND BLANK

END IF

GOTO TOPSCATTER MEMV AR MEMO

* ********************************************************* * * * * PGOODS/Windows Screen Layout* * * ********************************************************* *

#REGION 1IF WVISIBLE("_00404t2yj")

ACTIVATE WINDOW_ 00404t2yj SAMEELSE

ACTIVATE WINDOW _00404t2yj NOSHOWENDIF@0.000,0.143 TO 1.850,71.429;

PATTERN 1;PEN 1, 8;COLOR RGB(O,O,128,128,0,0)

@2.400,3.429 TO 3.850,19.000;PATTERN 1;PEN 1, 8;COLOR RGB(0,0,0,255,255,255)

@ 3. 150,3.714 GET m.kind;SIZE 1.000, 17.333 ;DEFAULT II II;

FONT "MS Sans Serif', 8 ;STYLE "B";

108

PICTURE "@K XXXXXXXXXXXXX" ;WHEN isediting ;COLOR ,RGB(0,0,0,255,255,255)

@2.450,3.714 SAY "Kind:";SIZE 1.000,11.600;FONT "MS Sans Serif', 8 ;STYLE "T";COLOR RGB(0,0,255,255,255,255)

@4. 100,20.571 TO 5.550,37.285 ;PATTERN 1;PEN 1, 8;COLOR RGB(0,0,0,255,255,255)

@4.850,20.857 GET m.quantity ;SIZE 1.000,18.667;DEFAULT ti II; FONT "MS Sans Serif', 8 ;STYLE "B";PICTURE "@K X:XXXXXX:X:X:XX:XXX";WHEN isediting ;COLOR ,RGB(0,0,0,255,255,255)

@4.150,20.857 SAY "Quantity:";SIZE 1. 000, 11. 600 ;FONT "MS Sans Serif', 8 ;STYLE "T";COLOR RGB(0,0,255,255,255,255)

@ 5.400,39.429 TO 6.850,47.143 ;PATTERN 1;PEN 1, 8;COLOR RGB(0,0,0,255,255,255)

@6.150,39.714 GET m.cost ;SIZE 1.000,8.167;DEFAULT"";FONT "MS Sans Serif', 8 ;STYLE "B";PICTURE "@K 999,999" ;WHEN isediting;

lo

COLOR ,RGB(0,0,0,255,255,255)@5.450,39.714 SAY "Cost:";

SIZE 1.000,11.600;FONT "MS Sans Serif', 8 ;STYLE "T";COLOR RGB(0,0,255,255,255,255)

@6.600,53.143 TO 8.050,62. 143 ;PATTERN 1;PEN 1, 8;COLOR RGB(0,0,0,255,255,255)

109

@ 7.350,53.429 GET m.purch_date;SIZE 1.000,9.000;DEFAULT" II;

FONT "MS Sans Serif', 8 ;STYLE "B";PICTURE "@K" ;WHEN isediting ;COLOR ,RGB(0,0,0,255,255,255)

@6.650,53.429 SAY "Purch_date:";SIZE I .000,1 l.600;FONT "MS Sans Serif', 8 ;STYLE "T";COLOR RGB(0,0,255,255,255,255) ..

@ 8.050,0.000 TO 8.700,1.429;PEN 1, 8;STYLE "T";COLOR RGB( 192,192, 192,,,,)

@8.650,0.143 TO 10.500,71.429;PATTERN 1;PEN 1, 8;COLOR RGB(0,0,128, 128,0,0)

@ 8.950,5.429 GET m.top_btn;PICTURE "@*BHN II + ;

(LOCFILE("d: \fpw26\wizards\wizbmps\wztop. bmp", "BMPIICOIPCTIICN", "Whereis wztop?")) ;

SIZE 1.350,3.857,0.571 ;DEFAULT 1;FONT "Times New Roman", 12;STYLE "B";VALID btn_val('TOP') ;MESSAGE 'Go to first record.'

@8.950,10.571 GET m.prevbtn ;PICTURE "@*BHN " + ;

(LOCFILE("d:\fpw26\wizards\wizbmps\wzback.bmp","BMPIICOIPCTIICN","Where is wzback?"));

SIZE 1.350,3.857,0.571 ;DEFAULT 1;FONT "Times New Roman", 12;STYLE "B";VALID btn~val('PREV') ;MESSAGE 'Go to previous record.'

@ 8.950,15.714 GET m.loc btn ;PICTURE "@*BHN II + ;

110

(LOCFILE("d:\fpw26\wizards\wizbmps\wzlocate.bmp","B:NIPIICOIPCTIICN","Where is wzlocate?")) ;

SIZE 1.350,3.857,0.571 ;DEFAULT 1;FONT "Times New Roman", 12 ;STYLE "B";VALID btn_val('LOCA TE') ;MESSAGE 'Locate a record.'

@ 8.950,20.857 GET m.nextbtn ;PICTURE "@*BHN " + ;

(LOCFILE(" d: \fpw26\wizards\wizbmps\wznext. bmp", "BMPIICOIPCTIICN","Where is wzrıext'i'ü) ;

SIZE 1.350,3.857,0.571 ;DEFAULT 1;FONT "Times New Roman", 12;STYLE 11B";VALID btn_val(NEXT') ;MESSAGE 'Go to next record.'

@ 8.950,26.000 GET m.end_btn;PICTURE "@*BHN II + ;

(LOCFILE(11 d: \fpw26\wizards\wizbmps\wzend. bmp", "BMPIICOIPCTIICN","Whereis wzend?11)) ;

SIZE 1.350,3.857,0.571 ;DEFAULT 1;FONT "Times New Roman", 12;STYLE "B";VALID btn_val('END') ;MESSAGE 'Go to last record.'

@8.950,31.143 GET m.add_btn;PICTURE "@*BHN II + ;

(LOCFILE(" d: \fpw26\wizards\wizbmps\wznew. bmp", 11B:NIPIICOjPCTjICN","Where is wznew?")); "

SIZE 1.350,3.857,0.571 ;DEFAULT 1;FONT "Times New Roman", 12;STYLE "B11;

VALID btn_val(' ADD') ;MESSAGE 'Add a new record.'

@ 8.950,36.286 GET m.editbtn ;PICTURE "@*BHN II + ;

l 11

(LOCFILE("d:\fpw26\wizards\wizbmps\wzedit.bmp","B.MPIICOIPCTIICN","Where is wzedit?")) ;

SIZE 1.350,3.857,0.571 ;DEFAULT 1;FONT "Times New Roman", 12;STYLE "B";VALID btn val('EDIT') ;MESSAGE 'Edit current record.'

@ 8.950,41.429 GET m.del_btn;PICTURE "@*BHN " + ;

(LOCFILE(" d: \fpw26\wizards\wizbmps\wzdelete. bmp ", "B.MPIICOIPCTIICN","Wh- . ere is wzdelete?")) ;SIZE 1.350,3.857,0.571 ;DEFAULT 1;FONT "Times New Roman", 12;STYLE "B";VAUD btn_val('DELETE') ;MESSAGE 'Delete current record.'

@ 8.950,46.571 GET m.save_btn;PICTURE "@*BHN " + ;

(LOCFILE("d:\fpw26\wizards\wizbınps\wzsave.bmp","B.MPIICOIPCTIICN","Where is wzsave?")) ;

SIZE 1.350,3.857,0.571 ;DEFAULT 1;FONT "Times New Roman", 12;STYLE "B";VALID btn_val('SA VE') ;MESSAGE 'Save edits.'

@ 8.950,51.714 GET m.can btn ;PICTURE "@*BHN " + ;

(LOCFILE(" d: \fpw26\wizards\wizbmps\wzundo. bınp", "B.MPIICOIPCTIICN","Where is wzundo?")) ;

SIZE 1.350,3.857,0.571 ;DEFAULT 1;FONT "Times New Roman", 12;STYLE "B";VALID btn_val('CANCEL') ;MESSAGE 'Cancel edits.'

@ 8.950,56.857 GET m.prnt_btn;PICTURE "@*BHN " + ;

112

(LOCFILE(" d: \fpw26\wizards\wizbmps\wzprint. bmp", "B:MPjICOjPCTjICN","Where is wzprint?")) ;

SIZE 1.350,3.857,0.571 ;DEFAULT 1;FONT "Times New Roman", 12;STYLE "B";VALID btn_val('PRINT') ;MESSAGE 'Print report.'

@ 8.950,62.000 GET m.exitbtn ;PICTURE "@*BHN " + ;

(LOCFILE(" d: \fpw26\wizards\wizbmps\wzclose bmp", "BMPjICOIPCTjICN", "Where is wzclose?")) ;

SIZE 1.350,3.857,0.571 ;DEFAULT 1;FONT "Times New Roman", 12;STYLE "B";VALID btn val('EXIT');MESSAGE 'Close screen.'

@0.450,25.714 SAY "BUYING GOODS";FONT "Times New Roman", 12;STYLE "BT";COLOR RGB(255,255,255,,,,)

IF NOT WVISIBLE("_00404t2yj")ACTIVATE WINDOW _00404t2yj

END IF

* ********************************************************** * * * WindowsREAD contains clauses from SCREEN s0753 l 9* * * ********************************************************** ••

READ CYCLE;ACTIVATE READ ACT() ;DEACTIVATE READDEAC() ;NOLOCK

RELEASE WINDOW_ 00404t2yj

* ********************************************************** *

l 13

* * Windows Closing Databases* * * ********************************************************* * IF USED("pgoods")

SELECT pgoodsUSE

END IF

SELECT (m.currarea)

•• #REGION O

SET READBORDER &rborder

IF m.talkstat = "ON"SET TALK ON

END IFIF m.compstat = "ON"

SET COMPATIBLE ONEND IF

* ********************************************************* * * * * PGOODS/Windows Cleanup Code* * * ********************************************************* * #REGION 1SET DELETED &wzolddeleteSET FIELDS &wzfıeldsON ERROR &wzolderrorON KEY LABEL ESCAPE &wzoldescDO CASECASE _DOS AND SET('DISPLAY')='VGA25'

@24,0 CLEAR TO 24,79CASE _DOS AND SET('DISPLA Y')='VGA50'

@49,0 CLEAR TO 49,79CASE DOS

@24,0 CLEAR TO 24,79ENDCASE

114

****Procedures****

* * *

**********************************************************

* * *

* PGOODS/Windows Supporting Procedures and Functions* *********************************************************

#REGION 1PROCEDURE readdeac

IF iseditingACTIVATE WINDOW '_00404t2yj'WAIT WINDOW C EDITS NOW AIT

ENDIFIF !WVISIBLE(WOUTPUT())

CLEAR READRETURN .T.

ENDIFRETURN .F.

PROCEDURE readactIF !isediting

SELECT (m.wzalias)SHOW GETS

ENDIFDO REFRESH

RETURN

PROCEDURE wizerrorhandler* This very simple error handler is primarily intended* to trap for General field OLE errors which may occur* during editing from the MODIFY GENERAL window.WAIT WINDOW message()

RETURN ••

PROCEDURE printrecPRIVATE sOldError, wizfname, saverec,sa vearea, tmpcurs, tmpstrPRIVATE prnt_btn,p_recs,p _output,pr _out,pr_recordSTORE 1 TO p_recs,p _outputSTORE O TO prnt_btnSTORE RECNO() TO saverecm. sü ldError=ON ('error')DO pdialog

115

IF m.prnt_btn = 2RETURN

ENDIFIF !FILE(ALIAS()+' .FR,,"<:')

m.wizfname=SYS(2004)+'WIZARDS\'+'WIZARD.APP'IF !FILE(m.wizfname)

ON ERROR*m.wizfname=LOCFILE('WIZARD.APP','APP',C _LOCWIZ)ON ERROR &sOldErrorIF !'WIZARD.APP'$UPPER(m.wizfname)WAiT WINDOW C NOWIZRETURNEND IF

END IFWAiT WINDOW C MAKEREPO NOW AiT

••

m. savearea=SELECT()m. tmpcurs='_'+LEFT(SYS(3 ), 7)CREATE CURSOR (rn.trnpcurs) (comment m)m.tmpstr ='*LAYOUT= COLUMNAR'+CHR(13)+CHR(10)INSERT INTO (m.tmpcurs) VALUES(m.tmpstr)SELECT (rn.savearea)DO (m.wizfname) WITH

",'WZ_QREPO', 'NOSCRN/CREATE',ALIAS(),m. tmpcursUSE IN (m.tmpcurs)

WAIT CLEARIF !FILE(ALIAS()+'.FRX') &&wizard could not create reportWAiT WINDOW C NOREPORETURNEND IF

ENDIF

rn.pr_out=IIF(m.p_output=l,'TO PRINT NOCONSOLE','PREVIEW')rn.pr_record=IIF(rn.p _recs=l ,'NEXT I ','ALL')REPORT FORM (ALIAS()) &pr_out &pr_recordGO rn.saverec

RETURN

PROCEDURE BTN VALPARAMETER rn. btnnameDO CASECASE m. btnnarne='TOP'

GO TOPWAiT WINDOW C TOPFILE NOW AiT

CASE rn.btnname='PREV'IF !BOF()

116

IF m.prnt_btn = 2RETURN

ENDIFIF !FILE(ALIAS()+'.FRX')

m.wizfname=SYS(2004)+'WIZARDS\'+'WIZARD.APP'IF !FILE(m.wizfname)

ON ERROR*m.wizfname=LOCFILE('WIZARD.APP','APP',C _LOCWIZ)ON ERROR &sOldErrorIF !'WIZARD.APP'$UPPER(m.wizfname)WAIT WINDOW C NOWIZRETURNEND IF

END IFWAIT WINDOW C MAKEREPO NOW AIT

m. savearea=SELECT()m.tmpcurs='_'+LEFT(SYS(3),7)CREATE CURSOR (m. tmpcurs) (comment m)m.tmpstr ='*LAYOUT= COLUMNAR'+CHR(13)+CHR(10)INSERT INTO (m.tmpcurs) VALUES(m.tmpstr)SELECT (m.savearea)DO (m.wizfname) WITH

", 'WZ_QREPO', 'NOSCRN/CREATE',ALIAS(),m. tmpcursUSE IN (m.tmpcurs)

WAIT CLEARIF !FILE(ALIAS()+'.FRX') &&wizard could not create reportWAIT WINDOW C NOREPORETURNEND IF

ENDIF

m.pr_out=IIF(m.p_output=l,'TO PRINT NOCONSOLE','PREVIEW')m.pr_record=IIF(m.p_recs=l,'NEXT l','ALL')REPORT FORM (ALIAS()) &pr_out &pr_recordGO m.saverec

RETURN

PROCEDURE BIN VALPARAMETER m.btnnameDO CASECASE m.btnname='TOP'

GO TOPWAIT WINDOW C TOPFILE NOW AIT

CASE m.btnname='PREV'IF !BOF()

116

SKIP -1END IFIF BOF()

WAlT WINDOW C TOPFILE NOW AITGO TOP

END IFCASE m.btnname='NEXT'

IF !EOF()SKIP 1

END IFIF EOF()

WAiT WINDOW C END FILE NOW AITGO BOTTOM

END IFCASE m.btnname='END'

GO BOTTOMWAiT WINDOW C END FILE NOW AiT

CASE m.btnname='LOCATE'DO loc_dlog

CASE m.btnname='ADD' AND !isediting &&add recordisediting=.T.isadding=.T.=edithand(' ADD')_curobj=lDO refreshSHOW GETSRETURN

CASE m.btnname='EDIT' AND !isediting &&edit recordIF EOF() OR BOF()

WAiT WINDOW C END FILE NOW AiTRETURN

END IFIFRLOCK()

isediting=.T._curobj=lDO refreshRETURN

ELSE

••

WAlT WINDOW C NOLOCKRETURN

ENDIFCASE m.btnname='SAVE' AND isediting &&save record

IF isadding=edithand('SA VE')

ELSEGATHER MEMV AR MEMO

117

8lI

END IFUNLOCKisediting=.F.isadding=.F.DO refresh

CASE m.btnname='CANCEL' AND isediting &&cancel recordIF isadding

=edithand('CANCEL')END IFi sediting=. F.isadding=.F.UNLOCKWAIT WINDOW C ECANCEL NOW AIT

- "DO refreshCASE m. btnname='DELETE'

IF EOF() OR BOF()WAIT WINDOW C END FILE NOW AITRETURN

END IFIF fox_alert(C_DELREC)

DELETE[F !EOF() AND DELETED()

SKIP 1END IFIF EOF()

WAIT WINDOW C END FILE NOW AITGO BOTTOM

END IFELSE

RETURNEND IF

CASE m. btnname='PRINT'DO printrecRETURN

CASE m. btnname='EXIT'm.bailout=.T. &&this is needed if used with FoxAppCLEAR READRETURN

OTHERWISERETURN

END CASESCATTER MEMV AR MEMOSHOW GETS

RETURN

PROCEDURE REFRESHDO CASECASE m.isreadonly AND RECCOUNT()=O

SHOW GETS DISABLESHOW GET exit btn ENABLE

CASE m.isreadonlySHOW GET add btn DISABLESHOW GET edit btn DISABLESHOW GET del btn DISABLESHOW GET save btn DISABLESHOW GET can btn DISABLE

CASE (RECCOUNT()=O OR EOF()) AND lm.iseditingSHOW GETS DISABLESHOW GET add btn ENABLESHOW GET exit btn ENABLE

CASE m.iseditingSHOW GET find_drop DISABLE

SHOW GET top_ btn DISABLESHOW GET prev_btn DISABLESHOW GET loc btn DISABLESHOW GET next btn DISABLESHOW GET end btn DISABLESHOW GET add btn DISABLESHOW GET edit_btn,l DISABLESHOW GET del_btn,l DISABLESHOW GET prnt_btn DISABLESHOW GET exit btri DISABLESHOW GET save btn ENABLESHOW GET can btn ENABLEON KEY LABEL ESCAPE DO BTN VAL WITH 'CANCEL'RETURN

OTHERWISESHOW GET fınd_drop ENABLE

SHOW GET top_ btn ENABLESHOW GET prev_btn ENABLESHOW GET loc btn ENABLE "SHOW GET next btn ENABLESHOW GET end btn ENABLESHOW GET add btn ENABLESHOW GET edit_btn,l ENABLESHOW GET del_btn,l ENABLESHOW GET prnt_btn ENABLESHOW GET exit btn ENABLESHOW GET save btn DISABLESHOW GET can btn DISABLE

END CASE

IF m.is2tableSHOW GET add btn DISABLE

ENDIFON KEY LABEL ESCAPE

RETURN

PROCEDURE edithandPARAMETER m. paction* procedure handles editsDO CASECASE m.paction = 'ADD'

SCATTER MEMV AR MEMO BLANKCASE m.paction = 'SAVE' .•

INSERT INTO (ALIAS()) FROM MEMV ARCASE m. paction = 'CANCEL'

* nothing hereEND CASE

RETURN

PROCEDURE fox alertPARAMETER wzalrtmessPRIVATE alrtbtnm. alrtbtn=2

DEFINE WINDOW _qeclij2t7 AT 0,0 SIZE 8,50;FONT "MS Sans Serif',10 STYLE 'B';FLOAT NOCLOSE NOMINIMIZE DOUBLE TITLE WTITLE()

MOVE WINDOW _qeclij2t7 CENTERACTIVATE WINDOW _qeclij2t7 NOSHOW@ 2,(50-txtwidth(wzalrtmess))/2 SAY wzalrtmess;FONT "MS Sans Serif', 1 O STYLE "B"

@6,18 GET m.alrtbtn ;PICTURE "@*HT \<OK;\?\!\<Cancel";SIZE 1.769,8.667,1.333 ;FONT "MS Sans Serif', 8 STYLE "B"

ACTIVATE WINDOW _qeclij2t7READ CYCLE MODALRELEASE WINDOW _qeclij2t7

RETURN m.alrtbtn=l

PROCEDURE pdialogDEFINE WINDOW _qjnl2zbvh;

AT 0.000, 0.000 ;SIZE 13.231,54.800;TITLE "Microsoft FoxPro";FONT "MS Sans Serif', 8 ;

FLOAT NOCLOSE MINIMIZE SYSTEMMOVE WINDOW _qjnl2zbvh CENTERACTIVATE WINDOW _qjnl2zbvh NOSHOW@2.846,33.600 SAY "Output:" ;

FONT "MS Sans Serif', 8 ;STYLE "BT"

@2.846,4.800 SAY "Print:" ;FONT "MS Sans Serif', 8 ;STYLE "BT"

@4.692,7.200 GET m.p_recs;PICTURE "@*RVN \<Current Record;\<AII Records";SIZE 1.308, 18.500,0.308 ;DEFAULT 1;FONT "MS Sans Serif', 8;STYLE "BT"

@4.692,36.000 GET m.p_output;PICTURE "@*RVN \<PrinterPre\<view" ·' 'SIZE 1.308,12.000,0.308;DEFAULT 1;FONT "MS Sans Serif', 8;STYLE "BT"

@ 10. 154,16.600 GET m.prnt_btn;PICTURE "@*HT P\<rint·Ca\<ncel" ·' . 'SIZE 1.769,8.667,0.667;DEFAULT 1;FONT "MS Sans Serif', 8 ;STYLE "B"

ACTIVATE WINDOW _qjn12zbvhREAD CYCLE MODALRELEASE WINDOW _qjn12zbvh

RETURN

PROCEDURE loc_dlogPRIVATE gfıelds,iDEFINE WINDOW wzlocate FROM 1,1 TO 20,40;

SYSTEM GROW CLOSE ZOOM FLOAT FONT "MS Sans Serif',8MOVE WINDOW wzlocate CENTERm.gfıelds=SET('FIELDS',2)IF !EMPTY(RELATION(l))

SET FIELDS ONIF m.gfıelds # 'GLOBAL'

SET FIELDS GLOBALEND IFIF EMPTY(FLDLIST())

m.i=l

119

DO WHILE IEMPTY(OBJV AR(m.i))IF ATC('M.',OBJV AR(m.i))=O

SET FIELDS TO (OBJVAR(m.i))END IFm.i = m.i + 1

ENDDOEND IF

END IFBROWSE WINDOW wzlocate NOEDIT NODELETE ;

NOMENU TITLE C BRTITLESET FIELDS &gfieldsSET FIELDS OFFRELEASE WINDOW wzlocate

RETURN

SEVILı\ v HOTEL

SELLING GOODS

KIND:FACE CREAM

QUANTITY:51 PEICES

COST:110 DOLAR

PRUCH DATE05/03/99

••

120

* * SGOODS PROGRAM

* *********************************************************

* *

* ** *********************************************************

* ** ********************************************************* * *********************************************************

* ** * SGOODS/Windows Setup Code - SECTION 1* ** *********************************************************

*#REGION 1PRIVATE wzfields,wztalkIF SET("TALK") = "ON"

SET TALK OFFm.wztalk = "ON"

ELSEm.wztalk = "OFF"

END IFm. wzfields=SET('FIELDS ')SET FIELDS OFFIF m.wztalk = "ON"

SET TALK ONEND IF

#REGION OREGIONAL m.currarea, m.talkstat, m.compstat

IF SET("TALK") = "ON"SET TALK OFFm.talkstat = "ON"

ELSEm.talkstat = "OFF"

END IFm.compstat = SET("COMPATJBLE")SET COMPATIBLE FOXPLUS

m.rborder = SET("READBORDER")SET READBORDER ON

m. currarea = SELECT()

121

* *********************************************************

* ** * S286773/Windows Databases, Indexes, Relations* ** *********************************************************

*IF USED("sgoods")

SELECT sgoodsSET ORDER TO TAG "_00404uqti"

ELSESELECT OUSE (LOCFILE("sgoods.dbf',"DBF","Where is sgoods?"));

AGAIN ALIAS sgoods ;ORDER TAG "_00404uqti"

END IF

* *********************************************************

* ** * Windows Window definitions* ** *********************************************************

*IF NOT WEXIST("_00404xm47")

DEFINE WINDOW _00404xm47;AT 0.000, 0.000 ;SIZE 10.500,71.429;TITLE "Sgoods" ;FONT "Times New Roman", 12;STYLE "B";FLOAT;CLOSE;MINIMIZE;COLOR RGB(,,,255,255,255)

MOVE WINDOW 00404xm47 CENTERENDIF

* *********************************************************

* ** * SGOODS/Windows Setup Code - SECTION 2* *

122

* * *********************************************************

#REGION 1

#DEFINE C DBFEMPTY#DEFINE C EDITS#DEFINE C TOPFILE#DEFINE C ENDFILE#DEFINE C BRTITLE#DEFINE C NOLOCK#DEFINE C ECANCEL#DEFINE C DELREC#DEFINE C NOFEAT#DEFINE C NOWIZ#DEFINE C MAKEREPO#DEFINE C NOREPO#DEFINE C DELNOTE#DEFINE C READONL Y#DEFINE C NOT ABLE#DEFINE C BADEXPR#DEFINE C LOCWIZ

'Database is empty, add a record?''Please finish your edits.''Top of file''End of file.''Locate Record''Sorry, could not lock record -- try again later.''Edits Canceled.''Delete selected record?''Feature not available yet''Wizard application is not available.''Creating report with Report Wizard.''Could not create report.''Deleting records ... ''Table is read-only. No editing allowed.''No table selected. Open table or run query.''Invalid expression.''Locate WIZARD.APP:'

#DEFINE C_MULTITABLE'You have multiple related tables. Adding records in notallowed.'

MOVE WINDOW' 00404xm47' CENTERPRIVATE isediting,isadding, wztblarrPRIVATE wzolddelete, wzolderror, wzoldescPRIVATE wzalias, temp curs,wzlastrecPRIVATE isreadonly,fınd _drop,is2table

IF EMPTY(ALIAS())WAIT WINDOW C NOT ABLERETURN

ENDIF

m.wztblarr="m. wzalias=SELECT()m.isediting=.F.m.isadding=.F.m. is2table = .F.m.wzolddelete=SET('DELETE')SET DELETED ONm.tempcurs=SYS(2015) &&used if General fieldm. wzlastrec = 1m. wzolderror=ON('error')

123

ıno,(ıq UJJJ:lS SMOPU!M/SOOODS * *

: 11811 3.'L\lS: 8 ',J!JJS suns SWu lNOd

: "" l'lflV:!3.0: L99·sı'ooo·ı 3.ZIS

: purxuı 13.D oooz'osot ®(ççz:'ççz;'ççz;'o'o'o)HD)I )10'10::>

'. 8 'I N3.d: I N)l3llVd

'sz;ı,·sı'OÇL"£ Ol vll"l'OO£"Z ®to'o'szt 'sz: 'o'o)HD)I )10'10::>

'. 8 'I N3.d: I N113.ll Vd

: 6zvıl'oçs·ı 01 u-ro'oooo ®dl0N3.

MOHSON Lt,nıxı:,oı,oo M.OONIM.3.lVAil:)V

3.WVS Lt,ınxı,oı,oo MOONIM. 3lVAil:)V(•• Lt,ınxı,oı,oo- •• )3'18ISIAM. dl

lNOID3.)I#

********************************************************** *

* *

* ********************************************************** *

OW3.W W AW3.W )13.llV:JSdOlOlOD

dl0N3.)JNV'18 ON3.ddV

(AldW3d80-:))lJJJl?- XOJ ONV A[UOpt?JJS! uı i ONV O=OlNfl0:):)3.)1 dl

d.10 )13.@080V3.)I 13.S

dlON3I l003Wll A'1NOOV3.)I :) M.OONIM. .ııvM.

AfUOpUJJS!"W dl(·::ı:·'·ı·'()QV3.)ISÜdlI=AfUOpt?JJS!'W

(z'o'soüldlI = doıp-pug-w3.dV:JS3 '138V'l A3.)J NO

C3dV:)S3,',A3.)J,)NO=:lSJpfOZı\\1J1pun410JJJZ!ı\\ oa )10)1)13 NO

PICTURE "@K XXXXXXXXXXXXXX" ;WHEN isediting ;COLOR ,RGB(0,0,0,255,255,255)

@2.350,2.000 SAY "Kind:";SIZE 1. 000, 11. 600 ;FONT "MS Sans Serif', 8;STYLE "T";COLOR RGB(0,0,255,255,255,255)

@4.100,20.571 TO 5.550,36.714;PATTERN 1;PEN 1, 8;COLOR RGB(0,0,0,255,255,255)

@4.850,20.857 GET m.quantity ;SIZE 1.000, 18.000;DEFAULT"";FONT "MS Sans Serif', 8 ;STYLE "B";PICTURE "@K XXXXXXXXXXXX" ;WHEN isediting ;COLOR ,RGB(0,0,0,255,255,255)

@4.150,20.857 SAY "Quantity:";SIZE 1. 000, 1 1. 600 ;FONT "MS Sans Serif', 8 ;STYLE "T";COLOR RGB(0,0,255,255,255,255)

@5.400,41.143 TO 6.850,46.857;PATTERN 1;PEN 1, 8;COLOR RGB(0,0,0,255,255,255)

@6.150,41.429 GET m.cost ;SIZE 1.000,5.833 ;DEFAULT"";FONT "MS Sans Serif', 8;STYLE "B";PICTURE "@K 9,999" ;WHEN isediting; ı.

COLOR ,RGB(0,0,0,255,255,255)@5.450,41.429 SAY "Cost:";

SIZE 1.000,11.600;FONT "MS Sans Serif', 8 ;STYLE "T";COLOR RGB(0,0,255,255,255,255)

@ 6.600,51.429 TO 8.050,65.000;PATTERN I;PEN I, 8;COLOR RGB(0,0,0,255,255,255)

125

@ 7.350,51.714 GET m.purch_date;SIZE 1.000,15.000;DEFAULT"";FONT "MS Sans Serif', 8 ;STYLE "B";PICTURE "@K XXXXXXXXXX" ;WHEN isediting ;COLOR ,RGB(0,0,0,255,255,255)

@6.650,51.714 SAY "Purch_date:";SIZE 1.000,11.600;FONT "MS Sans Serif', 8 ;STYLE "T";COLOR RGB(0,0,255,255,255,255) "

@ 8.050,0.000 TO 8.700, 1.429;PEN 1, 8;STYLE "T";COLOR RGB( 192, I 92, 192,,,,)

@ 8.650,0.143 TO 10.500,71.429;PATTERN 1;PEN 1, 8;COLOR RGB(O,O,128,128,0,0)

@ 8.950,5.429 GET m.top_btn;PICTURE "@*BHN ıı. + ;

(LOCFILE("d:\fpw26\wizards\wizbmps\wztop.bmp","BMPIICOIPCTIICN",''Whereis wztop?")) ;

SIZE 1.350,3.857,0.571 ;DEFAULT 1;FONT "Times New Roman", 12;STYLE "B";VALID btn val('TOP') ;MESSAGE 'Go to first record.'

@8.950,10.571 GET rn.prevbtn ;PICTURE "@*BHN " + ;

(LOCFILE(" d: \fpw26\wizards\wizbmps\wzback. bmp", "BMPIICOIPCTIICN", "Where is wzback?"));

SIZE 1.350,3.857,0.571 ;DEFAULT ı ,FONT "Times New Roman", 12;STYLE "B";VALID btn_val('PREV') ;MESSAGE 'Go to previous record.'

@ 8.950,15.714 GET m.loc_btn;PICTURE "@*BHN " + ;

126

(LOCFILE(" d: \fpw26\ wizards\wizbmps\wzlocate. bmp", "BMPIICOIPCTIICN", "Where is wzlocate?")) ;

SIZE 1.350,3.857,0.571 ;DEFAULT 1;FONT "Times New Roman", 12;STYLE "B";VALID btn_val('LOCATE');MESSAGE 'Locate a record.'

@ 8.950,20.857 GET m.nextbtn ;PICTURE "@*BHN " + ;

(LOCFILE(" d: \fpw26\wizards\wizbmps\wznext bmp", "BMPIICOIPCTIICN","Where is wznext?")) ;

SIZE 1.350,3.857,0 571 ;DEFAULT 1;FONT "Times New Roman", 12;STYLE "B";VALID btn_val('NEXT') ;MESSAGE 'Go to next record.'

@ 8.950,26.000 GET m.end_btn;PICTURE "@*BHN II+;

(LOCFILE("d: \fpw26\wizards\wizbmps\wzend. bmp ", "BMPIICOIPCTIICN","Whereis wzend?")) ;

SIZE 1.350,3.857,0.571 ;DEFAULT ı ,FONT "Times New Roman", 12;STYLE "B";VALID btn_val('END') ;MESSAGE 'Go to last record.'

@8.950,31.143 GET m.addbtn ;PICTURE "@*BHN II + ;

(LOCFILE("d:\fpw26\wizards\wizbmps\wznew.bmp","BMPIICOIPCTl1CN","Where is wznew?")) ; "

SIZE 1.350,3.857,0.571 ;DEFAULT 1;FONT "Times New Roman", 12;STYLE "B";VALID btn_val(' ADD') ;MESSAGE 'Add a new record.'

@ 8.950,36.286 GET m.editbtn ;PICTURE "@*BHN " + ;

127

8ZI

'. + II NHH*®" tllifll'.)Id'uıq-ıUJd·uı 13:0 gg·9ç'oç6·8@,·sı!pa ıaJUt?'.), 30VSS'.3Jı"{

'. Cı3'.)NV'.),)It?A -uıq orrvA'. .. a.. 3'L\lS

'. Z:l \mmıo11 MaN S;}UI!L lN0.>1'. I lıD.V.>130

' ıg ozssrosr ı azıs'. (( •• lopunzM S! aı

a4M.11'11N:.:>Ill:.:>dlü:.:>IldWH •• '11duıq·opunzM\Sduıqz!M\Sp1t?Z!M\9ZMtiJ\:p11)31H'.)Oı)

'. + II NHS:*®" tllifll'.)ld'. tnq ueouı l30 vll'JÇ'OÇ6"8@

, ·sı!pa aAt?S, 30VSS3J'\I'. C3A VS,)[t?A- uıq QlıV A

'. .. a.. 3'L\lS'. Z:l \Ut?UIO)I MaN seunj, •• lNO.>I

'. I lıD.V.>130'. ILÇ'O'LÇg·(OÇ£'I 3ZIS

'. ((11laAt?SZM S! g

1a4M.11' •• N:.:>Ill:.:>dlü:.:>IidWHıı' 11 duıq ·aA l:?SZM\Sduıqz!M\SPJt?Z!M\9Z:MdJ\ :p11)3ıH'..:>Oı)

'. + " NH8*®" tllifll'.)ld'. ınq' oxnsuı 130 ILÇ'9fOÇ6'8 ®

,·p10Ja1 ıuaııno ~ıapa. 30VSS'.3Jı"{'. C313ı30.)it?A - uıq QlıV A

'. •• H •• 3'L\lS'. Zl \Ul:?UIO)I MaN sawn •• lNO.>I

'. I lıD.V.>13G'. ILÇ o'zssc'oscı 3ZIS

'. ((..laıappzM S! aıaqM.11'11N:.:>Ill:.:>dlü:.:>IldW811'11duıq·aı;:ıppzM\Sdufqz!M\Sp11?z!M\9Z:MdJ\:p11)t:nH:.:>Oı)

'. + II NHS:*®" tllifll'.)ld'. uıq jopuı 130 6Z:v' lv'oç6·8@

,·p10J~1 ıuaııno l!P3, 30VSS'.3Jı"{'. C1ıat1.)ıl:?A - uıq QlıV A

'. 11811 3'L\lS'. ZI \.Ul:?UIO)I M;:JN S;:JUI!l11 lNO.>I

'I lıD.V.>130'. llÇ'O'LÇ8·£'o磷 I 3ZIS

'. (C.ll!pazM S! ;:ıJ;:)l{M.ıı' •• N:.:>Ill:.:>dlü:.:>IldWHıı ' •• durq 'l!P;:)ZM\SdUJqZ!M\SPJl:?Z!M\9ZMdJ\ :p •• )3'1H'.)Oı)

(LOCFILE("d: \fpw26\wizards\wizbmps\wzprint. bmp", "BMPIICOIPCTIICN","Where is wzprint?")) ;

SIZE 1.350,3.857,0.571 ;DEFAULT 1;FONT "Times New Roman", 12;STYLE "B";VALID btn_val('PRINT') ;MESSAGE 'Print report.'

@ 8.950,62.000 GET m.exit_btn;PICTURE "@*BHN " + ;

(LOCFILE("d:\fpw26\wizards\wizbmps\wzclose.bmp","BMPIICOIPCTIICN","Where is wzclose?")) ;

SIZE 1.350,3.857,0.571 ;DEFAULT 1;FONT "Times New Roman", 12;STYLE "B";VALID btn_val('EXIT') ;MESSAGE 'Close screen.'

@0.450,24.000 SAY "SELLING GOODS";FONT "Times New Roman", 12;STYLE "BT";COLOR RGB(25 5,255,255 ,,,,)

IF NOT WVISIBLE("_00404xm47")ACTIVATE WINDOW 00404xm47

END IF

* *********************************************************

* ** * WindowsREAD contains clauses from SCREEN s286773

* ** *********************************************************

* ••

READ CYCLE;ACTIVATE READ ACT() ;DEACTIVATE READDEAC() ;NOLOCK

RELEASE WINDOW 00404xm47

* *********************************************************

* *

129

* * Windows Closing Databases* ** ********************************************************* *IF USED("sgoods")

SELECT sgoodsUSE

END IF

SELECT (m.currarea)

#REGION O

SET READBORDER &rborder

IF m.talkstat = "ON"SET TALK ON

END IFIF m.compstat =: "ON"

SET COMPATIBLE ONEND IF

* ********************************************************* * ** * SGOODS/Windows Cleanup Code* ** ********************************************************* *#REGION 1SET DELETED &wzolddeleteSET FIELDS &wzfıeldsON ERROR &wzolderrorON KEY LABEL ESCAPE &wzoldescDO CASECASE _DOS AND SET('DISPLAY')='VGA25'

@24,0 CLEAR TO 24,79CASE _DOS AND SET('DISPLA Y')='VGA50'

@49,0 CLEAR TO 49,79CASE DOS

@24,0 CLEAR TO 24,79ENDCASE

130

IF rn. prnt_btn = 2RETURN

END IFIF !FILE(ALIAS()+'.FRX')

m. wizfname=S YS(2004)+'WIZARDS\'+'WIZARD. APP'IF !FILE(rn.wizfname)

ONERRO~ *rn.wizfname=LOCFILE('WIZARD. APP', 'APP', C LOCWIZ)ON ERROR &sOldErrorIF !'WIZARD.APP'$UPPER(rn.wizfname)WAiT WINDOW C NOWIZRETURNEND IF

END IFWAiT WINDOW C MAKEREPO NOW AIT

rn. savearea=SELECT()rn.tmpcurs='_'+LEFT(SYS(3), 7)CREATE CURSOR (m.tmpcurs) (comment m)rn.tmpstr ='*LAYOUT= COLUMNAR'+CHR(l3)+CHR(10)INSERT INTO (rn.tmpcurs) VALUES(m.tmpstr)SELECT (m.savearea)DO (m.wizfname) WITH

", 'WZ_QREPO','NOSCRN/CREATE',ALIAS(),rn.tmpcursUSE IN (m.tmpcurs)

WAIT CLEARIF !FILE(ALIAS()+'.FRX') &&wizard could not create reportWAiT WINDOW C NOREPORETURNEND IF

END IF

m.pr_out=IIF(m.p_output=l,'TO PRINT NOCONSOLE','PREVIEW')m.pr_record=IIF(m.p _recs=l,'NEXT I ','ALL')REPORT FORM (ALIAS()) &pr_out &pr__recordGO rn. saverec

RETURN

PROCEDURE BTN VALPARAMETER rn. btnnarneDO CASECASE m.btnname='TOP'

GO TOPWAiT WINDOW C TOPFILE NOW AIT

CASE rn.btnnarne='PREV'IF !BOF()

132

SKIP -1END IFIF BOFO

WAIT WINDOW C TOPFILE NOWAITGO TOP

END IFCASE m.btnname='NEXT'

IF !EOF()SKIP I

END IFIFEOFO

WAIT WfNDOW C ENDFILE NOW AITGO BOTTOM

END IFCASE m.btnname='END'

GO BOTTOMWAIT WINDOW C ENDFILE NOW AiT

CASE m.btnname='LOCATE'DO loc_dlog

CASE m.btnname='ADD' AND !isediting &&add recordisediting=. T.isadding=. T.=edithand(' ADD')_curobj=lDO refreshSHOW GETSRETURN

CASE m.btnname='EDIT' AND !isediting &&edit recordIF EOF() OR BOFO

WAfT WINDOW C END FILE NOW AlTRETURN

END IFIFRLOCK()

isediting=. T._curobj=lDO refresh •RETURN

ELSEWAiT WINDOW C NOLOCKRETURN

END IFCASE m.btnname='SA VE' AND isediting &&save record

IF isadding=edithand('SA VE')

ELSEGATHER MEMV AR MEMO

133

END IFUNLOCKisediting= .F.isadding=.F.DO refresh

CASE m.btnname='CANCEL' AND isediting &&cancel recordIF isadding

=edithand('CANCEL')END IFisediting=.F.isadding= .F.UNLOCKWAIT WINDOW C ECANCEL NOW AiTDO refresh

CASE m.btnname='DELETE'IF EOF() OR BOF()

WAIT WINDOW C END FILE NOW AITRETURN

END IF. IF fox_alert(C_DELREC)

DELETEIF !EOF() AND DELETED()

SKIP 1END IFIF EOF()

WAIT WINDOW C END FILE NOW AITGO BOTTOM

END IFELSE

RETURNEND IF

CASE m. btnname='PRINT'DO printrecRETURN

CASE m.btnname='EXIT'm.bailout=.T. &&this is needed if used with FoxAppCLEAR READRETURN

OTHERWISERETURN

ENDCASESCATTER MEMV AR MEMOSHOW GETS

RETURN

134

PROCEDURE REFRESHDO CASECASE m.isreadonly AND RECCOUNT()=O

SHOW GETS DISABLESHOW GET exit btn ENABLE

CASE m. isreadonly .SHOW GET add btn DISABLESHOW GET edit btn DISABLESHOW GET del btn DISABLESHOW GET save btn DISABLESHOW GET can btn DISABLE

CASE (RECCOUNT()=O OR EOF()) AND Im isediıingSHOW GETS DISABLESHOW GET add btn ENABLESHOW GET exit btrı ENABLE

CASE m.iseditingSHOW GET fınd_drop DISABLE

SHOW GET top_ btn DISABLESHOW GET prev_btn DISABLESHOW GET Joe btn DISABLESHOW GET next btn DISABLESHOW GET end btn DISABLESHOW GET add btnDISABLESHOW GET edit_btn,1 DISABLESHOW GET del_btn, 1 DISABLESHOW GET prnt_btn DISABLESHOW GET exit btn DISABLESHOW GET save btn ENABLESHOW GET can btn ENABLEON KEY LABEL ESCAPE DO BTN VAL WITH 'CANCEL'RETURN

OTHERWISESHOW GET find_drop ENABLE

SHOW GET top_ btn ENABLESHOW GET prev_btn ENABLESHOW GET loc_btn ENABLE ,.SHOW GET next btn ENABLESHOW GET end btn ENABLESHOW GET add btn ENABLESHOW GET edit_btn,1 ENABLESHOW GET del_btn, 1 ENABLESHOW GET prnt_btn ENABLESHOW GET exit btn ENABLESHOW GET save btn DISABLESHOW GET can btn DISABLE

ENDCASE

135

IF m.is2tableSHOW GET add btn DISABLE

ENDIFON KEY LABEL ESCAPE

RETURN

PROCEDURE edithandPARAMETER m. paction* procedure handles editsDO CASECASE m.paction = 'ADD'

SCATTER MEMV AR MEMO BLANKCASE m.paction = 'SAVE'

INSERT INTO (ALIAS()) FROM MEMV ARCASE m.paction = 'CANCEL'

* nothing hereENDCASE

RETURN

PROCEDURE fox alertPARAMETER wzalrtmessPRIVATE alrtbtnm. alrtbtn=2

DEFINE WINDOW _qeclij2t7 AT 0,0 SIZE 8,50;FONT "MS Sans Serif',10 STYLE 'B';FLOAT NOCLOSE NOMINIMIZE DOUBLE TITLE WTITLE()

MOVE WINDOW _qeclij2t7 CENTERACTIVATE WINDOW _qeclij2t7 NOSHOW@ 2,(50-txtwidth(wzalrtmess))/2 SAY wzalrtmess;FONT "MS Sans Serif', 10 STYLE "B"

@6,18 GET m.alrtbtn;PICTURE "@*HT \<OK;\?\1\<Cancel";SIZE 1.769,8.667,1.333 ;FONT "MS Sans Serif', 8 STYLE "B"

ACTIVATE WINDOW _qeclij2t7READ CYCLE MODALRELEASE WINDOW _qeclij2t7

RETURN m.alrtbtn=l

PROCEDURE pdialogDEFINE WINDOW _qjn12zbvh;

AT 0.000, 0.000 ;SIZE 13.231,54.800;TITLE "Microsoft FoxPro" ;FONT "MS Sans Serif', 8;

FLOAT NOCLOSE MINIMIZE SYSTEMMOVE WINDOW _qjnl2zbvh CENTERACTIVATE WINDOW _qjnl2zbvh NOSHOW@2.846,33.600 SAY "Output:" ;

FONT "MS Sans Serif', 8 ;STYLE "BT"

@2.846,4.800 SAY "Print:" ;FONT "MS Sans Serif', 8 ;STYLE "BT"

@4.692,7.200 GET m.p_recs;PICTURE "@*RVN \<Current Record;\<AJI Records",SIZE 1.308, 18.500,0.308;DEFAULT 1;FONT "MS Sans Serif', 8 ;STYLE "BT"

@4.692,36.000 GET m.p_output;PICTURE "@*RVN \<PrinterPre\<view" ·' 'SIZE l.308,12.000,0.308;DEFAULT ı .FONT "MS Sans Serif', 8;STYLE "BT"

@ 10.154,16.600 GET m.pmt_btn;PICTURE "@*HT P\<rinı-Ca\<ncel" ·' 'SIZE 1.769,8.667,0.667;DEFAULT 1;FONT "MS Sans Serif', 8 ;STYLE "B"

ACTIVATE WINDOW _qjnl2zbvhREAD CYCLE MODALRELEASE WINDOW _qjnl2zbvh

RETURN

PROCEDURE loc_dlogPRIVATE gfıelds,iDEFINE WINDOW wzlocate FROM 1,1 TO 20,40;

SYSTEM GROW CLOSE ZOOM FLOAT FONT "MS Sans Serif",8MOVE WINDOW wzlocate CENTERm.gfıelds=SET('FIELDS',2)IF !EMPTY(RELATION(l))

SET FIELDS ONIF m.gfıelds # 'GLOBAL'

SET FIELDS GLOBALEND IFIF EMPTY(FLDLIST())

m.i=l

136

DO WHILE !EMPTY(OBJV AR(ın.i))IF ATC('M.',OBJV AR(m.i))=O

SET FIELDS TO (OBJV AR(m.i))END IFm.i=m.i+1

ENDDOEND IF

END IFBROWSE WINDOW wzlocate NOEDIT NODELETE ;

NOMENU TITLE C BRTITLESET FIELDS &gfıeldsSET FIELDS OFFRELEASE WINDOW wzlocate "

RETURN

137

WELLCOME T()SEVILA.Y H()TEL

PROGRAMMED BY:

EMAD ADNAN AALIAN

STU.#: 960458

NEAR EAST UNIVERSITY

COMPUTER ENGINEERING DEPARTMENT

SUPERVISED BY:

DR. BESiME ERIN

1. <<GO BACK TO MAIN MENU

************************************************************************* ***** *

* DONE BY PRGRAM

*************************************************************************

SET TALK OFFSTORE O TO CHOICE

CLEARSET SYSMENU OFFSET SAFETY OFFSET TALK OFFSET STATUS BAR ONSET SYSMENU ON

***** FONT "MS Sans Serif', 30;STYLE "BI";COLOR RGB(l28, 192, 192,0, 128,128)* DEFINING THE SYSTEM WINDOW

*********DEFINE WINDOW system FROM 3,3 TO 43,85 SYSTEM;

FLOAT SHADOW TITLE " SEVILAY HOTEL " IN SCREEN;GROW MINIMIZE ZOOM CLOSE COLOR W/R+ACTIVATE WINDOW system "

DO WHILE CHOICE < 1

@35,30 PROMPT "I. GO BACK TO MAIN MENU"@2,1 SAY "Sevilay Hotel*****";FONT "jokar", 20 ;STYLE "W";

@2,45 SAY" ***** Sevilay Hotel";FONT "jokar", 20 ;

STYLE "W/R+" ;

@7, 14 SAY " WELLCOM TO SEVlLA Y HOTEL " ;FONT "MS SANS SERIF", 20;STYLE "R+/R+";COLOR RGB(255,255,255,,,)@11,4 SAY "PROGRAMMED BY:-";FONT "jokar", 14 ;STYLE "B";COLOR RGB(255,255,255,128, 128,0)@22,4 SAY "SUPERVISED BY:-";FONT "jokar", 14 ;STYLE "B";COLOR RGB(255,255,255, 128,128,0)@13,18 SAY "EMAD AALIANFONT "jokar", 1 O ;STYLE "BT";COLOR RGB(255,255,255,128,128,0)@15,18 SAY "ST# 960458FONT "jokar", 1 O ;STYLE "BT";COLOR RGB(255,255,255, 128,128,0)@17, 18 SAY "NEAR EAST UNIVERSITYFONT "jokar", 1 O ;STYLE "BT";COLOR RGB(255,255,255,128,128,0)@19,18 SAY "COMPUTER ENGINEERING DEPARTMENT";FONT "jokar", 1 O ;STYLE "BT" ;COLOR RGB(255,255,255, 128,128,0)@25,16 SAY "DR";FONT "jokar", 11 ;STYLE "BT";COLOR RGB(0,255,255,128,128,0)

,,.'

@25,22 SAY "Be";FONT "jokar", 14 ;STYLE "BIT" ;COLOR RGB(0,255,0,,,)@25,25 SAY "si";FONT "jokar", 14 ;STYLE "BIT" ;COLOR RGB(255,255,0, 128,128,0)@25,27 SAY "me";FONT "jokar", 14 ;

139

***************************************************************************

ALL ROOM PROGRAM

*********************************************************************************

*******SET TALK OFFSTORE O TO CHOICE

CLEARSET SYS.MENU OFFSET SAFETY OFF13ıE1: 1: ı\LK OH.~S~1: 12ı1: K1\JS ~hl\. O"NSET SYSMENU ON

***** FONT "MS Sans Serif', 30;STYLE "BI";COLOR RGB(128,192,192,0,l28,128)* DEFINING THE SYSTEM WINDOW

*********DEFINE WINDOW system FROM 0,0 TO 55,120 SYSTEM;

FLOAT SHADOW TITLE II SEViLAY HOTEL II IN SCREEN;GROW MlN1M1ZE ZOOM CLOSE COLOR W /R+A..CH'l A.1:EW1NDOW S)7Stem

DO WHILE CHOICE < 2@1,0 PROMPT "l. <<< GO BACK TO MAIN MENU"@1,75 PROMPT "2. NEXT PAGE >>> 11

@5,5 say "Room number"@5,21 say "Room type"@5,35 say "Room deposit"@5,52 say " Stoyr "@5,65 say "Room Phone"@5,81 say "Room position"@8,5 SAY "1. 101"@9,5 SAY "2. 102"@10,5 SAY"3. 103"@11,5 SAY"4. 104"@12,5 SAY"5. 105"@13,5 SAY"6. 106"@14,5 SAY"?. 107''@15,5 SAY"8. 108"

STYLE "BIT" ;COLOR RGB(255,0,0,128,0,0)@25,33 SAY "Er";FONT "jokar", 14 ;STYLE "BIT" ;COLOR RGB(0,0,255,,,)@25 36 SAY "in"·' 'FONT "jokar", 14 ;STYLE "BIT" ;COLOR RGB(255,255,255,,,)

@11,55 SAY 'c:\400\emad.BMP'BITMAP@O ,32 SAY 'c:\400\nu3.BMP'BITMAP "

MENU TO CHOICEDO CASECASE CHOICE= 1DO c:\400\a.prgENDCASEENDDOCLEAR

@7,1 TO 36,97 DOUBLE;COLOR RGB(0,220,0, 128,,,)@4,16 TO 36,33 DOUBLE;COLOR RGB( 192,220, 128,128,,,)

@4,50 TO 36,62 DOUBLE;COLOR RGB( 192,220,128, 128,,,)@4,78 TO 36,97 DOUBLE;COLOR RGB( 192,220,128, 128,,,)

MENU TO CHOICEDO CASECASE CHOICE= 1DO c:\400\a.prgCASE CHOICE=2DO C:\400\room3.prgENDCASEENDDOCLEAR

@17,5 SAY"9. 201"@18,5SAY"l0. 202"@19,5SAY"ll. 203"@20,5SAY"l2. 204"@21,5SAY"l3. 205"@22,5SAY"l4. 206"@23,5SAY"l5. 207"@24,5SAY"16. 208"@26,5SAY"17. 301"@27,5SAY"l8. 30211

@28,5SAY"19. 303"@29,5SAY"20. 304"@30,5SAY"21. 305"@31,5SAY"22. 306"@32,5SA Y"24. 307"@33,5SAY"25. 308"

@8,19 say "single 40 1st 1101 comer-sea"@9,19 say "single 40 1st 1102 corner"@10,19 say "shift 50 1st 1103 middel"@11,19 say "shift 50 1st 1104 middel-sea"@12,19 say "shift 50 1st 1105 middel-sea"@13,19 say "shift 50 1st 1106 middel"@14,19 say "single 40 1st 1107 corner"@15,19 say "single 40 1st 1108 corner-sea"

@17,19 say "single 40 2nd 2201 corner-sea"@18,19 say "single 40 2nd 2202 corner"@19,19 say "shift 50 2nd 2203 middel"@20,19 say "shift 50 2nd 2204 middel-sea"@21,19 say "shift 50 2nd 2205 middel-sea"@22,19 say "shift 50 2nd 2206 middel"@23,19 say "single 40 2nd 2207 corner"@24,19 say "single 40 2nd 2208 corner-sea"

@26,19 say "single 40 3rd 3301 corner-sea"@27,19 say "single 40 3rd 3302 corner"@28,19 say "shift 50 3rd 3303 middel"@29,19 say "shift 50 3rd 3304 middel-sea"@30,19 say "shift 50 3rd 3305 middel-sea"@31,19 say "shift 50 3rd 3306 middel"@32,19 say "single 40 3rd 3307 middel"@33,19 say "single 40 3rd 3308 corner-sea"

141

MENU TO CHOICEDO CASECASE CHOICE=lDO c:\400\room2.prgCASE CHOICE=2DO C:\400\room4.prgENDCASEENDDOCLEAR

@7,1 TO 36,97 DOUBLE;COLOR RGB(0,220,0, 128,,,)@4,16 TO 36,33 DOUBLE;COLOR RGB(l92,220,128,128,,,)

@4,50 TO 36,62 DOUBLE;COLOR RGB( 192,220,128, 128,,,)@4,78 TO 36,97 DOUBLE;COLOR RGB( 192,220,128, 128,,,)

************************************************************************************************************************************************************

ALL ROOM PROGRAM2

*******SET TALK OFFSTORE O TO CHOICE

CLEARSET SYSMENU OFFSET SAFETY OFFSET TALK OFFSET STATUS BAR ONSET SYSMENU ON

••

***** FONT "MS Sans Serif'', 30;STYLE "BI";COLOR RGB(l28,192,192,0,128,128)* DEFINING THE SYSTEM WINDOW

*********DEFINE WINDOW system FROM 0,0 TO 55,120 SYSTEM;

FLOAT SHADOW TITLE " SEVILAY HOTEL " IN SCREEN;GROW MINIMIZE ZOOM CLOSE COLOR W/R+ACTIVATE WINDOW system

DO WHILE CHOICE < 2@1,0 PROMPT "I.<<< PREVOUSE PAGE "@1,75 PROMPT "2. NEXT PAGE >>> "

@5,5 say "Room number"@5,21 say "Room type"@5,35 say "Room deposit"@5,52 say " Stoyr "@5,65 say "Room Phone"@5,81 say "Room position"@8,5 SAY "401"@9,5 SAY "402"@10,5 SAY "403"@11,5 SAY "404"@12,5 SAY "405"@13,5 SAY "406"@14,5 SAY "407"

142

***************************************************************************

ALL ROOM PROGRAM3

*********************************************************************************

*******SET TALK OFFSTORE O TO CHOICE

CLEARSET SYSMENU OFFSET SAFETY OFFSET TALK OFFSET STATUS BAR ONSET SYSMENU ON

***** FONT "MS Sans Serif', 30;STYLE "BI";COLOR RGB(l28, 192,192,0, 128,128)* DEFINING THE SYSTEM WINDOW

*********DEFINE WINDOW system FROM 0,0 TO 55,120 SYSTEM;

FLOAT SHADOW TITLE" SEVJLAY HOTEL" IN SCREEN;GROW MINIMIZE ZOOM CLOSE COLOR W/R+ACTIVATE WINDOW system

DO WHILE CHOICE < 2@1,0 PROMPT "1. <<< PREVOUSE PAGE@1,75 PROMPT "2. MAIN MENU >>>

@5,5 say "Room number"@5,21 say "Room type"@5,35 say "Room deposit"@5,52 say " Stoyr "@5,65 say "Room Phone "@5,81 say "Room position"@8,5 SAY "701"@9,5 SAY "702"@10,5 SAY "703"@11,5 SAY "704"@12,5 SAY "705"@13,5 SAY "706"@14,5 SAY "707"

"

••

143

ttl

11U;)S-J;)UJ0:) 8099 l{l9 Ov ;)JİJU!S11 AUS 61 '££@•• JdPP!lll l099 4l9 Ov ;)JİJU!S II AUS 61 'Z £@

•• JdPP!lll 9099 4l9 OS mqs •• AUS 61'1£®•• u;}S-PPP!lll S099 4l9 OS Y!4Sıı AUS 61 '0£®•• u;}S-PPP!lll v099 4l9 OS Y!4s •• Aus 61'6z®

•• PPP!lll £099 4l9 OS mqs •• Aus 61'8z®11J;}UJO:) Z:099 l{l9 Ov ;}Jilu!s •• Aus 61 'Lz®

11 U;)S-J;}UJO:) 1099 l{l9 Ov ;)JİJU!Sıı AUS 61'9Z®

11U;)S-J;)UJO:) 80SS qıç Ov ;)JİJU!S11 AUS 61 'vz@IIJ;}UJO:) LOÇÇ ıns Ov ;}JılU!S11 AUS 61'£z@•• fdPP!W 90ÇÇ ljlÇ OS mqs •• AUS 6l'zz®

IIU;)S-f;)PP!lli çoss ıns OS mqs •• AUS 61'1z®IIU;)S-J;)PP!lll ı,oçç qıç OS mııs •• AUS 6l'oz®

•• JdPP!lll rnss ı.ııs oç Y!lJSıı AUS 61 '61®"J;)UJO:) zoçç qıç Ov ;}J2'U!Sıı AUS 61'81®

11U;}S-J;}UJ0:) ıoçs l{lS Ov ;)JİJU!Sıı AUS 6 ı'L 1®

11 U;}S- J;}UJOO 80vv lf lv Ov dıııu!s •• Aus 61's1@IIJ;)UJO:) LOvv ıııv Ov ;}jılU!S11 AUS 6l'vl@•• PPP!ıu 90vv lJlv oç ij!lJS11 AUS 6ı'£I@

••U;}S-f;}PP!lli çoı,v ıııv oç mııs •• ABS 6ı'Zl®••B;)S-J;}PP!lll vovv ljlt, oç mqs •• ABS 6 I'11®

•• ldPP!W rnvv lJlv OS Y!4Sıı ABS 61'01®IIJ;)UJO:) zovv ljlt, Ov ;}[ılU!S11 ABS 6ı'6@

11B;}S-.l;}UJO:) ıoı,ı, ljlt, Ov ;}JılU!S11 ABS 6ı'8@

11809 •• AVS Ç'££@.. L09 .. AVS ç'z£@•• 909 •• AVS s't £@•• Ç09ıı AVS s'o£®.. v09 .. AVS S'6Z@•• rn9 •• AVS s'8z®ııZ:09 •• AVS s'Lz®•• 109 •• Avs s'9z®ıı80S •• AVS s'vz:@.. LOS .. AVS s'£z®.sos, AVS s'zz;®•• çoç •• AVS S'Iz®.. ı,oç .. AVS ç'oz®•• rnç •• AVS s'6l®•• zoç •• AVS s'8l®•• ıos •• AVS s'LI®•• 8ov •• AVS s'sı®

@15,5 SAY "708"@17,5 SAY "801"@18,S SAY "802"@19,5 SAY "803"@20,5 SAY "804"@21,5 SAY "805"@22,5 SAY "806"@23,5 SAY "807''@24,5 SAY "808"@26,5 SAY "90 l"@27,5 SAY "902"@28,5 SAY "903"@29,5 SAY "904"@30,5 SAY "905"@3 l,5 SAY "906"@32,5 SAY "907"@33,5 SAY "908"@8,18 say "shift"

@7,1 TO 39,97 DOUBLE;COLOR RGB(0,220,0, 128,,,)@7,16 TO 39,33 DOUBLE;COLOR RGB( 192,220, I 28, 128,,,)

@7,50 TO 39,62 DOUBLE;COLOR RGB(0,220,0,128,,,)@7,78 TO 39,97 DOUBLE;COLOR RGB(l 92,220, I 28, 128,,,)

MENU TO CHOICEDO CASECASE CHOICE=!DO c: \400\roonı3. prgCASE CH01CE=2DO C:\400\a.prgENDCASEENDDOCLEAR

••

145