Sabtu, 28 Januari 2012

POSTINGAN JAWABAN NO.3 (NURJANNAH)


Untuk kasus lihat disini Kasus Winsock
Listing Program Server
Dim ClientIndex As Byte
Dim cRequest As Integer
Dim cData As String
Dim i As Integer
Dim iGD As Integer

Sub MulaiServer()
        WS(0).LocalPort = 3000
        WS(0).Listen
        cRequest = 1
        ClientIndex = 1
End Sub

Private Sub Form_Load()
        MulaiServer
        GD.Rows = 41
        For i = 1 To 40
            GD.Col = 0
            GD.Row = i
            GD.Text = i
        Next i
        iGD = 1
End Sub

Private Sub Timer1_Timer()
    For i = 1 To GD.Rows - 1
        GD.Row = i
        GD.Col = 4
        If GD.Text = "START" Then
            GD.Col = 3
            GD.Text = Time
        End If
    Next i
End Sub

Private Sub Timer2_Timer()
WS.SendData "PAKAI-" & Pakai.Value & "/" & 3000
End Sub

Private Sub WS_ConnectionRequest(index As Integer, ByVal requestID As Long)
        Load WS(cRequest)
        WS(cRequest).Close
        WS(cRequest).Accept requestID
        cRequest = cRequest + 1 '
Timer1.Enabled = True
Timer2.Enabled = True
End Sub

Private Sub WS_DataArrival(index As Integer, ByVal bytesTotal As Long)
        WS(index).GetData cData, vbString, bytesTotal
        Call CekData(index)
End Sub

Sub CekData(index)
        Dim kata() As String
        kata = Split(cData, "-")
        Select Case kata(0)
        Case "START"
                        GD.Row = iGD
                        GD.Col = 1
                        GD.Text = kata(1) 'WS(index).RemoteHostIP
                        GD.Col = 2
                        GD.Text = Time
                        GD.Col = 4
                        GD.Text = "START"
                        GD.Col = 5
                        GD.Text = kata(2)
                        iGD = iGD
        Case "STOP"
            For i = 1 To GD.Rows - 1
                GD.Row = i
                GD.Col = 1
                If GD.Text = kata(1) Then
                        GD.Col = 4
                        GD.Text = "STOP"
                End If
            Next i
        End Select
End Sub
      
Private Sub WS_Error(index As Integer, ByVal Number As Integer, Description As String, ByVal Scode As Long, ByVal Source As String, ByVal HelpFile As String, ByVal HelpContext As Long, CancelDisplay As Boolean)
        WS(index).Close
End Sub

Berikut Adalah Hasil Program Server  
Jika diklik Tombol Start maka muncul tampilan seperti dibawah ini :


Jika diklik Tombol Stop maka muncul tampilan seperti dibawah ini :



LISTING PROGRAM CLIENT
Dim IPS As String
Dim user As String
Dim xpakai As String
Dim xkirim As String
Dim xData1() As String
Dim xData2() As String

Private Sub Form_Load()
IPS = "192.168.11.1"
user = ws.LocalIP
ws.Connect IPS, 3000
End Sub

Private Sub start_Click()
ws.SendData "START-" & user & "-EKA_WAHYUNI"
End Sub

Private Sub stop_Click()
ws.SendData "STOP-" & user
End Sub

Private Sub Timer1_Timer()
mulai.Value = Format(Now, "HH:MM:SS")
Timer1.Enabled = True
End Sub

Private Sub Timer2_Timer()
pakai.Value = Format(Now, "HH:MM:SS")
Timer2.Enabled = True
End Sub

Private Sub WS_DataArrival(ByVal bytesTotal As Long)
ws.GetData xkirim, vbString, bytesTotal
Call CheckData
End Sub

Sub CheckData()
xData1 = Split(xkirim, "-")
xData2 = Split(xData1(1), "/")
Select Case xData1(0)
    Case "PAKAI"
    mulai.Value = xData2(0)
    selesai.Value = xData2(1)
    pakai.Value = xData2(2)
    biaya.Text = (Val(Hour(pakai.Value) * 60) + Val(Minute(pakai.Value) * 50))
    End Select
End Sub 

HASIL PROGRAM CLIENT:


Tidak ada komentar:

Posting Komentar