Implement this following features and restrictions to Test Case #1 (your existing program):
1. Strictly impose proper logging-in and out. The computation of total hours worked should follow the work schedule 8:00 to 12:00 in the morning and 1:00 to 5:00 in the afternoon.
For example:
If the employee came early in the morning, let us say 7:30 AM. The system should still consider this as 8:00 AM. Likewise, if the employee logged-out in the morning at 12:15 PM the system will still consider this as 12:00 PM. Similarly, if the employee logs-in in the afternoon at 12:50 PM it will still be considered as 1:00 PM.
2. Include computation for overtime hours
Formulas:
Regular Hour Rate = Daily Rate / 8
Overtime Hour Rate = Regular Hour Rate + 2%
Note: Overtime hours starts from 5:01 PM to 12:00 AM
3. Modify Gross Pay Screen
Example:
...
Total Regular Hours Worked: 40.0
Total Overtime Hours: 5.0
Hourly Rate: 68.75
Overtime Rate: 70.125
Gross Pay: 3100.625
Thursday, October 6, 2016
Thursday, September 29, 2016
HOW TO IMPLEMENT A LOGIN FORM IN VB6
Before anything else, I will assume that you have previous
knowledge with regards to constructing basic SQL commands using MS Access. This
tutorial will demonstrate how to create a login form in Visual Basic 6.0 using
MS Access as database engine.
To get us started, we need to create a new table to our
database. Name it ‘Users’, with the following structure:
FIELD NAME
|
DATA
TYPE
|
ATTRIBUTES
|
ID
|
AutoNumber
|
|
Username
|
Text
|
Field Size: 15
|
Password
|
Text
|
Field Size: 255 | Input Mask:*
|
The structure is pretty straight forward. The ID field is
Auto Incremented and will serve as the Primary Key. The Username is of type
Text with the length of 15 characters long. Finally, the Password field 255 in
length.
It is time to populate the table. We are going to start with
two users only for this tutorial. Insert the following records:
ID
|
Username
|
Password
|
1
|
alex
|
Kulot01@
|
2
|
john
|
Whitewolf69
|
Now our table is ready. We only have two authorized login
credentials which of Alex and John with their corresponding password.
Next, we will design our login form in VB6 IDE. Create a
form with similar objects in it as shown below:
Form Layout
Control
|
Property
|
Value
|
Form
|
Name
Caption
BorderStyle
Height
Width
|
Form1
Login
1 – Fixed Single
3135
4845
|
Label1
|
Caption
|
User:
|
Label2
|
Caption
|
Password:
|
Text1
|
Name
Text
|
txtUser
|
Text2
|
Name
Text
PasswordChar
|
txtPassword
*
|
Command1
|
Name
Caption
|
cmdCancel
Cancel
|
Command2
|
Name
Caption
|
cmdLogin
Login
|
Controls, Properties
and Values Matrix
Source Code
Form1.frm
Option
Explicit
Private Sub
cmdCancel_Click()
Unload Me
End Sub
Private Sub
cmdLogin_Click()
Dim rs As New Recordset
Dim user As String
Dim password As String
Dim sql As String
user = txtUser.Text
password = txtPassword.Text
sql = "SELECT * FROM Users WHERE
Username = '" & user & "'"
Debug.Print sql
rs.Open sql, con, adOpenDynamic,
adLockOptimistic
If rs.State Then
While Not rs.EOF
If rs!password = password Then
'Load your main form because
the access has been authorized
Unload Me
Exit Sub
End If
rs.MoveNext
Wend
End If
MsgBox "Invalid Username or
Password!", vbExclamation, "Authentication"
rs.Close
Set rs = Nothing
End Sub
NOTE: Upon running the application,
the first form to load should be the Login form.
Wednesday, September 28, 2016
Test Case #1 - HINT
import java.io.BufferedReader;
import java.io.FileReader;
import java.io.IOException;
import java.util.Scanner;
public class fileinput {
public static void main(String[] args) throws IOException {
BufferedReader br = null;
String sCurrentLine;
String emp[];
Scanner input=new Scanner(System.in);
String id;
boolean flag=false;
int position;
String position_desc="";
Double daily_rate=0.0;
System.out.print("Enter Code: ");
id=input.nextLine();
br = new BufferedReader(new FileReader("C:\\Users\\home\\Documents\\employees.txt"));
while ((sCurrentLine = br.readLine()) != null) {
emp=sCurrentLine.split(",");
if ( id.equals(emp[0]) ){
position= Integer.parseInt( emp[2] );
if (position==1){
position_desc="Manager";
daily_rate=650.0;
}else if(position == 2){
position_desc="Supervisor";
daily_rate=550.0;
}else if(position == 3){
position_desc="Messenger";
daily_rate=500.0;
}
System.out.println( "Name: " + emp[1]);
System.out.println( "Position: " + position_desc);
System.out.println( "Daily Rate: " + daily_rate);
flag=true;
}
}
if (flag==false ) System.out.println("Employee not found!");
}
}
import java.io.FileReader;
import java.io.IOException;
import java.util.Scanner;
public class fileinput {
public static void main(String[] args) throws IOException {
BufferedReader br = null;
String sCurrentLine;
String emp[];
Scanner input=new Scanner(System.in);
String id;
boolean flag=false;
int position;
String position_desc="";
Double daily_rate=0.0;
System.out.print("Enter Code: ");
id=input.nextLine();
br = new BufferedReader(new FileReader("C:\\Users\\home\\Documents\\employees.txt"));
while ((sCurrentLine = br.readLine()) != null) {
emp=sCurrentLine.split(",");
if ( id.equals(emp[0]) ){
position= Integer.parseInt( emp[2] );
if (position==1){
position_desc="Manager";
daily_rate=650.0;
}else if(position == 2){
position_desc="Supervisor";
daily_rate=550.0;
}else if(position == 3){
position_desc="Messenger";
daily_rate=500.0;
}
System.out.println( "Name: " + emp[1]);
System.out.println( "Position: " + position_desc);
System.out.println( "Daily Rate: " + daily_rate);
flag=true;
}
}
if (flag==false ) System.out.println("Employee not found!");
}
}
Thursday, September 22, 2016
Processing Delimited String
public class Parse {
public static void main(String [] args) {
String arr[];
String str="E006,Herbert Colanggo,3";
arr=str.split(",");
System.out.println(arr[0]);
System.out.println(arr[1]);
}
}
How To Read A Text File in Java
import java.io.BufferedReader;
import java.io.FileReader;
import java.io.IOException;
public class fileinput {
public static void main(String[] args) throws IOException {
BufferedReader br = null;
String sCurrentLine;
br = new BufferedReader(new FileReader("C:\\Users\\home\\Documents\\Db.txt"));
while ((sCurrentLine = br.readLine()) != null) {
System.out.println(sCurrentLine);
}
}
}
Wednesday, September 21, 2016
TEST CASE 1 - Compro6
How to compute the number of hours between two given times in Java
/**
* @(#)testcase1.java
*
*
* @author : A. Dichosa
* @version 1.00 2016/9/21
*/
public class testcase1 {
public static void main(String [] args) {
String timein,timeout;
double time_interval=0;
timein="8:00";
timeout="12:00";
time_interval=GetHourInterval(timein,timeout);
System.out.println(String.format("%.2f",time_interval));
}
/*
*Description: This method computes the hour interval between two times. It takes two parametes in and out.
*/
private static double GetHourInterval(String in, String out){
String timein_arr[];
String timeout_arr[];
double in_hours=0;
double out_hours=0;
double total_hours=0;
timein_arr=in.split(":");
timeout_arr=out.split(":");
in_hours=Double.parseDouble( timein_arr[0])+ (Double.parseDouble(timein_arr[1])/60);
out_hours=Double.parseDouble( timeout_arr[0])+ (Double.parseDouble(timeout_arr[1])/60);
total_hours=out_hours-in_hours;
return total_hours;
}
}
* @(#)testcase1.java
*
*
* @author : A. Dichosa
* @version 1.00 2016/9/21
*/
public class testcase1 {
public static void main(String [] args) {
String timein,timeout;
double time_interval=0;
timein="8:00";
timeout="12:00";
time_interval=GetHourInterval(timein,timeout);
System.out.println(String.format("%.2f",time_interval));
}
/*
*Description: This method computes the hour interval between two times. It takes two parametes in and out.
*/
private static double GetHourInterval(String in, String out){
String timein_arr[];
String timeout_arr[];
double in_hours=0;
double out_hours=0;
double total_hours=0;
timein_arr=in.split(":");
timeout_arr=out.split(":");
in_hours=Double.parseDouble( timein_arr[0])+ (Double.parseDouble(timein_arr[1])/60);
out_hours=Double.parseDouble( timeout_arr[0])+ (Double.parseDouble(timeout_arr[1])/60);
total_hours=out_hours-in_hours;
return total_hours;
}
}
Thursday, September 15, 2016
A Simple CRUD using Laravel 5.2 Framework
Steps to Install the Application to a Remote Server
- Decompress and upload all files to target directory gregorytest.rar.
- Import the database gregorydata.sql
- Copy all files inside
/public
folder into the default project folder. - Remove folder
/public
. - Edit file
./index.php
, add this lineuse Illuminate\Contracts\Http\Kernel;
to the topmost line.On the same file, look for linerequire __DIR__.'/../bootstrap/autoload.php';
and replace it withrequire __DIR__."/bootstrap/autoload.php";
Also, line$app = require_once __DIR__.'/../bootstrap/app.php';
with$app = require_once __DIR__."/bootstrap/app.php";
Lastly line$kernel = $app->make(Illuminate\Contracts\Http\Kernel::class);
with$kernel = $app->make(Kernel::class);
- Edit file
/config/bootstrap.php
and locate line'url' => env('APP_URL', 'http://localhost'),
and replace it with'url' => env('APP_URL', 'http://[you_project_folder]/'),
- Finally, .env file needs editing alsoAPP_ENV=localAPP_DEBUG=trueAPP_KEY=base64:eegf6eODvThzJiyXWMp3Bh7OLUbgqOJhQ16kZcXr9qw=APP_URL=http://[project_directory]DB_CONNECTION=mysqlDB_HOST=sql6.freemysqlhosting.netDB_PORT=3306DB_DATABASE=sql6135311DB_USERNAME=sql6135311DB_PASSWORD=3te5D9vhTU
- Enjoy!
Tuesday, September 13, 2016
Java - Files and I/O
Important: Use the comment section below for questions. Use the format {your fullname}: {question}
The java.io package contains nearly every class you might ever need to perform input and output (I/O) in Java. All these streams represent an input source and an output destination. The stream in the java.io package supports many data such as primitives, Object, localized characters, etc.
Stream
InPutStream: The InputStream is used to read data from a source.
OutPutStream: the OutputStream is used for writing data to a destination.
A stream can be defined as a sequence of data. there are two kinds of Streams
Dissecting the Program
What the program does is just to copy the content of file input.txt and write it down to output.txt.
CHECK YOURSELF
What would be written to file output.txt if we run these statements individually?
The java.io package contains nearly every class you might ever need to perform input and output (I/O) in Java. All these streams represent an input source and an output destination. The stream in the java.io package supports many data such as primitives, Object, localized characters, etc.
Stream
InPutStream: The InputStream is used to read data from a source.
OutPutStream: the OutputStream is used for writing data to a destination.
A stream can be defined as a sequence of data. there are two kinds of Streams
Java provides strong but flexible support for I/O related to Files and networks but this tutorial covers very basic functionality related to streams and I/O. We would see most commonly used example one by one:
Byte Streams
Java byte streams are used to perform input and output of 8-bit bytes (for reference check the table of 8-bit characters). Though there are many classes related to byte streams but the most frequently used classes are , FileInputStream and FileOutputStream. Following is an example which makes use of these two classes to copy an input file into an output file:
Byte Streams
Java byte streams are used to perform input and output of 8-bit bytes (for reference check the table of 8-bit characters). Though there are many classes related to byte streams but the most frequently used classes are , FileInputStream and FileOutputStream. Following is an example which makes use of these two classes to copy an input file into an output file:
import java.io.*; public class CopyFile { public static void main(String args[]) throws IOException { FileInputStream in = null; FileOutputStream out = null; try { in = new FileInputStream("input.txt"); out = new FileOutputStream("output.txt"); int c; while ((c = in.read()) != -1) { out.write(c); } }finally { if (in != null) { in.close(); } if (out != null) { out.close(); } } } }Now let's have a file input.txt with the following content:
This is test for copy file.As a next step, compile above program and execute it, which will result in creating output.txt file with the same content as we have in input.txt.
Dissecting the Program
What the program does is just to copy the content of file input.txt and write it down to output.txt.
What would be written to file output.txt if we run these statements individually?
- out.write(078);
- out.write(079);
- out.write(095);
- out.write(080);
- out.write(065);
- out.write(073);
- out.write(078);
- out.write(095);
- out.write(078);
- out.write(079);
- out.write(095);
- out.write(071);
- out.write(065);
- out.write(073);
- out.write(078);
Tuesday, July 12, 2016
Solus and Gnome - COMPRO6
Lab Activity #3:
To those who did not make it in time last session's activity, you need to comply by submitting the attached source code to email adichosa@gmail.com with email subject "Act3-Late-[Your Section]-[Fullname]". This should be sent to my email not later than 12PM for Solus and 3PM for Gnome.
-------------------------------------------------
Lab Activity #4:
Problem:
Write a program to accept five integers from the keyboard and store them to array arr. Process the array and display the sum, average, min and max.
Sample Output:
Enter element 1: 3
Enter element 2: 6
Enter element 3: 2
Enter element 4: 10
Enter element 5: 31
Processing...
Sum: 56
Average: 11.2
Min: 2
Max: 31
Important: Email to adichosa@gmail.com with subject "Act4-[Your Section]-[Your name]".
Very very very ... very IMPORTANT:
I am appointing Mr. Togle of Solus and Mr. Pedrajas of Gnome to jot-down the names of those who are making loud noises during the session. Necessary deductions to Activity #4 will be imposed to those who are in the list.
To those who did not make it in time last session's activity, you need to comply by submitting the attached source code to email adichosa@gmail.com with email subject "Act3-Late-[Your Section]-[Fullname]". This should be sent to my email not later than 12PM for Solus and 3PM for Gnome.
-------------------------------------------------
Lab Activity #4:
Problem:
Write a program to accept five integers from the keyboard and store them to array arr. Process the array and display the sum, average, min and max.
Sample Output:
Enter element 1: 3
Enter element 2: 6
Enter element 3: 2
Enter element 4: 10
Enter element 5: 31
Processing...
Sum: 56
Average: 11.2
Min: 2
Max: 31
Important: Email to adichosa@gmail.com with subject "Act4-[Your Section]-[Your name]".
Very very very ... very IMPORTANT:
I am appointing Mr. Togle of Solus and Mr. Pedrajas of Gnome to jot-down the names of those who are making loud noises during the session. Necessary deductions to Activity #4 will be imposed to those who are in the list.
Friday, July 8, 2016
IDP2 - Activity #3
GUI:
Source Code:
Option Explicit
Dim StrHeight As Integer
Dim StrWidth As Integer
Dim FormHeight As Integer
Dim FormWidth As Integer
Private Sub Form_Load()
StrHeight = Label1.Height
StrWidth = Label1.Width
FormHeight = Form1.ScaleHeight
FormWidth = Form1.ScaleWidth
Timer1.Enabled = True
Timer2.Enabled = False
Timer1.Interval = 50
Timer2.Interval = 50
Call ResetStr
End Sub
Private Sub ResetStr()
Label1.Top = 0
Label1.Left = 0
End Sub
Private Sub Timer1_Timer()
If Label1.Left <= (FormWidth - StrWidth) Then
Label1.Left = Label1.Left + 100
Else
Timer1.Enabled = False
Timer2.Enabled = True
End If
End Sub
Private Sub Timer2_Timer()
If Label1.Top <= (FormHeight - StrHeight) Then
Label1.Top = Label1.Top + 50
Else
Timer2.Enabled = False
'Timer3.Enabled = True
End If
End Sub
--------------------------------------
Objective:
Append the program and add the functionality to complete the cycle of the moving label. Make sure that the label will keep on rotating until such time the user interferes and stop the program.
Tuesday, June 28, 2016
Input Stream
Activity #2
Problem 1:
Write a program to require the user to input a string. Process the string by counting the total number of vowels and consonants in the string. For additional reference, please visit http://www.tutorialspoint.com/java/java_strings.htm , http://bit.ly/28TBVbB
VALIDATION
Sample Output #1:
Enter a string: Chance favors the prepared minds.
Vowels: 9
Consonants: 19
Sample Output #2:
Enter a string: The quieter you become, the more you are able to hear!
Vowels: 22
Consonants: 20
Sample Output #3:
Enter a string: Swing your rope down low.
Vowels: 7
Consonants: 13
------------------------------------------------------------------------------------------------------
Problem 2:
Write a program to require a string input from the keyboard. Using a loop structure, read the string backwards and display the result.
Sample Output #1:
Enter a string: Government
tnemnrevoG
Sample Output #2:
Enter a string: Aliens
sneilA
Sample Output #3:
Enter a string: Absurd
drusbA
Note: Once you're done, email the source code to adichosa@gmail.com. Use as subject <SECTION>-Act2-<fullname>. Deadline is on or before 12PM for Solus and 3PM for GNOME. TODAY!!!
Sunday, May 22, 2016
FIND THE SECOND LARGEST NUMBER IN THE ARRAY
/**
* find the second largest integer in an array.
* @param ia an array of integers
* @return the second largest number in ia
*/
private static int secondLargest(int[] ia)
{
int first_largest=0;
int second_largest=0;
//find the first largest
for (int i=0; i<ia.length; i++){
if (ia[i] > first_largest)//determine first the first largest so that we can identify the second largest
first_largest=ia[i];
}
//find the second largest
for (int i=0; i<ia.length; i++){
if (ia[i] > second_largest && ia[i]<first_largest) //check if it is the second largest
second_largest=ia[i];
}
return second_largest;
} //secondLargest
* find the second largest integer in an array.
* @param ia an array of integers
* @return the second largest number in ia
*/
private static int secondLargest(int[] ia)
{
int first_largest=0;
int second_largest=0;
//find the first largest
for (int i=0; i<ia.length; i++){
if (ia[i] > first_largest)//determine first the first largest so that we can identify the second largest
first_largest=ia[i];
}
//find the second largest
for (int i=0; i<ia.length; i++){
if (ia[i] > second_largest && ia[i]<first_largest) //check if it is the second largest
second_largest=ia[i];
}
return second_largest;
} //secondLargest
Subscribe to:
Posts (Atom)