CHAPTER 1 INTRODUCTION Rationale Every individual has the desire to live in a peaceful manner and in a secured way. Apartment is one of the most profitable establishments here in Cebu City for the number of people came from provinces keeps on increasing. Living in an uncertain world, apartment’s owners want to maintain safety measures in their firms and occupants might as well want to be secured. Encroachment is an issue nowadays. It is an act of illegal entry without any permission from the owners/occupants to a specified area.
Furthermore, it often resulted to theft, burglary and intrusion. To get rid of this issue, the group proposes this system which is to maintain the security of the apartments via biometrics. With this system, encroachment issue will be avoided for without the presence of the occupants, no one can enter the apartment. Theoretical Background According to Harbron (1988), one way of attaining security of a certain area is by means of biometrics. Jain et. al. (1999) identified that biometric system can operate verification and identification mode.
It is very important to make our place secured in many aspects to prevent from encroachment issues. According to statistics, more than 30% of the burglars have gained access into apartments, through an open door or window. (http://www. buzzle. com/articles/security-alarm-systems-for-apartments. html). Flordelis, Timothy Jake B. et. al. (2005) confirmed that there are problems that occupants and owners experienced these are theft, intrusion, and burglary, which considered being encroachment. Lao, Excio Erving Jr. A. et. al. 2003) explained that by using home automation system, one can make several or all of the systems and devices in home work automatically to provide more security, safety, and convenience. It inspires the group to make this Apartment Security System via Biometrics that will enhance the existing one in securing the Apartments. In Apartment Security System via Biometrics, all rooms should be networked to the server. According to Clark et. al. (1985), a network is a collection of processors and terminals that serves more than one user at a time by communication.
Biometrics Theory Biometric identification technologies (the automatic recognition of individuals based on physical and/or behavioral characteristics) date back over 50 years to the earliest digital computers. Over the last two decades, biometric identification devices have become faster, cheaper, and more reliable, allowing for a variety of applications. This course looks at the history, theory, algorithms, applications, and standards of biometric recognition, including voice, iris, face, hand, and fingerprint identification.
Test protocols, system design, and error rate prediction are discussed, along with the implications of the technology for personal privacy. 1. Abstract One of the most critical issues to solve when building multi-accessible systems, such as computer applications, cars or physical buildings, is to determine the identity of a person. A system protecting confidential information, or items of value, puts strong security demands on the identification. Biometry provides us with a user-friendly method for this identification and is becoming a competitor for current identification mechanisms, especially for electronic transactions.
However, there are ways to compromise a system based on biometric verification. This article focuses on the drawbacks and risks of biometric verification, specifically verification based on fingerprints. It shows how all currently available fingerprint scanners can be fooled by dummies that are created with very limited means and skills. This article should be read as a warning to those thinking of using new methods of identification without first examining the technical opportunities for compromising the identification mechanism and the associated legal consequences.
This is especially true for people working with smart cards since it is quite common to store fingerprints on smart cards and due to the developments in solid state fingerprint scanners, integration of a fingerprint scanner on a smart card is possible. 2. Information Identification systems based on biometrics are capable of identifying persons on the basis either physical or behavioural characteristics. Currently, there are over ten different techniques available to identify a person based on biometrics.
The following techniques are applied within the main categories physical and behavioural characteristics: |Behavioral characteristics |Physical characteristics | |keystrokes dynamics |iris recognition | |voice recognition |retina recognition | |signature dynamics |vein pattern recognition | | |face recognition | | |recognition of hand or finger geometry | | |fingerprint recognition | Before a system is able to verify the specific biometrics of a person, it of course requires something to compare it with. Therefore, a profile or template containing the biometrical properties is stored in the system. Recording the characteristics of a person is called enrolment. In order to get a profile that corresponds most with reality, the biometrical. characteristics are scanned several times. In case of fingerprint recognition the finger is scanned three to four times to get a profile that is independent of variations that occur in practice, such as the angle of placement of the finger on the scanner.
Since storage capacity for the profiles in these systems is usually limited (for example if used in combination with smart cards), it is common to use data compression before storing the profile. Storing profiles in tokens requires a combination of token and biometry for verification and therefore gives a higher level of security. When a biometrical verification is to occur, a scan of the biometrics of a person is made and compared with the characteristics that are stored in the profile. In general, a certain margin of error is allowed between the observed and stored characteristics. If this margin is too small, the system will reject a righteous person more often while if this margin is too large, malicious persons will be accepted by the system.
The probabilities that a righteous person will be rejected and that a malicious person will be accepted, are called False Reject Rate (FRR) and False Accept Rate (FAR) respectively. When using a biometric system, one would of course want to minimise both rates, but unfortunately these are not independent. An optimum trade-off between FRR and FAR has to be found with respect to the application. 3. Biometric Identification In this chapter the techniques for fingerprint identification will be explored. After explaining the theory of fingerprint verification, all current scanning technologies are described in more detail. Once it is known how these scanners identify a person by means of a fingerprint, two methods to counterfeit fingerprints are shown.
All additional methods implemented by scanner manufacturers to prevent counterfeits from being successful are also described together with proposed methods how these systems could also be fooled into accepting dummy fingerprints. The consequences for systems using fingerprint verification are discussed at the end of the chapter. First, an example for fingerprint verification from practice will be given. This example also illustrates how difficult it can be to find an optimum trade-off between FAR and FRR. From a security point of view, one would want to have the FAR as small as possible. However, for acceptance of a biometry system, a large FRR is worse. Case: Within the car industry a biometric verification system is under evaluation.
Manufacturers of expensive cars are considering using fingerprint recognition as a requirement for ignition of the engine. To arm against car theft, the FAR should be as small as possible. On the other hand, suppose that the righteous owner of a car cannot use his car because his fingerprint is rejected (i. e. FRR is too high). He will consider this to be a much more serious flaw in the system than a technical failure which prevents the car from being started. This is especially true if he compares the advantages of this system with this rejection: the advantages are that the driver does not (necessarily) have to have a key to his car and a perception of higher security with respect to theft of his car. Whether indeed the security improves is questionable.
Right now, we do not see car thieves trying to copy the key of your car, instead they try to by-pass the ignition mechanism where the car key is involved. Furthermore, as this article will show, it might decrease security since it is fairly easy and cheap to copy a fingerprint from a person, even without the person knowing this. 3. 1 Theory of Fingerprint Verification The skin on the inside of a finger is covered with a pattern of ridges and valleys. Already centuries ago it was studied whether these patterns were different for every individual, and indeed every person is believed to have unique fingerprints. This makes fingerprints suitable for verification of the identity of their owner.
Although some fingerprint recognition systems do the comparison on the basis of actual recognition of the pattern, most systems use only specific characteristics in the pattern of ridges. These characteristics are a consequence from the fact that the papillary ridges in the fingerprint pattern are not continuous lines but lines that end, split into forks (called bifurcation), or form an island. These special points are called minutiae and, although in general a fingerprint contains about a hundred minutiae, the fingerprint area that is scanned by a sensor usually contains about 30 to 40 minutiae. For over hundred years law enforcement agencies all over the world use minutiae to accurately identify persons .
For a positive identification that stands in European courts at least 12 minutiae have to be identified in the fingerprint. The choice of 12 minutiae is often referred to as “the 12 point rule”. This 12 point rule is not based on statistical calculations but is empirically defined based on the assumption that, even when a population of tens of millions of persons are considered, no two persons will have 12 coinciding minutiae in their fingerprints. Most commercially available fingerprint scanners give a positive match when 8 minutiae are found. Manufacturers claim a FAR of one in a million based on these 8 minutiae, which seems reasonable. 3. 2 Fingerprint Scanning Technologies Technologies for scanning fingerprints have evolved over the past years.
The traditional method which is used by law enforcement agencies for over a hundred years now is making a copy of the print that is found at a crime scene or any other location and manually examining it to find minutiae. These minutiae are compared with prints from a database or specific ink prints, which could be taken at a later time. This method is of course based on the fact that the person who left the fingerprints is not co-operating by placing his finger on a fingerprint scanner. For systems that are commercially available (and deployed) people are required to co-operate in order to gain access to whatever is protected by the verification system. The first generation fingerprint scanners appeared on the market in the mid eighties, so the technology is about fifteen years old.
Over the past few years the technology for scanning fingerprints for commercial purposes has evolved a lot. While the first generation sensors used optical techniques to scan the finger, current generation sensors are based on a variety of techniques. The following techniques are deployed in commercial products that are currently available: • Optical sensors with CCD or CMOS cameras • Ultrasonic sensors • Solid state electric field sensors • Solid state capacitive sensors • Solid state temperature sensors The techniques will be described in greater detail in this section. The solid state sensors are so small that they can be built into virtually any machine.
Currently a sensor is in development that will be built in a plastic card the size of a credit card, not only with respect to length and width but also with respect to thickness! It is clear that this type of sensor will give a boost to the number of applications using fingerprint technology. (http://cryptome. org/fake-prints. htm) THE PROBLEM Statement of the Problem Encroachment has been an issue in our industry. It could not be resolved unless there are security systems. This study aims to secure every room in any apartment eliminating strangers to get into one’s room without the presence of any occupant. This study is further concerned with the following issues: 1.
What are the existing systems used to maintain security of the apartments? 2. What are the problems encountered by the occupants of the apartments? 3. What are the advantages of this Apartment Security System among the existing systems? 4. What are the technological features in this Apartment Security System? Statistics The number of residential burglaries recorded increased 0. 7% from 27,347 in 2009/2010 to 27,531 in 2010/2011. Burglary (residential) had a clearance rate of 12. 4% during 2010/2011, 1. 6 percentage points lower than that of 2009/2010. Reported Residential Burglary in the Philippines as of 2007 [pic]Figure 1. 1 Burglary (residential) Graph Significance of the Study
Trespassing has been a concern in our society, to put an end this issue, this Apartment Security System must be realized. Apartment is the most profitable business establishment businessmen could ever have. Hence, such establishments must be secured all the time. Security systems are not just luxury in an Apartment, it is a necessity to maintain security and to be able to prevent from encroachment issues such as burglary, intrusion, theft, etc. If there is security system in the apartment, then both owners and boarders will benefit the system. The boarders will feel comfortable living in the apartment with such system, and will not encounter encroachment issues, hence the boarders will live peacefully and live longer in that certain apartment.
A boarder who stays in the apartment long enough is an indication that he trusted the system that runs in the apartment. So, it is an advantage on the owner’s side because, aside from the fact that no intruder can get access to his establishment, it is a big income if the boarders stayed longer in his apartment. Scope and Limitation The project focuses more on the security systems. The project identified the occupants of the apartment by means of fingerprint identification through biometrics. This project already exists, the only difference is that the group applied the system in every room which makes the system expensive enough for it requires every apartment a single biometrics. The group pilots only two rooms for demonstration purposes.
The system is capable of identifying occupants to the extent that it alarms whenever an intruder reached the maximum tries of fingerprint identifying. The project could not cater occupants who are disabled (do not have fingers). RESEARCH METHODOLOGY Methodology is generally a guideline for solving a problem, with specific components such as phases, tasks, methods, techniques and tools. The group uses applied research and makes use of various techniques and tools in conducting this research. Research Environment The group will conduct the survey in the apartment where there are tenants and an owner. The purpose of our survey is to determine what are their concerned about the security of their apartment. Number of apartments and dormitories surveyed: 21
Number of owners interviewed: 3 Number of workers interviewed: 18 Number of boarders interviewed: 100 Example of apartment’s and dormitories surveyed: Kim Kathleen’s House for ladies – Brgy. Cabancalan, Mandaue City Engr. Bing Momo Europa Apartelle and Dormitory- Brgy. Cabancalan, Mandaue City “Patoy” Saint Joseph Dormitory – Lopez Jaena St. , Mandaue City “Ma’am Earl Joy” Pink Dormitory- Brgy. Pitogo Consolacion “Dioscor Jamisola” Research Respondents The people to be conducted by the group are the apartment tenants and the owner for they are the stakeholder of the system. The group will use the simple random sampling technique in getting the number of respondents.
Research Instruments The data gathering is employed through the use of the questionnaire and supplemented with some data analysis of published, unpublished thesis and some article Research Procedure Gathering Data The team gathered the data through the formulated questionnaire which was distributed in the apartments, hotel, boarding house and school to identify the views of the respondents. Treatment of Data Based on the questionnaire, the team construct, analyze, and interpret. The team will use the following formula. n = N 1 + N e Where: n = sample size N = population size e = desire margin of error DEFINITION OF TERMS Project Design A project that is being put into reality by a group of designer. Designers – A group of individuals that is tasked to develop the project design. Hardware – The physical components of a computer system, including any peripheral equipment such as printers, modem and mouse. Software – Computer programs are referred to as software. Feature – Is a unique, attractive, or desirable property of a program or of a computer or other hardware. Microcontroller – A highly integrated chip contains all the components comprising a controller. Server – A computer system that consist of database and other information of it a device that manages network resource. Circuit A combination of electrical or electronics components, interconnected to perform one or more specific functions. Breadboard – A fiberboard used by electronic circuit designers to build experimental circuits and prototypes. Relay – Is an electrical switch that opens and closes under the control of another electrical circuit. Transistor – Is a semiconductor device, commonly used to amplify or switch electronic signals. Serial Communication – Is the process of sending data one bit at one time, sequentially, over a communication channel or computer bus. This is in contrast to parallel communication, where all the bits of each symbols are sent together. Flowchart A diagram representing the logical sequence in which a combination of steps or operation is to be perform. Program Flowchart – Describes graphically in detail the logical operation and steps with in a program and the sequence in which these steps are to be executed to the transformation of data to produce the needed output. System Flowchart – Graphic representation of the procedure involved in converting data or media to data in output form. CHAPTER 2 PRESENTATION, ANALYSIS AND INTERPRETATION OF DATA This chapter focuses more on the data gathered in order for the proponents to further understand the importance of the project. The gathered data is being analyzed so that the group will be aware of the standards or the expectations of the mass.
It is then interpreted by making graphs such as pie graph and bar graph to easily visualize the results of the conducted survey. The Figure 2. 1 shows that most of the group’s research respondents are the Occupant of the Apartment with fifty – eight percent (58%). The group conducted this research in the apartment’s occupant because they are the ones who will be benefiting the project aside from the Apartment owners. Their opinions and suggestions are very significant in making our project a successful one. The Figure 2. 2 shows that sixty four percent (64%) of the respondents has security systems in their respective apartments. But there are thirty six percent (36%) of the respondents who are living in an apartment with no security. CHAPTER 3
Technical Aspects of the Systems This chapter contains the summary of the software and components used in the project in order for the readers to examine how the project was made. System Flowchart is the interpretation of how the project runs from start to end. The Program Flowchart is the interpretation of how the user interfaces with the users. The Block Diagram is how the project composed of. And the Source Code it is the program used of how the project runs with. [pic] Figure 3. 1 – System Flowchart [pic] Figure 3. 2 – System Flowchart [pic] Figure 3. 3 – Program Flowchart [pic] Figure 3. 4 – Program Flowchart [pic] Figure 3. 5 – Program Flowchart [pic] Figure 3. – Program Flowchart [pic] Figure 3. 7 – Program Flowchart System Block Diagram • For Fingerprint Scanner [pic] Figure 3. 8 – System Block Diagram For Fingerprint Scanner • For the whole system [pic] Figure 3. 9 – System Block Diagram For the whole System Schematic Diagram The schematic diagram is the design which shows how the desired components are being connected to each other. Figure shows the schematic diagram of our design. [pic] Figure 3. 10 – Schematic Diagram Design Components Software Design Proteus 7 ISIS Professional The Proteus Professional demonstration is intended for prospective customers who wish to evaluate our professional level products.
It differs from Proteus Lite in that it does not allow you to save, print or design your own microcontroller based designs (you can however write your own software programs to run on the existing sample design suite for evaluation), but does include all features offered by the professional system including netlist based PCB design with auto-placement, auto-routing and graph based simulation .[pic] Figure 3. 11 – Proteus 7 ISIS Professional MikroC The group decided to use MicroC Compiler because it is a C complier for PIC. It is designed to provide the customer with the easiest possible solution for developing applications for embedded system without compromising performance or control. MikroC allows quickly develop and deploy complex applications. [pic] Figure 3. 12 – MikroC VB6. 0 [pic] Figure 3. 3 – VB6. 0 Visual Basic (VB) is a third-generation event-driven programming language and integrated development environment (IDE) from Microsoft for its COM programming model first released in 1991. Visual Basic is designed to be relatively easy to learn and use. Visual Basic was derived from BASIC and enables the rapid application development (RAD) of graphical user interface (GUI) applications, access to databases using Data Access Objects, Remote Data Objects, or ActiveX Data Objects, and creation of ActiveX controls and objects. Scripting languages such as VBA and VBScript are syntactically similar to Visual Basic, but perform differently.
A programmer can put together an application using the components provided with Visual Basic itself. Programs written in Visual Basic can also use the Windows API, but doing so requires external function declarations. Though the program has received criticism for its perceived faults, from version 3 Visual Basic was a runaway commercial success,and many companies offered third party controls greatly extending its functionality. The final release was version 6 in 1998. Microsoft’s extended support ended in March 2008 and the designated successor was Visual Basic . NET (now known simply as Visual Basic). Hardware Components PIC 16F877A Microcontroller [pic] Figure 3. 14 – PIC 16F877A
A PIC (Peripheral Interface Controller) microcontroller is an IC manufactured by Microchip. These ICs are complete computers in a single package. The only external components necessary are whatever is required by the I/O devices that are connected to the PIC. A microcontroller is a small computer and it can only perform simple task. Microcontroller consists of: • Processor that executes the program • Program memory to store the program that has been compiled successfully by the programmer. • Ram (random-access memory) to store “variables. ” • IO Port to connect sensor, keypad, LED and so on. Crystal Oscillator [pic] Figure 3. 15 – Crystal Oscillator
A crystal oscillator is an electronic oscillator circuit that uses the mechanical resonance of a vibrating crystal of piezoelectric material to create an electrical signal with a very precise frequency. This frequency is commonly used to keep track of time (as in quartz wristwatches), to provide a stable clock signal for digital integrated circuits, and to stabilize frequencies for radio transmitters and receivers. The most common type of piezoelectric resonator used is the quartz crystal, so oscillator circuits designed around them became known as “crystal oscillators. ” Relay [pic] Figure 3. 16 – Relay A relay is an electrically operated switch. Many relays use an electromagnet to operate a switching mechanism mechanically, but other operating principles are also used.
Relays are used where it is necessary to control a circuit by a low-power signal (with complete electrical isolation between control and controlled circuits), or where several circuits must be controlled by one signal. The first relays were used in long distance telegraph circuits, repeating the signal coming in from one circuit and re-transmitting it to another. Relays were used extensively in telephone exchanges and early computers to perform logical operations. Resistor [pic] Figure 3. 17 – Resistor Typical 10K ohm, 1/4 watt resistor that can be used with various circuits. The color band on the resistor is Brown, Black, Orange, Gold. Diode [pic] Figure 3. 18 – Diode
Diodes allow electricity to flow in only one direction. The arrow of the circuit symbol shows the direction in which the current can flow. Diodes are the electrical version of a valve and early diodes were actually called valves. Regulator [pic] Figure 3. 19 – Regulator Encapsulated in a single chip/package (IC), the 7805 is a positive voltage DC regulator that has only 3 terminals. They are: Input voltage, Ground, Output Voltage. Transistor [pic] Figure 3. 20 – Transistor Transistor is a “CURRENT” operated device which has a very large amount of current (Ic) which flows without restraint through the device between the collector and emitter terminals.
But this is only possible if a small amount of biasing current (Ib) is present in the base terminal of the transistor making the base to act as a current control input. LED (Light Emitting Diode) [pic] Figure 3. 21 – LED A light-emitting diode (LED) is a semiconductor light source. LEDs are used as indicator lamps in many devices, and are increasingly used for lighting. Introduced as a practical electronic component in 1962,[2] early LEDs emitted low-intensity red light, but modern versions are available across the visible, ultraviolet and infrared wavelengths, with very high brightness. DCU 11 [pic] Figure 3. 22 – DCU 11 The cable incorporates a charger port to charge the phone while the cable is in use, and your phone’s built-in modem brings the Web and email to your PC.
The widely accepted USB standard and high-speed data transfer make this cable the ideal link from your phone to your PC. • USB connector Fingerprint Scanner [pic] Figure 3. 23 – Fingerprint Scanner Fingerprint recognition or fingerprint authentication refers to the automated method of verifying a match between two human fingerprints. Fingerprints are one of many forms of biometrics used to identify individuals and verify their identity. This article touches on two major classes of algorithms (minutia and pattern) and four sensor designs (optical, ultrasonic, passive capacitance, and active capacitance). Power Supply [pic] Figure 3. 24 – Power Supply A power supply is a device that supplies electrical energy to one or more electric loads.
The term is most commonly applied to devices that convert one form of electrical energy to another, though it may also refer to devices that convert another form of energy (e. g. , mechanical, chemical, solar) to electrical energy. A regulated power supply is one that controls the output voltage or current to a specific value; the controlled value is held nearly constant despite variations in either load current or the voltage supplied by the power supply’s energy source. Program Source Code MikroC char ch; void main() { PORTB = 0x00; TRISB = 0x00; TRISC = 0x80; PORTC = 0; Usart_Init(9600); delay_ms(100); while(1) { if(Usart_Data_Ready()) { ch = Usart_Read(); if(ch == ‘1’) { PORTC. F0 = 1; elay_ms(5000); PORTC. F0 = 0; ch=”; } if(ch == ‘2’) { PORTC. F1 = 1; delay_ms(8000); PORTC. F1 = 0; ch=”; } } PORTB = 0x00; } VB6. 0 “Enrollment” Dim WithEvents Capture As DPFPCapture Dim CreateFtrs As DPFPFeatureExtraction Dim CreateTempl As DPFPEnrollment Dim ConvertSample As DPFPSampleConversion Private Sub DrawPicture(ByVal Pict As IPictureDisp) ‘ Must use hidden PictureBox to easily resize picture. Set HiddenPict. Picture = Pict Picture1. PaintPicture HiddenPict. Picture, _ 0, 0, Picture1. ScaleWidth, _ Picture1. ScaleHeight, _ 0, 0, HiddenPict. ScaleWidth, _ HiddenPict. ScaleHeight, vbSrcCopy Picture1. Picture = Picture1. Image End Sub
Private Sub ReportStatus(ByVal str As String) Status. AddItem (str) ‘ Add string to list box. Status. ListIndex = Status. NewIndex ‘ Move list box selection down. End Sub Private Sub Close_Click() Capture. StopCapture ‘ Stop capture operation. Unload Me End Sub Private Sub Form_Load() Set Capture = New DPFPCapture ‘ Create capture operation. Capture. StartCapture ‘ Start capture operation. Set CreateFtrs = New DPFPFeatureExtraction ‘ Create DPFPFeatureExtraction object. Set CreateTempl = New DPFPEnrollment ‘ Create DPFPEnrollment object. Samples. Caption = CreateTempl.
FeaturesNeeded ‘ Show number of samples needed. Set ConvertSample = New DPFPSampleConversion ‘ Create DPFPSampleConversion object. End Sub Private Sub Capture_OnReaderConnect(ByVal ReaderSerNum As String) ReportStatus (“The fingerprint reader was connected. “) End Sub Private Sub Capture_OnReaderDisconnect(ByVal ReaderSerNum As String) ReportStatus (“The fingerprint reader was disconnected. “) End Sub Private Sub Capture_OnFingerTouch(ByVal ReaderSerNum As String) ReportStatus (“The fingerprint reader was touched. “) End Sub Private Sub Capture_OnFingerGone(ByVal ReaderSerNum As String) ReportStatus (“The finger was removed from the fingerprint reader. “) End Sub
Private Sub Capture_OnSampleQuality(ByVal ReaderSerNum As String, ByVal Feedback As DPFPCaptureFeedbackEnum) If Feedback = CaptureFeedbackGood Then ReportStatus (“The quality of the fingerprint sample is good. “) Else ReportStatus (“The quality of the fingerprint sample is poor. “) End If End Sub Private Sub Capture_OnComplete(ByVal ReaderSerNum As String, ByVal Sample As Object) Dim Feedback As DPFPCaptureFeedbackEnum ReportStatus (“The fingerprint sample was captured. “) ‘ Draw fingerprint image. DrawPicture ConvertSample. ConvertToPicture(Sample) ‘ Process sample and create feature set for purpose of enrollment. Feedback = CreateFtrs.
CreateFeatureSet(Sample, DataPurposeEnrollment) ‘ Quality of sample is not good enough to produce feature set. If Feedback = CaptureFeedbackGood Then ReportStatus (“The fingerprint feature set was created. “) Prompt. Caption = “Touch the fingerprint reader again with the same finger. ” ‘ Add feature set to template. CreateTempl. AddFeatures CreateFtrs. FeatureSet ‘ Show number of samples needed to complete template. Samples. Caption = CreateTempl. FeaturesNeeded If Val(Samples. Caption) = 0 Then MainFrame. Picture1. Visible = True Else MainFrame. Picture1. Visible = False End If ‘ Check if template has been created. If CreateTempl.
TemplateStatus = TemplateStatusTemplateReady Then MainFrame. SetTemplete CreateTempl. Template ‘ Template has been created, so stop capturing samples. Capture. StopCapture Prompt. Caption = “Click Close, and then click Fingerprint Verification. ” MsgBox “The fingerprint template was created. ” End If End If End Sub Private Sub Form_Unload(Cancel As Integer) Capture. StopCapture ‘ Stop capture operation End Sub “frmFlash” Option Explicit Dim i As Integer Private Declare Sub Sleep Lib “kernel32” (ByVal dwMilliseconds As Long) Private Sub Form_Activate() For i = 0 To 10 i = i + 1 Sleep (500) Me. Refresh Next Unload Me frmStandbyMode. Show End Sub “frmInventory”
Private Function ConnectDB() As String ConnectDB = “DRIVER={MySQL ODBC 5. 1 Driver}; SERVER = localhost; DATABASE = db_AMASS; USER = root; PASSWORD = ”;” End Function Private Sub cmdPayDue_Click() Set rsPay = New ADODB. Recordset rsPay. CursorLocation = adUseClient rsPay. CursorType = adOpenDynamic rsPay. LockType = adLockOptimistic ‘rsPay. Open “SELECT * FROM tbl_registration”, ConnectDB rsPay. Open “select * from tbl_registration where FullName = ‘” & txtPay. Text & “‘”, ConnectDB If rsPay. EOF = False Then ‘With rsPay ‘rsPay. MoveFirst ‘ While rsPay. EOF = False ‘ If txtPay. Text = rsPay! FullName Then If MsgBox(“Continue paying his due? , vbInformation + vbYesNo, “Apartment Monitoring and Security System – Paying Due”) = vbYes Then rsPay! ToPay = rsPay! ToPay + rsPay! Payment rsPay. Update List_Unpaid. Clear Call query_list ‘ rsPay. MoveNext ‘ Else: rsPay. MoveNext End If ‘ Else: rsPay. MoveNext ‘ End If ‘ Wend ‘End With End If End Sub Private Sub cmdPrint_Click() Set rst = New ADODB. Recordset rst. CursorLocation = adUseClient rst. CursorType = adOpenDynamic rst. LockType = adLockOptimistic rst. Open “select * from tbl_registration”, ConnectDB Set GuestReport. DataSource = rst. DataSource GuestReport. ReportWidth = 6000 GuestReport. Show End Sub
Private Sub cmdPrintLogs_Click() Set rst = New ADODB. Recordset rst. CursorLocation = adUseClient rst. CursorType = adOpenDynamic rst. LockType = adLockOptimistic rst. Open “select * from tbl_logs where FullName = ‘” & txtPay. Text & “‘”, ConnectDB If rst. EOF = False Then Set GuestLogs. DataSource = rst. DataSource GuestLogs. ReportWidth = 5000 GuestLogs. Show End If End Sub Private Sub Command1_Click() Unload Me Load MainFrame End Sub Private Sub Form_Load() txtPay. Text = “” Set rsViewInventory = New ADODB. Recordset rsViewInventory. CursorLocation = adUseClient rsViewInventory. CursorType = adOpenDynamic rsViewInventory. LockType = adLockOptimistic rsViewInventory.
Open “SELECT * FROM tbl_registration ORDER BY RoomNumber ASC”, ConnectDB Set dgGuestInventory. DataSource = rsViewInventory frmInventory. dgGuestInventory. Columns(0). Visible = False frmInventory. dgGuestInventory. Columns(2). Visible = False frmInventory. dgGuestInventory. Columns(5). Visible = False frmInventory. dgGuestInventory. Columns(7). Visible = False frmInventory. dgGuestInventory. Columns(8). Visible = False frmInventory. dgGuestInventory. Columns(1). Width = 2200 frmInventory. dgGuestInventory. Columns(3). Width = 1900 frmInventory. dgGuestInventory. Columns(4). Width = 1600 frmInventory. dgGuestInventory. Columns(6). Width = 1200 If rsViewInventory.
EOF = False Then With rsViewInventory rsViewInventory. MoveFirst While rsViewInventory. EOF = False If rsViewInventory. EOF = False Then txtBayadHolder. Text = rsViewInventory! ToPay txtBayadUtang. Text = Val(txtBayadUtang. Text) + Val(txtBayadHolder. Text) ‘rsViewInventory! ToPay rsViewInventory. MoveNext End If Wend End With Dim rsUpdateNah As New ADODB. Recordset rsUpdateNah. CursorLocation = adUseClient rsUpdateNah. CursorType = adOpenDynamic rsUpdateNah. LockType = adLockOptimistic rsUpdateNah. Open “SELECT * FROM tbl_inventory”, ConnectDB If txtBayadUtang. Text = rsUpdateNah! Total Then txtBayadUtang.
Text = “Php ” & FormatNumber(rsUpdateNah! Total) Else Dim rsUpdateNahh As New ADODB. Recordset rsUpdateNahh. CursorLocation = adUseClient rsUpdateNahh. CursorType = adOpenDynamic rsUpdateNahh. LockType = adLockOptimistic rsUpdateNahh. Open “SELECT * FROM tbl_inventory”, ConnectDB rsUpdateNahh! Total = txtBayadUtang. Text rsUpdateNahh. Update rsUpdateNahh. Close txtBayadUtang. Text = “Php ” & FormatNumber(txtBayadUtang. Text) End If End If Call query_list End Sub Private Sub txtPay_Change() If txtPay. Text “” Then cmdPayDue. Enabled = True cmdPrintLogs. Enabled = True End If End Sub Public Function query_list() Dim rsViewUnpaid As New ADODB. Recordset rsViewUnpaid.
CursorLocation = adUseClient rsViewUnpaid. CursorType = adOpenDynamic rsViewUnpaid. LockType = adLockOptimistic rsViewUnpaid. Open “SELECT * FROM tbl_registration”, ConnectDB If rsViewUnpaid. EOF = False Then With rsViewUnpaid List_Unpaid. AddItem “Name’s” & vbTab & vbTab & vbTab & “To Pay” List_Unpaid. AddItem “” rsViewUnpaid. MoveFirst While rsViewUnpaid. EOF = False If rsViewUnpaid! ToPay = 0 Then txtBayadHolder. Text = rsViewUnpaid! FirstName & ” ” & rsViewUnpaid! LastName & vbTab & vbTab & “Php ” & FormatNumber(rsViewUnpaid! Payment) List_Unpaid. AddItem txtBayadHolder. Text rsViewUnpaid. MoveNext Else: rsViewUnpaid.
MoveNext End If Wend End With End If End Function “frmLogin” Private Declare Function sndPlaySound Lib “winmm. dll” Alias “sndPlaySoundA” _ (ByVal lpszSoundName As String, ByVal uFlags As Long) As Long Const SND_SYNC = &H0 Const SND_NODEFAULT = &H2 Private Function ConnectDB() As String ConnectDB = “DRIVER={MySQL ODBC 5. 1 Driver}; SERVER = localhost; DATABASE = db_AMASS; USER = root; PASSWORD = ”;” End Function Private Sub cmdCancel_Click() Unload Me frmStandbyMode. Enabled = True frmStandbyMode. Show End Sub Private Sub Form_Load() frmStandbyMode. Enabled = False End Sub Private Sub cmdOK_Click() Set recordSetAccount = New ADODB. Recordset ecordSetAccount. CursorLocation = adUseClient recordSetAccount. CursorType = adOpenDynamic recordSetAccount. LockType = adLockOptimistic recordSetAccount. Open “tbl_account”, ConnectDB If (frmLogin. txtUserName. Text = “” And frmLogin. txtPassword. Text = “”) Then Unload frmLogin Unload frmStandbyMode MainFrame. mnuSearchGuest. Enabled = False MainFrame. mnuAddGuest. Enabled = False MainFrame. Show ElseIf recordSetAccount. EOF = False Then If frmLogin. txtPassword. Text = “” Then soundfile$ = “C:Program FilesTitaniumTimekeepersoundsaccess_denied. wav” wFlags% = SND_ASYNC Or SND_NODEFAULT sound = sndPlaySound(soundfile$, wFlags%)
MsgBox “Please input your password. Try again! “, , “Login” frmLogin. txtPassword. SetFocus ElseIf Not frmLogin. txtPassword. Text = recordSetAccount! Password Then soundfile$ = “C:Program FilesTitaniumTimekeepersoundsaccess_denied. wav” wFlags% = SND_ASYNC Or SND_NODEFAULT sound = sndPlaySound(soundfile$, wFlags%) MsgBox “Incorrect password. Try again! “, , “Login” frmLogin. txtPassword. SetFocus frmLogin. txtPassword. SelStart = 0 frmLogin. txtPassword. SelLength = Len(frmLogin. txtPassword. Text) ElseIf (frmLogin. txtUserName. Text = recordSetAccount! UserName And frmLogin. txtPassword. Text = recordSetAccount!
Password) Then Unload frmLogin Unload frmStandbyMode MainFrame. Show End If Else soundfile$ = “C:Program FilesTitaniumTimekeepersoundsaccess_denied. wav” wFlags% = SND_ASYNC Or SND_NODEFAULT sound = sndPlaySound(soundfile$, wFlags%) MsgBox “Not a valid account. Try again! “, , “Login” frmLogin. txtUserName. SetFocus frmLogin. txtUserName. SelStart = 0 frmLogin. txtUserName. SelLength = Len(frmLogin. txtUserName. Text) End If End Sub “frmStanbyMode” Private Sub mnuExit_Click() If MsgBox(“Are you sure you want to exit program? “, vbYesNo + vbInformation, “Apartment Monitoring and Security System”) = vbYes Then Timer1. Enabled = True End If
End Sub Private Sub mnuLogin_Click() frmLogin. Show End Sub Private Sub Timer1_Timer() Label1. Visible = True ProgressBar1. Visible = True If ProgressBar1. Value >= ProgressBar1. Max Then End End If ProgressBar1. Value = ProgressBar1. Value + 1 End Sub “MainFrame” Dim Templ As DPFPTemplate Private Function ConnectDB() As String ConnectDB = “DRIVER={MySQL ODBC 5. 1 Driver}; SERVER = localhost; DATABASE = db_AMASS; USER = root; PASSWORD = ”;” End Function Private Sub cboRoomChoice_Click() If cboRoomChoice. Text = “Economy” Then txtIdHolder. Text = 1500 ElseIf cboRoomChoice. Text = “Standard” Then txtIdHolder. Text = 2000 ElseIf cboRoomChoice.
Text = “Family” Then txtIdHolder. Text = 2500 End If End Sub Private Sub cboRoomNumberDel_Click() dgGuestDelete. Visible = True Set recordSetDelete = New ADODB. Recordset recordSetDelete. CursorLocation = adUseClient recordSetDelete. CursorType = adOpenDynamic recordSetDelete. LockType = adLockOptimistic recordSetDelete. Open “SELECT * FROM tbl_registration WHERE RoomNumber = ‘” & cboRoomNumberDel. Text & “‘”, ConnectDB Set dgGuestDelete. DataSource = recordSetDelete MainFrame. dgGuestDelete. Columns(0). Visible = False MainFrame. dgGuestDelete. Columns(2). Visible = False MainFrame. dgGuestDelete. Columns(7). Visible = False MainFrame. dgGuestDelete.
Columns(8). Visible = False MainFrame. dgGuestDelete. Columns(1). Width = 2200 MainFrame. dgGuestDelete. Columns(3). Width = 1800 MainFrame. dgGuestDelete. Columns(4). Width = 1800 MainFrame. dgGuestDelete. Columns(6). Width = 1600 MainFrame. dgGuestDelete. Columns(8). Width = 3200 If recordSetDelete. EOF True Then img_box_del. Visible = True img_box_del. Picture = LoadPicture(recordSetDelete! Picture) cmdDeletee. Visible = True cmdEditt. Visible = True cmdOpenSesame. Visible = True Else MsgBox “This room has no guest yet. “, vbInformation, “Apartment Monitoring and Security System” img_box_del. Visible = False cmdOpenSesame.
Visible = False End If If recordSetDelete. EOF True Then MainFrame. txtIdHolder. Text = recordSetDelete! RoomNumber End If End Sub Private Sub cmdBrowse_Click() CommonDialog1. ShowOpen txtFilePathPic. Text = CommonDialog1. FileName imgbox. Picture = LoadPicture(txtFilePathPic. Text) imgbox. Visible = True End Sub Private Sub cmdClear_Click() Call Clear End Sub Private Sub cmdDeletee_Click() Set rsDelete = New ADODB. Recordset rsDelete. CursorLocation = adUseClient rsDelete. CursorType = adOpenDynamic rsDelete. LockType = adLockOptimistic rsDelete. Open “SELECT * FROM tbl_registration WHERE FullName = ‘” & MainFrame. txtSearch. Text & “‘”, ConnectDB
If MsgBox(“Are you sure you want to delete this Guest?. “, vbYesNo + vbInformation, “Delete Verification”) = vbYes Then rsDelete. Delete MsgBox “Guest has been successfully deleted. “, vbInformation, “Apartment Monitoring and Security System” Set dgGuestDelete. DataSource = Nothing Call Clear End If End Sub Private Sub cmdEditt_Click() Call Clear frameSearchGuest. Visible = False frameRegisterGuest. Visible = True frameRegisterGuest. Caption = “Edit here… ” save. Visible = False Dim rsEditGuestt As New ADODB. Recordset rsEditGuestt. CursorLocation = adUseClient rsEditGuestt. CursorType = adOpenDynamic rsEditGuestt. LockType = adLockOptimistic rsEditGuestt.
Open “SELECT * FROM tbl_registration WHERE FullName = ‘” & MainFrame. txtSearch. Text & “‘”, ConnectDB txtFirstName. Text = rsEditGuestt! FirstName txtLastName. Text = rsEditGuestt! LastName cboGender. Text = rsEditGuestt! Gender cboRoomChoice. Text = rsEditGuestt! RoomChoice cboRoomNumber. Text = rsEditGuestt! RoomNumber txtFilePathPic. Text = rsEditGuestt! Picture cmdUpdateNah. Visible = True End Sub Private Sub cmdOpenSesame_Click() Set rsOpen = New ADODB. Recordset rsOpen. CursorLocation = adUseClient rsOpen. CursorType = adOpenDynamic rsOpen. LockType = adLockOptimistic rsOpen. Open “SELECT * FROM tbl_registration WHERE RoomNumber = ‘” & MainFrame. txtIdHolder. Text & “‘”, ConnectDB ritePort rsOpen! RoomNumber End Sub Private Sub cmdUpdateNah_Click() Dim rsUpdateNah As New ADODB. Recordset rsUpdateNah. CursorLocation = adUseClient rsUpdateNah. CursorType = adOpenDynamic rsUpdateNah. LockType = adLockOptimistic rsUpdateNah. Open “tbl_registration WHERE FullName = ‘” & MainFrame. txtSearch. Text & “‘”, ConnectDB If MsgBox(“Are you sure you want to update this Guest?. “, vbYesNo + vbInformation, “Update Verification”) = vbYes Then rsUpdateNah! templates = Templ. Serialize rsUpdateNah! FirstName = txtFirstName. Text rsUpdateNah! LastName = txtLastName. Text rsUpdateNah! Fullname = txtFirstName. Text & ” ” & txtLastName.
Text rsUpdateNah! Gender = cboGender. Text rsUpdateNah! RoomChoice = cboRoomChoice. Text rsUpdateNah! RoomNumber = cboRoomNumber. Text rsUpdateNah! Picture = txtFilePathPic. Text rsUpdateNah! CompleteDateStarted = Format(cboMonthStarted. Text & “/” & cboDateStarted & “/” & cboYearStarted. Text, “mm/dd/yyyy”) rsUpdateNah! CompleteDueDate = Format(cboDueMonth. Text & “/” & cboDueDate. Text & “/” & cboDueYear. Text, “mm/dd/yyyy”) rsUpdateNah. Update rsUpdateNah. Close MsgBox “Guest has successfully Updated. “, vbOnly, “Apartment Monitoring and Security System” Call Clear End If End Sub Private Sub cmeExitAdd_Click() frameRegisterGuest.
Visible = False End Sub Private Sub Command2_Click() Dim rsguestview As New ADODB. Recordset If mskDateStarted. Text “” Then Set rsguestview = New ADODB. Recordset rsguestview. CursorLocation = adUseClient rsguestview. LockType = adLockOptimistic rsguestview. CursorType = adOpenDynamic rsguestview. Open “Select * from tbl_logs where Date= ‘” & mskDateStarted & “‘”, ConnectDB Set DataGrid1. DataSource = rsguestview MainFrame. DataGrid1. Columns(0). Width = 2200 Set rsguestview = Nothing End If End Sub Private Sub Enroll_Click() Enrollment. Show vbModal, Me End Sub Public Function GetTemplate() As Object ‘ Template can be empty. If so, then returns Nothing.
If Templ Is Nothing Then Else: Set GetTemplate = Templ End If End Function Public Sub SetTemplete(ByVal Template As Object) Set Templ = Template End Sub Private Sub Form_Load() Call Clear Call View Dim blob() As Byte Dim rs As New ADODB. Recordset rs. CursorLocation = adUseClient rs. CursorType = adOpenDynamic rs. LockType = adLockOptimistic rs. Open “Select * from tbl_registration”, ConnectDB blob = rs! templates ‘set raw image from MySQL database If Templ Is Nothing Then ‘convert raw image to picture Set Templ = New DPFPTemplate Templ. Deserialize blob End If End Sub
Private Sub mnuAddGuest_Click() Call Clear flag = 1 save. Visible = True frameRegisterGuest. Caption = “Register here… ” frameRegisterGuest. Visible = True frameSearchGuest. Visible = False frameViewGuest. Visible = False cmdUpdateNah. Visible = False End Sub Private Sub mnuChangeUser_Click() If MsgBox(“Are you sure you want to logout and change user? “, vbYesNo + vbInformation, “Apartment Monitoring and Security System”) = vbYes Then Unload Me frmStandbyMode. Show frmLogin. Show End If End Sub Private Sub mnuEditGuest_Click() frameEditGuest. Show End Sub Private Sub mnuInventory_Click() frmInventory. Show End Sub Private Sub mnuLogout_Click()
If MsgBox(“Are you sure you want to exit program? “, vbYesNo + vbInformation, “Apartment Monitoring and Security System”) = vbYes Then closePort Unload Me frmStandbyMode. Show End If End Sub Private Sub mnuSearchGuest_Click() frameSearchGuest. Visible = True frameRegisterGuest. Visible = False frameViewGuest. Visible = False txtSearch. Text = “” cboRoomNumberDel. Text = “” cmdEditt. Visible = False cmdDeletee. Visible = False cmdOpenSesame. Visible = False img_box_del. Visible = False dgGuestDelete. Visible = False End Sub Private Sub mnuViewGuest_Click() Call View End Sub Private Sub ReadTemplate_Click() Dim blob() As Byte CommonDialog1.
Filter = “Fingerprint Template File|*. fpt” ‘ Set dialog box so an error occurs if dialog box is cancelled. CommonDialog1. CancelError = True On Error Resume Next ‘ Show Open dialog box. CommonDialog1. ShowOpen If Err Then ‘ This code runs if dialog box was cancelled. Exit Sub End If ‘ Read binary data from file. Open CommonDialog1. FileName For Binary As #1 ReDim blob(LOF(1)) Get #1, , blob() Close #1 ‘ Template can be empty, it must be created first. If Templ Is Nothing Then Set Templ = New DPFPTemplate ‘ Import binary data to template. Templ. Deserialize blob End Sub Private Sub save_Click() Dim rsAddGuest As New ADODB. Recordset rsAddGuest.
CursorLocation = adUseClient rsAddGuest. CursorType = adOpenDynamic rsAddGuest. LockType = adLockOptimistic rsAddGuest. Open “tbl_registration”, ConnectDB If txtFirstName. Text = “” Or txtLastName. Text = “” Or cboGender. Text = “” Or cboRoomChoice. Text = “” Or cboRoomNumber. Text = “” Or txtFilePathPic. Text = “” Or cboMonthStarted. Text = “” Or cboDateStarted. Text = “” Or cboYearStarted. Text = “” Or cboDueMonth. Text = “” Or cboDueDate. Text = “” Or cboDueYear. Text = “” Then MsgBox “Missing Fields. “, vbCritical + vbInformation, “Apartment Monitoring and Security System” Else If MsgBox(“Are you sure you want to add this Guest?. , vbYesNo + vbInformation, “Delete Verification”) = vbYes Then rsAddGuest. AddNew rsAddGuest! templates = Templ. Serialize rsAddGuest! FirstName = txtFirstName. Text rsAddGuest! LastName = txtLastName. Text rsAddGuest! Fullname = txtFirstName. Text & ” ” & txtLastName. Text rsAddGuest! Gender = cboGender. Text rsAddGuest! RoomChoice = cboRoomChoice. Text rsAddGuest! RoomNumber = cboRoomNumber. Text rsAddGuest! Picture = txtFilePathPic. Text rsAddGuest! CompleteDateStarted = Format(cboMonthStarted. Text & “/” & cboDateStarted. Text & “/” & cboYearStarted. Text, “mm/dd/yyyy”) rsAddGuest! CompleteDueDate = Format(cboDueMonth. Text & “/” & cboDueDate. Text & “/” & cboDueYear.
Text, “mm/dd/yyyy”) rsAddGuest! Payment = txtIdHolder. Text rsAddGuest. Update rsAddGuest. Close Call Clear MsgBox “Guest has successfully Added. “, vbOnly, “Apartment Monitoring and Security System” End If End If End Sub Private Sub SaveTemplate_Click() Dim blob() As Byte ‘ First verify that template is not empty. If Templ Is Nothing Then MsgBox “You must create a fingerprint template before you can save it. ” Exit Sub End If CommonDialog1. Filter = “Fingerprint Template File|*. fpt” ‘ Set dialog box so an error occurs if dialog box is cancelled. CommonDialog1. CancelError = True On Error Resume Next ‘ Show Save As dialog box. CommonDialog1. ShowSave
If Err Then ‘ This code runs if the dialog box was cancelled. Exit Sub End If ‘ Export template to binary data. blob = Templ. Serialize ‘ Save binary data to file. Open CommonDialog1. FileName For Binary As #1 Put #1, , blob Close #1 End Sub Private Sub Timer1_Timer() lblDate. Caption = Format(Date, “Long Date”) lblTime. Caption = Format(Time, “Long Time”) End Sub Private Sub Verify_Click() ‘ First verify that template is not empty. If Templ Is Nothing Then MsgBox “You must create fingerprint template before you can perform verification. ” Exit Sub End If ‘ Show Fingerprint Verification dialog box. Verification. Show vbModal, Me End Sub
Public Function Clear() txtFirstName. Text = “” txtLastName. Text = “” txtFilePathPic. Text = “” cboGender. Text = “” cboRoomChoice. Text = “” cboRoomNumber. Text = “” cboMonthStarted. Text = “” cboDateStarted. Text = “” cboYearStarted. Text = “” cboDueMonth. Text = “” cboDueDate. Text = “” cboDueYear. Text = “” cboRoomNumberDel. Text = “” imgbox. Visible = False img_box_del. Visible = False frameRegisterGuest. Visible = False frameSearchGuest. Visible = False End Function Public Function View() frameRegisterGuest. Visible = False frameSearchGuest. Visible = False frameViewGuest. Visible = True Set rsViewGuest = New ADODB. Recordset rsViewGuest.
CursorLocation = adUseClient rsViewGuest. CursorType = adOpenDynamic rsViewGuest. LockType = adLockOptimistic rsViewGuest. Open “SELECT * FROM tbl_registration ORDER BY RoomNumber ASC”, ConnectDB Set dgGuestView. DataSource = rsViewGuest MainFrame. dgGuestView. Columns(0). Visible = False MainFrame. dgGuestView. Columns(2). Visible = False MainFrame. dgGuestView. Columns(5). Visible = False MainFrame. dgGuestView. Columns(7). Visible = False MainFrame. dgGuestView. Columns(8). Visible = False MainFrame. dgGuestView. Columns(1). Width = 2200 MainFrame. dgGuestView. Columns(3). Width = 1900 MainFrame. dgGuestView. Columns(4). Width = 1600 MainFrame. dgGuestView.
Columns(6). Width = 1200 Set rsViewGuest = Nothing End Function “Verification” Dim Templ As DPFPTemplate Private Function ConnectDB() As String ConnectDB = “DRIVER={MySQL ODBC 5. 1 Driver}; SERVER = localhost; DATABASE = db_AMASS; USER = root; PASSWORD = ”;” End Function Private Sub cboRoomChoice_Click() If cboRoomChoice. Text = “Economy” Then txtIdHolder. Text = 1500 ElseIf cboRoomChoice. Text = “Standard” Then txtIdHolder. Text = 2000 ElseIf cboRoomChoice. Text = “Family” Then txtIdHolder. Text = 2500 End If End Sub Private Sub cboRoomNumberDel_Click() dgGuestDelete. Visible = True Set recordSetDelete = New ADODB. Recordset recordSetDelete.
CursorLocation = adUseClient recordSetDelete. CursorType = adOpenDynamic recordSetDelete. LockType = adLockOptimistic recordSetDelete. Open “SELECT * FROM tbl_registration WHERE RoomNumber = ‘” & cboRoomNumberDel. Text & “‘”, ConnectDB Set dgGuestDelete. DataSource = recordSetDelete MainFrame. dgGuestDelete. Columns(0). Visible = False MainFrame. dgGuestDelete. Columns(2). Visible = False MainFrame. dgGuestDelete. Columns(7). Visible = False MainFrame. dgGuestDelete. Columns(8). Visible = False MainFrame. dgGuestDelete. Columns(1). Width = 2200 MainFrame. dgGuestDelete. Columns(3). Width = 1800 MainFrame. dgGuestDelete. Columns(4). Width = 1800
MainFrame. dgGuestDelete. Columns(6). Width = 1600 MainFrame. dgGuestDelete. Columns(8). Width = 3200 If recordSetDelete. EOF True Then img_box_del. Visible = True img_box_del. Picture = LoadPicture(recordSetDelete! Picture) cmdDeletee. Visible = True cmdEditt. Visible = True cmdOpenSesame. Visible = True Else MsgBox “This room has no guest yet. “, vbInformation, “Apartment Monitoring and Security System” img_box_del. Visible = False cmdOpenSesame. Visible = False End If If recordSetDelete. EOF True Then MainFrame. txtIdHolder. Text = recordSetDelete! RoomNumber End If End Sub Private Sub cmdBrowse_Click() CommonDialog1. ShowOpen xtFilePathPic. Text = CommonDialog1. FileName imgbox. Picture = LoadPicture(txtFilePathPic. Text) imgbox. Visible = True End Sub Private Sub cmdClear_Click() Call Clear End Sub Private Sub cmdDeletee_Click() Set rsDelete = New ADODB. Recordset rsDelete. CursorLocation = adUseClient rsDelete. CursorType = adOpenDynamic rsDelete. LockType = adLockOptimistic rsDelete. Open “SELECT * FROM tbl_registration WHERE FullName = ‘” & MainFrame. txtSearch. Text & “‘”, ConnectDB If MsgBox(“Are you sure you want to delete this Guest?. “, vbYesNo + vbInformation, “Delete Verification”) = vbYes Then rsDelete. Delete MsgBox “Guest has been successfully deleted. , vbInformation, “Apartment Monitoring and Security System” Set dgGuestDelete. DataSource = Nothing Call Clear End If End Sub Private Sub cmdEditt_Click() Call Clear frameSearchGuest. Visible = False frameRegisterGuest. Visible = True frameRegisterGuest. Caption = “Edit here… ” save. Visible = False Dim rsEditGuestt As New ADODB. Recordset rsEditGuestt. CursorLocation = adUseClient rsEditGuestt. CursorType = adOpenDynamic rsEditGuestt. LockType = adLockOptimistic rsEditGuestt. Open “SELECT * FROM tbl_registration WHERE FullName = ‘” & MainFrame. txtSearch. Text & “‘”, ConnectDB txtFirstName. Text = rsEditGuestt! FirstName txtLastName. Text = rsEditGuestt! LastName cboGender.
Text = rsEditGuestt! Gender cboRoomChoice. Text = rsEditGuestt! RoomChoice cboRoomNumber. Text = rsEditGuestt! RoomNumber txtFilePathPic. Text = rsEditGuestt! Picture cmdUpdateNah. Visible = True End Sub Private Sub cmdOpenSesame_Click() Set rsOpen = New ADODB. Recordset rsOpen. CursorLocation = adUseClient rsOpen. CursorType = adOpenDynamic rsOpen. LockType = adLockOptimistic rsOpen. Open “SELECT * FROM tbl_registration WHERE RoomNumber = ‘” & MainFrame. txtIdHolder. Text & “‘”, ConnectDB writePort rsOpen! RoomNumber End Sub Private Sub cmdUpdateNah_Click() Dim rsUpdateNah As New ADODB. Recordset rsUpdateNah. CursorLocation = adUseClient rsUpdateNah.
CursorType = adOpenDynamic rsUpdateNah. LockType = adLockOptimistic rsUpdateNah. Open “tbl_registration WHERE FullName = ‘” & MainFrame. txtSearch. Text & “‘”, ConnectDB If MsgBox(“Are you sure you want to update this Guest?. “, vbYesNo + vbInformation, “Update Verification”) = vbYes Then rsUpdateNah! templates = Templ. Serialize rsUpdateNah! FirstName = txtFirstName. Text rsUpdateNah! LastName = txtLastName. Text rsUpdateNah! Fullname = txtFirstName. Text & ” ” & txtLastName. Text rsUpdateNah! Gender = cboGender. Text rsUpdateNah! RoomChoice = cboRoomChoice. Text rsUpdateNah! RoomNumber = cboRoomNumber. Text rsUpdateNah! Picture = txtFilePathPic. Text sUpdateNah! CompleteDateStarted = Format(cboMonthStarted. Text & “/” & cboDateStarted & “/” & cboYearStarted. Text, “mm/dd/yyyy”) rsUpdateNah! CompleteDueDate = Format(cboDueMonth. Text & “/” & cboDueDate. Text & “/” & cboDueYear. Text, “mm/dd/yyyy”) rsUpdateNah. Update rsUpdateNah. Close MsgBox “Guest has successfully Updated. “, vbOnly, “Apartment Monitoring and Security System” Call Clear End If End Sub Private Sub cmeExitAdd_Click() frameRegisterGuest. Visible = False End Sub Private Sub Command2_Click() Dim rsguestview As New ADODB. Recordset If mskDateStarted. Text “” Then Set rsguestview = New ADODB. Recordset sguestview. CursorLocation = adUseClient rsguestview. LockType = adLockOptimistic rsguestview. CursorType = adOpenDynamic rsguestview. Open “Select * from tbl_logs where Date= ‘” & mskDateStarted & “‘”, ConnectDB Set DataGrid1. DataSource = rsguestview MainFrame. DataGrid1. Columns(0). Width = 2200 Set rsguestview = Nothing End If End Sub Private Sub Enroll_Click() Enrollment. Show vbModal, Me End Sub Public Function GetTemplate() As Object ‘ Template can be empty. If so, then returns Nothing. If Templ Is Nothing Then Else: Set GetTemplate = Templ End If End Function Public Sub SetTemplete(ByVal Template As Object) Set Templ = Template End Sub
Private Sub Form_Load() Call Clear Call View Dim blob() As Byte Dim rs As New ADODB. Recordset rs. CursorLocation = adUseClient rs. CursorType = adOpenDynamic rs. LockType = adLockOptimistic rs. Open “Select * from tbl_registration”, ConnectDB blob = rs! templates ‘set raw image from MySQL database If Templ Is Nothing Then ‘convert raw image to picture Set Templ = New DPFPTemplate Templ. Deserialize blob End If End Sub Private Sub mnuAddGuest_Click() Call Clear flag = 1 save. Visible = True frameRegisterGuest. Caption = “Register here… ” frameRegisterGuest. Visible = True rameSearchGuest. Visible = False frameViewGuest. Visible = False cmdUpdateNah. Visible = False End Sub Private Sub mnuChangeUser_Click() If MsgBox(“Are you sure you want to logout and change user? “, vbYesNo + vbInformation, “Apartment Monitoring and Security System”) = vbYes Then Unload Me frmStandbyMode. Show frmLogin. Show End If End Sub Private Sub mnuEditGuest_Click() frameEditGuest. Show End Sub Private Sub mnuInventory_Click() frmInventory. Show End Sub Private Sub mnuLogout_Click() If MsgBox(“Are you sure you want to exit program? “, vbYesNo + vbInformation, “Apartment Monitoring and Security System”) = vbYes Then closePort Unload Me rmStandbyMode. Show End If End Sub Private Sub mnuSearchGuest_Click() frameSearchGuest. Visible = True frameRegisterGuest. Visible = False frameViewGuest. Visible = False txtSearch. Text = “” cboRoomNumberDel. Text = “” cmdEditt. Visible = False cmdDeletee. Visible = False cmdOpenSesame. Visible = False img_box_del. Visible = False dgGuestDelete. Visible = False End Sub Private Sub mnuViewGuest_Click() Call View End Sub Private Sub ReadTemplate_Click() Dim blob() As Byte CommonDialog1. Filter = “Fingerprint Template File|*. fpt” ‘ Set dialog box so an error occurs if dialog box is cancelled. CommonDialog1. CancelError = True On Error Resume Next Show Open dialog box. CommonDialog1. ShowOpen If Err Then ‘ This code runs if dialog box was cancelled. Exit Sub End If ‘ Read binary data from file. Open CommonDialog1. FileName For Binary As #1 ReDim blob(LOF(1)) Get #1, , blob() Close #1 ‘ Template can be empty, it must be created first. If Templ Is Nothing Then Set Templ = New DPFPTemplate ‘ Import binary data to template. Templ. Deserialize blob End Sub Private Sub save_Click() Dim rsAddGuest As New ADODB. Recordset rsAddGuest. CursorLocation = adUseClient rsAddGuest. CursorType = adOpenDynamic rsAddGuest. LockType = adLockOptimistic rsAddGuest. Open “tbl_registration”, ConnectDB If txtFirstName.
Text = “” Or txtLastName. Text = “” Or cboGender. Text = “” Or cboRoomChoice. Text = “” Or cboRoomNumber. Text = “” Or txtFilePathPic. Text = “” Or cboMonthStarted. Text = “” Or cboDateStarted. Text = “” Or cboYearStarted. Text = “” Or cboDueMonth. Text = “” Or cboDueDate. Text = “” Or cboDueYear. Text = “” Then MsgBox “Missing Fields. “, vbCritical + vbInformation, “Apartment Monitoring and Security System” Else If MsgBox(“Are you sure you want to add this Guest?. “, vbYesNo + vbInformation, “Delete Verification”) = vbYes Then rsAddGuest. AddNew rsAddGuest! templates = Templ. Serialize rsAddGuest! FirstName = txtFirstName. Text
You have to be 100% sure of the quality of your product to give a money-back guarantee. This describes us perfectly. Make sure that this guarantee is totally transparent.
Read moreEach paper is composed from scratch, according to your instructions. It is then checked by our plagiarism-detection software. There is no gap where plagiarism could squeeze in.
Read moreThanks to our free revisions, there is no way for you to be unsatisfied. We will work on your paper until you are completely happy with the result.
Read moreYour email is safe, as we store it according to international data protection rules. Your bank details are secure, as we use only reliable payment systems.
Read moreBy sending us your money, you buy the service we provide. Check out our terms and conditions if you prefer business talks to be laid out in official language.
Read more