P)ICV£rtct OP P,1{ÇJ~P,CRJ1{Ç CO~

141
1988 P)ICV£rtct OP P,1{ÇJ~P,CRJ1{Ç (]3.Sc. CO~<PVrtC£~ C£1vÇJ~P,CRJ1vÇ ÇCJUl (J)V JI rt! OW (j_XJ(O JP,(;{ (['J(['£P,: J{Q(['P,£ :M}l:NJlÇP,9rf P,:}f[' VSI:NÇ POX(P(J(O (P(J(OÇ<JUl:M:MI:NÇ srt-:NJI~P,: J(J3jlJ(J) }l. O }lLSOV(J) SV(JXE,{J{o/ISO<R; :Ms. (}3P,SJ:MP, P,{J{l:N JV:!fE, 2000

Transcript of P)ICV£rtct OP P,1{ÇJ~P,CRJ1{Ç CO~

Page 1: P)ICV£rtct OP P,1{ÇJ~P,CRJ1{Ç CO~

1988

P)ICV£rtct OP P,1{ÇJ~P,CRJ1{Ç (]3.Sc. CO~<PVrtC£~ C£1vÇJ~P,CRJ1vÇ

ÇCJUl (J)V JIrt! OW (j_XJ(O JP,(;{

(['J(['£P,: J{Q(['P,£ :M}l:NJlÇP,9rf P,:}f[' VSI:NÇ POX(P(J(O (P(J(OÇ<JUl:M:MI:NÇ

srt-:NJI~P,: J(J3jlJ(J) }l. O }lLSOV(J)

SV(JXE,{J{o/ISO<R; :Ms. (}3P,SJ:MP, P,{J{l:N

JV:!fE, 2000

Page 2: P)ICV£rtct OP P,1{ÇJ~P,CRJ1{Ç CO~

'-"',ı\:.RS~

AKNOWLEDGEMENT ((f ,,../ ~9:)' J)' Firstly I would like to thank so much to my family and especl .-ı~ to-.)· ı;;~

my dear parents who supported me through all my life until this moment. Gs'ô ·"Also I would like to thank mysupervisor Miss. Besime Erin who has

provided me with invaluable help and advice through all stages of my undergraduate study. She taught me FoxPro in tow courses and then completedher favor by taking the responsibility of supervising me in my finalgraduation project.

Special thanks for my teachers who's encourage me and create me supportly. And Special thanks to all my friends whose stand beside me in thehard time due preparing my project.

Page 3: P)ICV£rtct OP P,1{ÇJ~P,CRJ1{Ç CO~

ABSTRACT

As the information age has affected every aspect of our life, the needfor computerizingmany informationsystems has raised.One of the important branches that are affected by information revolution isthe database management system.

This project is concerned about using computer program in hotelmanagement system. It's written using FoxPro programming language,which is one of the best and strongest database languages.

This project is a complete hotel management program, which coversall services needed in most hotels, such as guest related information, rooms,employees, goods and other managementrelated services.

Page 4: P)ICV£rtct OP P,1{ÇJ~P,CRJ1{Ç CO~

TABLE OF CONTENTS

INTRODUCTION·····················~········································· 1

BLOCK DIAGRAM 2

MAIN MENU 3

RESERVATION & RECEPTION 3• Checking Rooms Availability ...............................•.. 4• Check-in 5 • Check-out 5

•FACILITIES & SERVICES ..............................................•.... 6

HOUSEKEEPING 7 • Room (Guest Room) 7 • Laundry (Washing Machine) ................................•.. 8

INFORMATION 8 • Searching 9 • Hotel Telephones 9 • Rooms Telephones 10

RESERVATION FLOWCHART 10

CHECKING ROOMS AVAILABILITY FLOWCHART 11

CHECK-IN FLOWCHART ..............................................•..... 12

'CHECK-OUT FLOWCHART ...................................•............. 13

SERVICES FLOWCHART 14

HOUSEKEEPING FLOWCHART ........•.................................. 16

SEARCHING FLOWCHART 17

CONCLUSION 18

Page 5: P)ICV£rtct OP P,1{ÇJ~P,CRJ1{Ç CO~

INTRODUCTION

Now a day's, the computer science both hardware and software isbeing developed over the past years, programming is always providing thescientists by a systematic development, in my project I did construct specialprogram related to Hotel Management, the hotel industry not be regarded asstanding separate and unrelated to other industries, it is within thisframework that the history of hotel development should be examined, newconcepts in hotel design have been developed more recently in an effort tomeet the changing preferences and new characteristics of the travelingpublic.

The hotel consist of many departments like, personnel department,room, food and beverages, engineering department, reservations, my projectprogram resume that the briefly in a quick time in order to have quick andeconomic services, on the other hand, the hotel development is suitable forresearchers and students in computer science, the development of hotelmanagement programs is designed to help compute professionals who wantto learn about this exciting field and to serve as a basic reference.The aim of my project how to create and to develop a project in a scientificmethod to introduce the gab between scientific theoretical life and worknormal life.

In my project, I did construct hotel management program because theavailability of information is incrementally important in all over the world,how to make an cays process in order to have a quick research, data process,analysis process.Finally, full file enclosed, full details about the project.

1

Page 6: P)ICV£rtct OP P,1{ÇJ~P,CRJ1{Ç CO~

BLOCK DIAGRAM

By Name

By PassportRooms

By Room NoLaundry

By Date of Arrival

HousekeepingSearching

el Telephones

ms Telephones Information

General ServicesReception & Reservation

Check-in I I Check Rooms I ( Restaurant

Check-out I IAvailability

I I Market-Bar-

Hotel Rooms ı Disco

Reserved Rooms Communications

Empty Rooms-

Full Rooms

2

Page 7: P)ICV£rtct OP P,1{ÇJ~P,CRJ1{Ç CO~

MAIN MENU

The aim of the main menu is to use the program easily, faster and useall the process screens or necessary program at the same time.In the main menu consists of many options, under each option there isinformation about it, its divides to the following options:

3

Page 8: P)ICV£rtct OP P,1{ÇJ~P,CRJ1{Ç CO~

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

SET CLOCK ON OFFSET CLOCK TO 31.6,62

IF NOT WEXIST("_03r104y2t")DEFINE WINDOW_ 03rl 04y2t ;

AT 0.000, 0.000;SIZE 32.077,96.000 ;TITLE "DIANA HOTEL" ;FONT "MS Sans Serif', 8 ;FLOAT;CLOSE;MINIMIZE;SYSTEM;FILL FILE

LOCFILE("C:\PROJECT\SP ACE.BMP", "BMPIICOIPCTIICN", ;"Where is space?")

MOVE WINDOW _03r104y2t CENTEREND IF

IF WVISIBLE("_ 03rl 04y2t")ACTIVATE WINDOW _03r104y2t SAME

ELSEACTIVATE WINDOW _03r104y2t NOSHOW

END IF

@ L000,29.200 SAY "DIANA HOTEL" ;FONT "Garamond", 20;STYLE "BIT" ;COLOR RGB(0,255,0,,,,)

@ 4.846,23.800 SAY "GENERAL MAIN MENU" ;FONT "Garamond", 18;STYLE "BIT" ;COLOR RGB(0,255,255,,,,)

@ 12.923,7.200 GET A;PICTURE "@*HN Reception And Reservation";SIZE 1.278,30.167,0.667;DEFAULT I;FONT "Trebuchet MS", 10;

4

Page 9: P)ICV£rtct OP P,1{ÇJ~P,CRJ1{Ç CO~

STYLE "B";VALID BT('Reservation')

@ 12.923,52.800 GET a ;PICTURE "@*HN Services" ;SIZE 1.278,30.000,0.667 ;DEFAULT 1;FONT "Trebuchet MS", 10; _STYLE "B";VALID BT('Services')

@ 16.615,7.400 GET a;PICTURE "@*HN Housekeeping" ;SIZE l .278,30.000,0.667 ;DEFAULT 1;FONT "Trebuchet MS", 10;STYLE "B";VALID BT('House')

@ 16.615,52.600 GET a;PICTURE "@*HN Information";SIZE l .278,30.000,0.667 ;DEFAULT 1;FONT "Trebuchet MS", 1 O ;STYLE "B";VALID BT('Information')

@20.077,7.400 GET a;PICTURE "@*HN Print The Form" ;SIZE l .278,30.000,0.667 ;DEFAULT 1;FONT "Trebuchet MS", 10;STYLE "B";VALID BT('Print')

@ 24.000,40.800 GET m.bt_exit;PICTURE "@*HN \<Exit" ;SIZE 1.27.8,12.167,0.667;DEFAULT 1;FONT "Trebuchet MS", 10;STYLE "B";VALID bt('EXIT') ;MESSAGE 'Close Screen'

@20.077,52.600 GET a;PICTURE "@*HN Click Here" ;SIZE 1.389,30.000,0.667 ;DEFAULT 1;FONT "Trebuchet MS", 10;STYLE "B";VALID BT('Click')

@ 10.615,4.200 TO 28.692,91.600;

5

Page 10: P)ICV£rtct OP P,1{ÇJ~P,CRJ1{Ç CO~

PEN 1, 1;STYLE "16";COLOR RGB(255,0,0,,,,)

@24.385,20.600 SAY Date();SIZE 1.000,12.600;FONT "MS Sans Serif', 8 ;COLOR RGB(0,0,255,,,,)

@23.846,11.200 SAY "Date:" ;FONT "Book Antigua", 14 ;STYLE "BIT";COLOR RGB(255,255,0,,,,)

@23.846,60.600 SAY "Time:";FONT "Book Antigua", 14 ;STYLE "BIT" ;COLOR RGB(255,255,0,,,,)

IF NOT \VVISIBLE("_03r104y2t")ACTIVATE WINDOW _03r104y2t

END IF

READ CYCLEPROCEDURE BT

PARAMETER m.btnnameDO CASE

CASE m.btnname='Reservation'Do c:\project\r&r.prg

CASE m.btnname='Services'DO c:\project\servece.prg

CASE m.btnname='House'DO c:\project\keep.prg

CASE m.btnname='Information'Do c:\project\info.prg

CASE m.btnname='Print'DO c:\project\form.prg

CASE m.btnname='Click'DO c:\project\building.prg

CASE m.btnname='EXIT'set sysm to defaDEACTIVATE WINDOW _03r104y2tRELEASE WINDOW 03rl 04y2tSET CLOCK OFF

END CASERETURN

6

Page 11: P)ICV£rtct OP P,1{ÇJ~P,CRJ1{Ç CO~

RESERVATION AND RECEPTION

All hotels accept reservation or advance booking for their rooms, so adiary is the most basic form of reservation system, it records the bookings asthey come in. The reservation can be continually kept in alphabetical orderand removed if cancelled or amended.

Reception: for most guests the reception area is the registration desk, theregreeted by a receptionist, they receive their impression of the hotel, its staffand its services. Guest relies heartily on that first impression and during theirstay tends to be overcritical if it was bad and more tolerant if it was good.The main functions of reservation are:

7

Page 12: P)ICV£rtct OP P,1{ÇJ~P,CRJ1{Ç CO~

SET TALK OFF

IF NOT WEXIST("_0390yr9h2")DEFINE WINDOW _0390yr9h2;

AT 0.000, 0.000;SIZE 21.615,69.400;TITLE "DIANA HOTEL" ;FONT "MS Sans Serif', 8 ;FLOAT;NOCLOSE;MINIMIZE;SYSTEM;COLOR RGB(,,,255,0,255)MOVE WINDOW _0390yr9h2 CENTER

END IF

IF WVISIBLE("_0390yr9h2")ACTIVATE WINDOW _0390yr9h2 SAME

ELSEACTIVATE WINDOW _0390yr9h2 NOSHOW

END IF@ 16.077,27.000 GET m.exit_btn;

PICTURE "@*HN \<Close";SIZE 1.438,7.875,0.500;DEFAULT 1;FONT "MS Sans Serif', 1 O ;STYLE "B";VALID bt('EXIT') ;MESSAGE 'Close screen.'

@ 1 .308,4.000 SAY "Reception & Reservation Menu" ;FONT "MS Sans Serif', 14 ;STYLE "BIT";COLOR RGB(0,255,0,0,255,0)

@ 3.000,3.800 TO 3.000,64.200;PEN 2, 8;STYLE "1";COLOR RGB(0,255,0,0,255,0)

@ 7.154,14.600 GET A;PICTURE "@*HN Check Rooms Availability";SIZE l.438,23.625,0.500;DEFAULT 1;FONT "MS Sans Serif', 1 O ;STYLE "B";VALID bt('Check Rooms Availability')

@ 10.154,14.600 GET A;PICTURE "@*HN Check-in" ;

8

Page 13: P)ICV£rtct OP P,1{ÇJ~P,CRJ1{Ç CO~

SIZE l.438,23.500,0.500;DEFAULT 1;FONT "MS Sans Serif', 1 O ;STYLE "B";VALID bt('Check-in')

@ 13.000,14.400 GET A;PICTURE "@*HN Check-out" ;SIZE l.438,23.500,0.500;DEFAULT 1;FONT "MS Sans Serif', 1 O ;STYLE "B";VALID bt('Check-out')

@5.846,10.600 TO 18.923,56.000;PEN2, 8;STYLE "16"

IF NOT WVISIBLE("_0390yr9h2")ACTIVATE WINDOW _0390yr9h2

END IF

READ CYCLEPROCEDURE BT

PARAMETER m.btnnaıneDO CASE

CASE m.btnnaıne='Check Rooms Availability'Do c_:\project\room.prg

CASE m.btnnaıne='Check-in'DO c:\project\data.prg

CASE m.btnnaıne='Check-out'DO c:\project\check.prg

CASE m.btnnaıne='EXIT'set sysm to defaDEACTIVATE WINDOW _0390yr9h2RELEASE WINDOW_ 0390yr9h2

END CASERETURN

9

Page 14: P)ICV£rtct OP P,1{ÇJ~P,CRJ1{Ç CO~

CHECKING ROOMS AVAILABILITY

The receptionist has to check all the rooms, how many rooms areavailable and how many rooms are full. To illustrate this the following menucan be dragged to describe room's situation.

10

Page 15: P)ICV£rtct OP P,1{ÇJ~P,CRJ1{Ç CO~

SET TALK OFFIF NOT WEXIST("_03n0wl952")

DEFINE WINDOW_ 03n0wl952 ; .AT 0.000, 0.000; .SIZE 21.769,57.600;TITLE "DIANA HOTEL" ;FONT "MS Sans Serif', 8 ;FLOAT;NOCLOSE;

!v!INIMIZE;SYSTEM;COLOR RGB(,,,255,0,255)MOVE WINDOW 03n0wl952 CENTER

ENDIFIF WVISIBLE("_03n0wl952")

ACTIVATE WINDOW 03n0wl952 SAMEELSE

ACTIVATE WINDOW 03n0wl952NOSHOWENDIF@ 0.692,6.400 SAY "Rooms Situations Menu" ;

FONT "MS Sans Serif', 14 ;STYLE "BIT" ;COLOR RGB(0,255,0,,,,)

@6.231,14.800 GET A;PICTURE "@*HN Hotel Rooms";SIZE 1.438,16.625,0.500 ;DEFAULT 1;

FONTWS SansSerif: J() · ' 'STYLE "B";VALID BT('Hotel')

@ 14.462,14.800 GET A;PICTURE "@*HN Reserved Rooms" ;SIZE 1.438,16.625,0.500 ;DEFAULT 1;FONT "MS Sans Serif', 1 O ;STYLE "B";VALID BT('Reserved')

@11.692,14.800 GET A;PICTURE "@*HN Full Rooms" ;SIZE l.438,16.625,0.500;DEFAULT 1;FONT "MS Sans Serif', 1 O ;STYLE "B";VALID BT('Full')

@ 9.000,14.800 GET A;PICTURE "@*HN Empty Rooms" ;

11

Page 16: P)ICV£rtct OP P,1{ÇJ~P,CRJ1{Ç CO~

SIZE l.438,16.625,0.500;DEFAULT 1;FONT "MS Sans Serif', 1 O ;STYLE "B";VALID BT('Empty')

@ 17.000,22.800 GET m.btn_exit;PICTURE "@*HN \<Close" ;SIZE 1.438,7.625,0.500;DEFAULT 1;FONT "MS Sans Serif', 1 O ;STYLE "B";VALID bt('EXIT') ;MESSAGE 'Close Screen'

@ 5.000,10.400 TO 19.692,46.200;PEN2, 8;STYLE "16"

@ 2.462,6.800 TO 2.462,50.400 ;PEN2, 8;STYLE "1";COLOR RGB(0,255,0,0,255,0)

IF NOT \VVISIBLE(''_03n0wl952")ACTIVATE WINDOW 03n0wl952

END IFREAD CYCLEPROCEDURE BT

PARAMETER m.btnnameDO CASE

CASE m.btnname='Reserved'Do c:\project\reserved.prg

CASE m.btnname='Hotel'DO c:\project\rooms.prg

CASE m.btnname='Full'DO c:\project\full.prg ·

CASE m. btnname='Empty'DO c:\project\empty.prg

CASE m.btnname='EXIT'set sysm to defaDEACTIVATE WINDOW 03n0wl952RELEASE WINDOW 03n0wl952

ENDCASERETURN

12

Page 17: P)ICV£rtct OP P,1{ÇJ~P,CRJ1{Ç CO~

If Hotel Rooms option is selected then the following menu is generated togive information about the room( s) to be checked.

13

Page 18: P)ICV£rtct OP P,1{ÇJ~P,CRJ1{Ç CO~

SET TALK OFF#REGION IPRIVATE wzfields, wztalkIF SET("T ALK") = "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("T ALK") = "ON"SET TALK OFFm.talkstat = "ON"

ELSEm.talkstat = "OFF"

END IFm.compstat = SET("C01\1P ATIBLE")SET C01\1PATIBLE FOXPLUS

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

m.currarea = SELECT()

* ***************************************~***************** * ** ROOMS/Windows Databases, Indexes, Relations** ** *********************************************************

IF USED("rooms")SELECT roomsSET ORDER TO TAG " 03n0vbo9v"

ELSESELECT OUSE (LOCFILE("\project\rooms.dbf',"DBF","Where is rooms?"));

AGAIN ALIAS rooms ;ORDER TAG " 03n0vbo9v"

END IF

14

Page 19: P)ICV£rtct OP P,1{ÇJ~P,CRJ1{Ç CO~

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

DEFINE WINDOW _03n0w2lv5 ;AT 0.000, 0.000 ;SIZE 23.154,83.333;TITLE "DIANA HOTEL" ;FONT "MS Sans Serif', 8 ;STYLE "B";FLOAT;CLOSE;MINIMIZE;COLOR RGB(,,,255,0,255)

MOVE WINDOW 03n0w2lv5 CENTERENDIF

* ********************************************************* * ** * ROOMS/Windows Setup Code - SECTION 2* ** ********************************************************* *#REGION 1

#DEFINE C DBFEJ\ı1PTY#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 READONLY#DEFINE C NOTABLE#DEFINE C BADEXPR#DEFINE C LOCWIZ

'Database is empty, add a record?''Please finishyour edits.''Top of file.''End of file.''Locate Record''Sorry, could not lock record -- try again later.''Edits Canceled.''Delete selected record?''Feature not availableyet.''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:'

15

Page 20: P)ICV£rtct OP P,1{ÇJ~P,CRJ1{Ç CO~

#DEFINE C_MUL TIT ABLE 'You have multiple related tables. Adding records in notallowed.'

MOVE WINDOW ' 03n0w21v5' CENTERPRIVATE isediting,isadding,wztblarrPRIVATE wzo lddelete, wzo lderror, wzo ldescPRIVATE wzalias, tempcurs, wzlastrecPRIVATE isreadonly,find_drop,is2table

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

END IF

m.wztblarr= "m.wzalias=SELECT()m.isediting= .F.m.isadding= .F.m.is2table = .F.m.wzolddelete=SET('DELETE')SET DELETED ONm.tempcurs=S YS(2015) &&used if General fieldm.wzlastrec = 1m.wzo lderror=ON ('error')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 1- 'END IFIF RECCOUNT()=O AND !m.isreadonly AND fox_alert(C_DBFEMPTY)

APPEND BLANKEND IF

GOTO TOPSCATTER MEMV AR MEMO

* ********************************************************* * ** * ROOMS/Windows Screen Layout* ** ********************************************************* *

16

I

Page 21: P)ICV£rtct OP P,1{ÇJ~P,CRJ1{Ç CO~

#REGION 1IF WVISIBLE("_03n0w2lv5")

ACTIVATE WINDOW 03n0w2lv5 SAMEELSE

ACTIVATE WINDOW _03n0w2lv5 NOSHOWENDIF _@ 0.385,27.333 SAY "Rooms Situations" ;

FONT "MS Sans Serif', 14 ;STYLE "BIT" ;COLOR RGB(0,255,0,,,,)

@ 5.538,4.333 SAY "Room No:";SIZE 1.000,17.500;FONT "MS Sans Serif', 1 O ;STYLE "BIT" ;PICTURE "@J" ;COLOR RGB(,,,255,255,255)

@5.538,30.000 GET m.rooms_no;SIZE 1.000,4.857 ;DEFAULT"";FONT "MS Sans Serif', 1 O ;PICTURE "@K 999" ;WHEN isediting ;COLOR ,RGB(0,0,0,255,255,255)

@7.385,4.333 SAY "Phone No:";SIZE 1.000,17.500;FONT "MS Sans Serif', 1 O ;STYLE "BIT" ;PICTURE "@J" ;COLOR RGB(,,,255,255,255)

@ 7.385,30.000 GET m.phone_no;SIZE 1.000,4.857 ;DEFAULT"";FONT "MS Sans Serif', 1 O ;PICTURE "@K 999" ;WHEN isediting ;COLOR ,RGB(0,0,0,255,255,255)

@9.231,4.333 SAY "Room Price:";SIZE 1.000,17.500;FONT "MS Sans Serif', 1 O ;STYLE "BIT";PICTURE "@J" ;COLOR R,GB(,,,255,255,255)

(3 9.23t30.000 GETm.room_price;

SIZE 1.000,4.857;DEFAULT"";

17

Page 22: P)ICV£rtct OP P,1{ÇJ~P,CRJ1{Ç CO~

FONT "MS Sans Serif', 1 O ;PICTURE "@K 999" ;WHEN isediting ;COLOR ,RGB(0,0,0,255,255,255)

@11.077,4.333 SAY "Flat:" ;SIZE 1.000,17.500;FONT "MS Sans Serif', 1 O ;STYLE "BIT";PICTURE "@J" ;COLOR RGB(,,,255,255,255)

@ 14.692,4.333 SAY "Room Situation:";SIZE 1.000,17.500;FONT "MS Sans Serif', 1 O ;STYLE "BIT";PICTURE "@J" ;COLOR RGB(,,,255,255,255)

@ 7.077,42.833 SAY "Room Type:" ;SIZE 1.000,17.500;FONT "MS Sans Serif', 1 O ;STYLE "BIT"· ;PICTURE "@J" ;COLOR RGB(,,,255,255,255)

@ 14.846,42.667 SAY "Room Position:" ;SIZE 1.000,17.500;FONT "MS Sans Serif', 1 O ;STYLE "BIT";PICTURE "@J" ;COLOR RGB(,,,255,255,255)

@ 19.769,1.667 GET m.top_btn;PICTURE "@*HN \<Top" ;SIZE 1.769,7.833,0.667;DEFAULT 1;FONT "MS Sans Serif', 8;STYLE "B";VALID btn_val('TOP') ;MESSAGE 'Go to first record.'

@ 19.769,9.667 GET m.prev_btn;PICTURE "@*HN \<Prev" ;SIZE 1.769,7.833,0.667;DEFAULT 1;FONT "MS Sans Serif', 8 ;STYLE "B";VALID btn val('PREV') ;MESSAGE 'Go to previous record.'

@19.769,17.667 GET m.next_btn;PICTURE "@*HN \<Next" ;

18

Page 23: P)ICV£rtct OP P,1{ÇJ~P,CRJ1{Ç CO~

SIZE 1.769,7.833,0.667;DEFAULT 1;FONT "MS Sans Serif', 8 ;STYLE "B";VALID btn val('NEXT') ;MESSAGE 'Go to next record.'

@ 19.769,25.667 GET m.end_btn;PICTURE "@*HN \<End" ;SIZE 1.769,7.833,0.667;DEFAULT 1;FONT "MS Sans Serif', 8 ;STYLE "B";VALID btn val('END') ;MESSAGE 'Go to last record.'

@ 19.769,33.667 GET m.loc_btn;PICTURE "@*HN \<Locate" ;SIZE 1.769,7.833,0.667;DEFAULT 1;FONT "MS Sans Serif', 8 ;STYLE "B";VALID btn_val('LOCATE');MESSAGE 'Locate a record.'

@ 19.769,41.667 GET m.add_btn;PICTURE "@*HN \<Add" ;SIZE 1.769,7.833,0.667;DEFAULT!;FONT "MS Sans Serif', 8 ;STYLE "B";VALID btn_val('ADD') ;MESSAGE 'Add a new record.'

@ 19.769,49.667 GET m.edit_btn;PICTURE "@*HN Ed\<it" ;SIZE 1.769,7.833,0.667;DEFAULT 1;FONT "MS Sans Serif', 8;STYLE "B";VALID btn val('EDIT');MESSAGE 'Edit current record.'

@ 19.769,57.667 GET m.del_btn;PICTURE "@*HN \<Delete" ;SIZE 1.769,7.833,0.667;DEFAULT 1;FONT "MS Sans Serif', 8 ;STYLE "B";VALID btn val('DELETE');MESSAGE 'Delete current record.'

19

Page 24: P)ICV£rtct OP P,1{ÇJ~P,CRJ1{Ç CO~

@ 19.769,65.667 GET m.pmt_btn;PICTURE "@*HN P\<rint" ;SIZE 1.769,7.833,0.667;DEFAULT 1;FONT "MS Sans Serif', 8;STYLE "B";VALID btn_val('PRINT') ;MESSAGE 'Print report.'

@ 19.769,73.667 GET m.exit_btn;PICTURE "@*HN \<Close" ;SIZE 1.769,7.833,0.667;DEFAULT 1;FONT "MS Sans Serif', 8 ;STYLE "B";VALID btn val('EXIT') ;MESSAGE 'Close screen.'

@2.000,27.500 TO 2.000,53.833 ;PEN 2, 8;STYLE "1";COLOR RGB(0,255,0,0,255,0)

@ 13.154,29.667 GET m.situation;PICTURE "@*RVN Empty;Full;Reserved";SIZE 1.308, 13.500,0.308 ;DEFAULT 1;FONT "MS Sans Serif', 8;STYLE "BT";WHEN isediting

@ 5.385,68.000 GET m.room_type;PICTURE "@*RVN Single;Shift;Triple;Wing";SIZE l.308,10.333,0.308;DEFAULT 1;FONT "MS Sans Serif', 8;STYLE "BT";WHEN isediting

@ 13.154,68.000 GET m.position ;PICTURE "@*RVN Sea ;Middle;Comer" ;SIZE l.308,10.667,0.308;DEFAULT 1;FONT "MS Sans Serif', 8 ;STYLE "BTII;WHEN isediting

@4.231,2.167 TO 18.616,80.667;PEN 2, 8;STYLE "16"

@ 10.923,29.667 GET m.flat ;PICTURE "@J\ 2;3;4;5;6;7;8;9;10";

20

Page 25: P)ICV£rtct OP P,1{ÇJ~P,CRJ1{Ç CO~

SIZE 1.538,6.167;DEFAULT "2";FONT "MS Sans Serif', 8 ;STYLE "B";WHEN isediting

@9.154,36.500 SAY"$";FONT "MS Sans Serif', 12;STYLE "T";COLOR RGB(0,0,0,,,,)

IF NOT WVISIBLE("_03n0w2lv5")ACTIVATE WINDOW 03n0w2lv5

ENDIF* ********************************************************* * ** * WindowsREAD contains clauses from SCREEN rooms* ** ********************************************************* *READ CYCLE;

ACTIVATE READACT() ;DEACTIVATE READDEAC() ;NOLOCK

RELEASE WINDOW 03n0w2lv5

* ********************************************************* * ** Windows ClosingDatabases** ** ********************************************************* *IF USED("rooms")

SELECT roomsUSE

ENDIFSELECT (m.currarea)#REGION OSET READBORDER &rborderIF m.talkstat = "ON"

SET TALK ONENDIFIF m.compstat = "ON"

SET COMPATIBLE ON

21

Page 26: P)ICV£rtct OP P,1{ÇJ~P,CRJ1{Ç CO~

END IF

* ********************************************************* * ** * ROOMS/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('DISPLA Y')='VGA50'

@49,0 CLEAR TO 49,79CASE DOS

@24,0 CLEAR TO 24, 79END CASE*****

********************************************************* ** ROOMS/Windows Supporting Procedures and Functions**********************************************************

#REGION 1PROCEDURE readdeacIF isediting

ACTIVATE WINDOW' 03n0w2lv5'WAIT WINDOW C EDITS NOW AIT

END IF _IF !WVISIBLE(WOUTPUT())

CLEAR READRETURN .T.

ENDIFRETURN.F.PROCEDURE readactIF !isediting

SELECT (m.wzalias)SHOW GETS

ENDIFDO REFRESH

RETURNPROCEDURE wizerrorhandler

22

Page 27: P)ICV£rtct OP P,1{ÇJ~P,CRJ1{Ç CO~

WAIT WINDOW message()RETURNPROCEDURE printrec

PRIVATE sOldError, wizfrıame,saverec,savearea, tmpcurs, tmpstrPRIVATE pmt_ btn,p _recs,p _output,pr _out,pr _recordSTORE 1 TO p_recs,p_outputSTORE O TO pmt_ btnSTORE RECNO() TO saverecm.sOldError=ON ('error')DO pdialogIF m.pmt_btn = 2

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

m.wizfrıame=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.wizfrıame)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

END IF

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

RETURN

23

Page 28: P)ICV£rtct OP P,1{ÇJ~P,CRJ1{Ç CO~

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 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 ENDFILE NOW AIT

CASE m.btnname='LOCATE'DO loc_dlog

CASE m.btnname='ADD' AND !isediting &&add recordisediting=. T.isadding=. T.=edithand('AD D')_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 refresh

24

Page 29: P)ICV£rtct OP P,1{ÇJ~P,CRJ1{Ç CO~

RETURNELSE

WAIT WINDOW C NOLOCKEND IF

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

=edithand('SA VE')ELSE

GATHER MEMV AR MEMOEND IFUNLOCKisediting= .F.isadding= .F.DO refresh

CASE m.btnname='DELETE' AND iseditingIF 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 IFIF fox_alert(C_DELREC)

DELETEIF !EOF() AND DELETED()

SKIP 1END IFIFEOF()

WAIT WINDOW C ENDFILE NOW AITGO BOTTOM

END IFEND IF

&&cancel record

CASE m.btnname='PRINT'DO printrecRETURN

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

ENDCASE

25

Page 30: P)ICV£rtct OP P,1{ÇJ~P,CRJ1{Ç CO~

SCATTER MEMV AR MEMOSHOW GETS

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

SHOW GETS DISABLESHOW GET exit btn ENABLE

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

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

CASE m.iseditingSHOW GETfind_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 pmt_ btn DISABLESHOW GET exit btn DISABLESHOW GET edit_ btn, 1 PROMPT "\<Save"SHOW GET del_btn,1 PROMPT "\<Cancel"ON KEY LABEL ESCAPE DO BTN VAL WITH DELETE'RETURN

OTHERWISESHOW GET edit_ btn, 1 PROMPT "Ed\<it"SHOW GET del_btn, I PROMPT "\<Delete-"SHOW GETS ENABLE

ENDCASEIF m.is2table

SHOW GET add btn DISABLEENDIFON KEY LABEL ESCAPE

RETURNPROCEDURE edithand

PARAMETER m.pactionDO CASECASE m.paction = 'ADD'

SCATTER MEMVAR MEMO BLANKCASE m.paction ='SAVE'

26

Page 31: P)ICV£rtct OP P,1{ÇJ~P,CRJ1{Ç CO~

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', 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= 1

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 SYSTEM

MOVE WINDOW _qjn12zbvh CENTERACTIVATE WINDOW [email protected],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 ;

27

Page 32: P)ICV£rtct OP P,1{ÇJ~P,CRJ1{Ç CO~

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 _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.gfields=SET('FIELDS',2)IF !EMPTY(RELATION( 1))

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

ENDDOENDIF

ENDIFBROWSE WINDOW wzlocate NOEDIT NODELETE ;

NOMENU TITLE C BRTITLESET FIELDS &gfieldsSET FIELDS OFFRELEASE WINDOW wzlocate

RETURN

28

Page 33: P)ICV£rtct OP P,1{ÇJ~P,CRJ1{Ç CO~

CHECK-IN

The receptionist should always check the registration card, or register theguest once he/she has checked in.It is also important to fill in the reservation form and details. Thereceptionist can then inform the guest of the room number, room location,room rate, etc., upon request.

29

Page 34: P)ICV£rtct OP P,1{ÇJ~P,CRJ1{Ç CO~

ELSE

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

SET TALK OFFm.wztalk = "ON"

m.wztalk = "OFF"END IF -m.wzfields=SET('FIELDS')SET FIELDS OFFIF m.wztalk = "ON"

SET TALK ONEND IF

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

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

ELSEm.talkstat = "OFF"

END IFm.compstat = SET("COMPATIBLE")SET COMPATIBLE FOXPLUS

m.rborder = SET("READBORDER")SET READBORDER ONm.currarea = SELECT()

* ********************************************************* * ** * DATNWindows Databases, Indexes, Relations* ** *********************************************************

IF USED("data")SELECT dataSET ORDER TO TAG" 03914oeoi"

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

AGAIN ALIAS data ;ORDER TAG" 03914oeoi"

ENDIF

30

Page 35: P)ICV£rtct OP P,1{ÇJ~P,CRJ1{Ç CO~

* ********************************************************* * ** * Windows Window definitions* ** ********************************************************* *IF NOT WEXIST("_03q1 Ofhld")

DEFINE WINDOW _03q10fh3d;AT 0.000, 0.000 ;SIZE 33.769,104.000;TITLE "DIANA HOTEL";FONT "MS Sans Serif', 8 ;STYLE "B";FLOAT;CLOSE;MINIMIZE;COLOR RGB(,,,255,0,255)

MOVE WINDOW _03ql0fh3d CENTERENDIF

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

#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 READONLY#DEFINE C NOTABLE

'Database is empty, add a record?''Please finishyour edits.''Top of file.''End of file.''Locate Record''Sorry, could not lock record -- try again later.''Edits Canceled.''Delete selected record?''Feature not availableyet.''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.'

31

Page 36: P)ICV£rtct OP P,1{ÇJ~P,CRJ1{Ç CO~

#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 ', 03q 1 Ofh3d' CENTERPRIVATE isediting,isadding,wztblarrPRIVATE wzolddelete,wzolderror,wzoldescPRIVATE wzalias, tempcurs, wzlastrecPRIVATE isreadonly,find_drop,is2table

IF EMPTY(ALIAS())WAIT WINDOW C NOTABLERETURN

END IF

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')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

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

END IF

GOTO TOPSCATTER MEMV AR MEMO

32

Page 37: P)ICV£rtct OP P,1{ÇJ~P,CRJ1{Ç CO~

* * DATA/Windows Screen Layout

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

#REGION 1IF WVISIBLE("_03q1 Oflı3d")

ACTIVATE WINDOW _03q10flı3d SAMEELSE

ACTIVATE WINDOW _03q10flı3d [email protected],16.000 SAY "Name:";

SIZE 1.000,9.750;FONT "MS Sans Serif', 1 O ;STYLE "BIT" ;PICTURE "@J" ;COLOR RGB(,,,255,255,255)

@ 5.692,31.333 GET m.name ;SIZE 1 .000,8.000 ;DEFAULT"";FONT "MS Sans Serif', 1 O ;PICTURE "@K:XXXXXXX";WHEN isediting ;COLOR ,RGB(0,0,0,255,255,255)

@ 5.692,60.333 SAY "Surname:" ;SIZE 1.000,12.000;FONT "MS Sans Serif', 1 O ;STYLE "BIT";PICTURE "@J" ;COLOR RGB(,,,255,255,255)

@ 5.692,78.833 GET m.surname;SIZE 1 .000,8.000 ;DEFAULT"";FONT "MS Sans Serif', 1 O ;PICTURE "@K :XXXXXXX";WHEN isediting ;COLOR ,RGB(0,0,0,255,255,255)

@7.538,11.667 SAY "Nationality:";SIZE 1.000,13.000;FONT "MS Sans Serif', 1 O ;STYLE "BIT" ;PICTURE "@J" ;COLOR RGB(,,,255,255,255)

@7.538,31.333 GET m.nationaly;SIZE 1.000,11.429 ;

33

Page 38: P)ICV£rtct OP P,1{ÇJ~P,CRJ1{Ç CO~

DEFAULT"";FONT "MS Sans Serif', 1 O ;PICTURE "@K XXX:XXXXXXX" ;WHEN isediting ;COLOR ,RGB(0,0,0,255,255,255)

@ 7.538,55.667 SAY "Passport No:";SIZE 1.000,15.500;FONT "MS Sans Serif', 1 O ;STYLE "BIT";PICTURE "@J" ;COLOR RGB(,,,255,255,255)

@ 7.538,78.833 GET m.passport_n;SIZE 1.000,9. 143 ;DEFAULT"";FONT "MS Sans Serif', 1 O ;PICTURE "@KXXXXXXXX";WHEN isediting ;COLOR ,RGB(0,0,0,255,255,255)

@ 9.385, 13.667 SAY "Address:" ;SIZE 1.000,11.500;FONT "MS Sans Serif', 1 O ;STYLE "BIT" ;PICTURE "@J" ;COLOR RGB(,,,255,255,255)

@9.385,31.333 GET m.address;SIZE 1 .000,40.000 ;DEFAULT"";FONT "MS Sans Serif', 1 O ;PICTURE "@K

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

@11.231,5.667 SAY "Telephone No:";SIZE 1.000,17.500;FONT "MS Sans Serif', 1 O ;STYLE "BIT" ;PICTURE "@J" ;COLOR RGB(,,,255,255,255)

@11.231,31.333 GET m.tel_no;SIZE 1.000,11.143;DEFAULT"";FONT "MS Sans Serif', 1 O ;PICTURE "@K 9999999999";WHEN isediting ;COLOR ,RGB(0,0,0,255,255,255)

@ 11.231,58.500 SAY "Birth Date:";

34

" '

Page 39: P)ICV£rtct OP P,1{ÇJ~P,CRJ1{Ç CO~

SIZE 1.000,13.375 ;FONT "MS Sans Serif', 10;STYLE "BIT";PICTURE "@J" ;COLOR RGB(,,,255,255,255)

@ 11.308,79.000 GET m.birth_date;SIZE 1.000,7.429;DEFAULT"";FONT "MS Sans Serif', 1 O ;PICTURE "@K" ;WHEN isediting ;COLOR ,RGB(0,0,0,255,255,255)

@ 13.077,9.667 SAY "Birth Place:";SIZE 1.000,14.500;FONT "MS Sans Serif', 1 O ;STYLE "BIT" ;PICTURE "@J" ;COLOR RGB(,,,255,255,255)

@ 13.077,31.333 GET m.birth_plce;SIZE 1.000,9.143 ;DEFAULT"";FONT "MS Sans Serif', 1 O ;PICTURE "@K :XXXXXXXX" ;WHEN isediting ;COLOR ,RGB(0,0,0,255,255,255)

@ 13.077,66.500 SAY "Sex:";SIZE 1.000,7.375 ;FONT "MS Sans Serif', 1 O ;STYLE "BIT" ;PICTURE "@J" ;COLOR RGB(,,,255,255,255)

@ 14.923,7.667 SAY "Marital States:" ;SIZE 1.000,16.000;FONT "MS Sans Serif', 1 O ;STYLE "BIT" ;PICTURE "@J" ;COLOR RGB(,,,255,255,255)

@ 14.923,45.167 SAY "Wife(Husband)Name:";SIZE 1.000,23.375 ;FONT "MS Sans Serif', 1 O ;STYLE "BIT";PICTURE "@J" ;COLOR RGB(,,,255,255,255)

@ 14.923,78.833 GET m.wife_name;SIZE 1.000,8.000 ;DEFAULT"";

35

Page 40: P)ICV£rtct OP P,1{ÇJ~P,CRJ1{Ç CO~

FONT "MS Sans Serif', 1 O ;PICTURE "@K XXXXXXX" ;WHEN isediting ;COLOR ,RGB(0,0,0,255,255,255)

@ 16.769,9.667 SAY "Child uder 6:";SIZE 1.000,14.500 ;FONT "MS Sans Serif', 1 O ;STYLE "BIT";PICTURE "@J" ;COLOR RGB(,,,255,255,255)

@ 16.769,31.333 GET m.chil_ud_6;SIZE 1.000,1.714;DEFAULT"";FONT "MS Sans Serif', 10;PICTURE "@K 99" ;WHEN isediting ;COLOR ,RGB(0,0,0,255,255,255)

@ 16.769,52.500 SAY "Child udder 15:";SIZE 1.000,17.875;FONT "MS Sans Serif', 1 O ;STYLE "BIT" ;PICTURE "@J" ;COLOR RGB(,,,255,255,255)

@ 16.769,78.833 GET m.chil_ud_15;SIZE 1.000,1.714;DEFAULT"";FONT "MS Sans Serif', 10 ;PICTURE "@K 99" ;WHEN isediting ;COLOR ,RGB(0,0,0,255,255,255)

@ 18.615,17.667 SAY "Flat:";SIZE 1 .000,8.500 ;FONT "MS Sans Serif', 1 O ;STYLE "BIT" ;PICTURE "@J" ;COLOR RGB(,,,255,255,255)

@ 18.615,56.500 SAY "Room Type:";SIZE 1.000,14.875;FONT "MS Sans Serif', 10;STYLE "BIT" ;PICTURE "@J'' ;COLOR RGB(,,,255,255,255)

@ 20.462,5.667 SAY "Room Position:" ;SIZE 1.000,17.500;FONT "MS Sans Serif', 1 O ;STYLE "BIT";

36

Page 41: P)ICV£rtct OP P,1{ÇJ~P,CRJ1{Ç CO~

PICTURE "@J" ;COLOR RGB(,,,255,255,255)

@ 20.462,58.500 SAY "Room No:" ;SIZE 1.000,13.375 ;FONT "MS Sans Serif', 1 O ;STYLE "BIT";PICTURE "@J" ;COLOR RGB(,,,255,255,255)

@20.462,78.833 GET m.room_no;SIZE 1 .000,4.286 ;DEFAULT" II;

FONT "MS Sans Serif', 1 O ;PICTURE "@K 9999" ;WHEN isediting ;COLOR ,RGB(0,0,0,255,255,255)

@22.308,7.667 SAY "Room Phone:";SIZE 1.000,16.000;FONT "MS Sans Serif', 1 O ;STYLE "BIT" ;PICTURE "@J" ;COLOR RGB(,,,255,255,255)

@22.308,31.333 GET m.room_phone;SIZE 1 .000,4.286 ;DEFAULT If II;

FONT "MS Sans Serif', 1 O ;PICTURE "@K 9999" ;WHEN isediting ;COLOR ,RGB(0,0,0,255,255,255)

@ 22.308,56.500 SAY "Room Price:" ;SIZE 1.000,14.875 ;FONT "MS Sans Serif', 1 O ;STYLE "BIT";PICTURE."@J" ;COLOR RGB(,,,255,255,255)

@22.308,78.833 GET m.room_price;SIZE 1 .000,6.286 ;DEFAULT"";FONT "MS Sans Serif', 1 O ;PICTURE "@KX:XXX";WHEN isediting ;COLOR ,RGB(0,0,0,255,255,255)

@24.154,5.667 SAY "Date of Arrival:";SIZE 1.000,17.500;FONT "MS Sans Serif', 1 O ;STYLE "BIT";PICTURE "@J" ;

37

Page 42: P)ICV£rtct OP P,1{ÇJ~P,CRJ1{Ç CO~

COLOR RGB(,,,255,255,255)@24.154,31.333 GET m.date_of_ar;

SIZE 1.000,7.714;DEFAULT II II;

FONT "MS Sans Serif', 1 O ;PICTURE "@K :XXXXXXXX" ;WHEN isediting ;COLOR ,RGB(0,0,0,255,255,255)

@24.154,49.167 SAY "Date of deprature:";SIZE 1 .000,20.375 ;FONT "MS Sans Serif', 1 O ;STYLE "BIT";PICTURE "@J" ;COLOR RGB(,,,255,255,255)

@24.154,78.833 GET m.date_of_de;SIZE 1.000,8.143 ;DEFAULT II II;

FONT "MS Sans Serif', 1 O ;PICTURE "@K" ;WHEN isediting ;COLOR ,RGB(0,0,0,255,255,255)

@30.923,12.167 GET m.top_btn;PICTURE "@*HN \<Top" ;SIZE 1.769,7.833,0.667;DEFAULT 1;FONT "MS Sans Serif', 8 ;STYLE "B";VALID btn val('TOP');MESSAGE 'Go to first record.'

@30.923,20.167 GET m.prev_btn;PICTURE "@*HN \<Prev" ;SIZE 1.769,7.833,0.667;DEFAULT 1;FONT "MS Sans Serif', 8 ;STYLE "B";VALID btn_val('PREV') ;MESSAGE 'Go to previous record.'

@30.923,28.167 GET m.next_btn;PICTURE "@*HN \<Next" ;SIZE L769,7.833,0.667;DEFAULT 1;FONT "MS Sans Serif', 8 ;STYLE "B";VALID btn val('NEXT') ;MESSAGE 'Go to next record.'

@ 30.923,36.167 GET m.end_btn;

38

Page 43: P)ICV£rtct OP P,1{ÇJ~P,CRJ1{Ç CO~

39

PICTURE "@*HN \<End" ;SIZE 1.769,7.833,0.667;DEFAULT 1;FONT "MS Sans Serif', 8 ;STYLE "B";VALID btn_val('END') ;MESSAGE 'Go to last record.'

@ 30.923,44. 167 GET m.loc _btn ;PICTURE "@*HN \<Locate" ;SIZE 1.769,7.833,0.667;DEFAULT 1;FONT "MS Sans Serif', 8 ;STYLE "B";VALID btn_val('LOCATE') ;MESSAGE 'Locate a record.'

@ 30.923,52.167 GET m.add_btn;PICTURE "@*HN \<Add" ;SIZE 1.769,7.833,0.667;DEFAULT 1;FONT "MS Sans Serif', 8 ;STYLE "B";VALID btn_val('ADD');MESSAGE 'Add a new record.'

@ 30.923,60.167 GET m.edit_btn;PICTURE "@*HN Ed\<it" ;SIZE 1.769,7.833,0.667;DEFAULT 1;FONT "MS Sans Serif', 8 ;STYLE "B";VALID btn_val('EDIT') ;MESSAGE 'Edit current record.'

@30.923,68.167 GET m.del_btn;PICTURE."@*HN \<Delete";SIZE 1.769,7.833,0.667;DEFAULT 1;FONT "MS Sans Serif', 8 ;STYLE "B";VALID btn_val('DELETE');MESSAGE 'Delete current record.'

@30.923,76.167 GET m.pmt_btn;PICTURE "@*HN P\<rint" ;SIZE 1.769,7.833,0.667;DEFAULT 1;FONT "MS Sans Serif', 8 ;STYLE "B";VALID btn_val('PRINT') ;

Page 44: P)ICV£rtct OP P,1{ÇJ~P,CRJ1{Ç CO~

:MESSAGE 'Print report.'@30.923,84.167 GET m.exit_btn;

PICTURE "@*HN \<Close" ;SIZE 1.769,7.833,0.667;DEFAULT 1;FONT "MS Sans Serif', 8 ;STYLE "B";VALID btn val('EXIT') ;:MESSAGE 'Close screen.'

@ 26.000,55.833 SAY "Account No:" ;SIZE 1.000,15.375 ;FONT "MS Sans Serif', 1 O ;STYLE "BIT" ;PICTURE "@J" ;COLOR RGB(,,,255,255,255)

@26.000,78.833 GET m.account_no;SIZE 1.000,11.429 ;DEFAULT"";FONT "MS Sans Serif', 1 O ;PICTURE ''@K XXXXXX:XXXX'';WHEN isediting ;COLOR ,RGB(0,0,0,255,255,255)

@27.846,53.167 SAY "Amount Payed:";SIZE 1.000,17.375 ;FONT "MS Sans Serif', 1 O ;STYLE "BIT" ;PICTURE "@J" ;COLOR RGB(,,,255,255,255)

@27.846,78.833 GET m.amount_pay;SIZE 1 .000,6.286 ;DEFAULT"";FONT "MS Sans Serif', 1 O ;PICTURE."@K:XXXX";WHEN isediting ;COLOR ,RGB(0,0,0,255,255,255)

@0.154,32.500 SAY "GUEST FILE";FONT "MS Sans Serif', 24 ;STYLE "BIT" ;

-COLOR RGB(0,255,0,,,,)@2.692,33.000 TO 2.692,66.667;

PEN 4, 8;STYLE "l";COLOR RGB(0,255,0,0,255,0)

@ 18.538,31.000 GET m.flat ;PICTURE "@" 2·3·4·5·6·7·8·9·10"·' ' ' ' ' ' ' ' 'SIZE 1.538,6.167;

40

Page 45: P)ICV£rtct OP P,1{ÇJ~P,CRJ1{Ç CO~

DEFAULT "2";FONT "MS Sans Serif', 8 ;STYLE "B";WHEN isediting

@ 14.846,31.000 GET m.marital_st;PICTURE "@/\ Single;Married" ;SIZE 1.538,10.833 ;-­DEFAULT "Single" ;FONT "MS Sans Serif', 8 ;STYLE "B";WHEN isediting

@20.385,31.000 GET m.room_postn;PICTURE"@/\ Sea;Middle;Corner";SIZE 1.538,10.000;DEFAULT "Sea" ;FONT "MS Sans Serif', 8 ;STYLE "B";WHEN isediting

@ 18.538,78.500 GET m.room_type;PICTURE "@1' Single;Shi:ft;Triple;Wing";SIZE 1.538,9.667 ;DEFAULT "Single" ;FONT "MS Sans Serif', 8 ;STYLE "B";WHEN isediting

@4.385,2.833 TO 30.231,101.000;PEN 2, 8;STYLE "16"

@ 13.000,78.500 GET m.sex;PICTURE "@/\Male;Female" ;SIZE 1.538,10.500;DEFAULT "Male" ;FONT "MS Sans Serif', 8 ;STYLE "B";WHEN isediting

@11.231,88.333 SAY "mm/dd/yy";FONT "MS Sans Serif', 1 O ;STYLE "BIT"

@24.077,40.667 SAY "mm/dd/yy";FONT "MS Sans Serif', 1 O ;STYLE "BIT"

@26.000,19.667 SAY "Time:";SIZE 1.000,7.000;FONT "MS Sans Serif', 1 O ;STYLE "BIT" ;PICTURE "@J" ;

41

Page 46: P)ICV£rtct OP P,1{ÇJ~P,CRJ1{Ç CO~

COLOR RGB(,,,255,255,255)@26.000,31.333 GET m.time;

SIZE 1.000,6.857 ;DEFAULT"";FONT "MS Sans Serif', 1 O ;PICTURE "@K:XXXXXX";WHEN isediting ;COLOR ,RGB(0,0,0,255,255,255)

@27.846,14.333 SAY "Deposit:";SIZE 1.000,11.000;FONT "MS Sans Serif', 1 O ;STYLE "BIT";PICTURE "@J" ;COLOR RGB(,,,25 5,255,255)

@ 27.846,31.333 GET m.deposit;SIZE 1.000,6.286 ;DEFAULT"";FONT "MS Sans Serif'', 1 O ;PICTURE "@K XXXX" ;WHEN isediting ;COLOR ,RGB(0,0,0,255,255,255)

@ 26.000,39.667 SAY "(24 Hour)" ;FONT "MS Sans Serif', 1 O ;STYLE "BIT"

@ 27.923,39.667 SAY"$" ;FONT "MS Sans Serif', 1 O ;STYLE "T"

@27.923,87.167 SAY"$";FONT "MS Sans Serif', 1 O ;STYLE "T"

@22.385,87.167 SAY"$";FONT "MS Sans Serif', 1 O ;STYLE "T"

IF NOT WVISIBLE("_03q1 Ofh3d")ACTIVATE WINDOW _03ql0fh3d

ENDIF

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

* ** * WindowsREAD contains clauses from SCREEN data

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

READ CYCLE;ACTIVATE READACT() ;

42

-- - - -------~-

Page 47: P)ICV£rtct OP P,1{ÇJ~P,CRJ1{Ç CO~

DEACTIVATE READDEAC() ;NO LOCK

RELEASE WINDOW _03q10fh3d

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

* ** * Windows Closing Databases

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

IF USED("data")SELECT dataUSE

END IFSELECT (m.currarea)

#REGION O

SET READBORDER &rborder

IF m.talkstat = "ON"SET TALK ON

END IFIF m.compstat = "ON"

SET COMPATIBLE ONEND IF

* ********************************************************* * ** * DATA/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'

@49,0 CLEAR TO 49,79CASE DOS

@24,0 CLEAR TO 24, 79ENDCASE

43

Page 48: P)ICV£rtct OP P,1{ÇJ~P,CRJ1{Ç CO~

*****

********************************************************* ** DATA/Windows Supporting Procedures and Functions

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

#REGION 1PROCEDURE readdeac

IF iseditingACTIVATE WINDOW '_03ql0fh3d'WAiT WINDOW C EDITS NOW AiT

END IFIF !WVISIBLE(WOUTPUT())

CLEAR READRETURN .T.

END IFRETURN .F.

PROCEDURE readactIF ! isediting

SELECT (m.wzalias)SHOW GETS

END IFDO REFRESH

RETURN

PROCEDURE wizerrorhandlerWAiT 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 = 2

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

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

ON ERROR*

44

Page 49: P)ICV£rtct OP P,1{ÇJ~P,CRJ1{Ç CO~

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

RETURN

mwizfname=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.wiz:6:ıame) 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

END IF

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

GO TOPWAIT WINDOW C TOPFILE NOW AIT

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

SKIP -1END IFIF BOF()

WAIT WINDOW C TOPFILE NOW AITGO TOP

END IFCASE m.btnname='NEXT'

IF !EOF()

45

Page 50: P)ICV£rtct OP P,1{ÇJ~P,CRJ1{Ç CO~

SKIP 1END IFIF EOF()

WAiT WINDOW 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 BOF()

WAiT WINDOW C ENDFILE NOW AiTRETURN

END IFIFRLOCK()

isediting=. T._curobj=lDO refreshRETURN

ELSEWAiT WINDOW C NOLOCK

END IFCASE m.b.tnname='EDIT' AND isediting &&save record

IF isadding=edithand('SA VE')

ELSEGATHER MEMV AR MEMO

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

CASE m.btnname='DELETE' AND iseditingIF isadding

=edithand('CANCEL')END IF

&&cancel record

46

Page 51: P)ICV£rtct OP P,1{ÇJ~P,CRJ1{Ç CO~

isediting= .F.isadding= .F.UNLOCKWAIT WINDOW C_ECANCEL NOW AITDO refresh

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

WAIT WINDOW C ENDFILE NOWAITRETURN

ENDIFIF fox_alert(C_DELREC)

DELETEIF !EOF() AND DELETED()

SKIP 1END IFIFEOF()

WAIT WINDOW C ENDFILE NOW AITGO BOTTOM

ENDIFENDIF

CASE m.btnname='PRINT'DO printrecRETURN

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

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 del btn DISABLESHOW GET edit btn DISABLE

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

CASE m.isediting

47

Page 52: P)ICV£rtct OP P,1{ÇJ~P,CRJ1{Ç CO~

SHOW GET :find_drop DISABLESHOW 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 pmt_btn DISABLESHOW GET exit btn DISABLESHOW GET edit_btn,1 PROMPT "\<Save"SHOW GET del_btn, 1 PROMPT "\<Cancel"ON KEY LABEL ESCAPE DO BTN VAL WITH 'DELETE'RETURN

OTHERWISESHOW GET edit_ btn, 1 PROMPT "Ed\<it"SHOW GET del_btn,1 PROMPT "\<Delete"SHOW GETS ENABLE

ENDCASEIF rrı.is2table

SHOW GET add btn DISABLEENDIFON KEY LABEL ESCAPE

RETURN

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

SCATTER MEMVAR MEMO BLANKCASE m.paction = 'SAVE'

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

* nothing hereENDCASE

RETURN

PROCEDURE fox alertPARAMETER wzalrtmessPRIVATE alrtbtnrrı.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

48

Page 53: P)ICV£rtct OP P,1{ÇJ~P,CRJ1{Ç CO~

@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= 1

PROCEDURE pdialogDEFINE WINDOW _qjn12zbvh;

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

MOVE WINDOW _qjn12zbvh CENTERACTIVATE WINDOW _qjn12zbvh [email protected],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 MODAL

49

Page 54: P)ICV£rtct OP P,1{ÇJ~P,CRJ1{Ç CO~

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 !EıvıPTY(RELATION(l))

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

SET FIELDS GLOBALEND IFIF EıvıPTY(FLDLIST())

m.i=lDO \VHILE !EıvıPTY(OBN AR(m.i))

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

END IFm.i = m.i + 1

END DOEND IF

END IFBROWSE WINDOW wzlocate NOEDIT NO DELETE ;

NOlvfENU TITLE C_BRTITLESET FIELDS &gfıeldsSET FIELDS OFFRELEASE WINDOW wzlocate

RETURN

RELEASE WINDOW _qjn12zbvhRETURN

50

Page 55: P)ICV£rtct OP P,1{ÇJ~P,CRJ1{Ç CO~

CHECK-OUT

On the day of departure the reception department has to ensure that allextra bills are paid, all keys returned, and the baggage cleared before theguest or the group departs. The receptionist calls this submenu from thereservation menu. Hence, all three options do the same functions but theyhave been generated to provide confusion tolerant.

Deleting It's Ok

Press The Enter Key To Continue !

51

Page 56: P)ICV£rtct OP P,1{ÇJ~P,CRJ1{Ç CO~

SET TALK OFFIF NOT WEXIST("_03gl5dnlc")

DEFINE WINDOW _03g15dnlc;AT 0.000, 0.000 ;SIZE 20.538,42.333 ;TITLE "DIANA HOTEL" ;FONT "MS Sans Serif', 8 ;STYLE "B";FLOAT;CLOSE;MINIMIZE;COLOR RGB(,,,255,0,255)

MOVE WINDOW _03g15dnlc CENTEREND IF

IF WVISIBLE("_03g15dnlc")ACTIVATE WINDOW _03g15dnlc SAME

ELSEACTIVATE WINDOW _03g15dnlc NOSHOW

END IF@ 15.538,14.333 GET m.exit_btn;

PICTURE "@*HN \<Close" ;SIZE 1.438,7.625,0.500;DEFAULT 1;FONT "MS Sans Serif', 1 O ;STYLE "B";VALID btn val('EXIT') ;MESSAGE 'Close screen.'

@ 1.077,7.333 SAY "Check-out Menu";FONT "MS Sans Serif', 14 ;STYLE "BIT";COLOR RGB(0,255,0,,,,)

@2.769,7.500 TO 2.769,33.833 ;PEN 2, 8;STYLE "l";COLOR RGB(0,255,0,0,255,0)

@6.692,10.167 GET A;PICTURE "@*HN By Passport No";SIZE l.438,15.125,0.500;DEFAULT 1;FONT "MS Sans Serif', 1 O ;STYLE "B";VAlidPASS()

@9.615,10.167 GET A;PICTURE "@*HN By Account No" ;SIZE 1.438,15.125,0.500;

52

Page 57: P)ICV£rtct OP P,1{ÇJ~P,CRJ1{Ç CO~

DEFAULT 1;FONT "MS Sans Serif', 1 O ;STYLE "B";VALID ACCOUNT()

@ 5.385,7.500 TO 18.462,33.333;PEN 2, 8;STYLE "16"

@ 12.462,10.167 GET A;PICTURE "@*HN By Room No" ;SIZE l.438,15.000,0.500;DEFAULT 1;FONT "MS Sans Serif', 1 O ;STYLE "B";VALID ROM()

IF NOT WVISIBLE("_03g15dnlc")ACTIVATE WINDOW _03g15dnlc

ENDIF

*********PROCEDURE WHEN THE CHOICE FOUND**************

PROCEDURE FINDIF NOT WEXIST("_03910y9u2")

DEFINE WINDOW _03910y9u2;AT 0.000, 0.000;SIZE 9.231,55.000;TITLE "DIANAHOTEL" ;FONT "MS Sans Serif', 8 ;FLOAT;CLOSE;MINIMIZE;SYSTEM;COLOR RGB(,,,255,255,255)MOVE WINDOW _03910y9u2 CENTER

ENDIF

IF WVISIBLE(" 03910y9u2")ACTIVATE WINDOW _03910y9u2 SAME

ELSEACTIVATE WINDOW _03910y9u2 NOSHOW

ENDIF@ 1.769,14.400 SAY "DeletingIt's Ok";

FONT "MS Sans Serif', 1 O ;STYLE "BT"

@ 5.231,2.200 SAY "Press The Enter Key To Continue ! " ;FONT "MS Sans Serif', 1 O ;

53

Page 58: P)ICV£rtct OP P,1{ÇJ~P,CRJ1{Ç CO~

STYLE "BT"IF NOT WVISIBLE("_03910y9u2")

ACTIVATE WINDOW _03910y9u2END IF

READRELEASE WINDOW _03910y9u2DO CHECK

*********PROCEDURE WHEN THE CHOICE NOT FOUND**************

PROCEDURE NOTIF NOT WEXIST("_03910y9u2")

DEFINE WINDOW _03910y9u2;AT 0.000, 0.000;SIZE 9.231,55.000;TITLE "DIANA HOTEL" ;FONT "MS Sans Serif', 8 ;FLOAT;CLOSE;MINIMIZE;SYSTEM;COLOR RGB(,,,255,255,255)MOVE WINDOW _03910y9u2 CENTER

END IF

IF WVISIBLE("_03910y9u2")ACTIVATE WINDOW _03910y9u2 SAME

ELSEACTIVATE WINDOW _03910y9u2 NOSHOW

END IF@ 1.769,14.400 SAY "It's Not Found";

FONT "MS Sans Serif', 1 O ;STYLE "BT"

@ 5 .231,2.200 SAY "Press The Enter Key To Continue ! " ;FONT "MS Sans Serif', 1 O ;STYLE "BT"IF NOT WVISIBLE("_03910y9u2")

ACTIVATE WINDOW _03910y9u2ENDIF

READRELEASE WINDOW_ 0391Oy9u2RETURN

54

Page 59: P)ICV£rtct OP P,1{ÇJ~P,CRJ1{Ç CO~

************PROCEDURE DELETE BY PASSPORT NO*************

PROCEDURE PASSIF NOT WEXIST("_0390zsz3a")

DEFINE WINDOW_ 0390zsz3a ;AT 0.000, 0.000;SIZE 6.538,70,200;TITLE "DIANA HOTEL" ;FONT "MS Sans Serif', 8 ;FLOAT;NOCLOSE;MINIMIZE;SYSTEM;COLOR RGB(,,,255,255,255)MOVE WINDOW 0390zsz3a CENTER

END IF

IF WVISIBLE("_ 0390zsz3a")ACTIVATE WINDOW 0390zsz3a SAME

ELSEACTIVATE WINDOW 0390zsz3a NOSHOW

END [email protected],7.800 SAY "Enter Passport No:";

FONT "MS Sans Serif', 1 O ;STYLE "BT"

IF NOT WVISIBLE("_0390zsz3a")ACTIVATE WINDOW _0390zsz3aEND IFyour_ch=space(lO)@2.999,34.800 get your_chreadrelease window 0390zsz3ause c:\project\data.dbflocate all for alltrim(passport _no)=alltrim(your _ch)if foundı)deletedo findelseDO notendifDO checkRETURN

55

·ı

Page 60: P)ICV£rtct OP P,1{ÇJ~P,CRJ1{Ç CO~

56

************PROCEDURE DELETE BY ACCOUNT NO*************

PROCEDURE ACCOUNTIF NOT WEXIST("_0390zsz3a")

DEFINE WINDOW _0390zsz3a;AT 0.000, 0.000 ;SIZE 6.538, 70.200 ;TITLE "DIANA HOTEL";FONT "MS Sans Serif', 8 ;FLOAT;NOCLOSE;MINIMIZE;SYSTEM;COLOR RGB(,,,255,255,255)MOVE WINDOW 0390zsz3a CENTER

END IF

IF WVISIBLE("_ 0390zsz3a")ACTIVATE WINDOW 0390zsz3a SAME

ELSEACTIVATE WINDOW 0390zsz3a NOSHOW

END [email protected],7.800 SAY "Enter Account No:";

FONT "MS Sans Serif', 1 O ;STYLE "BT"

IF NOT WVISIBLE("_ 0390zsz3a")ACTIVATE WINDOW 0390zsz3aEND IFyour_ch=space(lO)@2.999,33.800 get your_chreadrelease window , 0390zsz3ause c:\project\data.dbflocate all for alltriın( account_ no)=alltriın(your _ch)if found() thendeletedo findelseDO notendifDO checkRETURN

Page 61: P)ICV£rtct OP P,1{ÇJ~P,CRJ1{Ç CO~

********PROCEDURE DELETING BY ROOM NO***********PROCEDURE ROM

IF NOT WEXIST("_0390zsz3a")DEFINE WINDOW_ 0390zsz3a ;

AT 0.000, 0.000 ;SIZE 6.538, 70.200 ;TITLE "DIANA HOTEL" ;FONT "MS Sans Serif', 8 ;FLOAT;NOCLOSE;MINIMIZE;SYSTEM;COLOR RGB(,,,255,255,255)MOVE WINDOW 0390zsz3a CENTER

END IF

IF WVISIBLE("_0390zsz3a")ACTIVATE WINDOW 0390zsz3a SAME

ELSEACTIVATE WINDOW _0390zsz3aNOSHOW

END [email protected],7.800 SAY "Enter Room No:";

FONT "MS Sans Serif', 1 O ;STYLE "BT"

IF NOT WVISIBLE("_0390zsz3a")ACTIVATE WINDOW 0390zsz3aEND IFyour_ch=space(IO)@2.999,30.800 get your_chreadrelease window ..:..0390zsz3ause c:\project\data.dbflocate all for alltrim(Room _no)=alltrim(your _ch)if found() thendeletedo findelseDO notendifDO checkRETURN

57

Page 62: P)ICV£rtct OP P,1{ÇJ~P,CRJ1{Ç CO~

FACILITIES AND SERVICES

Facilities and services can best described as both recreational andexercise-oriented. Most of the recreational facilities are commonly found aspart of hotels guest facilities.

58

Page 63: P)ICV£rtct OP P,1{ÇJ~P,CRJ1{Ç CO~

SET TALK OFFIF NOT WEXIST("_038190rvv")

DEFINE WINDOW _038190rvv;AT 0.000, 0.000 ;SIZE 24.769,43.667;TITLE "DIANA HOTEL" ;FONT "MS Sans Serif', 8 ;STYLE "B";FLOAT;CLOSE;MINIMIZE;COLOR RGB(,,,255,0,255)

MOVE WINDOW 038190rvv CENTEREND IFIF WVISIBLE("_038190rvv")

ACTIVATE WINDOW _038190rvv SAMEELSE

ACTIVATE WINDOW _038190rvvNOSHOWEND [email protected],14.500 GET m.exit_btn;

PICTURE "@*HN \<Close" ;SIZE 1.438,9.250,0.500 ;DEFAULT 1;FONT "MS Sans Serif', 1 O ;STYLE "B";VALID bt('EXIT') ;MESSAGE 'Close screen.'

@ 1.000,5.667 SAY "SERVECES MENU" ;FONT "MS Sans Serif', 14 ;STYLE "BIT" ;COLOR RGB(0,255,0,0,255,0)

@2.615,6.333 TO 2.615,34.666;PEN 2, 8 ;STYLE "l";COLOR RGB(0,255,0,0,255,0)

@5.462,11.667 GET A;PICTURE "@*HN Resturant";SIZE l.438,14.250,0.500;DEFAULT 1 ;FONT "MS Sans Serif', 10;STYLE "B";VALID bt('Resturant')

@7.846,11.667 GET A;PICTURE "@*HN Market" ;SIZE l.438,14.250,0.500;DEFAULT 1 ; FONT "MS Sans Serif', 1 O ;STYLE "B";VALID bt('Market')

@10.231,11.667 GET A;PICTURE "@*HN Bar" ;

59

Page 64: P)ICV£rtct OP P,1{ÇJ~P,CRJ1{Ç CO~

SIZE 1.438,14.250,0.500;DEFAULT 1 ;FONT "MS Sans Serif', 10;STYLE "B";VALID bt('Bar')

@ 12.538,11.667 GET A;PICTURE "@*HN Disco" ;SIZE 1.438,14.250,0.500;DEFAULT 1 ;FONT "MS Sans Serif', 10;STYLE "B";VALID bt('Disco')

@ 14.846,11.667 GET A;PICTURE "@*HN Communications";SIZE 1.438,14.250,0.500 ;DEFAULT 1 ; FONT "MS Sans Serif', 10;STYLE "B";VALID bt('Communications')

@4.154,6.667 TO 23.231,35.834;PEN 2, 8 ;STYLE "16"

@ 17.154,11.833 GET A;PICTURE "@*HN Print Bill" ;SIZE 1.769,18.667,0.667;DEFAULT 1 ; FONT "MS Sans Serif', 8;STYLE "B";VALID bt('Print Bill')

IF NOT WVISIBLE("_ 038190rvv")ACTIVATE WINDOW 038190rvv

END IFREAD CYCLEPROCEDURE BT

PARAMETER m.btnnameDO CASE

CASE m.btnname='Resturant'Do c:\project\resturan. prg

CASE m.btnname='Market'DO c:\project\market.prg

CASE m.btnname='Bar'DO c:\project\bar.prg

CASE m.btnname=Disco'DO c:\project\disco.prg

CASE m.btnname='Communications'DO c: \project\commuicat. prg

CASE m.btnname='Print Bill'Do c:\project\form.prg

CASE m.btnname='EXIT'set sysm to defaDEACTIVATE WINDOW _038190rvvRELEASE WINDOW 038190rvv

ENDCASERETURN

60

Page 65: P)ICV£rtct OP P,1{ÇJ~P,CRJ1{Ç CO~

Once the customer has used one of these services, then the responsibleworker has to fill in the database related to that customer the followinginformation.

61

Page 66: P)ICV£rtct OP P,1{ÇJ~P,CRJ1{Ç CO~

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

SET TALK OFFm.wztalk = "ON"

ELSEm.wztalk = "OFF"

END IFm.wzfields=SET('FIELDS')SET FIELDS OFFIF m.wztalk = "ON"

SET TALK ONENDIF

#REGION O REGIONAL m.currarea, m.talkstat, m.compstat

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

ELSEm.talkstat = "OFF"

END IFm.compstat = SET("COMPATIBLE")SET COMPATIBLE FOXPLUS

m.rborder = SET("READBORDER")SET READBORDER ONm.currarea = SELECT()

* ********************************************************* * * * * S58 l 5785/Windows Databases, Indexes, Relations

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

* IF USED("services")

SELECT servicesSET ORDER TO O

ELSESELECT OUSE (LOCFILE("\project\services.dbf', "DBF", "Where is services?"));

AGAIN ALIAS services;ORDER O

62

Page 67: P)ICV£rtct OP P,1{ÇJ~P,CRJ1{Ç CO~

END IF

* ********************************************************* * * * * Windows Window definitions* * * *********************************************************

IF NOT WEXIST("_03x0x8bqi")DEFINE WINDOW _03x0x8bqi;

AT 0.000, 0.000 ;SIZE 25.385,84.000 ;TITLE "DIANA HOTEL" ;FONT "MS Sans Serif', 8 ;STYLE "B";FLOAT;CLOSE;MINIMIZE;COLOR RGB(,,,255,0,255)

MOVE WINDOW_ 03x0x8bqi CENTERENDIF

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

#REGION 1

#DEFINE C DBFEMPTY#DEFINE C_EDlTS#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 READONLY#DEFINE C NOTABLE

Database is empty, add a record?''Please finishyour edits.''Top of file.''End of file.''Locate Record''Sorry, could not lock record -- try again later.''Edits Canceled.'Delete selected record?''Feature not availableyet.''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.'

63

Page 68: P)ICV£rtct OP P,1{ÇJ~P,CRJ1{Ç CO~

#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'_ 03x0x8bqi' CENTERPRIVATE isediting,isadding, wztblarrPRIVATE wzolddelete,wzolderror,wzoldescPRIVATE wzalias, tempcurs, wzlastrecPRIVATE isreadonly,find_drop,is2table

IF EMPTY(ALIAS())WAIT WINDOW C NOTABLERETURN

END IF

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')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

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

END IF

GOTO TOPSCATTER MEMV AR MEMO

* ********************************************************* * * * * SERVICES/Windows Screen Layout

64

Page 69: P)ICV£rtct OP P,1{ÇJ~P,CRJ1{Ç CO~

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

#REGION 1IF WVISIBLE("_03x0x8bqi")

ACTIVATE WINDOW _03x0x8bqi SAMEELSE

ACTIVATE WINDOW _03x0x8bqi NOSHOWENDIF@ 0.231,15 .000 SAY "Services Menu Information" ;

FONT "MS Sans Serif', 18 ;STYLE "BIT" ;COLOR RGB(0,255,0,,,,)

@ 5.923,26.333 SAY "Name:" ;SIZE 1 .000,9.000 ;FONT "MS Sans Serif', 1 O ;STYLE "BIT";PICTURE "@J" ;COLOR RGB(,,,255,255,255)

@ 5.923,40.667 GET m.name;SIZE 1 .000,8.000 ;DEFAULT"";FONT "MS Sans Serif', 1 O ;PICTURE "@KXXXXX:XX" ; WHEN isediting ;COLOR ,RGB(0,0,0,255,255,255)

@ 7.769,26.333 SAY "Surname:";SIZE 1.000,9.000 ;FONT "MS Sans Serif', 1 O ; STYLE "BIT";PICTURE "@J" ;COLOR RGB(,,,255,255,255)

@ 7.769,40.667 GET m.surname;SIZE 1.000,8.000 ;DEFAULT"";FONT "MS Sans Serif', 10;PICTURE "@KXXXXX:XX" ; WHEN isediting ;COLOR ,RGB(0,0,0,255,255,255)

@9.615,26.333 SAY "Room No:";SIZE 1.000,9.000 ;FONT "MS Sans Serif', 10;STYLE "BIT";PICTURE "@J" ;COLOR RGB(,,,255,255,255)

@ 9.615,40.667 GET m.room_no;

65

Page 70: P)ICV£rtct OP P,1{ÇJ~P,CRJ1{Ç CO~

SIZE 1.000,4.286 ;DEFAULT"";FONT "MS Sans Serif', 10;PICTURE "@K 999" ;WHEN isediting ;COLOR ,RGB(0,0,0,255,255,255)

@ 11.462,26.333 SAY "Date:" ;SIZE 1.000,9.000 ;FONT "MS Sans Serif', 1 O ; STYLE "BIT";PICTURE "@J" ;COLOR RGB(,,,255,255,255)

@ 11.462,40.667 GET m.date ;SIZE 1.000,7.714;DEFAULT"";FONT "MS Sans Serif', 1 O ;PICTURE "@K" ;WHEN isediting ;COLOR ,RGB(0,0,0,255,255,255)

@ 13.308,26.333 SAY "Time:" ;SIZE 1.000,9.000 ;FONT "MS Sans Serif', 1 O ;STYLE "BIT" ;PICTURE "@J" ;COLOR RGB(,,,255,255,255)

@ 13.308,40.667 GET m.time;SIZE 1.000,6.857 ;DEFAULT"";FONT "MS Sans Serif', 1 O ;PICTURE "@KXXXXXX";WHEN isediting ;COLOR ,RGB(0,0,0,255,255,255)

@ 15.154,20.833 SAY "Account No:";SIZE 1.000,13.125 ;FONT "MS Sans Serif', 1 O ;STYLE "BIT" ;PICTURE "@J" ;COLOR RGB(,,,255,255,255)

@ 15.154,40.667 GET m.account_no;SIZE 1.000,11.143 ;DEFAULT"";FONT "MS Sans Serif', 1 O ;PICTURE "@K 9,999,999,999" ;WHEN isediting ;COLOR ,RGB(0,0,0,255,255,255)

@ 17.000,18.833 SAY "KindofServece:";

66

Page 71: P)ICV£rtct OP P,1{ÇJ~P,CRJ1{Ç CO~

SIZE 1.000, 14.625 ;FONT "MS Sans Serif', 1 O ;STYLE "BIT";PICTURE "@J" ;COLOR RGB(,,,255,255,255)

@ 18.846,20.833 SAY "Bill Amount:" ;SIZE 1.000,13.125 ;FONT "MS Sans Serif', 10 ;STYLE "BIT" ;PICTURE "@J" ;COLOR RGB(,,,255,255,255)

@ 18.846,40.667 GET m.bill_amoun;SIZE 1.000,6.286 ;DEFAULT"";FONT "MS Sans Serif', 1 O ; PICTURE "@K XXXX" ;WHEN isediting ;COLOR ,RGB(0,0,0,255,255,255)

@22.231,1.667 GET m.top_btn;PICTURE "@*HN \<Top" ;SIZE 1.769,7.833,0.667;DEFAULT 1;FONT "MS Sans Serif', 8 ;STYLE "B";VALID btn_val('TOP') ;MESSAGE 'Go to first record.'

@22.231,9.667 GET m.prev_btn;PICTURE "@*HN \<Prev" ;SIZE 1.769,7.833,0.667;DEFAULT 1;FONT "MS Sans Serif', 8 ;STYLE "B";VALID btn_val('PREV') ;MESSAGE 'Go to previous record.'

@ 22.231,17.667 GET m.next_btn ;PICTURE "@*HN \<Next" ;SIZE 1.769,7.833,0.667;DEFAULT 1;FONT "MS Sans Serif', 8 ;STYLE "B";VALID btn_val('NEXT') ;MESSAGE 'Go to next record.'

@22.231,25.667 GET m.end_btn;PICTURE "@*HN \<End" ;SIZE 1.769,7.833,0.667;DEFAULT 1;

67

Page 72: P)ICV£rtct OP P,1{ÇJ~P,CRJ1{Ç CO~

SIZE 1.769,7.833,0.667;DEFAULT 1;FONT "MS Sans Serif', 8 ;STYLE "B";VALID btn val('EXIT') ;MESSAGE 'Close screen.'

@2.308,16.333 TO 2.308,66.666;PEN 2, 8;STYLE "l";COLOR RGB(0,255,0,0,255,0)

@ 11.308,49.833 SAY "(mrn/dd/yy)" ;FONT "MS Sans Serif', 1 O ;STYLE "BIT" ;COLOR RGB(0,0,0,,,,)

@ 13.308,48.833 SAY "(24 Hour)";FONT "MS Sans Serif', 1 O ; STYLE "BIT";COLOR RGB(0,0,0,,,,)

@ 18.846,48.667 SAY"$";FONT "MS Sans Serif', 10;STYLE "T";COLOR RGB(0,0,0,,,,)

@ 16.846,40.167 GET m.kind_serve;PICTURE "@ı\ Telepone;Fax;Mail;Internet" ;SIZE 1.538,12.667;DEFAULT "Telepone" ;FONT "MS Sans Serif', 8 ;STYLE "B"

@4.615,16.500 TO 21.461,66.167;PEN 2, 8;STYLE "16"

IF NOT WVISIBLE("_03x0x8bqi")ACTIVATE WINDOW _03x0x8bqi

ENDIF

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

* * * * WindowsREAD contains clauses from SCREEN s5815785

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

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

69

Page 73: P)ICV£rtct OP P,1{ÇJ~P,CRJ1{Ç CO~

FONT "MS Sans Serif', 8;STYLE "B";VALID btn_val('END') ;MESSAGE 'Go to last record.'

@22.231,33.667 GET m.loc_btn;PICTURE "@*HN \<Locate" ;SIZE 1.769,7.833,0.667;DEFAULT 1;FONT "MS Sans Serif', 8 ;STYLE "B";VALID btn_val('LOCATE') ;MESSAGE 'Locate a record.'

@22.231,41.667 GET m.add_btn;PICTURE "@*HN \<Add" ;SIZE 1.769,7.833,0.667;DEFAULT 1;FONT "MS Sans Serif', 8 ;STYLE "B";VALID btn_val('ADD') ;MESSAGE 'Add a new record.'

@22.231,49.667 GET m.edit_btn;PICTURE "@*HN Ed\<it" ;SIZE 1.769,7.833,0.667;DEFAULT 1;FONT "MS Sans Serif', 8;STYLE "B";VALID btn_ val('EDIT') ;MESSAGE 'Edit current record.'

@22.231,57.667 GET m.del_btn;PICTURE "@*HN \<Delete" ;SIZE 1.769,7.833,0.667;DEFAULT 1;FONT "MS Sans Serif', 8 ;STYLE "B";VALID btn_val('DELETE') ;MESSAGE 'Delete current record.'

@22.231,65.667 GET m.pmt_btn;PICTURE "@*HN P\<rint" ;SIZE 1.769,7.833,0.667;DEFAULT 1;FONT "MS Sans Serif', 8 ;STYLE "B";VALID btn_ val('PRINT') ;MESSAGE 'Print report.'

@22.231,73.667 GET m.exit_btn;PICTURE "@*HN \<Close" ;

68

Page 74: P)ICV£rtct OP P,1{ÇJ~P,CRJ1{Ç CO~

RELEASE WINDOW 03x0x8bqi

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

IF USED("services")SELECT servicesUSE

ENDIF

#REGION O SET READBORDER &rborderIF m.talkstat = "ON"

SET TALK ONENDIFIF m.compstat = "ON"

SET COMPATIBLE ONENDIF#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'

@49,0 CLEAR TO 49,79CASE DOS

@24,0 CLEAR TO 24,79ENDCASE#REGION 1 PROCEDURE readdeacIF iseditingACTIVATE WINDOW '_03x0x8bqi'WAIT WINDOW C EDITS NOWAIT

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

ENDIFRETURN .F.

70

Page 75: P)ICV£rtct OP P,1{ÇJ~P,CRJ1{Ç CO~

PROCEDURE readactIF ! isediting

SELECT (m.wzalias)SHOW GETS

END IFDO REFRESH

RETURNPROCEDURE wizerrorhandler

WAiT WINDOW messaget)RETURNPROCEDURE printrec

PRIVATE sOldError, wizfname,saverec,savearea, tmpcurs, tmpstrPRIVATE pmt_btn,p_recs,p_output,pr_out,pr_recordSTORE 1 TO p_recs,p_outputSTORE O TO pmt_btnSTORE RECNO() TO saverecm.sOldError=ON('error')DO pdialogIF m.pmt_btn = 2

RETURNEND IFIF !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.tınpcurs)

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

71

Page 76: P)ICV£rtct OP P,1{ÇJ~P,CRJ1{Ç CO~

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

RETURNPROCEDURE BTN VAL

PARAMETER m.btnnameDO CASECASE mbtnname='TOP'

GO TOPWAIT WINDOW C TOPFILE NOW AIT

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

SKIP -1END IFIF BOF()

WAIT WINDOW C TOPFILE NOW AITGO TOP

END IFCASE m.btnname='NEXT'

IF !EOF()SKIP 1

END IFIFEOF()

WAIT WINDOW C END FILE NOW AITGO BOTTOM

END IFCASE m.btnname='END'

GO BOTTOMWAIT WINDOW C END FILE NOW AIT

CASE mbtnname='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

72

Page 77: P)ICV£rtct OP P,1{ÇJ~P,CRJ1{Ç CO~

ENDIFIFRLOCK()

isediting=. T._curobj=lDO refreshRETURN

ELSEWAIT WINDOW C NOLOCK

ENDIFCASE m.btnname='EDIT' AND isediting &&save record

IF isadding=edithand('SA VE')

ELSEGATHERMEMVARMEMO

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

CASE m.btnname='DELETE' AND iseditingIF isadding

=edithand('CANCEL')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 1ENDIFIF EOF()

WAIT WINDOW C ENDFILE NO WAITGO BOTTOM

ENDIFEND IF

CASE m.btnname='PRINT'

&&cancel record

DO printrecRETURN

73

Page 78: P)ICV£rtct OP P,1{ÇJ~P,CRJ1{Ç CO~

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

ENDCASESCATTER l\ıfEMVAR l\ıfEMOSHOW GETS

RETURNPROCEDURE REFRESH

DO CASE.CASE m.isreadonly AND RECCOUNT()=O

SHOW GETS DISABLESHOW GET exit_btn ENABLE

CASE m.isreadonlySHOW GET add btn DISABLESHOW GET del btn DISABLESHOW GET edit 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 pmt_btn DISABLESHOW GET exit btn DISABLESHOW GET edit_btn,1 PROMPT "\<Save"SHOW GET del_btn,l PROMPT "\<Cancel"

· ON KEY LABEL ESCAPE DO BTN VAL WITH DELETE'RETURN

OTHERWISESHOW GET edit_btn,1 PROMPT "Ed\<it"SHOW GET del_btn,1 PROMPT "\<Delete"SHOW GETS ENABLE

ENDCASEIF riı.is2table

SHOW GET add_btn DISABLEENDIFON KEY LABEL ESCAPE

RETURNPROCEDURE edithand

74

Page 79: P)ICV£rtct OP P,1{ÇJ~P,CRJ1{Ç CO~

PARAMETER m.pactionDO CASECASE m.paction = 'ADD'

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

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

RETURNPROCEDURE fox alert

PARAMETER 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;\?\!\<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=lPROCEDURE 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 _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 ;

75

Page 80: P)ICV£rtct OP P,1{ÇJ~P,CRJ1{Ç CO~

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

RETURNPROCEDURE loc_dlog

PRIVATE gfields,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.gfields # 'GLOBAL'

SET FIELDS GLOBALENDIFIF EMPTY(FLDLIST())

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

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

ENDIFm.i=m.i+ 1

ENDDOENDIF

ENDIFBROWSE WINDOW wzlocate NOEDIT NODELETE ;

NOMENU TITLE C_BRTITLESET FIELDS &gfieldsSET FIELDS OFFRELEASE WINDOW wzlocate

RETURN

76

Page 81: P)ICV£rtct OP P,1{ÇJ~P,CRJ1{Ç CO~

HOSEKEEPING

Housekeeping may be defined as the provision of clean, comfortableand safe environment, so the housekeeping is important department of thehotel and the largest department.

In my program a simple housekeeping options menu is beinggenerated, which are mainly related to the customer satisfaction.

77

Page 82: P)ICV£rtct OP P,1{ÇJ~P,CRJ1{Ç CO~

SET TALK OFFIF NOT WEXIST("_ 02o0e5hcl")

DEFINE WINDOW _02o0e5hcl;AT 0.000, 0.000 ;SIZE 15.846,50.000;TITLE "DIANA HOTEL" ;FONT "MS Sans Serif', 8 ;STYLE "B";FLOAT;CLOSE;

I MINIMIZE;COLOR RGB(,,,255,0,255)

MOVE WINDOW _02o0e5hcl CENTERENDIFIF WVISIBLE("_02o0e5hcl")

ACTIVATE WINDOW _02o0e5hcl SAMEELSE

ACTIVATE WINDOW 02o0e5hclNOSHOWENDIF@ 10.231,18.500 GET m.exit_btn;

PICTURE "@*HN \<Close" ;SIZE 1.438,7.625,0.500;DEFAULT 1;FONT "MS Sans Serif', 1 O ;STYLE "B" ; VALID bt('EXIT') ;MESSAGE 'Close screen.'

@0.846,8.167 SAY "HousekeepingMenu";FONT "MS Sans Serif', 14 ;STYLE "BIT" ;COLOR RGB(0,255,0,0,255,0)

@ 5.000,12.500 GET A;PICTURE "@*HN Rooms" ;SIZE l.438,16.625,0.500;DEFAULT 1;FONT "MS Sans Serif', 1 O ;STYLE "B";VALID bt('Hotel Rooms')

@ 7.615,12.333 GET A;PICTURE "@*HN Laundry " ;SIZE l.438,16.750,0.500 ;DEFAULT 1;FONT "MS Sans Serif', 1 O ; STYLE "B";VALID bt('WashingMachine')

@2.538,8.167 TO 2.538,41.500;PEN 2, 8;

78

Page 83: P)ICV£rtct OP P,1{ÇJ~P,CRJ1{Ç CO~

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

@4.231,9.167 TO 12.769,37.667;PEN 2, 8; STYLE "16"

IF NOT WVISIBLE("_ 02o0e5hcl")ACTIVATE WINDOW 02o0e5hcl

END IFREAD CYCLEPROCEDURE BT

PARAMETER m.btnnameDO CASE

CASE m.btnname='Hotel Rooms'Do c:\project\keepl.prg

CASE m.btnname='Washing Machine'DO c:\project\keep2.prg

CASE m.btnname='EXIT'set sysm to defaDEACTIVATE WINDOW 02o0e5hclRELEASE WINDOW 02o0e5hcl

ENDCASERETURN

79

Page 84: P)ICV£rtct OP P,1{ÇJ~P,CRJ1{Ç CO~

ROOMS (Guest Rooms)

Of all the areas in the hotel that are the housekeeper's responsible, theone that often appears to the public to be the simplest is the guest rooms,simplest because all it seems to entail is cleaning the room, changing thelinens, and making up the bed.

The following data is to be entered to the housekeeping management file

Note; the housekeeper name is to be entered in the sense of security.

80

Page 85: P)ICV£rtct OP P,1{ÇJ~P,CRJ1{Ç CO~

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

* * * * KEEPl/Windows Setup Code - SECTION 1

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

#REGION 1PRIVATE wzfıelds, wztalkIF SET("T ALK") = "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("T ALK") = "ON"SET TALK OFFm.talkstat = "ON"

ELSEm.talkstat = "OFF"

END IFm.compstat = SET("COMPATIBLE")SET COMPATIBLE FOXPLUS

m.rborder = SETÇ'READBORDER")SET READBORDER ONm.currarea = SELECT()

* ********************************************************* * * * KEEP I/Windows Databases, Indexes, Relations* * ** *********************************************************

IF USED("keep l ")SELECT keep 1SET ORDER TO TAG "_02t0hhgv0"

ELSE

81

Page 86: P)ICV£rtct OP P,1{ÇJ~P,CRJ1{Ç CO~

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

AGAIN ALIAS keepl;ORDER TAG ", 02t0hhgv0"

ENDIF

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

DEFINE WINDOW _02t0ivv6k;AT 0.000, 0.000 ;SIZE 24.769,84.000 ;TITLE "DIANA HOTEL" ;FONT "MS Sans Serif', 8 ;STYLE "B";FLOAT;CLOSE;MINIMIZE;COLOR RGB(,,,255,0,255)

MOVE WINDOW _02t0ivv6k CENTERENDIF

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

#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 READONLY

'Database is empty, add a record?''Please finishyour edits.''Top of file.''End of file.''Locate Record''Sorry, could not lock record -- try again later.''Edits Canceled.''Delete selected record?''Feature not availableyet.''Wizard application is not available.''Creating report with Report Wizard.''Could not create report.''Deleting records .. .''Table is read-only. No editing allowed.'

82

Page 87: P)ICV£rtct OP P,1{ÇJ~P,CRJ1{Ç CO~

#DEFINE C NOT ABLE 'No table selected. Open table or run query.'#DEFINE C_BADEXPR 'Invalid expression.'#DEFINE C LOCWIZ 'Locate WIZARD.APP:'#DEFINE C_MUL TIT ABLE 'You have multiple related tables. Adding records in notallowed.'

MOVE WINDOW ' 02t0ivv6k' CENTER-PRIVATE isediting,isadding,wztblarrPRIVATE wzolddelete, wzolderror, wzoldescPRIVATE wzalias, tempcurs, wzlastrecPRIVATE isreadonly,find _drop,is2table

IF EMPTY(ALIAS())WAIT WINDOW C NOTABLERETURN

END IF

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')ON ERROR DO wizerrorhandlerwzoldesc=ON('KEY', 'ESCAPE')ON KEY LABEL ESCAPEm.find_drop = TIF(_DOS,0,2)

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

WAIT WINDOW C READONL Y TIMEOUT 1END IF

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

END IFGOTO TOPSCATTER MEMV AR MEMO

* ********************************************************* * * * KEEP I/Windows Screen Layout*

83

Page 88: P)ICV£rtct OP P,1{ÇJ~P,CRJ1{Ç CO~

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

#REGION 1IF WVISIBLE(" 02t0ivv6k")

ACTIVATE WINDOW 02t0ivv6k SAMEELSE

ACTIVATE WINDOW 02t0ivv6k NOSHOWEND IF [email protected],2.000 GET m.top_btn;

PICTURE "@*HN \<Top" ;SIZE 1.769,7.833,0.667;DEFAULT 1;FONT "MS Sans Serif', 8 ;STYLE "B";VALID btn_ val('TOP');MESSAGE 'Go to first record.'

@21.769,10.000 GET m.prev_btn;PICTURE "@*HN \<Prev" ;SIZE 1.769,7.833,0.667;DEFAULT 1;FONT "MS Sans Serif', 8 ;STYLE "B";VALID btn_val('PREV') ;MESSAGE 'Go to previous record.'

@21.769,18.000 GET m.next_btn;PICTURE "@*HN \<Next" ;SIZE 1.769,7.833,0.667;DEFAULT 1;FONT "MS Sans Serif', 8 ;STYLE "B";VALID btn_val('NEXT') ;MESSAGE 'Go to next record.'

@ 21.769,26.000 GET m.end_btn;PICTURE "@*HN \<End" ;SIZE 1.769,7.833,0.667;DEFAULT 1;FONT "MS Sans Serif', 8 ;STYLE "B";VALID btn_val('END') ;MESSAGE 'Go to last record.'

@21.769,34.000 GET m.loc_btn;PICTURE "@*HN \<Locate" ;SIZE 1.769,7.833,0.667;DEFAULT 1;FONT "MS Sans Serif', 8 ;

84

Page 89: P)ICV£rtct OP P,1{ÇJ~P,CRJ1{Ç CO~

STYLE "B";VALID btn_ val('LOCATE');.MESSAGE 'Locate a record.'

@ 21.769,42.000 GET m.add_btn;PICTURE "@*HN \<Add" ;SIZE 1.769,7.833,0.667;DEFAULT 1;FONT "MS Sans Serif', 8 ;STYLE "B";VALID btn_val('ADD');.MESSAGE 'Add a new record.'

@21.769,50.000 GET m.edit_btn;PICTURE "@*HN Ed\<it" ;SIZE 1.769,7.833,0.667;DEFAULT 1;FONT "MS Sans Serif', 8 ;STYLE "B";VALID btn_val('EDIT') ;.MESSAGE 'Edit current record.'

@21.769,58.000 GET m.del_btn;PICTURE "@*HN \<Delete";SIZE 1.769,7.833,0.667;DEFAULT 1;FONT "MS Sans Serif', 8 ;STYLE "B";VALID btn_val('DELETE') ;.MESSAGE 'Delete current record.'

@21.769,66.000 GET m.pmt_btn;PICTURE "@*HN P\<rint" ;SIZE 1.769,7.833,0.667;DEFAULT 1;FONT "MS Sans Serif', 8 ;STYLE "B";VALID btn_val('PRINT') ;.MESSAGE 'Print report.'

@21.769,74.000 GET m.exit_btn;PICTURE "@*HN \<Close" ;SIZE 1.769,7.667,0.667;DEFAULT 1;FONT "MS Sans Serif', 8 ;STYLE "B";VALID btn_val('EXIT') ;.MESSAGE 'Close screen.'

@ 1.308,23.167 SAY "Rooms Housekeeping";FONT "MS Sans Serif', 14 ;STYLE "BIT";

85

I

Page 90: P)ICV£rtct OP P,1{ÇJ~P,CRJ1{Ç CO~

COLOR RGB(0,255,0,0,255,0)@3.154,23.167 TO 3.154,57.500;

PEN2, 8;STYLE "1";COLOR RGB(0,255,0,0,255,0)

@6.154,25.500 SAY "Room No:";SIZE 1.000,13.000;FONT "MS Sans Serif', 1 O ;STYLE "BIT" ;PICTURE "@J" ;COLOR RGB(,,,255,255,255)

@ 5.923,44.833 TO 5.923,48.833 ;PEN 1, 8;STYLE "1";COLOR RGB( 128,128,128,128,128,128)

@ 8.154,32.333 SAY "Flat:" ;SIZE 1.000,7.875;FONT "MS Sans Serif', 1 O ;STYLE "BIT";PICTURE "@J" ;COLOR RGB(,,,255,255,255)

@ 8.077,45.333 TO 8.077,48.333 ;PEN 1, 8;STYLE "l";COLOR RGB( 128,128,128,128,128,128)

@ 10.077,23.500 SAY "Room Type:";SIZE 1.000,14.500;FONT "MS Sans Serif', 1 O ;STYLE "BIT";PICTURE "@J" ;COLOR RGB(,,,255,255,255)

@ 12.077,21.500 SAY "Room Position:";SIZE l.OOP,16.000;FONT "MS Sans Serif', 1 O ;STYLE "BIT";PICTURE "@J" ;COLOR RGB(,,,255,255,255)

@ 14.077,21.500 SAY "Cleaning Date:";SIZE 1.000,16.000;FONT "MS Sans Serif', 1 O ;STYLE "BIT" ;PICTURE "@J" ;COLOR RGB(,,,255,255,255)

@ 16.154,19.500 SAY "Cleaning Time:";SIZE 1.000,17.500;FONT "MS Sans Serif', 1 O ;

86

Page 91: P)ICV£rtct OP P,1{ÇJ~P,CRJ1{Ç CO~

STYLE "BIT";PICTURE "@J" ;COLOR RGB(,,,255,255,255)

@ 18.231,19.500 SAY "House Keeper:";SIZE 1.000,17.500;FONT "MS Sans Serif', 1 O ;STYLE "BIT" ;PICTURE "@J" ;COLOR RGB(,,,255,255,255)

@ 8.077,44.667 GET m.flat ;PICTURE"@/\ 2·3·4·5·6·7·8·9·10" ·' ' ' ' ' ' ' ' ' SIZE 1.538,6.167;DEFAULT "2" ;FONT "MS Sans Serif', 8 ;STYLE "B";WHEN isediting

@ 10.000,44.667 GET m.room_type;PICTURE "@/\Single;Shift;Triple;Wing";SIZE 1.538,9.667 ;DEFAULT "Single";FONT "MS Sans Serif', 8 ;STYLE "B";WHEN isediting

@ 12.000,44.667 GET m.room_postn;PICTURE"@/\ Sea;Middle;Corner";SIZE 1.538,10.000;DEFAULT "Sea";FONT "MS Sans Serif', 8 ;STYLE "B";WHEN isediting

@6.154,45.000 GET m.room_no;SIZE 1.000,3.600;DEFAUL1"";FONT "MS Sans Serif', 8 ;PICTURE "@K 999" ;WHEN isediting ;COLOR ,RGB(0,0,0,255,255,255)

@ 6.000,44.500 TO 6.000,48.500 ;PEN l, 8;STYLE "l";COLOR RGB(l28,128,128,128,128,128)

@ 6.077,48.500 TO 7.231,48.500 ;PEN l, 8;COLOR RGB(255,255,255,255,255,255)

@ 7.231,44.667 TO 7.231,48.667;PEN 1, 8;

87

Page 92: P)ICV£rtct OP P,1{ÇJ~P,CRJ1{Ç CO~

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

@ 6.000,44.500 TO 7 .308,44.500 ;PEN 1, 8;COLOR RGB( 128,128,128,128,128, 128)

@ 14.077,45.000 GET m.clean_date;SIZE 1.000,7.571 ;DEFAULT"";FONT "MS Sans Serif', 1 O ;PICTURE "@K" ;WHEN isediting ;COLOR ,RGB(0,0,0,255,255,255)

@ 14.077,44.500 TO 14.077,53.167;PEN 1, 8;STYLE "l";COLOR RGB( 128,128,128,128,128,128)

@ 14.154,53.167 TO 15.308,53.167;PEN l, 8;COLOR RGB(255,255,255,255,255,255)

@ 15.308,44.667 TO 15.308,53.334;PEN 1, 8;STYLE "l";COLOR RGB(255,255,255,255,255,255)

@ 14.077,44.500 TO 15.385,44.500;PEN 1, 8;COLOR RGB( 128,128,128,128,128,128)

@ 16.154,45.000 GET m.clean_time;SIZE 1.000,7.857;DEFAULT"";FONT "MS Sans Serif', 1 O ;PICTURE "@KXXXXX";WHEN isediting ;COLOR ,RGB(0,0,0,255,255,255)

@ 16.154,44.500 TO 16.154,54.667 ;PEN 1, 8;STYLE "1";COLOR RGB( 128,128,128,128,128,128)

@ 16.231,54.667 TO 17.385,54.667;PEN 1, 8;COLOR RGB(255,255,255,255,255,255)

@17.385,44.667 TO 17.385,54.834;PEN 1, 8;STYLE "l";COLOR RGB(255,255,255,255,255,255)

@ 16.154,44.500 TO 17.462,44.500;PEN 1, 8;

88

Page 93: P)ICV£rtct OP P,1{ÇJ~P,CRJ1{Ç CO~

COLOR RGB( 128,128,128,128,128, 128)@ 18.231,45.000 GET m.hous_keep;

SIZE 1.000,13.000;DEFAULT"";FONT "MS Sans Serif', 1 O ;PICTURE ''@K :XXXXXXXXXXXXX'' ;WHEN isediting ;COLOR ,RGB(0,0,0,255,255,255)

@ 18.231,44.500 TO 18.231,60.667;PEN 1, 8;STYLE "1";COLOR RGB(128,128,128,128,128,128)

@ 18.308,60.667 TO 19.462,60.667;PEN 1, 8;COLOR RGB(255,255,255,255,255,255)

@ 19.462,44.667 TO 19.462,60.834;PEN 1, 8;STYLE "1";COLOR RGB(255,255,255,255,255,255)

@ 18.231,44.500 TO 19.539,44.500;PEN 1, 8;COLOR RGB( 128, 128,128,128,128,128)

@4.692,14.833 TO 20.923,70.333;PEN2, 8;STYLE "16"

@ 14.030,54.167 SAY "mm/dd/yy";FONT "MS Sans Serif', 1 O ; STYLE "BIT"

@ 16.005,54.833 SAY "(24 Hour)";FONT "MS Sans Serif', 1 O ; STYLE "BIT"

IF NOT WVISIBI,,E("_02t0ivv6k")ACTIVATE WINDOW 02t0ivv6k

ENDIF

* ********************************************************* * ** * WindowsREAD contains clauses from SCREEN keep1

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

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

89

Page 94: P)ICV£rtct OP P,1{ÇJ~P,CRJ1{Ç CO~

RELEASE WINDOW 02t0ivv6k

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

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

IF USED("keepl ")SELECT keep 1USE

ENDIFSELECT (m.currarea)

#REGION OSET READBORDER &rborderIF m.talkstat = "ON"

SET TALK ONENDIFIF m.compstat = "ON"

SET COMPATIBLE ONENDIF

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

* * * * KEEPl/Windows Cleanup Code

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

#REGION 1 SET DELETED &wzolddeleteSET FIELDS &w~eldsON ERROR &wzolderror·oN 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

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

* *

90

Page 95: P)ICV£rtct OP P,1{ÇJ~P,CRJ1{Ç CO~

***

* KEEPl/Windows Supporting Procedures and Functions

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

#REGION 1PROCEDURE readdeac

IF iseditingACTIVATE WINDOW' 02t0ivv6k'WAiT WINDOW C EDITS NOW AiT

END IFIF !WVISIBLE(WOUTPUT())

CLEAR READRETURN .T.

END IFRETURN .F.

PROCEDURE readactIF ! isediting

SELECT (m.wzalias)SHOW GETS

END IFDO REFRESH

RETURN

PROCEDURE wizerrorhandlerWAiT WINDOW message()

RETURN

PROCEDURE printrecPRIVATE sOldError, wizfuame,saverec,savearea, tmpcurs, tmpstrPRIVATE prnt_btn,p_recs,p_output,pr_out,pr_recordSTORE 1 TO p_recs,p_outputSTORE Q TO prnt_btnSTORE RECNO() TO saverecm.sO ldError=ON ('error')DO pdialogIF m.prnt_btn = 2

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

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

ON ERROR*m.wizfuame=LOCFILE('WIZARD.APP','APP',C_LOCWIZ)ON ERROR &sOldErrorIF !'WIZARD.APP'$UPPER(m. wizfuame)

91

Page 96: P)ICV£rtct OP P,1{ÇJ~P,CRJ1{Ç CO~

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.wizfuame) 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

END IF

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

RETURN

PROCEDURE BTN_VALPARAMETER m.btnnameDO CASECASE m.btnname='TOP'

GO TOPWAJT WINDOW C_TOPFILE NOW AIT

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

SKIP -1END IFIFBOF()

WAIT WINDOW C_TOPFILE NOWAITGO TOP

END IFCASE m.btnname='NEXT'

IF !EOF()SKIP 1

END IFIF EOF()

92

~~----------- ............••••••• - ••••••

Page 97: P)ICV£rtct OP P,1{ÇJ~P,CRJ1{Ç CO~

WAIT WINDOW C END FILE NOW AITGO BOTTOM

END IFCASE m.btnnanıe='END'

GO BOTTOMWAIT WINDOW C END FILE NOW AIT

CASE m.btnnanıe='LOCATE'DO loc_dlog

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

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

WAIT WINDOW C END FILE NOW AITRETURN

END IFIFRLOCK()

isediting=. T._curobj=lDO refreshRETURN

ELSEWAIT WINDOW C NOLOCK

END IFCASE m.btnnanıe='EDIT' AND isediting &&save record

IF isadding=edithand('SA VE')

EL.SEGATHER MEMV AR MEMO

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

CASE m.btnnanıe='DELETE' AND iseditingIF isadding

=edithand('CANCEL')END IFisediting= .F.isadding= .F.UNLOCK

&&cancel record

93

Page 98: P)ICV£rtct OP P,1{ÇJ~P,CRJ1{Ç CO~

WAIT WINDOW C ECANCEL NOW AITDO refresh

CASE m,btnnarne='DELETE'IF EOF() OR BOF()

WAIT WINDOW C ENDFILE NOW AITRETURN

END IFIF fox_alert(C_DELREC)

DELETEIF !EOF() AND DELETED()

SKIP 1END IFIFEOF()

WAIT WINDOW C ENDFILE NOWAITGO BOTTOM

END IFEND IF

CASE m.btnname='PRINT'DO printrecRETURN

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

ENDCASESCATTER MEMV AR MEMOSHOW GETS

RETURN

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

SHOW G~TS DISABLESHOW GET exit btn ENABLE

CASE m.isreadonlySHOW GET add btn DISABLESHOW GET del btn DISABLESHOW GET edit 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 DISABLE

94

Page 99: P)ICV£rtct OP P,1{ÇJ~P,CRJ1{Ç CO~

SHOW GET loc btn DISABLESHOW GET next btn DISABLESHOW GET end btn DISABLESHOW GET add btn DISABLESHOW GET prnt_ btn DISABLESHOW GET exit btn DISABLESHOW GET edit_btn,1 PROMPT "\<Save"SHOW GET del_btn, 1 PROMPT "\<Cancel"ON KEY LABEL ESCAPE DO BTN VAL WITH 'DELETE'RETURN

OTHERWISESHOW GET edit_btn,1 PROMPT "Ed\<it"SHOW GET del_btn,l PROMPT "\<Delete"SHOW GETS ENABLE

END CASEIF m.is2table

SHOW GET add btn DISABLEEND IFON KEY LABEL ESCAPE

RETURN

PROCEDURE edithandPARAMETER m.pactionDO CASECASE m.paction = 'ADD'

SCATTER :rvı:EMVAR :rvı:EMO BLANKCASE m.paction = 'SAVE'

INSERT INTO (ALIAS()) FROM :rvı:EMVARCASE 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;\?\!\<Cancel" ;

95

Page 100: P)ICV£rtct OP P,1{ÇJ~P,CRJ1{Ç CO~

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 SYSTEM

MOVE WINDOW _qjnl2zbvhCENTERACTIVATE 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 \<PrinterPre\<view" ·' 'SIZE l.308,12.000,0.308;DEFAULT 1;FONT "MS Sans Serif' 8 ·. ' 'STYLE "BT"

@ 10.154,16.600 GET ın.pmt_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_dlog

96

Page 101: P)ICV£rtct OP P,1{ÇJ~P,CRJ1{Ç CO~

PRIVATE gfields,iDEFINE WINDOW wzlocate FROM 1, 1 TO 20,40;

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

SET FIELDS ONIF mgfields # 'GLOBAL'

SET FIELDS GLOBALEND IFIF EMPTY(FLDLIST())

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

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

END IFm.i=m.i+ 1

END DOEND IF

END IFBROWSE WINDOW wzlocate NOEDIT NODELETE ;

NOMENU TITLE C BRTITLESET FIELDS &gfieldsSET FIELDS OFFRELEASE WINDOW wzlocate

RETURN

97

Page 102: P)ICV£rtct OP P,1{ÇJ~P,CRJ1{Ç CO~

LAUNDRY (Washing Machinel

Without clean and sufficient linen the maidservants cannot operate, attimes when there is full occupancy the housekeeper needs a fast tum-roundof linen from the laundry.

Again the information is to be entered by the responsible worker toprovide accurate tum-round time and prevent confusion.

98

Page 103: P)ICV£rtct OP P,1{ÇJ~P,CRJ1{Ç CO~

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

SET TALK OFFm.wztalk = "ON"

ELSE-m.wztalk = "OFF"

END IFm.wzfields=SET('FIELDS')SET FIELDS OFFIF m.wztalk = "ON"

SET TALK ONENDIF#REGION OREGIONAL m.currarea, m.talkstat, m.compstat

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

ELSEm.talkstat = "OFF"

ENDIFm.compstat = SET("CO:MPATIBLE")SET C011PATIBLE FOXPLUS

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

m.currarea = SELECT()

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

* ** * KEEP2/Windows Databases, Indexes, Relations

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

IF USED("keep2")SELECT keep2SET ORDER TO TAG "_02t0jln12"

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

AGAIN ALIAS keep2 ;ORDER TAG "_02t0jlnl2"

ENDIF

99

Page 104: P)ICV£rtct OP P,1{ÇJ~P,CRJ1{Ç CO~

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

* ** * Windows-Windowdefinitions* ** *********************************************************

IF NOT WEXIST("_02t0jzkso")DEFINE WINDOW _02t0jzkso;

AT 0.000, 0.000 ;SIZE 24.154,84.167;TITLE "DIANA HOTEL" ;FONT "MS Sans Serif', 8 ;STYLE "B";FLOAT;CLOSE;MINIMIZE;COLOR RGB(,,,255,0,255)

MOVE WINDOW_ 02t0jzkso CENTERENDIF

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

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

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

#REGION 1

#DEFINE C DBFEMPTY#DEFINE C EDITS#DEFINE C TOPFILE#DEFINE C_ENI?FILE#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 READONLY#DEFINE C NOTABLE#DEFINE C BADEXPR#DEFINE C LOCWIZ

'Database is empty, add a record?''Please finishyour edits.''Top of file.''End of file.''Locate Record''Sorry, could not lock record -- try again later.''Edits Canceled.''Delete selected record?''Feature not availableyet.''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:'

100

Page 105: P)ICV£rtct OP P,1{ÇJ~P,CRJ1{Ç CO~

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

* ** * Windows Window definitions

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

IF NOT WEXIST("_02t0jzkso")DEFINE WINDOW _02t0jzkso;

AT 0.000, 0.000 ;SIZE 24.154,84.167;TITLE "DIANA HOTEL" ;FONT "MS Sans Serif', 8 ;STYLE "B";FLOAT;CLOSE;MINIMIZE;COLOR RGB(,,,255,0,255)

MOVE WINDOW_ 02t0jzkso CENTERENDIF

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

* ** * K.EEP2/WindowsSetup Code - SECTION 2* ** *********************************************************

#REGION 1

#DEFINE C DBFEMPTY#DEFINE C EDITS#DEFINE C TOPFILE#DEFINE C_ENPFILE#DEFINE C BRTITLE#DEFINE C NOLOCK#DEFINE C ECANCEL#DEFINE C DELREC#DEFINE C NOFEAT#DEFINE C NOWIZ#DEFINE C MAK.EREPO#DEFINE C NOREPO#DEFINE C DELNOTE#DEFINE C READONLY#DEFINE C NOTABLE#DEFINE C BADEXPR#DEFINE C LOCWIZ

Database is empty, add a record?''Please finishyour edits.''Top of :file.''End of :file.''Locate Record''Sorry, could not lock record -- try again later.''Edits Canceled.'Delete selected record?''Feature not availableyet.''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:'

100

Page 106: P)ICV£rtct OP P,1{ÇJ~P,CRJ1{Ç CO~

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')ON ERROR DO wizerrorhandlerwzoldesc=ON('KEY', 'ESCAPE')ON KEY LABEL ESCAPEm.fınd_drop = IIF(_DOS,0,2)

#DEFINE C_MUL TIT ABLE 'You have multiple related tables. Adding records in not

allowed.'

MOVE WINDOW ', 02t0jzkso' CENTERPRIVATE isediting,isadding,wztblarrPRIVATE wzo lddelete, wzo lderror, wzo ldescPRIVATE wzalias, tempcurs, wzlastrecPRIVATE isreadonly,find_drop,is2table

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

END IF

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

WAIT WINDOW C_READONL Y TIMEOUT 1END IF

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

END IF

GOTO TOPSCATTER :MEMVAR :MEMO

#REGION 1IF WVISIBLE("_ 02t0jzkso ")

ACTIVATE WINDOW _02t0jzkso SAMEELSE

ACTIVATE WINDOW_ 02t0jzkso NOSH OW

101

Page 107: P)ICV£rtct OP P,1{ÇJ~P,CRJ1{Ç CO~

END IF@ 6.538,21.500 SAY "Guest Name:" ;

SIZE 1.000,15.000;FONT "MS Sans Serif', 1 O ;STYLE "BIT" ;PICTURE "@J" ;COLOR RGB(,,,255,255,255)

@ 6.538,43.833 GET m.guest_name;SIZE 1.000,8.000 ;DEFAULT"";FONT "MS Sans Serif', 1 O ;PICTURE "@K:XXXXXXX";WHEN isediting ;COLOR ,RGB(0,0,0,255,255,255)

@6.538,43.333 TO 6.538,53.666;PEN 1, 8;STYLE "l";COLOR RGB( 128,128,128,128,128,128)

@ 6.615,53.667 TO 7.769,53.667;PEN 1, 8;COLOR RGB(255,255,255,255,255,255)

@ 7.769,43.500 TO 7.769,53.833 ;PEN 1, 8;STYLE "1";COLOR RGB(255,255,255,255,255,255)

@ 6.538,43.333 TO 7.846,43.333 ;PEN 1, 8;COLOR RGB(128,128,128,128,128,l28)

@8.615,25.500 SAY "Surname:";SIZE 1.000,12.000;FONT "MS Sans Serif', 1 O ;STYLE "BIT" ;PICTURE. "@J" ;COLOR RGB(,,,255,255,255)

@ 8.615,43.833 GET m.surname;SIZE 1 .000,8.000 ;DEFAULT"";FONT "MS Sans Serif', 1 O ;PICTURE "@K :XXXXXXX";WHEN isediting ;COLOR ,RGB(0,0,0,255,255,255)

@ 8.615,43.333 TO 8.615,53.666;PEN 1, 8;STYLE "l";COLOR RGB(128,128,128,128,128,128)

@ 8.692,53.667 TO 9.846,53.667;

102

Page 108: P)ICV£rtct OP P,1{ÇJ~P,CRJ1{Ç CO~

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

@ 9.846,43.500 TO 9.846,53.833 ;PEN 1, 8;STYLE "l";COLOR RGB(255,255,255,255,255,255)

@ 8.615,43.333 TO 9.923,43.333 ;PEN 1, 8;COLOR RGB( 128,128,128,128, I 28,128)

@ 10.692,25.500 SAY "Room No:" ;SIZE 1.000,12.000;FONT "MS Sans Serif', 1 O ;STYLE "BIT";PICTURE "@J" ;COLOR RGB(,,,255,255,255)

@ 10.692,43.833 GET m.room_no;SIZE 1.000,3.571 ;DEFAULT"";FONT "MS Sans Serif', 1 O ;PICTURE "@K 999" ;WHEN isediting ;COLOR ,RGB(0,0,0,255,255,255)

@ 10.692,43.333 TO 10.692,47.333 ;PEN 1, 8;STYLE "l";COLOR RGB(128,128,128,128,128,128)

@ 10.769,47.333 TO 11.923,47.333 ;PEN 1, 8;COLOR RGB(255,255,255,255,255,255)

@11.923,43.500 TO 11.923,47.500;PEN 1, 8;STYLE "1";COLOR R.GB(255,255,255,255,255,255)

@ 10.692,43.333 TO 12.000,43.333 ;PEN 1, 8;COLOR RGB(128,128,128,128,128,128)

@ 12.769,31.500 SAY "Flat:";SIZE 1.000,7.500;FONT "MS Sans Serif', 1 O ;STYLE "BIT" ;PICTURE "@J" ;COLOR RGB(,,,255,255,255)

@ 14.846,19.500 SAY "WashingDate:";SIZE 1.000,16.500;FONT "MS Sans Serif', 1 O ;STYLE "BIT";

103

Page 109: P)ICV£rtct OP P,1{ÇJ~P,CRJ1{Ç CO~

PICTURE "@J" ;COLOR RGB(,,,255,255,255)

@ 14.846,43.833 GET m.wash_date;SIZE 1.000,7.571 ;DEFAULT"";FONT "MS Sans Serif', 1 O ;PICTURE "@K" ;WHEN isediting ;COLOR ,RGB(0,0,0,255,255,255)

@ 14.846,43.333 TO 14.846,52.000;PEN 1, 8;STYLE "l";COLOR RGB(128,128,128,128,128,128)

@ 14.923,52.000 TO 16.077,52.000;PEN 1, 8;COLOR RGB(255,255,255,255,255,255)

@ 16.077,43.500 TO 16.077,52.167;PEN 1, 8;STYLE "l";COLOR RGB(255,255,255,255,255,255)

@ 14.846,43.333 TO 16.154,43.333 ;PEN 1, 8;COLOR RGB(l28,128,128,128,128, 128)

@ 16.923,17.500 SAY "WashingTime:";SIZE 1.000,18.000;FONT "MS Sans Serif', 1 O ;STYLE "BIT";PICTURE "@J" ;COLOR RGB(,,,255,255,255)

@ 16.923,43.833 GET m.wash_time;SIZE 1.000,7.857;DEFAULT"";FONT "MS Sans Serif', 1 O ;PICTURE "@K:XXXXX";WHEN isediting ;COLOR ,RGB(0,0,0,255,255,255)

@ 16.923,43.333 TO 16.923,53.500;PEN 1, 8;STYLE "l";COLOR RGB(128,128,128,128,128,128)

@ 17.000,53.500 TO 18.154,53.500;PEN 1, 8;COLOR RGB(255,255,255,255,255,255)

@ 18.154,43.500 TO 18.154,53.667;PEN 1, 8;STYLE "l";

104

Page 110: P)ICV£rtct OP P,1{ÇJ~P,CRJ1{Ç CO~

COLOR RGB(255,255,255,255,255,255)@ 16.923,43.333 TO 18.231,43.333 ;

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

@21.231,2.000 GET m.top_btn;PICTURE "@*HN \<Top" ;SIZE 1.769,7.833,0.667;DEFAULT 1;FONT "MS Sans Serif', 8 ;STYLE "B";VALID btn val('TOP') ;MESSAGE 'Go to first record.'

@21.231,10.000 GET m.prev_btn;PICTURE "@*HN \<Prev" ;SIZE 1.769,7.833,0.667;DEFAULT 1;FONT "MS Sans Serif', 8 ;STYLE "B";VALID btn_val('PREV') ;MESSAGE 'Go to previous record.'

@21.231,18.000 GET m.nextbtn ;PICTURE "@*HN \<Next" ;SIZE 1.769,7.833,0.667;DEFAULT 1;FONT "MS Sans Serif', 8 ;STYLE "B";VALID btn_val('NEXT') ;MESSAGE 'Go to next record.'

@21.231,26.000 GET m.end_btn;PICTURE "@*HN \<End" ;SIZE 1.769,7.833,0.667;DEFAULT 1;FONT "MS Sans Serif' 8 ·. ' 'STYLE "B";VALID btn_val('END') ;MESSAGE 'Go to last record.'

@21.231,34.000 GET m.loc_btn;PICTURE "@*HN \<Locate" ;SIZE 1.769,7.833,0.667;DEFAULT 1;FONT "MS Sans Serif', 8 ;STYLE "B";VALID btn val('LOCATE') ;MESSAGE 'Locate a record.'

@21.231,42.000 GET m.add_btn;PICTURE "@*HN \<Add" ;

105

Page 111: P)ICV£rtct OP P,1{ÇJ~P,CRJ1{Ç CO~

SIZE 1.769,7.833,0.667;DEFAULT 1;FONT "MS Sans Serif', 8 ;STYLE "B";VALID btn_ val('ADD');MESSAGE 'Add a new record.'

@21.231,50.000 GET m.edit_btn;PICTURE "@*HN Ed\<it" ;SIZE 1.769,7.833,0.667;DEFAULT 1;FONT "MS Sans Serif', 8 ;STYLE "B";VALID btn_ val('EDIT');MESSAGE 'Edit current record.'

@21.231,58.000 GET m.del_btn;PICTURE "@*HN \<Delete" ;SIZE 1.769,7.833,0.667;DEFAULT 1;FONT "MS Sans Serif', 8 ;STYLE "B";VALID btn_val('DELETE') ;MESSAGE 'Delete current record.'

@21.231,66.000 GET m.pmt_btn;PICTURE "@*HN P\<rint" ;SIZE 1.769,7.833,0.667;DEFAULT 1;FONT "MS Sans Serif', 8 ;STYLE "B";VALID btn val('PRINT') ;MESSAGE 'Print report.'

@21.231,74.000 GET m.exit_btn;PICTURE "@*HN \<Close" ;SIZE 1.769,7.667,0.667;DEFAULT 1;FONT "MS Sans Serif', 8 ;STYLE "B";VALID btn_val('EXIT') ;MESSAGE 'Close screen.'

@ 12.692,43.500 GET m.flat ;PICTURE"@/\ 2;3;4;5;6;7;8;9;10" ;SIZE 1.538,6.167;DEFAULT "2" ;FONT "MS Sans Serif', 8 ;STYLE "B";WHEN isediting

@ 1.308,21.500 SAY "Washing Machine Usage";

106

Page 112: P)ICV£rtct OP P,1{ÇJ~P,CRJ1{Ç CO~

* * WindowsREAD contains clauses from SCREEN keep2

FONT "MS Sans Serif', 14 ;STYLE "BIT";COLOR RGB(0,255,0,0,255,0)

@3.154,21.833 TO 3.154,60.166;PEN 2, 8;STYLE "l";COLOR RGB(0,255,0,0,255,0)

@ 5.077,16.667 TO 19.846,68.167;PEN2, 8;STYLE "16"

@ 14.750,53.167 SAY "mm/dd/yy";FONT "MS Sans Serif', 1 O ;STYLE "BIT"

@ 17.000,53.830 SAY "(24 Hour)";FONT "MS Sans Serif', 1 O ;STYLE "BIT"

IF NOT WVISIBLE("_02t0jzkso")ACTIVATE WINDOW_ 02t0jzkso

ENDIF

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

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

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

RELEASE WINDOW_ 02t0jzkso

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

* ** * Windows ClosingDatabases* ** *********************************************************

IF USED("keep2")SELECT keep2USE

ENDIFSELECT (m.currarea)

#REGION O

107

Page 113: P)ICV£rtct OP P,1{ÇJ~P,CRJ1{Ç CO~

SET READBORDER &rborderIF m.talkstat = "ON"

SET TALK ONEND IFIF m.compstat = "ON"

SET COMPATIBLE ONEND IF

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

* ** * KEEP2/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('DISPLA Y')='VGA50'

@49,0 CLEAR TO 49,79CASE DOS

@24,0 CLEAR TO 24,79ENDCASE

#REGION 1PROCEDURE readdeac

IF isediting .ACTIVATE WINDOW '_02t0jzkso'WAIT WINDOW C EDITS NOWAIT

END IFIF !WVISIBLE(WOUTPUT())

CLEAR READRETURN .T.

END IFRETURN .F.PROCEDURE readact

IF ! iseditingSELECT (m.wzalias)SHOW GETS

END IF

108

Page 114: P)ICV£rtct OP P,1{ÇJ~P,CRJ1{Ç CO~

DO REFRESHRETURNPROCEDURE wizerrorhandler

WAIT WINDOW message()RETURNPROCEDURE printrec

PRIVATE 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.pmt btn = 2

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

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

ON ERROR*m.wizfname=LOCFILE('WIZARD.APP' ,'APP',C _LOCWIZ)ON ERROR &sOldErrorIF !'WIZARD.APP'$UPPER(m.wizfuame)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)INŞERT 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

END IF

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

109

Page 115: P)ICV£rtct OP P,1{ÇJ~P,CRJ1{Ç CO~

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

-GO TOP·wAIT WINDOW C TOPFILE NOWAIT

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

SKIP -1ENDIFIF BOF()

WAIT WINDOW C TOPFILE NOWAITGO TOP

ENDIFCASE m.btnname='NEXT'

IF !EOF()SKIP 1

ENDIFIF EOF()

WAIT WINDOW C ENDFILE NOWAITGO BOTTOM

ENDIFCASE m.btnname='END'

GO BOTTOMWAIT WINDOW C_ENDFILE NOWAIT

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 NOWAITRETURN

ENDIFIFRLOCK()

isediting=.T.

REPORT FORM (ALIAS()) &pr_out &pr_recordGO m.saverec

RETURN

110

Page 116: P)ICV£rtct OP P,1{ÇJ~P,CRJ1{Ç CO~

_curobj=lDO refreshRETURN

ELSEWAIT WINDOW C NOLOCK

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

IF isadding=edithand('SA VE')

ELSEGATHER MEMV AR MEMO

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

CASE m.btnname='DELETE' AND iseditingIF 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 ENDFILE NOWAITRETURN

END IFIF fox_alert(C_DELREC)

DELETEIF !EOF() AND DELETED()

SKIP 1END IFIF EOF()

WAIT WINDOW C ENDFILE NOW AITGO BOTTOM

END IFEND IF

CASE m.btnname='PRINT'

&&cancel record

DO printrecRETURN

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

111

Page 117: P)ICV£rtct OP P,1{ÇJ~P,CRJ1{Ç CO~

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

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

* nothing hereEND CASE

RETURNPROCEDURE fox alert

PARAMETER 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;\?\!\<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= 1PROCEDURE 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 _qjnl2zbvh [email protected],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 ;

113

Page 118: P)ICV£rtct OP P,1{ÇJ~P,CRJ1{Ç CO~

STYLE "BT"@4.692,36.000 GET m.p_output;

PICTURE "@*RVN \<PrinterPre\<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;DEF~ULT 1;FONT "MS Sans Serif', 8 ;STYLE "B"

ACTIVATE WINDOW _qjn12zbvhREAD CYCLE MODALRELEASE WINDOW _qjn12zbvh

RETURNPROCEDURE loc_dlog

PRIVATE gfields,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(1))

SET FIELDS ONIF m.gfields# 'GLOBAL'

SET FIELDS GLOBALENDIFIF EMPTY(FLDLIST())

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

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

ENDIFm.i = m.i + 1

ENDDOENDIF

ENDIFBROWSE WINDOW wzlocate NOEDIT NODELETE ;

NOMENU TITLE C BRTITLESET FIELDS &gfieldsSET FIELDS OFFRELEASE WINDOW wzlocate

RETURN

114

Page 119: P)ICV£rtct OP P,1{ÇJ~P,CRJ1{Ç CO~

INFORMATION

The information of the any specific query or search from the managers,guests, or any authority can be requested from the hotel by this simpledragged menu, which provide an easy user interface as a simple facility fromthe software procurer. The information menu is providing the following

listed options;

115

Page 120: P)ICV£rtct OP P,1{ÇJ~P,CRJ1{Ç CO~

SET TALK OFFIF NOT WEXIST("_ 02p0fc4kt")

DEFINE WINDOW_ 02p0fc4kt ;AT 0.000, 0.000 ;SIZE 15.063,34.625 ;TITLE "DIANA HOTEL" ;FONT "MS Sans Serif', 10;STYLE "B";FLOAT ;CLOSE;MINIMIZE ; COLOR RGB(,,,255,0,255)

MOVE WINDOW_ 02p0fc4kt CENTEREND IFIF WVISIBLE("_ 02p0fc4kt")

ACTIVATE WINDOW _02p0fc4kt SAMEELSE

ACTIVATE WINDOW _02p0fc4kt NOSHOWEND IF@ 10.813,14.125 GET m.exit_btn;

PICTURE "@*HN \<Close" ;SIZE 1.438,7.625,0.500;DEFAULT 1 ;FONT "MS Sans Serif', 10;STYLE "B" ;VALID bt('EXIT');MESSAGE 'Close screen.'

@ 0.750,7.000 SAY "Information Menu" ;FONT "MS Sans Serif', 14 ;STYLE "BIT" ;COLOR RGB(0,255,0,,,,)

@ 4.563,8.500 GET A ;PICTURE "@*VN Searching" ;SIZE l.438,17.750,0.250;DEFAULT 1 ; FONT "MS Sans Serif', 10;STYLE "B";VALID bt('Searching')

@2.125,7.000 TO 2.125,28.125;PEN 2 8 ·STYLE "1" ·' ,.. 'COLOR RGB(0,255,0,,,,)

@3.625,4.750 TO 13.188,29.625;PEN 2, 8; STYLE "16"

@ 6.688,8.500 GET A ;PICTURE "@*VN Hotel Telephones";SIZE l.438,17.750,0.250;DEFAULT 1;FONT "MS Sans Serif', 10;STYLE "B"; VALID bt('Hotel Telephones')

@ 8.813,8.250 GET A;PICTURE "@*HN Rooms Telephones";SIZE l.438,18.000,0.500;DEFAULT 1 ; FONT "MS Sans Serif', 10;

116

Page 121: P)ICV£rtct OP P,1{ÇJ~P,CRJ1{Ç CO~

STYLE "B";VALID bt('Rooms Telephones')

IF NOT WVISIBLE("_ 02pOfc4kt")ACTIVATE WINDOW _02p0fc4kt

ENDIFREAD CYCLEPROCEDURE BT

PARA.METER m.btnnameDO CASE

CASE m.btnname='Searching'Do c:\project\search.prg

CASE m.btnname='Hotel Telephones'DO c:\project\phone.prg

CASE m btnname='Rooms Telephones'DO c:\project\roomphone.prg

CASE m.btnname='EXIT'set sysm to defaDEACTIVATE WINDOW _02p0fc4ktRELEASE WINDOW_ 02p0fc4ktENDCASE RETURN

117

Page 122: P)ICV£rtct OP P,1{ÇJ~P,CRJ1{Ç CO~

SEARCHING

If the receptionist or any one wants some information about the guest,he/she will find all the information in the registration card or in the guest fileor it can be found in the computer database.

Searching It's Ok

Press The Enter Key To Continue I

118

Page 123: P)ICV£rtct OP P,1{ÇJ~P,CRJ1{Ç CO~

ozgur fturiıh 00245 ist~ltwkiye , 2126352412ramiz \ talari \ ~- 213325 gaza/pcıleıtine \ nn4587

The search function also can be done in various methods but eventually theyall do the same operation. But the variety is to provide user interface and

confusion tolerant.

119

Page 124: P)ICV£rtct OP P,1{ÇJ~P,CRJ1{Ç CO~

SET TALK OFFIF NOT WEXIST("_0301gr3jl ")

DEFINE WINDOW _0301gr3jl ;AT 0.000, 0.000 ;SIZE 17.313,33.875 ;TITLE "DIANA HOTEL" ;FONT "MS Sans Serif', 1 O ;STYLE "B";FLOAT;CLOSE;MINIMIZE;COLOR RGB(,,,255,0,255)

MOVE WINDOW _0301gr3jl CENTEREND IF

IF WVISIBLE("_0301gr3jl ")ACTIVATE WINDOW _0301gr3jl SAME

ELSEACTIVATE WINDOW _0301gr3jl NOSHOW

END IF@ 13.563,12.375 GET m.exit_btn;

PICTURE "@*HN \<Close" ;SIZE 1.438,7.625,0.500;DEFAULT 1;FONT "MS Sans Serif', 1 O ;STYLE "B";VALID btn_val('EXIT') ;MESSAGE 'Close screen.'

@ 0.688,6.625 SAY "Searching Menu" ;FONT "MS Sans Serif', 14 ;STYLE "BIT";COLOR RGB(0,255,0,,,,)

@ 4.688,8. 125 GET A ;PICTURE "@*HN By Name" ;SIZE l.438,16.750,0.500;DEFAULT 1;FONT "MS Sans Serif', 1 O ;STYLE "B";VALIDnameO

@ 6.875,8. 125 GET A ;PICTURE "@*HN By Passport No" ;SIZE l.438,16.750,0.500;DEFAULT 1;FONT "MS Sans Serif', 1 O ;STYLE "B";VALID PASSPORT()

120

Page 125: P)ICV£rtct OP P,1{ÇJ~P,CRJ1{Ç CO~

121

@9.188,8.250 GET A;PICTURE "@*HN By Room No" ;SIZE l.438,16.625,0.500;DEFAULT 1;FONT "MS Sans Serif', 1 O ;STYLE "B";VALID ROOM()

@11.500,8.375 GET A;PICTURE "@*HN By Date of Arrival" ;SIZE l.438,16.500,0.500;DEFAULT 1;FONT "MS Sans Serif', 1 O ;STYLE "B";VALID ARRIVAL()

@2.125,6.750 TO 2.125,26.500;PEN2, 8;STYLE "1";COLOR RGB(0,255,0,,,,)

@ 3.688,5.000 TO 15.876,28.125 ;PEN 2, 8;STYLE "16"

IF NOT WVISIBLE("_0301gr3jl ")ACTIVATE WINDOW _0301gr3jl

ENDIF**************PROCEDURE BROSEDATADEFINE WINDOW AAl ;

AT 0.000, 0.000 ;SIZE 37.075,120.333 ;

TITLE "DIANA HOTEL" ;FONT "MS Sans Serif', 8 ;

STYLE "B";FLOAT;CLOSE;

MINIMIZEMOVE WINDOW AAl CENTERACTIVATE WINDOW AAl

BROWSE WINDOW AAlDEACTIVATE WINDOW AAlRETURN

*********PROCEDURE WHEN THE CHOICE FOUND**************PROCEDURE FINDIF NOT WEXIST("_03910y9u2")

DEFINE WINDOW _03910y9u2;

Page 126: P)ICV£rtct OP P,1{ÇJ~P,CRJ1{Ç CO~

122

AT 0.000, 0.000 ;SIZE 9.231,55.000;TITLE "DIANA HOTEL" ;FONT "MS Sans Serif', 8 ;FLOAT;CLOSE;MINIMIZE;SYSTEM;COLOR RGB(,,,255,255,255)MOVE WINDOW _03910y9u2 CENTER

END IFIF WVISIBLE("_03910y9u2")

ACTIVATE WINDOW _03910y9u2 SAMEELSE

ACTIVATE WINDOW _03910y9u2 NOSHOWEND IF@ 1.769,14.400 SAY "Searching It's Ok";

FONT "MS Sans Serif', 1 O ;STYLE "BT"

@5.231,2.200 SAY "Press The Enter Key To Continue !" ;FONT "MS Sans Serif', 1 O ;STYLE "BT"IF NOT WVISIBLE("_03910y9u2")

ACTIVATE WINDOW _03910y9u2ENDIF

READRELEASE WINDOW _03910y9u2DOBROSEDATARETURN

*********PROCEDURE WHEN THE CHOICE NOT FOUND**************PROCEDURE NOTIF NOT WEXIST("-03910y9u2")

DEFINE WINDOW _03910y9u2;AT 0.000, 0.000 ;SIZE 9.231,55.000 ;TITLE "DIANA HOTEL" ;FONT "MS Sans Serif', 8 ;FLOAT;CLOSE;MINIMIZE;SYSTEM;COLOR RGB(,,,255,255,255)MOVE WINDOW _03910y9u2 CENTER

ENDIF

Page 127: P)ICV£rtct OP P,1{ÇJ~P,CRJ1{Ç CO~

123

IF WVISIBLE(" 03910y9u2")ACTIVATE WINDOW _03910y9u2 SAME

ELSEACTIVATE WINDOW _03910y9u2 NOSHOW

END IF@ 1.769,14.400 SAY "It's Not Found" ;

FONT "MS Sans Serif', 1 O ;STYLE "BT"

@ 5 .231,2.200 SAY "Press The Enter Key To Continue ! " ;FONT "MS Sans Serif', 1 O ;STYLE "BT"IF NOT WVISIBLE("_03910y9u2")

ACTIVATE WINDOW _03910y9u2ENDIF

READRELEASE WINDOW _03910y9u2.DO SEARCHRETURN

************* PROCEDURE SEARCHING BY NAME ***********PROCEDURE NAME

CLOSE DATABASEIF NOT WEXIST("_0390zsz3a")

DEFINE WINDOW_ 0390zsz3a ;AT 0.000, 0.000 ;SIZE 6.538,70.200;TITLE "DIANA HOTEL" ;FONT "MS Sans Serif', 8 ;FLOAT;NOCLOSE;MINIMIZE;SYSTEM;COi:OR RGB(,,,255,255,255)MOVE WINDOW_ 0390zsz3a CENTER

ENDIFIF WVISIBLE("_0390zsz3a")

ACTIVATE WINDOW _0390zsz3a SAMEELSE ACTIVATE WINDOW _0390zsz3a [email protected],7.800 SAY "Enter Guest Name:" ;

FONT "MS Sans Serif', 1 O ;STYLE "BT"

IF NOT WVISIBLE("_0390zsz3a")ACTIVATE WINDOW _0390zsz3aENDIF

Page 128: P)ICV£rtct OP P,1{ÇJ~P,CRJ1{Ç CO~

your_ch=space(lO)@2.999,34.800 get your_chREADRELEASE WINDOW 0390zsz3a

USE C:\PROJECT\DATA.DBFLOCATE ALL FOR UPPER(ALLTRIM(name))=UPPER(ALLTRIM(your_ch))

IF FOUND() THENDO FINDELSEDO NOTEND IF

RETURN

************ PROCEDURE SEARCHING BY PASSPORT NO**************PROCEDURE PASSPORT

CLOSE DATABASEIF NOT WEXIST("_ 0390zsz3a")DEFINE WINDOW_ 0390zsz3a ;

AT 0.000, 0.000;SIZE 6.538,70.200;TITLE "DIANA HOTEL" ;FONT "MS Sans Serif', 8 ;FLOAT;NOCLOSE;MINIMIZE;SYSTEM;COLOR RGB(,,,255,255,255)MOVE WINDOW _0390zsz3a CENTER

END IFIF WVISIBLE("_ 0390zsz3a")

ACTIVATE WINDOW _0390zsz3a SAMEELSE

ACTIVATI;: WINDOW _0390zsz3a NOSHOWEND [email protected],7.800 SAY "Enter Passport No:";

FONT "MS Sans Serif', 1 O ;STYLE "BT"

IF NOT WVISIBLE("_ 0390zsz3a")ACTIVATE WINDOW 0390zsz3aEND IFyour_ch=space(lO)@2.999,34.800 get your_chREADRELEASE WINDOW_ 0390zsz3aUSE C:\PROJECT\DATA.DBF

124

Page 129: P)ICV£rtct OP P,1{ÇJ~P,CRJ1{Ç CO~

LOCATE ALL FORUPPER(ALLTRIM(PASSPORT_N))=UPPER(ALLTRIM(your_ch))

IF FOUND() THENDO FINDELSEDO NOTEND IF

********PROCEDURE SEARCHING BY ROOM NO*************PROCEDURE ROOM

CLOSE DAT ABASEIF NOT WEXIST("_ 0390zsz3a")DEFINE WINDOW _0390zsz3a;

AT 0.000, 0.000;SIZE 6.538,70.200;TITLE "DIANA HOTEL" ;FONT "MS Sans Serif', 8 ;FLOAT;NOCLOSE;MINIMIZE;SYSTEM;COLOR RGB(,,,255,255,255)MOVE WINDOW 0390zsz3a CENTER

END IFIF WVISIBLE("_ 0390zsz3a")

ACTIVATE WINDOW 0390zsz3a SAMEELSE

ACTIVATE WINDOW 0390zsz3a NOSHOWEND [email protected],7.800 SAY "Enter Room No:";

FONT "MS Sans Serif', 1 O ;STYLE "BT"

IF NOT WVISIBL~(''_ 0390zsz3a")ACTIVATE WINDOW 0390zsz3aEND IFyour_ch=space(lO)@2.999,30.800 get your_chREADRELEASE WINDOW 0390zsz3aUSE C:\PROJECT\DATA.DBFLOCATE ALL FOR UPPER(ALLTRIM(ROOM_NO))= UPPER(ALLTRIM(your_ch))IF FOUND() THENWAIT WINDOW" Searching is OK "NOWAITDO FINDELSEDO NOT

125

Page 130: P)ICV£rtct OP P,1{ÇJ~P,CRJ1{Ç CO~

126

END IF*********PROCEDURE SEARCHING BY DATE OF ARRIVAL**************

PROCEDURE ARRIVALCLOSE DATABASEIF NOT WEXIST("_0390zsz3a")DEFINE WINDOW_ 0390zsz3a ;

AT 0.000, 0.000;SIZE 6.538,70.200;TITLE "DIANA HOTEL" ;FONT "MS Sans Serif', 8 ;FLOAT;NOCLOSE;MINIMIZE;SYSTEM;COLOR RGB(,,,255,255,255)MOVE WINDOW_ 0390zsz3a CENTER

END IFIF WVISIBLE(''_0390zsz3a")

ACTIVATE WINDOW _0390zsz3a SAMEELSE

ACTIVATE WINDOW _0390zsz3a NOSHOWEND [email protected],7.800 SAY "Enter Date of Arrival(mm/dd/yy):" ;

FONT "MS Sans Serif', 1 O ;STYLE "BT"

IF NOT WVISIBLE("_ 0390zsz3a")ACTIVATE WINDOW 0390zsz3aEND IFyour_ch=space(8)@2.999,52.800 get your_chREADRELEASE WINDOW 0390zsz3aUSE C:\PROJEC;'\DAT A.DBF

LOCATE ALL FORUPPER(ALLTRIM(DATE_OF_AR))=UPPER(ALLTRIM(your_ch))

IF FOUND() THENDO FINDELSEDO NOTEND IF

Page 131: P)ICV£rtct OP P,1{ÇJ~P,CRJ1{Ç CO~

127

HOTEL TELEPHONES

You can get any telephone number in the hotel by the reception, if youwant the manager's telephone or any department's telephone of the hotelyou can get it by the receptionist as an index in the program database.

Page 132: P)ICV£rtct OP P,1{ÇJ~P,CRJ1{Ç CO~

ROOMS TELEPHONES

This information option provides a list of all rooms with their corresponding

telephone numbers.

Rooms_no

102 \ 2103\ 3 ........................................................~ .104 \ 4 105 \ 5

························································•················································106\ 6 160 \ 60 ....................................................... l .

....................................................... r·········· .. ································· ..

........................................................r····· .!........................................................;,,,,, .ı........................................................ t .l

·:::::::::::::::::::::::::::::::::::::::::::::::::::::::r::::::::::::::::::::::::::::::::::::::::::::: ........................................................ l ........................................................ T ......................................................... 1 ......................................................•..\·········· .•..••••••••••••••••.••••••••••••.•••••••••••••••••••.• ,.t··"''''''''''''""''''''''''''''""''''''''''

i'!!........................................................ t .

........................................................i .,=;ıı . ı~

1

SELECT Rooms.phone_no, Rooms.rooms_no;FROM Rooms;WHERE Rooms.phone_no = Rooms.phone_no

128

Page 133: P)ICV£rtct OP P,1{ÇJ~P,CRJ1{Ç CO~

F

RESERVATION FLOWCHERT

Open Reservation File

InputName, surname, etc

UpdateReservation File

129

Page 134: P)ICV£rtct OP P,1{ÇJ~P,CRJ1{Ç CO~

CHECK ROOMS AVAILABILITY FLOWCHART

RoomType

RoomPosition

Rooms

YES

Say SorryNo RoomsAvailable

RoomNumber

Back to Reception&Reservation menu

130

Page 135: P)ICV£rtct OP P,1{ÇJ~P,CRJ1{Ç CO~

131

CHECK-IN FLOWCHART

Start

Check RoomsAvailability

Guest File

Name, surname,Passport, etc

Open Account

Page 136: P)ICV£rtct OP P,1{ÇJ~P,CRJ1{Ç CO~

GivePassport

CHECK-OUT FLOWCHART

Start

CustomerFile

Accounts

NO Yes

ControlRoom

Getmoney

Get Key

132

Page 137: P)ICV£rtct OP P,1{ÇJ~P,CRJ1{Ç CO~

No

YES

Guestfile

SERVICES FLOWCHART

Display ..ServicesMenu

Enter ServiceType

Read ServiceType

YES

GuestFile

Drinks &Foods in theRestaurant

Drinks inThe Bar &Disco

CalculateFree

Drinks &Foodsin the Room

CalculateFree

Send bill ToAccount

133

Page 138: P)ICV£rtct OP P,1{ÇJ~P,CRJ1{Ç CO~

NO YES

NO YES

GuestFile

Calculate Mail Calculate UsageTime

Calculate FreeCalculate Free

GuestFile Send Bill to

Account

NO YES

Say SorryYour Needis NotFound

Calculate Free

Send Bill toAccount

Page 139: P)ICV£rtct OP P,1{ÇJ~P,CRJ1{Ç CO~

HOUSEKEEPING FLOWCART

eustomerfile

RoomsDatabase

ReadDatabase

No YES

Clean TheRoom

WashClothes

Collect TheGarbage

ThrowGarbage

135

Page 140: P)ICV£rtct OP P,1{ÇJ~P,CRJ1{Ç CO~

Say Sorry It'sNot Found

YES

SEARCIDNG FLOWCHART

Start

SearchingMenu

Choice

ReadChoice

Guest File

NO

Show GuestFile

136

Page 141: P)ICV£rtct OP P,1{ÇJ~P,CRJ1{Ç CO~

137

CONCLUSION

As a result, the second goal is to present an expert system, theprogram project shows how it's can serve as a knowledge base for an expertsystem that does classification tasks. All the chapters which is construct myproject program which was covering hotel management program, all theaspects and steps that must be taken in the planning and development, newconcepts in hotel design, hotel development, as a result to the programmerwhen he/she construct a program in order to serve such institutions likehotel, the big advantage of this approach is the application of the hotelprogrammed it self.

The main focus of this project is the performance the hotel-programmed parts gives basic definitions and concepts that almost every oneinterested.

Finally, I am thanking my supervisor, Miss Besime Erin because shedid build and create my deep gratitude and support.On last, it is really appreciation to my family for their encouragement andsupport.