Senin, 04 April 2011

Javascript Jam Digital Untuk Blog

Sebelumnya saya mohon maaf, jika terdapat penulisan kode javascript yang salah ataupun jika daftar JavaSriptnya masih sangat kurang. Apa yang saya tuliskan di sini sebagian besar hasil copas dari situs lain. Saya berharap, semoga koleksi JavaScript ini berguna buat sobat-sobat semua. Silahkan copas saja koleksi JavaScript di bawah. Salam kenal sob...

Silahkan copas kode disini ke site anda



kode visual basic


Jam Analog

‘Buat Form dan 1 Timer

Option Explicit
Dim xgen, ygen, xmin, ymin, xsec, ysec, xhor, yhor As Double
Dim h, m, s As Date
‘control the minute ‘
Function mint()

If s >= 0 And s < 12 Then
Call findminangle(CDbl(m))
ElseIf s >= 12 And s < 24 Then
Call findminangle(CDbl(m) + 0.2)
ElseIf s >= 24 And s < 36 Then
Call findminangle(CDbl(m) + 0.4)
ElseIf s >= 36 And s <= 48 Then
Call findminangle(CDbl(m) + 0.6)
ElseIf s >= 48 And s <= 59 Then
Call findminangle(CDbl(m) + 0.8)
End If
xmin = xgen
ymin = ygen

Line (Form1.ScaleWidth / 2, Form1.ScaleHeight / 2)-(xmin, ymin), RGB(255, 24, 32)
End Function
‘control the second
Function secnd()
Call findminangle(CDbl(s))
xsec = xgen
ysec = ygen
Line (Form1.ScaleWidth / 2, Form1.ScaleHeight / 2)-(xsec, ysec), RGB(100, 100, 100)

End Function
‘control the hour
Function hr()

If m >= 0 And m < 12 Then
Call findminangle(CDbl(h) * 5)
ElseIf m >= 12 And m < 24 Then
Call findminangle(5 * (CDbl(h) + 0.2))
ElseIf m >= 24 And m < 36 Then
Call findminangle(5 * (CDbl(h) + 0.4))
ElseIf m >= 36 And m < 48 Then
Call findminangle(5 * (CDbl(h) + 0.6))
ElseIf m >= 48 And m <= 59 Then
Call findminangle(5 * (CDbl(h) + 0.8))
End If
xhor = xgen
yhor = ygen
If xhor >= Form1.ScaleWidth / 2 And yhor >= Form1.ScaleHeight / 2 Then

Line (Form1.ScaleWidth / 2, Form1.ScaleHeight / 2)-(xhor – 200, yhor – 200), RGB(0, 0, 255)
ElseIf xhor <= Form1.ScaleWidth / 2 And yhor >= Form1.ScaleHeight / 2 Then
Line (Form1.ScaleWidth / 2, Form1.ScaleHeight / 2)-(xhor + 200, yhor – 200), RGB(0, 0, 255)
ElseIf xhor <= Form1.ScaleWidth / 2 And yhor <= Form1.ScaleHeight / 2 Then
Line (Form1.ScaleWidth / 2, Form1.ScaleHeight / 2)-(xhor + 200, yhor + 200), RGB(0, 0, 255)
ElseIf xhor >= Form1.ScaleWidth / 2 And yhor <= Form1.ScaleHeight / 2 Then
Line (Form1.ScaleWidth / 2, Form1.ScaleHeight / 2)-(xhor – 200, yhor + 200), RGB(0, 0, 255)
End If

End Function
‘draw the clock
Function drawdig()
Dim i As Integer
Circle (Form1.ScaleWidth / 2, Form1.ScaleHeight / 2), 1411, RGB(255, 34, 34)
For i = 5 To 60
Call findminangle(CDbl(i))
Form1.CurrentX = xgen – TextWidth(i / 5) / 2
Form1.CurrentY = ygen – TextWidth(i / 5) / 2
Form1.Print i / 5
i = i + 4
Next
End Function
‘find the co-ordinate
Function findminangle(p As Double)
Dim temp As Double

temp = 60 – (p – 15)
temp = temp * 60 * 0.1
temp = (22 * temp) / (7 * 180)

xgen = (Form1.ScaleWidth / 2) + (1000 * Cos(temp))
ygen = (Form1.ScaleHeight / 2) – (1000 * Sin(temp))

End Function

Private Sub Timer1_Timer()

Form1.Cls

Call drawdig
Form1.Caption = Time()
h = Hour(Time())
m = Minute(Time())
s = Second(Time())

Call mint
Call secnd
Call hr
End Sub


Melihat Data Excell dengan VB

Private Sub Command1_Click()
Dim i As Integer
Dim j As Integer
Dim k As Integer

j = Val(Text2.Text)
k = Val(Text3.Text)

Set xlBook = GetObject(Text1.Text)

List1.Clear
For i = 1 To k
List1.AddItem xlBook.WorkSheets(1).Cells(i, j).Value
Next
End Sub

Private Sub Dir1_Change()
File1.Path = Dir1.Path
End Sub

Private Sub Drive1_Change()
Dir1.Path = Drive1.Drive
End Sub

Private Sub File1_Click()
Text1.Text = File1.Path & “\” & File1.FileName
End Sub

Private Sub Form_Load()
File1.Pattern = “*.xls”
End Sub


Melihat Code Character

Private Function ChrCode(txt As String) As String
Dim x As Long
Dim outstring As String
For x = 1 To Len(txt$)
outstring$ = outstring$ + “Chr(” + CStr(Asc(Mid(txt$, x, 1))) + “) + “
Next x
outstring$ = Trim(outstring$)
outstring$ = Mid(outstring$, 1, Len(outstring$) – 2)
ChrCode$ = outstring$
End Function
Private Sub Command1_Click()
If Text1 = “” Then Exit Sub
Text2.Text = ChrCode(Text1.Text)
End Sub

Private Sub Command2_Click()
Text1.Text = “”
End Sub

Private Sub Command3_Click()
If Text2 = “” Then Exit Sub
Clipboard.SetText Text2.Text
End Sub

Private Sub Command4_Click()
Text2.Text = “”
End Sub

Private Sub Form_Unload(Cancel As Integer)
Unload Me
End
End Sub
Posted by Administrator in 03:49:08 | Permalink | No Comments »
Friday, March 14, 2008
Belajar Input Teks di List
Private Sub cmdHapus_Click()
LstList.RemoveItem (LstList.ListIndex)

End Sub

Private Sub cmdHapusSemua_Click()
LstList.Clear

End Sub

Private Sub cmdInput_Click()
LstList.AddItem txtInput.Text

txtInput.Text = “”

End Sub

Private Sub cmdKeluar_Click()
End
End Sub
Posted by Administrator in 09:04:21 | Permalink | No Comments »
Monday, March 10, 2008
Counter Time
Private Sub Command1_Click()
intbatas = 5
Me.Timer1.Interval = 1000
Me.Timer1.Enabled = True
End Sub

Private Sub Command2_Click()
intbatas = 5
Dim inttout As Integer
Dim dtm As Date
dtm = DateAdd(“s”, intbatas, Now)

Do Until Now >= dtm
DoEvents
inttout = Second(dtm) – Second(Now)
Me.Caption = “TimeOut:” & inttout
Loop
Unload Me
End Sub

Private Sub Timer1_Timer()
intbatas = intbatas – 1
If intbatas <= 0 Then
Me.Timer1.Enabled = False
Unload Me
Else
Me.Caption = “TimeOut:” & intbatas
End If
End Sub
Posted by Administrator in 08:41:29 | Permalink | Comments (1) »
Program Load Gambar
Private Sub Command1_Click()
With Me.CommonDialog1
.DialogTitle = “Ambil Gambar”
.Filter = “JPEG|*.jpg”
.ShowOpen

If .FileName <> “” Then
Set Me.Picture1.Picture = Nothing
Me.Picture1.Picture = LoadPicture(.FileName)
End If
End With
End Sub

‘Private Sub Form_Load()
‘Me.Picture1.Picture = LoadPicture(“D:\gbr_motor\bikes_honda_01.jpg”)
‘End Sub
Posted by Administrator in 08:31:20 | Permalink | No Comments »
Saturday, March 8, 2008
Radio Tuner Dengan VB
‘Thank’s Mackay for your sharing about Radio Tuner with VB
‘by Peter

Form

Option Explicit
‘Sintonizador de emisoras de radios
‘latinas en internet.
‘Creado por E. Mackay D. feb. 2008
Dim nEmisora As String
Dim nRadioPais As String

Private Sub cmdEscuchar_Click()
On Local Error Resume Next
If cmdEscuchar.Caption = “Escuchar” Then
Image1(0) = Image1(1) ‘Rojo
Tuneador.Enabled = False
cmdEscuchar.Caption = “Detener”
WMPradio.URL = nEmisora
WMPradio.Controls.Play
Else
cmdEscuchar.Caption = “Escuchar”
Image1(0) = Image1(3) ‘Gris
Tuneador.Enabled = True
WMPradio.Controls.Stop
Escuchar.Panels(1).Text = “”
lblRadioPais.Caption = “”
End If
End Sub

Private Sub Form_Load()
Image1(0) = Image1(3) ‘Gris
Escuchar.Panels(1).Width = Me.Width – 100
Call Emisoras
‘Emisora buffer Radio HRN de Honduras
nEmisora = “http://206.17.135.195/VACILON_LIVE”
End Sub

Private Sub Emisoras()
Dim strVar As String

‘Abre archivo para leer
On Local Error Resume Next
’Sept. 2, 2007
Open UnArchivo For Input As #1

Do While Not EOF(1)
Line Input #1, strVar
‘Procesa linea a linea, si la linea es valida
If strVar <> “” Then Call Separar(strVar)
Loop
Close #1
End Sub
Private Sub Separar(sRlinea As String)
Dim sNum, iPos As Long
Dim strFinal, lesStr As String
lesStr = sRlinea
On Local Error Resume Next
For sNum = 1 To 4
iPos = InStr(lesStr, “|”)

strFinal = Trim(Left(lesStr, iPos – 1))

Select Case sNum
’Numero en la lista
Case 1
ListaURL.Add strFinal
’Nombre de emisora
Case 2
ListaURL.Add strFinal
’Pais de origen
Case 3
ListaURL.Add strFinal
’Url de emisora
Case 4
ListaURL.Add strFinal
End Select

lesStr = Right(sRlinea, Len(lesStr) – iPos)
Next sNum
’Programacion
ListaURL.Add lesStr

End Sub

Private Sub Tuneador_Scroll()
On Local Error GoTo Fuera

’Muestra instantaneamente la emisora y el pais
Escuchar.Panels(1).Text = ListaURL((Tuneador.Value * 5) + 2) & ” en ” & ListaURL((Tuneador.Value * 5) + 3)
nEmisora = ListaURL((Tuneador.Value * 5) + 4)
nRadioPais = Escuchar.Panels(1).Text
Exit Sub
Fuera:
MsgBox “Solo hay ” & ListaURL.Count / 5 & ” estaciones listadas.”, vbInformation + vbOKOnly, “AVISO”
Tuneador.Value = (ListaURL.Count / 5) – 1
End Sub

Private Sub WMPradio_OpenStateChange(ByVal NewState As Long)
Escuchar.Panels(1).Text = WMPradio.Status
If Left(WMPradio.Status, 3) = “Rep” Then
lblRadioPais.Caption = Trim(nRadioPais)
Image1(0) = Image1(2) ‘Verde
Else
lblRadioPais.Caption = “”
Image1(0) = Image1(1) ‘Rojo
End If

End Sub

Module
Option Explicit
‘Marzo 2008
‘hp1ml@hotmail.com
‘Para escuchar emisoras de radio latinas en internet
‘……………………..
‘Configuracion del string por paises
Public UnArchivo As String
Public Type TVNAME
nIdice As Long
Canal As String
dirURL As String
nBitrate As Integer
namePais As String
nRata As Integer
nStatus As Integer
End Type

Public ListaURL As New Collection
Public CanalPorPais As New Collection
Public Type POINTAPI
x As Long
y As Long
End Type
‘Para desplegar mas lineas en un combobox
Public Type RECT
Left As Long
Top As Long
Right As Long
Bottom As Long
End Type

Public Declare Function SendMessage Lib _
“user32″ Alias “SendMessageA” _
(ByVal hWnd As Long, _
ByVal wMsg As Long, _
ByVal wParam As Long, _
lParam As Any) As Long

Public Declare Function MoveWindow Lib _
“user32″ (ByVal hWnd As Long, _
ByVal x As Long, ByVal y As Long, _
ByVal nWidth As Long, _
ByVal nHeight As Long, _
ByVal bRepaint As Long) As Long

Public Declare Function GetWindowRect Lib _
“user32″ (ByVal hWnd As Long, _
lpRect As RECT) As Long

Public Const CB_SHOWDROPDOWN = &H14F
Public Const CB_GETITEMHEIGHT = &H154

Sub main()

UnArchivo = App.Path & “\allradio.dat” ‘channelTV.txt” ‘”\get3test.htm”

frmTuner.Show
End Sub


Membuat Animasi Huruf
Private Sub cmdkeluar_Click()
Unload Me

End Sub

Private Sub form_load()
Label1.FontBold = True

Label1.Left = 240
Label1.Top = 240

Timer1.Interval = 200

End Sub

Private Sub Timer1_Timer()
Label1.Top = Label1.Top + 100

If Label1.Top > 3000 Then
Label1.Top = 240
End If

End Sub


Belajar Fungsi VB

Private Sub OK_Click()
Dim userMsg As String
userMsg = InputBox(“What is your message?”, “Message Entry Form”, “Enter your messge here”, 500, 700)
If userMsg <> “” Then
message.Caption = userMsg
Else
message.Caption = “No Message”
End If

End Sub

Posted by Administrator in 07:54:24 | Permalink | No Comments »
Saturday, February 23, 2008
Program Menghitung Lama Parkir
Dim awal, akhir As Date
Dim lama As Double

Private Sub cmd_keluar_Click()
End
End Sub

Private Sub txt_bg_change()
Ado_parkir.RecordSource = “Select*from tb_parkir where no_polisi=” ‘”&txt_bg.text&”‘”
Ado_parkir.Refresh
With Ado_parkir.Recordset
If .PageCount <> 0 Then
If !Status = “T” Then
TXT_MULAI.Text = !jam_masuk
cmd_mulai.Caption = “&Stop”
cmd_mulai.SetFocus
Else
MsgBox “Nomor Polisi Yang Telah tersimpan Silahkan Anda Tekan Tombol Mulai”, vbInformation + vbOKOnly, “BG”
cmd_mulai.SetFocus
End If
Else
TXT_MULAI.Text = “”
TXT_SELESAI.Text = “”
TXT_TOTAL.Text = “”
TXT_BIAYA.Text = “”
cmd_mulai.Caption = “&Mulai”
End If
End With
End Sub
Private Sub txt_bg_keypress(KeyASCII As Integer)
If KeyASCII = 13 Then cmd_mulai.SetFocus
End Sub
Private Sub cmd_mulai_Click()
Dim biaya As Integer

If TXT_BG.Text = “” Then
MsgBox “Masukkan Nomor BG Terlebih Dahulu”, vbInformation + vbOKOnly, “Information”
TXT_BG.SetFocus
Else
If cmd_mulai.Caption = “&Mulai” Then
awal = Time
TXT_MULAI.Text = awal
cmd_mulai.Caption = “&Simpan”
ElseIf cmd_mulai.Caption = “&Simpan” Then
Ado_parkir.RecordSource = “Select*from tb_parkir”
Ado_parkir.Refresh
With Ado_parkir.Recordset
.AddNew
!no_polisi = TXT_BG.Text
!jam_masuk = TXT_MULAI.Text
.Update
End With
cmd_mulai.Caption = “&Mulai”
TXT_MULAI.Text = “”
TXT_BG.Text = “”
TXT_BG.SetFocus

ElseIf cmd_mulai.Caption = “&Stop” Then
akhir = Time
TXT_SELESAI.Text = akhir
cmd_mulai.Caption = “&Lama”

ElseIf cmd_mulai.Caption = “&Lama” Then
Ado_parkir.RecordSource = “Select jam_masuk from”
tb_parkir where no_polisi=’”&txt_bg.text&”‘”
Ado_parkir.Refresh
lama = akhir – Ado_parkir.Recordset!jam_masuk
TXT_TOTAL.Text = Format(lama, “hh:mm:ss”)
cmd_mulai.Caption = “&Biaya”

ElseIf cmd_mulai.Caption = “&Biaya” Then
biaya = 50000 * lama
TXT_BIAYA.Text = Format(biaya, “Rp #,#”)
Ado_parkir.RecordSource = “select*from tb_parkir”
where ado_parkir=’”&txt_bg.text&”‘”
Ado_parkir.Refresh
With Ado_parkir.Recordset
!jam_keluar = TXT_SELESAI.Text
!biaya = biaya
!Status = “Y”
.Update
End With
cmd_mulai.Caption = “&Parkir”

ElseIf cmd_mulai.Caption = “&Parkir” Then
TXT_MULAI.Text = “”
TXT_SELESAI.Text = “”
TXT_TOTAL.Text = “”
TXT_BG.Text = “”
TXT_BIAYA.Text = “”
TXT_BG.SetFocus
cmd_mulai.Caption = “&Mulai”
End If
End If
End Sub
Private Sub cmd_cari_click()
On Error GoTo Error:

Cari = InputBox(“Masukkan Nomor Polisi Yang Akan Dicari:”, “Cari No.Polisi”)

If Cari <> Empty Then
ado_parkir.RecordSource=”Select*from tb_parkir where no_polisi=’”&Cari”‘”
Ado_parkir.Refresh
With Ado_parkir.Recordset
If !Status = “T” Then
TXT_BG.Text = !no_polisi
TXT_MULAI.Text = !jam_masuk
cmd_mulai.Caption = “&Stop”
TXT_SELESAI.Text = “”
TXT_BIAYA.Text = “”
TXT_TOTAL.Text = “”
Else
TXT_BG.Text = !no_polisi
TXT_MULAI.Text = “”
TXT_SELESAI = “”
TXT_BIAYA = “”
TXT_TOTAL = “”
cmd_mulai.Caption = “&Mulai”
End If

Exit Sub
Error:
MsgBox “No.Polisi Yang Anda Cari Tidak Ada!”, vbQuestion + vbOKOnly, “Pencarian”
TXT_BG.SetFocus
End With
End If
End Sub

kode visual basic


Public Function FileExist(asPath as string) as Boolean
If UCase(Dir(asPath))=Ucase(trimPath(asPath)) then
FileExist=true
Else

FileExist=False
End If
End Function

Public Function TrimPath(ByVal asPath as string) as string

if Len(asPath)=0 then Exit Function
Dim x as integer
Do

x=Instr(asPath,”\”)
if x=0 then Exit Do
asPath=Right(asPath,Len(asPath)-x)
Loop
TrimPath=asPath
End Function

Private sub command1_Click()
if fileExist(Text1.text) then
Label1=”YES”
else
Label1=”NO”
End if
End Sub

Private sub form_Load()
End sub

Low and Upper Case

‘add 2 command buttons and 1 text

Private Sub Command1_Click()
Text1.Text = CapFirst$(Text1.Text)
End Sub

Private Sub Command2_Click()
Text1.Text = LCase$(Text1.Text)
End Sub

‘add 1 module
Declare Function CapFirst$ Lib “CAPFIRST.DLL” Alias “CAPFIRST” (ByVal St$)


Show Your IP Address

Add Microsoft Winsock Control 6.0 component
Insert 1 Textbox
Insert 2 Command Buttons Rename Caption as Display and Clear

Private Sub Command1_Click()
If Text1.Text = “” Then
Command1.Enabled = False
Text1.Text = Winsock1.LocalIP
Else
Command1.Enabled = True
End If
End Sub

Private Sub Command2_Click()
Text1.Text = “”
If Text1.Text = “” Then
Command1.Enabled = True
Else
Command1.Enabled = False
End If
End Sub

Private Sub Form_Load()
Text1.Text = “”
If Text1.Text = “” Then
Command1.Enabled = False
Else
Command1.Enabled = True
End If
Text1.Text = Winsock1.LocalIP
End Sub


Permutasi

Option Explicit

Dim id As Integer
Dim N As Integer
Dim perm() As Integer

Function Engine(i As Integer)
Dim t As Integer
Dim j As Integer

id = id + 1
perm(i) = id
If (id = N) Then stampaj
For j = 1 To N
If (perm(j) = 0) Then
Engine (j)
End If
DoEvents
Next j
id = id – 1
perm(i) = 0
End Function

Private Sub cmdClear_Click()
List1.Clear
End Sub

Private Sub cmdGen_Click()
If Val(txtLength.Text) > Len(txtChar.Text) Then
MsgBox “Jumlah Permutasi Salah”
Exit Sub
End If

If Len(txtChar.Text) = 0 Or (Val(txtLength.Text) = 0) Then Exit Sub

Dim i As Integer
N = Val(txtLength.Text)
ReDim perm(N)
For i = 1 To N
perm(i) = 0
Next i
If ChSave.Value = 1 Then
MsgBox “Disimpan pada hasil.txt”
Open App.Path + “\hasil.txt” For Output As #1
End If
Engine 0
If ChSave.Value = 1 Then Close #1

End Sub

Sub Form_Load()
On Error Resume Next
id = -1

End Sub

Sub stampaj()
Dim i As Integer
Dim result As String
result = “”
For i = 1 To N
result = result & CStr(Mid$(txtChar.Text, perm(i), 1))
Next i
List1.AddItem result
If ChSave.Value = 1 Then Print #1, result
End Sub


Enkripsi Searah

Public Function Hash(ByVal text As String) As String
a = 1
For i = 1 To Len(text)
a = Sqr(a * i * Asc(Mid(text, i, 1))) ‘Numeric Hash
Next i
Rnd (-1)
Randomize a ‘seed PRNG

For i = 1 To 16
Hash = Hash & Chr(Int(Rnd * 256))
Next i
End Function

Private Sub Form_Load()
MsgBox Hash(“EmZ-2509″) ‘Yang dihasilkan: ‰°’r¿¾ ©Ì¿ÂX*¤W
End
End Sub


Enkripsi

Function EncDec(inData As Variant, Optional inPW As Variant = “”) As Variant
On Error Resume Next
Dim arrSBox(0 To 255) As Integer
Dim arrPW(0 To 255) As Integer
Dim Bi As Integer, Bj As Integer
Dim mKey As Integer
Dim i As Integer, j As Integer
Dim x As Integer, y As Integer
Dim mCode As Byte, mCodeSeries As Variant

EncDec = “”
If Trim(inData) = “” Then
Exit Function
End If

If inPW <> “” Then
j = 1
For i = 0 To 255
arrPW(i) = Asc(Mid$(inPW, j, 1))
j = j + 1
If j > Len(inPW) Then
j = 1
End If
Next i
Else
For i = 0 To 255
arrPW(i) = 0
Next i
End If

For i = 0 To 255
arrSBox(i) = i
Next i

j = 0
For i = 0 To 255
j = (arrSBox(i) + arrPW(i)) Mod 256
x = arrSBox(i)
arrSBox(i) = arrSBox(j)
arrSBox(j) = x
Next i

mCodeSeries = “”
Bi = 0: Bj = 0
For i = 1 To Len(inData)
Bi = (Bi + 1) Mod 256
Bj = (Bj + arrSBox(Bi)) Mod 256
‘ Tukar
x = arrSBox(Bi)
arrSBox(Bi) = arrSBox(Bj)
arrSBox(Bj) = x

‘siapkan kunci untuk XOR
mKey = arrSBox((arrSBox(Bi) + arrSBox(Bj)) Mod 256)

‘gunakan operasi XOR
mCode = Asc(Mid$(inData, i, 1)) Xor mKey
mCodeSeries = mCodeSeries & Chr(mCode)
Next i
EncDec = mCodeSeries
End Function

Private Sub Form_Load()
Dim Encrypt As String, Decrypt As String

Encrypt = EncDec(“admin”, “win”)
Decrypt = EncDec(“™D`­>”, “win”)
MsgBox “Hasil enkripsi : ” & Encrypt & _
vbCrLf & “Hasil dekripsi : ” & Decrypt
End
End Sub
Posted by Administrator in 04:55:41 | Permalink | No Comments »
Wednesday, May 14, 2008
Menu Pop Up

Option Explicit

Private Declare Function SendMessage Lib “user32″ Alias _
“SendMessageA” (ByVal hwnd As Long, ByVal wMsg As Long, _
ByVal wParam As Long, lParam As Any) As Long

Private Const LB_GETITEMRECT = &H198
Private Const LB_ERR = (-1)

Private Type RECT
Left As Long
Top As Long
Right As Long
Bottom As Long
End Type

Public Function GetRClickedItem(MyList As Control, _
X As Single, Y As Single) As Long

‘PURPOSE: Determine which item was right clicked in a list
‘box, from the list_box’s mouse down event. YOU MUST CALL THIS
‘FROM THE MOUSEDOWN EVENT, PASSING THE X AND Y VALUES FROM THAT
‘EVENT TO THIS FUNCTION

‘MYLIST: ListBox Control
‘X, Y: X and Y position from MyList_MouseDown

‘RETURNS: ListIndex of selected item, or -1 if
‘a) There is no selected item, or b) an error occurs.

Dim clickX As Long, clickY As Long
Dim lRet As Long
Dim CurRect As RECT
Dim l As Long

‘Control must be a listbox
If Not TypeOf MyList Is ListBox Then
GetRClickedItem = LB_ERR
Exit Function
End If

‘get x and y in pixels
clickX = X Screen.TwipsPerPixelX
clickY = Y Screen.TwipsPerPixelY

‘Check all items in the list to see if it was clicked on
For l = 0 To MyList.ListCount – 1

‘get current selection as rectangle
lRet = SendMessage(MyList.hwnd, LB_GETITEMRECT, l, CurRect)

‘If the position of the click is in the this list item
‘then that’s our Item

If (clickX >= CurRect.Left) And (clickX <= CurRect.Right) _
And (clickY >= CurRect.Top) And _
(clickY <= CurRect.Bottom) Then

GetRClickedItem = l
Exit Function
End If
Next l
End Function

Private Sub Form_Load()
List1.AddItem “Merah”
List1.AddItem “Kuning”
List1.AddItem “Hijau”
mnuPopUp.Visible = False
End Sub

Private Sub List1_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)
Dim lItem As Long

If Button = vbRightButton Then
lItem = GetRClickedItem(List1, X, Y)

If lItem <> -1 Then
List1.ListIndex = lItem
PopupMenu mnuPopUp
End If
End If

End Sub


Load Picture

Private Sub Command1_Click()
With Me.CommonDialog1
.DialogTitle = “Ambil Gambar”
.Filter = “JPEG|*.jpg”
.ShowOpen

If .FileName <> “” Then
Set Me.Picture1.Picture = Nothing
Me.Picture1.Picture = LoadPicture(.FileName)
End If
End With
End Sub

‘Private Sub Form_Load()
‘Me.Picture1.Picture = LoadPicture(“D:\gbr_motor\bikes_honda_01.jpg”)
‘End Sub


Sleep With Visual Basic

Option Explicit

Private Declare Sub Sleep Lib “kernel32″ (ByVal dwMilliseconds As Long)

Private Sub Form_Click()
Me.Caption = “Sleeping”
Call Sleep(20000)
Me.Caption = “Awake”
End Sub

Private Sub Label1_Click()
Me.Caption = “Sleeping”
Call Sleep(20000)
Me.Caption = “Awake”
End Sub
Posted by Administrator in 08:18:13 | Permalink | No Comments »
Find Something

Form

Option Explicit

Private Declare Function GetWindowText Lib “user32″ Alias “GetWindowTextA” (ByVal hWnd As Long, ByVal lpString As String, ByVal cch As Long) As Long

Private Sub cmdActivate_Click()
Dim nRet As Long
Dim Title As String

nRet = AppActivatePartial(Trim(txtTitle.Text), _
Val(frmMethod.Tag), CBool(chkCase.Value))
If nRet Then
lblResults.Caption = “Found: &&H” & Hex$(nRet)
Title = Space$(256)
nRet = GetWindowText(nRet, Title, Len(Title))
If nRet Then
lblResults.Caption = lblResults.Caption & _
“, “”" & Left$(Title, nRet) & “”"”
End If
Else
lblResults.Caption = “Search Failed”
End If
End Sub

Private Sub Form_Load()

txtTitle.Text = “”
lblResults.Caption = “”
optMethod(0).Value = True
End Sub

Private Sub optMethod_Click(Index As Integer)

frmMethod.Tag = Index
End Sub

Module

Option Explicit

Private Declare Function EnumWindows Lib “user32″ (ByVal lpEnumFunc As Long, ByVal lParam As Long) As Long
Private Declare Function GetClassName Lib “user32″ Alias “GetClassNameA” (ByVal hWnd As Long, ByVal lpClassName As String, ByVal nMaxCount As Long) As Long
Private Declare Function GetWindowText Lib “user32″ Alias “GetWindowTextA” (ByVal hWnd As Long, ByVal lpString As String, ByVal cch As Long) As Long
Private Declare Function IsIconic Lib “user32″ (ByVal hWnd As Long) As Long
Private Declare Function IsWindowVisible Lib “user32″ (ByVal hWnd As Long) As Long
Private Declare Function ShowWindow Lib “user32″ (ByVal hWnd As Long, ByVal nCmdShow As Long) As Long
Private Declare Function SetForegroundWindow Lib “user32″ (ByVal hWnd As Long) As Long

Private Const SW_RESTORE = 9

Private m_hWnd As Long
Private m_Method As FindWindowPartialTypes
Private m_CaseSens As Boolean
Private m_Visible As Boolean
Private m_AppTitle As String

Public Enum FindWindowPartialTypes
FwpStartsWith = 0
FwpContains = 1
FwpMatches = 2
End Enum

Public Function AppActivatePartial(AppTitle As String, Optional Method As FindWindowPartialTypes = FwpStartsWith, Optional CaseSensitive As Boolean = False) As Long
Dim hWndApp As Long

hWndApp = FindWindowPartial(AppTitle, Method, CaseSensitive, True)
If hWndApp Then

If IsIconic(hWndApp) Then
Call ShowWindow(hWndApp, SW_RESTORE)
End If
Call SetForegroundWindow(hWndApp)
AppActivatePartial = hWndApp
End If
End Function

Public Function FindWindowPartial(AppTitle As String, _
Optional Method As FindWindowPartialTypes = FwpStartsWith, _
Optional CaseSensitive As Boolean = False, _
Optional MustBeVisible As Boolean = False) As Long

m_hWnd = 0
m_Method = Method
m_CaseSens = CaseSensitive
m_AppTitle = AppTitle

If m_CaseSens = False Then
m_AppTitle = UCase$(m_AppTitle)
End If

Call EnumWindows(AddressOf EnumWindowsProc, MustBeVisible)
FindWindowPartial = m_hWnd
End Function

Private Function EnumWindowsProc(ByVal hWnd As Long, ByVal lParam As Long) As Long
Static WindowText As String
Static nRet As Long

If lParam Then
If IsWindowVisible(hWnd) = False Then
EnumWindowsProc = True
Exit Function
End If
End If

WindowText = Space$(256)
nRet = GetWindowText(hWnd, WindowText, Len(WindowText))
If nRet Then

WindowText = Left$(WindowText, nRet)
If m_CaseSens = False Then
WindowText = UCase$(WindowText)
End If

Select Case m_Method
Case FwpStartsWith
If InStr(WindowText, m_AppTitle) = 1 Then
m_hWnd = hWnd
End If
Case FwpContains
If InStr(WindowText, m_AppTitle) <> 0 Then
m_hWnd = hWnd
End If
Case FwpMatches
If WindowText = m_AppTitle Then
m_hWnd = hWnd
End If
End Select
End If

EnumWindowsProc = (m_hWnd = 0)
End Function


Bermain Animasi Dengan VB

Dim FrameCount As Long

Private Sub Command1_Click()
Timer1.Enabled = False
If LoadGif(Text1, Image1) Then
FrameCount = 0
Timer1.Interval = CLng(Image1(0).Tag)
Timer1.Enabled = True
End If
End Sub

Private Sub Command2_Click()
Timer1.Enabled = False
End Sub

Private Sub Command3_Click()
Timer1.Enabled = True
End Sub

Private Sub Form_Load()

Text1.Text = App.Path & IIf(Right(App.Path, 1) = “\”, “”, “\”) & “clip.gif”
Timer1.Enabled = False
End Sub

Private Sub Timer1_Timer()
If FrameCount < TotalFrames Then
Image1(FrameCount).Visible = False
FrameCount = FrameCount + 1
Image1(FrameCount).Visible = True
Timer1.Interval = CLng(Image1(FrameCount).Tag)
Else
FrameCount = 0
For i = 1 To Image1.Count – 1
Image1(i).Visible = False
Next i
Image1(FrameCount).Visible = True
Timer1.Interval = CLng(Image1(FrameCount).Tag)
End If
End Sub
Posted by Administrator in 07:38:13 | Permalink | Comments (5)
Animasi Bola

Dim FrameCount As Long

Private Sub Command1_Click()
Timer1.Enabled = False
If LoadGif(Text1, Image1) Then
FrameCount = 0
Timer1.Interval = CLng(Image1(0).Tag)
Timer1.Enabled = True
End If
End Sub

Private Sub Command2_Click()
Timer1.Enabled = False
End Sub

Private Sub Command3_Click()
Timer1.Enabled = True
End Sub

Private Sub Form_Load()

Text1.Text = App.Path & IIf(Right(App.Path, 1) = “\”, “”, “\”) & “ball.gif”
Timer1.Enabled = False
End Sub

Private Sub Timer1_Timer()
If FrameCount < TotalFrames Then
Image1(FrameCount).Visible = False
FrameCount = FrameCount + 1
Image1(FrameCount).Visible = True
Timer1.Interval = CLng(Image1(FrameCount).Tag)
Else
FrameCount = 0
For i = 1 To Image1.Count – 1
Image1(i).Visible = False
Next i
Image1(FrameCount).Visible = True
Timer1.Interval = CLng(Image1(FrameCount).Tag)
End If
End Sub
Posted by Administrator in 04:48:26 | Permalink | Comments (1) »
Saturday, April 26, 2008
Mouse Limit
Option Explicit Private Type RECT left As Integer top As Integer right As Integer bottom As Integer End Type Private Type POINT x As Long y As Long End Type Private Declare Sub ClipCursor Lib “user32″ (lpRect As Any) Private Declare Sub GetClientRect Lib “user32″ (ByVal hWnd As _ Long, lpRect As RECT) Private Declare Sub ClientToScreen Lib “user32″ (ByVal hWnd As _ Long, lpPoint As POINT) Private Declare Sub OffsetRect Lib “user32″ (lpRect As RECT, _ ByVal x As Long, ByVal y As Long) Public Sub LimitCursorMovement(ctl As Object) Dim client As RECT Dim upperleft As POINT Dim lHwnd As Long On Error Resume Next lHwnd = ctl.hWnd If lHwnd = 0 Then Exit Sub GetClientRect ctl.hWnd, client upperleft.x = client.left upperleft.y = client.top ClientToScreen ctl.hWnd, upperleft OffsetRect client, upperleft.x, upperleft.y ClipCursor client End Sub Public Sub ReleaseLimit() ‘Releases the cursor limits ‘Be sure to call on unloading the form ClipCursor ByVal 0& End Sub Private Sub cmdNormal_Click() ReleaseLimit End Sub Private Sub cmdSetLimit_Click() LimitCursorMovement Me End Sub Private Sub Form_Load() ReleaseLimit End Sub Private Sub Form_Unload(Cancel As Integer) ReleaseLimit End Sub
Posted by Administrator in 05:59:00 | Permalink | Comments (3)
Spash Screen

Option Explicit

Private Sub Form_KeyPress(KeyAscii As Integer)
Unload Me
End Sub

Private Sub Form_Load()
‘ lblVersion.Caption = “Version ” & App.Major & “.” & App.Minor & “.” & App.Revision
‘ lblProductName.Caption = App.Title
End Sub

Private Sub Frame1_Click()
Unload Me
End Sub

Private Sub Timer1_Timer()
Dim counter As Double
counter = 0
Do
counter = counter + 0.005
Label2.Width = counter
Loop While Not (Label1.Width = Label2.Width)
frmSplash.Hide
Form5.Show
Timer1.Enabled = False
End Sub
Posted by Administrator in 04:10:21 | Permalink | No Comments »
Folder Customizer

Dim opcolor As String
Dim opcolor2 As String

Private Sub cmdfolder_Click()
folder = BrowseForFolder(folder, Me.hwnd, “&Select a directory:”)
Command4_Click
End Sub
Private Sub Command1_Click()
folder = BrowseForFolder(folder, Me.hwnd, “&Select a directory:”)
If folder = “” Then
Exit Sub
End If
wrt$ = “{BE098140-A513-11D0-A3A4-00C04FD706EC}”
r% = WritePrivateProfileString(wrt$, “IconArea_Image”, vbNullString, (folder.Text) + “\desktop.ini”)
r% = WritePrivateProfileString(wrt$, “IconArea_text”, vbNullString, (folder.Text) + “\desktop.ini”)
If r% = 1 Then
FileAttribHide folder.Text & “\desktop.ini”
setFolderRead folder.Text
Label18.Caption = “XXXXXXXXXXXXXXXXXXXXXXXXXXXXX”
End If
End Sub

Private Sub Command2_Click()
If Command2.Caption <> “&Finish” Then
If MsgBox(“Exit the wizard without completion !”, 64 + vbYesNo) = vbYes Then
End
End If
Else
MsgBox “This Wizard has been developed by Ramky for more goodies visit http://www.programmervb.wordpress.com “, 64
End
End If
End Sub

Private Sub Command3_Click()
If folder.Text = “” Then
cmdfolder_Click
Else
wrt$ = “{BE098140-A513-11D0-A3A4-00C04FD706EC}”
r% = WritePrivateProfileString(wrt$, “IconArea_Image”, (img.Text), (folder.Text) + “\desktop.ini”)
r% = WritePrivateProfileString(wrt$, “IconArea_text”, opcolor, (folder.Text) + “\desktop.ini”)
If r% = 1 Then
FileAttribHide folder.Text & “\desktop.ini”
setFolderRead folder.Text
Command3.Enabled = False
Command2.Caption = “&Finish”
Label14.Visible = False
Label9.Visible = False
Label10.Visible = False
Label11.Visible = False
Label14.Visible = False
textcolor.Visible = False
img.Visible = False
folder.Visible = False
Command5.Visible = False
Command4.Visible = False
Line3.Visible = False
cmdfolder.Visible = False
Label18.Visible = True
Label19.Visible = True
Label13.Visible = True
End If
If r% <> 1 Then MsgBox “Error in writing”, vbCritical
GoTo nex
back = 1
nex:
If back = 1 Then
Command1.Enabled = True
cmdfolder.Enabled = True
Frame1.Visible = False
Frame2.Top = -120
Frame2.Left = -120
Frame2.Visible = True
back = 2
End If
End If
End Sub

Private Sub Command4_Click()
CommonDialog1.CancelError = False
CommonDialog1.DialogTitle = “Select Your Picture”
CommonDialog1.Filter = “jpeg(*.jpg)|*.jpg|png(*.png)|*.png|Gif(*.Gif)|*.Gif|Bitmap(*.bmp)|*.bmp” ‘|MID(*.mid)|*.mid|AU(*.au)|*.au|”
CommonDialog1.FileName = “”
CommonDialog1.ShowOpen
img = CommonDialog1.FileName
Command5_Click
End Sub

Private Sub Command5_Click()
CommonDialog1.CancelError = False
CommonDialog1.Flags = 3
CommonDialog1.ShowColor
opcolor = CommonDialog1.Color
textcolor.ForeColor = CommonDialog1.Color
End Sub

Private Sub Command6_Click()
CommonDialog1.CancelError = False
CommonDialog1.Flags = 3
CommonDialog1.ShowColor
opcolor2 = CommonDialog1.Color
End Sub

Private Sub Form_Load()
Height = 6330
Width = 8160
End Sub

Private Sub Frame2_DragDrop(Source As Control, X As Single, Y As Single)

End Sub
Posted by Administrator in 03:44:10 | Permalink | No Comments »
Friday, April 25, 2008
Create Domain

Private Sub Check1_Click()
If Check1.Value = 1 Then
lblDomainName.Visible = True
txtDomainName.Visible = True
End If
If Check1.Value = 0 Then
lblDomainName.Visible = False
txtDomainName.Visible = False
End If
End Sub

Private Sub cmdGenerate_Click()
Dim responce
Dim i As Integer
If Check1.Value = 1 Then
responce = MsgBox(“Do you want to create ” & txtDomainName.Text & ” DOMAIN user”, vbYesNo)
If responce = vbYes Then

For i = Val(txtUserStart.Text) To Val(txtUserEnd.Text)
Shell “net user ” & txtUserPrefix & Format(i, “0000″) & txtUserPostfix & ” ” & txtPassPrefix & Format(i, “0000″) & txtPassPostfix & ” /ADD ” & txtDomainName.Text & ” /DOMAIN”, vbHide
Next i
End If
Else
responce = MsgBox(“Do you want to create LOCAL user”, vbYesNo)
If responce = vbYes Then

For i = Val(txtUserStart.Text) To Val(txtUserEnd.Text)
Shell “net user ” & txtUserPrefix & Format(i, “0000″) & txtUserPostfix & ” ” & txtPassPrefix & Format(i, “0000″) & txtPassPostfix & ” /ADD”, vbHide
Next i
End If
End If
End Sub

Private Sub Label11_Click()

End Sub

Private Sub txtUserEnd_Change()
txtPassEnd.Text = txtUserEnd.Text
End Sub

Private Sub txtUserStart_Change()
txtPassStart.Text = txtUserStart.Text
End Sub
Posted by Administrator in 05:49:57 | Permalink | No Comments »
Saturday, April 19, 2008
Change Your Desktop

Private Declare Function SystemParametersInfo Lib “user32″ Alias “SystemParametersInfoA” (ByVal uAction As Long, ByVal uParam As Long, ByVal lpvParam As String, ByVal fuWinIni As Long) As Long

‘constants to be used with the above api
Private Const SPI_SETDESKWALLPAPER = 20
Private Const SPIF_UPDATEINIFILE = &H1

‘will hold the path to the image
Private imagePath As String

Private Sub cmdBrowse_Click()

‘just your basic code to get a dialog box open to
‘select a image and get the path

‘the picture must be a BITMAP Image File

dlg.Filter = “Image Files (*.bmp)|*.bmp”

‘set a custom title to the dialog
dlg.DialogTitle = “Select the image to load.”

‘show the dialog
dlg.ShowOpen

‘the path to get the image from
imagePath = dlg.FileName

‘view the selected picture into the picturebox
‘control
pic.Picture = LoadPicture(imagePath)

End Sub

Private Sub cmdSetWallPaper_Click()

‘set the parameters to change the wallpaper to
‘the image you selected
SystemParametersInfo SPI_SETDESKWALLPAPER, 0, imagePath, SPIF_UPDATEINIFILE

End Sub

Posted by Administrator in 05:14:27 | Permalink | Comments (1) »
Thursday, April 17, 2008
Create Domain With VB

Private Sub Check1_Click()
If Check1.Value = 1 Then
lblDomainName.Visible = True
txtDomainName.Visible = True
End If
If Check1.Value = 0 Then
lblDomainName.Visible = False
txtDomainName.Visible = False
End If
End Sub

Private Sub cmdGenerate_Click()
Dim responce
Dim i As Integer
If Check1.Value = 1 Then
responce = MsgBox(“Do you want to create ” & txtDomainName.Text & ” DOMAIN user”, vbYesNo)
If responce = vbYes Then

For i = Val(txtUserStart.Text) To Val(txtUserEnd.Text)
Shell “net user ” & txtUserPrefix & Format(i, “0000″) & txtUserPostfix & ” ” & txtPassPrefix & Format(i, “0000″) & txtPassPostfix & ” /ADD ” & txtDomainName.Text & ” /DOMAIN”, vbHide
Next i
End If
Else
responce = MsgBox(“Do you want to create LOCAL user”, vbYesNo)
If responce = vbYes Then

For i = Val(txtUserStart.Text) To Val(txtUserEnd.Text)
Shell “net user ” & txtUserPrefix & Format(i, “0000″) & txtUserPostfix & ” ” & txtPassPrefix & Format(i, “0000″) & txtPassPostfix & ” /ADD”, vbHide
Next i
End If
End If
End Sub

Private Sub Label11_Click()

End Sub

Private Sub txtUserEnd_Change()
txtPassEnd.Text = txtUserEnd.Text
End Sub

Private Sub txtUserStart_Change()
txtPassStart.Text = txtUserStart.Text
End Sub
Posted by Administrator in 09:12:53 | Permalink | No Comments »
VbFtp

Module:

Option Explicit

Declare Function GetProcessHeap Lib “kernel32″ () As Long
Declare Function HeapAlloc Lib “kernel32″ (ByVal hHeap As Long, ByVal dwFlags As Long, ByVal dwBytes As Long) As Long
Declare Function HeapFree Lib “kernel32″ (ByVal hHeap As Long, ByVal dwFlags As Long, lpMem As Any) As Long
Public Const HEAP_ZERO_MEMORY = &H8
Public Const HEAP_GENERATE_EXCEPTIONS = &H4

Declare Sub CopyMemory1 Lib “kernel32″ Alias “RtlMoveMemory” ( _
hpvDest As Any, ByVal hpvSource As Long, ByVal cbCopy As Long)
Declare Sub CopyMemory2 Lib “kernel32″ Alias “RtlMoveMemory” ( _
hpvDest As Long, hpvSource As Any, ByVal cbCopy As Long)

Public Const MAX_PATH = 260
Public Const NO_ERROR = 0
Public Const FILE_ATTRIBUTE_READONLY = &H1
Public Const FILE_ATTRIBUTE_HIDDEN = &H2
Public Const FILE_ATTRIBUTE_SYSTEM = &H4
Public Const FILE_ATTRIBUTE_DIRECTORY = &H10
Public Const FILE_ATTRIBUTE_ARCHIVE = &H20
Public Const FILE_ATTRIBUTE_NORMAL = &H80
Public Const FILE_ATTRIBUTE_TEMPORARY = &H100
Public Const FILE_ATTRIBUTE_COMPRESSED = &H800
Public Const FILE_ATTRIBUTE_OFFLINE = &H1000

Type FILETIME
dwLowDateTime As Long
dwHighDateTime As Long
End Type

Type WIN32_FIND_DATA
dwFileAttributes As Long
ftCreationTime As FILETIME
ftLastAccessTime As FILETIME
ftLastWriteTime As FILETIME
nFileSizeHigh As Long
nFileSizeLow As Long
dwReserved0 As Long
dwReserved1 As Long
cFileName As String * MAX_PATH
cAlternate As String * 14
End Type

Public Const ERROR_NO_MORE_FILES = 18

Public Declare Function InternetFindNextFile Lib “wininet.dll” Alias “InternetFindNextFileA” _
(ByVal hFind As Long, lpvFindData As WIN32_FIND_DATA) As Long

Public Declare Function FtpFindFirstFile Lib “wininet.dll” Alias “FtpFindFirstFileA” _
(ByVal hFtpSession As Long, ByVal lpszSearchFile As String, _
lpFindFileData As WIN32_FIND_DATA, ByVal dwFlags As Long, ByVal dwContent As Long) As Long

Public Declare Function FtpGetFile Lib “wininet.dll” Alias “FtpGetFileA” _
(ByVal hFtpSession As Long, ByVal lpszRemoteFile As String, _
ByVal lpszNewFile As String, ByVal fFailIfExists As Boolean, ByVal dwFlagsAndAttributes As Long, _
ByVal dwFlags As Long, ByVal dwContext As Long) As Boolean

Public Declare Function FtpPutFile Lib “wininet.dll” Alias “FtpPutFileA” _
(ByVal hFtpSession As Long, ByVal lpszLocalFile As String, _
ByVal lpszRemoteFile As String, _
ByVal dwFlags As Long, ByVal dwContext As Long) As Boolean

Public Declare Function FtpSetCurrentDirectory Lib “wininet.dll” Alias “FtpSetCurrentDirectoryA” _
(ByVal hFtpSession As Long, ByVal lpszDirectory As String) As Boolean
‘ Initializes an application’s use of the Win32 Internet functions
Public Declare Function InternetOpen Lib “wininet.dll” Alias “InternetOpenA” _
(ByVal sAgent As String, ByVal lAccessType As Long, ByVal sProxyName As String, _
ByVal sProxyBypass As String, ByVal lFlags As Long) As Long

‘ User agent constant.
Public Const scUserAgent = “vb wininet”

‘ Use registry access settings.
Public Const INTERNET_OPEN_TYPE_PRECONFIG = 0
Public Const INTERNET_OPEN_TYPE_DIRECT = 1
Public Const INTERNET_OPEN_TYPE_PROXY = 3
Public Const INTERNET_INVALID_PORT_NUMBER = 0

Public Const FTP_TRANSFER_TYPE_ASCII = &H1
Public Const FTP_TRANSFER_TYPE_BINARY = &H1
Public Const INTERNET_FLAG_PASSIVE = &H8000000

‘ Opens a HTTP session for a given site.
Public Declare Function InternetConnect Lib “wininet.dll” Alias “InternetConnectA” _
(ByVal hInternetSession As Long, ByVal sServerName As String, ByVal nServerPort As Integer, _
ByVal sUsername As String, ByVal sPassword As String, ByVal lService As Long, _
ByVal lFlags As Long, ByVal lContext As Long) As Long

Public Const ERROR_INTERNET_EXTENDED_ERROR = 12003
Public Declare Function InternetGetLastResponseInfo Lib “wininet.dll” Alias “InternetGetLastResponseInfoA” ( _
lpdwError As Long, _
ByVal lpszBuffer As String, _
lpdwBufferLength As Long) As Boolean

‘ Number of the TCP/IP port on the server to connect to.
Public Const INTERNET_DEFAULT_FTP_PORT = 21
Public Const INTERNET_DEFAULT_GOPHER_PORT = 70
Public Const INTERNET_DEFAULT_HTTP_PORT = 80
Public Const INTERNET_DEFAULT_HTTPS_PORT = 443
Public Const INTERNET_DEFAULT_SOCKS_PORT = 1080

Public Const INTERNET_OPTION_CONNECT_TIMEOUT = 2
Public Const INTERNET_OPTION_RECEIVE_TIMEOUT = 6
Public Const INTERNET_OPTION_SEND_TIMEOUT = 5

Public Const INTERNET_OPTION_USERNAME = 28
Public Const INTERNET_OPTION_PASSWORD = 29
Public Const INTERNET_OPTION_PROXY_USERNAME = 43
Public Const INTERNET_OPTION_PROXY_PASSWORD = 44

‘ Type of service to access.
Public Const INTERNET_SERVICE_FTP = 1
Public Const INTERNET_SERVICE_GOPHER = 2
Public Const INTERNET_SERVICE_HTTP = 3

‘ Opens an HTTP request handle.
Public Declare Function HttpOpenRequest Lib “wininet.dll” Alias “HttpOpenRequestA” _
(ByVal hHttpSession As Long, ByVal sVerb As String, ByVal sObjectName As String, ByVal sVersion As String, _
ByVal sReferer As String, ByVal something As Long, ByVal lFlags As Long, ByVal lContext As Long) As Long

‘ Brings the data across the wire even if it locally cached.
Public Const INTERNET_FLAG_RELOAD = &H80000000
Public Const INTERNET_FLAG_KEEP_CONNECTION = &H400000
Public Const INTERNET_FLAG_MULTIPART = &H200000

Public Const GENERIC_READ = &H80000000
Public Const GENERIC_WRITE = &H40000000

‘ Sends the specified request to the HTTP server.
Public Declare Function HttpSendRequest Lib “wininet.dll” Alias “HttpSendRequestA” (ByVal _
hHttpRequest As Long, ByVal sHeaders As String, ByVal lHeadersLength As Long, ByVal sOptional As _
String, ByVal lOptionalLength As Long) As Integer

‘ Queries for information about an HTTP request.
Public Declare Function HttpQueryInfo Lib “wininet.dll” Alias “HttpQueryInfoA” _
(ByVal hHttpRequest As Long, ByVal lInfoLevel As Long, ByRef sBuffer As Any, _
ByRef lBufferLength As Long, ByRef lIndex As Long) As Integer

‘ The possible values for the lInfoLevel parameter include:
Public Const HTTP_QUERY_CONTENT_TYPE = 1
Public Const HTTP_QUERY_CONTENT_LENGTH = 5
Public Const HTTP_QUERY_EXPIRES = 10
Public Const HTTP_QUERY_LAST_MODIFIED = 11
Public Const HTTP_QUERY_PRAGMA = 17
Public Const HTTP_QUERY_VERSION = 18
Public Const HTTP_QUERY_STATUS_CODE = 19
Public Const HTTP_QUERY_STATUS_TEXT = 20
Public Const HTTP_QUERY_RAW_HEADERS = 21
Public Const HTTP_QUERY_RAW_HEADERS_CRLF = 22
Public Const HTTP_QUERY_FORWARDED = 30
Public Const HTTP_QUERY_SERVER = 37
Public Const HTTP_QUERY_USER_AGENT = 39
Public Const HTTP_QUERY_SET_COOKIE = 43
Public Const HTTP_QUERY_REQUEST_METHOD = 45
Public Const HTTP_STATUS_DENIED = 401
Public Const HTTP_STATUS_PROXY_AUTH_REQ = 407

‘ Add this flag to the about flags to get request header.
Public Const HTTP_QUERY_FLAG_REQUEST_HEADERS = &H80000000
Public Const HTTP_QUERY_FLAG_NUMBER = &H20000000
‘ Reads data from a handle opened by the HttpOpenRequest function.
Public Declare Function InternetReadFile Lib “wininet.dll” _
(ByVal hFile As Long, ByVal sBuffer As String, ByVal lNumBytesToRead As Long, _
lNumberOfBytesRead As Long) As Integer

Public Declare Function InternetWriteFile Lib “wininet.dll” _
(ByVal hFile As Long, ByVal sBuffer As String, _
ByVal lNumberOfBytesToRead As Long, _
lNumberOfBytesRead As Long) As Integer

Public Declare Function FtpOpenFile Lib “wininet.dll” Alias _
“FtpOpenFileA” (ByVal hFtpSession As Long, _
ByVal sFileName As String, ByVal lAccess As Long, _
ByVal lFlags As Long, ByVal lContext As Long) As Long
Public Declare Function FtpDeleteFile Lib “wininet.dll” _
Alias “FtpDeleteFileA” (ByVal hFtpSession As Long, _
ByVal lpszFileName As String) As Boolean
Public Declare Function InternetSetOption Lib “wininet.dll” Alias “InternetSetOptionA” _
(ByVal hInternet As Long, ByVal lOption As Long, ByRef sBuffer As Any, ByVal lBufferLength As Long) As Integer
Public Declare Function InternetSetOptionStr Lib “wininet.dll” Alias “InternetSetOptionA” _
(ByVal hInternet As Long, ByVal lOption As Long, ByVal sBuffer As String, ByVal lBufferLength As Long) As Integer

‘ Closes a single Internet handle or a subtree of Internet handles.
Public Declare Function InternetCloseHandle Lib “wininet.dll” _
(ByVal hInet As Long) As Integer

‘ Queries an Internet option on the specified handle
Public Declare Function InternetQueryOption Lib “wininet.dll” Alias “InternetQueryOptionA” _
(ByVal hInternet As Long, ByVal lOption As Long, ByRef sBuffer As Any, ByRef lBufferLength As Long) As Integer

‘ Returns the version number of Wininet.dll.
Public Const INTERNET_OPTION_VERSION = 40

‘ Contains the version number of the DLL that contains the Windows Internet
‘ functions (Wininet.dll). This structure is used when passing the
‘ INTERNET_OPTION_VERSION flag to the InternetQueryOption function.
Public Type tWinInetDLLVersion
lMajorVersion As Long
lMinorVersion As Long
End Type

‘ Adds one or more HTTP request headers to the HTTP request handle.
Public Declare Function HttpAddRequestHeaders Lib “wininet.dll” Alias “HttpAddRequestHeadersA” _
(ByVal hHttpRequest As Long, ByVal sHeaders As String, ByVal lHeadersLength As Long, _
ByVal lModifiers As Long) As Integer

‘ Flags to modify the semantics of this function. Can be a combination of these values:

‘ Adds the header only if it does not already exist; otherwise, an error is returned.
Public Const HTTP_ADDREQ_FLAG_ADD_IF_NEW = &H10000000

‘ Adds the header if it does not exist. Used with REPLACE.
Public Const HTTP_ADDREQ_FLAG_ADD = &H20000000

‘ Replaces or removes a header. If the header value is empty and the header is found,
‘ it is removed. If not empty, the header value is replaced
Public Const HTTP_ADDREQ_FLAG_REPLACE = &H80000000

Form:

Dim bActiveSession As Boolean
Dim hOpen As Long, hConnection As Long
Dim dwType As Long

Dim EnumItemNameBag As New Collection
Dim EnumItemAttributeBag As New Collection


Private Sub Form_Load()
bActiveSession = False
hOpen = 0
hConnection = 0
chkPassive.Value = 1
optBin.Value = 1
dwType = FTP_TRANSFER_TYPE_BINARY
Dim imgI As ListImage
Set imgI = ImageList1.ListImages.Add(, “open”, LoadPicture(“open.bmp”))
Set imgI = ImageList1.ListImages.Add(, “closed”, LoadPicture(“closed.bmp”))
Set imgI = ImageList1.ListImages.Add(, “leaf”, LoadPicture(“leaf.bmp”))
Set imgI = ImageList1.ListImages.Add(, “root”, LoadPicture(“root.bmp”))
TreeView1.ImageList = ImageList1
TreeView1.Style = tvwTreelinesPictureText
EnableUI (False)
End Sub

Private Sub Form_Unload(Cancel As Integer)
cmdClosehOpen_Click
End Sub

Private Sub cmdInternetOpen_Click()
If Len(txtProxy.Text) <> 0 Then
hOpen = InternetOpen(scUserAgent, INTERNET_OPEN_TYPE_PROXY, txtProxy.Text, vbNullString, 0)
Else
hOpen = InternetOpen(scUserAgent, INTERNET_OPEN_TYPE_DIRECT, vbNullString, vbNullString, 0)
End If
If hOpen = 0 Then ErrorOut Err.LastDllError, “InternetOpen”
EnableUI (True)
End Sub

Private Sub cmdClosehOpen_Click()
If hConnection <> 0 Then InternetCloseHandle (hConnection)
If hOpen <> 0 Then InternetCloseHandle (hOpen)
hConnection = 0
hOpen = 0
If bActiveSession Then TreeView1.Nodes.Remove txtServer.Text
bActiveSession = False
ClearTextBoxAndBag
EnableUI (False)
End Sub

Private Sub cmdConnect_Click()
If Not bActiveSession And hOpen <> 0 Then
If txtServer.Text = “” Then
MsgBox “Please enter a server name!”
Exit Sub
End If
Dim nFlag As Long
If chkPassive.Value Then
nFlag = INTERNET_FLAG_PASSIVE
Else
nFlag = 0
End If
hConnection = InternetConnect(hOpen, txtServer.Text, INTERNET_INVALID_PORT_NUMBER, _
txtUser, txtPassword, INTERNET_SERVICE_FTP, nFlag, 0)
If hConnection = 0 Then
bActiveSession = False
ErrorOut Err.LastDllError, “InternetConnect”
Else
bActiveSession = True
EnableUI (CBool(hOpen))
FillTreeViewControl (txtServer.Text)
FtpEnumDirectory (“”)
If EnumItemNameBag.Count = 0 Then Exit Sub
FillTreeViewControl (txtServer.Text)
End If
End If
End Sub

Private Sub cmdDisconnect_Click()
bDirEmpty = True
If hConnection <> 0 Then InternetCloseHandle hConnection
hConnection = 0
ClearBag
TreeView1.Nodes.Remove txtServer.Text
bActiveSession = False
EnableUI (True)
End Sub

Private Sub ClearTextBoxAndBag()
txtServer.Text = “”
txtUser.Text = “”
txtPassword.Text = “”
txtProxy.Text = “”
ClearBag
End Sub

Private Sub ClearBag()
Dim Num As Integer
For Num = 1 To EnumItemNameBag.Count
EnumItemNameBag.Remove 1
Next Num
For Num = 1 To EnumItemAttributeBag.Count
EnumItemAttributeBag.Remove 1
Next Num
End Sub

Private Sub FillTreeViewControl(strParentKey As String)
Dim nodX As Node
Dim strImg As String
Dim nCount As Integer, i As Integer
Dim nAttr As Integer
Dim strItem As String

If EnumItemNameBag.Count = 0 And strParentKey = txtServer.Text Then
Set nodX = TreeView1.Nodes.Add(, tvwFirst, txtServer.Text, txtServer.Text, “root”)
Exit Sub
End If
nCount = EnumItemAttributeBag.Count
If nCount = 0 Then Exit Sub
For i = 1 To nCount
nAttr = EnumItemAttributeBag.Item(i)
strItem = EnumItemNameBag(i)
If nAttr = FILE_ATTRIBUTE_DIRECTORY Then
strImg = “closed”
Else
strImg = “leaf”
End If
Set nodX = TreeView1.Nodes.Add(strParentKey, tvwChild, strParentKey & “/” & strItem, _
strParentKey & “/” & strItem, strImg)
Next
nodX.EnsureVisible
End Sub

Private Sub cmdGet_Click()
Dim bRet As Boolean
Dim szFileRemote As String, szDirRemote As String, szFileLocal As String
Dim szTempString As String
Dim nPos As Long, nTemp As Long
Dim nodX As Node
Set nodX = TreeView1.SelectedItem
If bActiveSession Then
If nodX Is Nothing Then
MsgBox “Please select the item to GET!”
Exit Sub
End If
szTempString = TreeView1.SelectedItem.Text
szFileRemote = szTempString
nPos = 0
nTemp = 0
Do
nTemp = InStr(1, szTempString, “/”, vbBinaryCompare)
If nTemp = 0 Then Exit Do
szTempString = Right(szTempString, Len(szTempString) – nTemp)
nPos = nTemp + nPos
Loop
szDirRemote = Left(szFileRemote, nPos)
szFileRemote = Right(szFileRemote, Len(szFileRemote) – nPos)
szFileLocal = File1.Path
rcd szDirRemote
bRet = FtpGetFile(hConnection, szFileRemote, szFileLocal & “/” & szFileRemote, False, _
INTERNET_FLAG_RELOAD, dwType, 0)
File1.Refresh
If bRet = False Then ErrorOut Err.LastDllError, “FtpGetFile”
Else
MsgBox “Not in session”
End If
End Sub

Private Sub cmdPut_Click()
Dim bRet As Boolean
Dim szFileRemote As String, szDirRemote As String, szFileLocal As String
Dim szTempString As String
Dim nPos As Long, nTemp As Long
Dim nodX As Node
Set nodX = TreeView1.SelectedItem

If bActiveSession Then
If nodX Is Nothing Then
MsgBox “Please select a remote directory to PUT to!”
Exit Sub
End If
If nodX.Image = “leaf” Then
MsgBox “Please select a remote directory to PUT to!”
Exit Sub
End If
If File1.FileName = “” Then
MsgBox “Please select a local file to put”
Exit Sub
End If
szTempString = nodX.Text
szDirRemote = Right(szTempString, Len(szTempString) – Len(txtServer.Text))
szFileRemote = File1.FileName
szFileLocal = File1.Path & “\” & File1.FileName
If (szDirRemote = “”) Then szDirRemote = “\”
rcd szDirRemote

bRet = FtpPutFile(hConnection, szFileLocal, szFileRemote, _
dwType, 0)
If bRet = False Then
ErrorOut Err.LastDllError, “FtpPutFile”
Exit Sub
End If

Dim nodChild As Node, nodNextChild As Node
Set nodChild = nodX.Child
Do
If nodChild Is Nothing Then Exit Do
Set nodNextChild = nodChild.Next
TreeView1.Nodes.Remove nodChild.Index
If nodNextChild Is Nothing Then Exit Do
Set nodChild = nodNextChild
Loop
If nodX.Image = “closed” Then
nodX.Image = “open”
End If
FtpEnumDirectory (nodX.Text)
FillTreeViewControl (nodX.Text)
End If
End Sub

Private Sub Dir1_Change()
File1.Path = Dir1.Path
End Sub

Private Sub Drive1_Change()
On Error GoTo ErrProc
Dir1.Path = Drive1.Drive
Exit Sub
ErrProc:
Drive1.Drive = “c:”
Dir1.Path = Drive1.Drive
End Sub

Private Sub rcd(pszDir As String)
If pszDir = “” Then
MsgBox “Please enter the directory to CD”
Exit Sub
Else
Dim sPathFromRoot As String
Dim bRet As Boolean
If InStr(1, pszDir, txtServer.Text) Then
sPathFromRoot = Mid(pszDir, Len(txtServer.Text) + 1, Len(pszDir) – Len(txtServer.Text))
Else
sPathFromRoot = pszDir
End If
If sPathFromRoot = “” Then sPathFromRoot = “/”
bRet = FtpSetCurrentDirectory(hConnection, sPathFromRoot)
If bRet = False Then ErrorOut Err.LastDllError, “rcd”
End If
End Sub

Function ErrorOut(dError As Long, szCallFunction As String)
Dim dwIntError As Long, dwLength As Long
Dim strBuffer As String
If dError = ERROR_INTERNET_EXTENDED_ERROR Then
InternetGetLastResponseInfo dwIntError, vbNullString, dwLength
strBuffer = String(dwLength + 1, 0)
InternetGetLastResponseInfo dwIntError, strBuffer, dwLength

MsgBox szCallFunction & ” Extd Err: ” & dwIntError & ” ” & strBuffer


End If
If MsgBox(szCallFunction & ” Err: ” & dError & _
vbCrLf & “Close Connection and Session?”, vbYesNo) = vbYes Then
If hConnection Then InternetCloseHandle hConnection
If hOpen Then InternetCloseHandle hOpen
hConnection = 0
hOpen = 0
If bActiveSession Then TreeView1.Nodes.Remove txtServer.Text
bActiveSession = False
ClearTextBoxAndBag
EnableUI (False)
End If
End Function

Private Sub EnableUI(bEnabled As Boolean)
txtServer.Enabled = bEnabled
txtUser.Enabled = bEnabled
txtPassword.Enabled = bEnabled
cmdConnect.Enabled = bEnabled And Not bActiveSession
cmdDisconnect.Enabled = bEnabled And bActiveSession
chkPassive.Enabled = bEnabled
cmdClosehOpen.Enabled = bEnabled
cmdInternetOpen.Enabled = Not bEnabled
txtProxy.Enabled = Not bEnabled
optBin.Enabled = bEnabled
optAscii.Enabled = bEnabled
cmdGet.Enabled = bEnabled And bActiveSession
cmdPut.Enabled = bEnabled And bActiveSession
End Sub

Private Sub FtpEnumDirectory(strDirectory As String)

ClearBag
Dim hFind As Long
Dim nLastError As Long
Dim dError As Long
Dim ptr As Long
Dim pData As WIN32_FIND_DATA

If Len(strDirectory) > 0 Then rcd (strDirectory)
pData.cFileName = String(MAX_PATH, 0)
hFind = FtpFindFirstFile(hConnection, “*.*”, pData, 0, 0)
nLastError = Err.LastDllError

If hFind = 0 Then
If (nLastError = ERROR_NO_MORE_FILES) Then
MsgBox “This directory is empty!”
Else
ErrorOut nLastError, “FtpFindFirstFile”
End If
Exit Sub
End If

dError = NO_ERROR
Dim bRet As Boolean
Dim strItemName As String

EnumItemAttributeBag.Add pData.dwFileAttributes
strItemName = Left(pData.cFileName, InStr(1, pData.cFileName, String(1, 0), vbBinaryCompare) – 1)
EnumItemNameBag.Add strItemName
Do
pData.cFileName = String(MAX_PATH, 0)
bRet = InternetFindNextFile(hFind, pData)
If Not bRet Then
dError = Err.LastDllError
If dError = ERROR_NO_MORE_FILES Then
Exit Do
Else
ErrorOut dError, “InternetFindNextFile”
InternetCloseHandle (hFind)
Exit Sub
End If
Else
EnumItemAttributeBag.Add pData.dwFileAttributes
strItemName = Left(pData.cFileName, InStr(1, pData.cFileName, String(1, 0), vbBinaryCompare) – 1)
EnumItemNameBag.Add strItemName
End If
Loop

InternetCloseHandle (hFind)
End Sub

Private Sub optAscii_Click()
dwType = FTP_TRANSFER_TYPE_ASCII
End Sub

Private Sub optBin_Click()
dwType = FTP_TRANSFER_TYPE_BINARY
End Sub

Private Sub TreeView1_DblClick()
Dim nodX As Node
Set nodX = TreeView1.SelectedItem
If Not bActiveSession Then
MsgBox “No in session!”
Exit Sub
End If
If nodX Is Nothing Then
MsgBox “no Selection to enumerate”
End If
If nodX.Image = “closed” Then
nodX.Image = “open”
FtpEnumDirectory (nodX.Text)
FillTreeViewControl (nodX.Text)
Else
If nodX.Image = “open” Then
nodX.Image = “closed”
Dim nodChild As Node, nodNextChild As Node
Set nodChild = nodX.Child
Do
Set nodNextChild = nodChild.Next
TreeView1.Nodes.Remove nodChild.Index
If nodNextChild Is Nothing Then Exit Do
Set nodChild = nodNextChild
Loop
End If
End If
End Sub


Posted by Administrator in 07:28:56 | Permalink | No Comments »
Ping Network dgn VB

Option Explicit

Const SYNCHRONIZE = &H100000
Const INFINITE = &HFFFF
Const WAIT_OBJECT_0 = 0
Const WAIT_TIMEOUT = &H102

Dim stopflag As Boolean
Dim errorflag As Boolean

Dim mindelay As Integer
Dim maxdelay As Integer
Dim totaldelay As Long
Dim avgdelay As Integer
Dim lcount As Long
Dim pingMessage(26) As String
Dim ctrl
Private Declare Function SendMessage Lib “User32″ Alias “SendMessageA” (ByVal hWnd As Long, ByVal wMsg As Long, ByVal wParam As Long, lParam As Any) As Long
Private Declare Function OpenProcess Lib “kernel32″ (ByVal dwDesiredAccess As Long, ByVal bInheritHandle As Long, ByVal dwProcessId As Long) As Long
Private Declare Function WaitForSingleObject Lib “kernel32″ (ByVal hHandle As Long, ByVal dwMilliseconds As Long) As Long
Private Declare Function CloseHandle Lib “kernel32″ (ByVal hObject As Long) As Long

Private Sub cmdClear_Click()
Open “C:\log.txt” For Output As #1
Close #1
txtoutput.Text = “”
txtpinglog.Text = “”
End Sub

Private Sub chklog_Click()

End Sub

Private Sub cmdExit_Click()
Unload Me
End
End Sub

Private Sub cmdlog_Click()
Load frmlog
frmlog.Show 1
End Sub

Private Sub cmdPing_Click()
DoEvents
If cmdPing.Caption = “Ping” Then
lblstatus.Caption = “Pinging ” & txtIP.Text & ” with ” & txtbuffer.Text & “KB of data”
txtIP.Locked = True
cmdPing.BackColor = &HFF&
cmdlog.Enabled = False
cmdPing.Caption = “Stop”
stopflag = False
Else
stopflag = True
cmdPing.Caption = “Ping”
txtIP.Locked = False
cmdPing.BackColor = &H80FF80
cmdlog.Enabled = True
lblstatus.Caption = “Stopped”
End If

While stopflag = False
DoEvents

Dim ShellX As String
Dim lPid As Long
Dim lHnd As Long
Dim lRet As Long
Dim VarX As String
Dim Ptime As Integer
Dim pttl As Integer
Dim pbyte As Integer
Dim i As Integer
Dim pingresult As String
Dim tmin As Integer
Dim tmax As Integer
Dim tavg As Integer

If txtIP.Text <> “” Then
DoEvents
ShellX = Shell(“command.com /c ping -n 1 -l ” & txtbuffer.Text & ” ” & txtIP.Text & ” > C:\log.txt”, vbHide)
lPid = ShellX
If lPid <> 0 Then
lHnd = OpenProcess(SYNCHRONIZE, 0, lPid)
If lHnd <> 0 Then
lRet = WaitForSingleObject(lHnd, INFINITE)
CloseHandle (lHnd)
End If

frmmain.MousePointer = 0
Open “C:\log.txt” For Input As #1
txtoutput.Text = Input(LOF(1), 1)

pingresult = Trim(Mid(txtoutput.Text, InStr(1, txtoutput.Text, “:”) + 1, Len(txtoutput.Text) – (InStr(1, txtoutput.Text, “:”) + Len(Mid(txtoutput.Text, InStr(1, txtoutput.Text, “Ping “))))))

‘check for error
If InStr(1, pingresult, “Reply”) = 0 Then
Dim message As String
If InStr(1, pingresult, “Hardware”) <> 0 Then
message = “HARDWARE FAULT”
Else
If InStr(1, pingresult, “Request”) <> 0 Then
message = “Request time out”
Else
If InStr(1, pingresult, “Destination”) <> 0 Then
message = “Destination Computer is not reachable”
Else
message = pingresult
End If

End If
End If
pingresult = “ERROR with ” & txtIP.Text & “:” & message


‘pingmessage
txtpinglog.Text = “”
For i = 0 To 22
pingMessage(i) = pingMessage(i + 1)
If pingMessage(i + 1) <> “” Then
If txtpinglog.Text <> “” Then
txtpinglog.Text = txtpinglog.Text & vbCrLf
End If
txtpinglog.Text = txtpinglog.Text & pingMessage(i + 1)
End If
Next

pingMessage(23) = pingresult
If txtpinglog.Text <> “” Then
txtpinglog.Text = txtpinglog.Text & vbCrLf
End If
txtpinglog.Text = txtpinglog.Text & pingresult

For i = 0 To 31
pbrtime(i).Value = pbrtime(i + 1).Value
Next
pbrtime(32).Value = 0



‘loging
If chklog.Value = 1 Then
If errorflag = False Then
errorflag = True
Open “c:\pinglog.txt” For Append As #2
Print #2, Now
Print #2, pingresult
Print #2, String(91, “*”)
Close #2
End If
End If
lcount = 0
mindelay = 0
maxdelay = 0
avgdelay = 0
totaldelay = 0

lblmin = mindelay
lblmax = maxdelay
lblavg = avgdelay

Else
lcount = lcount + 1
Ptime = CInt(Mid(txtoutput.Text, InStr(1, txtoutput.Text, “time”) + 5, InStr(1, txtoutput.Text, “ms “) – InStr(1, txtoutput.Text, “time”) – 5))
pbyte = CInt(Mid(txtoutput.Text, InStr(1, txtoutput.Text, “bytes=”) + 6, InStr(1, txtoutput.Text, ” time”) – InStr(1, txtoutput.Text, “bytes=”) – 6))
pttl = CInt(Mid(pingresult, InStr(1, pingresult, “TTL=”) + 4, Len(pingresult) – InStr(1, pingresult, “TTL=”) – 5))

tmin = CInt(Mid(txtoutput.Text, InStr(1, txtoutput.Text, “Minimum = “) + 10, InStr(InStr(1, txtoutput.Text, “Minimum = “), txtoutput.Text, “ms,”) – InStr(1, txtoutput.Text, “Minimum = “) – 10))
tmax = CInt(Mid(txtoutput.Text, InStr(1, txtoutput.Text, “Maximum = “) + 10, InStr(InStr(1, txtoutput.Text, “Maximum = “), txtoutput.Text, “ms,”) – InStr(1, txtoutput.Text, “Maximum = “) – 10))
tavg = CInt(Mid(txtoutput.Text, InStr(1, txtoutput.Text, “Average = “) + 10, InStr(InStr(1, txtoutput.Text, “Average = “), txtoutput.Text, “ms”) – InStr(1, txtoutput.Text, “Average = “) – 10))

If mindelay = 0 Then mindelay = tmin

If tmin < mindelay Then
mindelay = tmin
End If
If tmax > maxdelay Then
maxdelay = tmax
End If
totaldelay = totaldelay + tavg
avgdelay = CInt(totaldelay / lcount)

lblmin = mindelay
lblmax = maxdelay
lblavg = avgdelay

If avgdelay > 0 Then
For Each ctrl In frmmain
If TypeOf ctrl Is ProgressBar Then
ctrl.Max = avgdelay * 10
End If
Next
End If



pingresult = “Reply from ” & txtIP.Text & “: bytes=” & pbyte & ” time=” & Ptime & “ms TTL=” & pttl
txtpinglog.Text = “”
For i = 0 To 22
pingMessage(i) = pingMessage(i + 1)
If pingMessage(i + 1) <> “” Then
If txtpinglog.Text <> “” Then
txtpinglog.Text = txtpinglog.Text & vbCrLf
End If
txtpinglog.Text = txtpinglog.Text & pingMessage(i + 1)
End If
Next
pingMessage(23) = pingresult
If txtpinglog.Text <> “” Then
txtpinglog.Text = txtpinglog.Text & vbCrLf
End If
txtpinglog.Text = txtpinglog.Text & pingresult



‘loging
If chklog.Value = 1 Then
If errorflag = True Then
errorflag = False
Open “c:\pinglog.txt” For Append As #2
Print #2, Now
Print #2, “Reconnected with ” & txtIP.Text
Print #2, String(91, “*”)
Close #2
End If
End If


On Error Resume Next
Ptime = CInt(Mid(txtoutput.Text, InStr(1, txtoutput.Text, “time=”) + 5, InStr(1, txtoutput.Text, “ms “) – InStr(1, txtoutput.Text, “time=”) – 5))
For i = 0 To 31
pbrtime(i).Value = pbrtime(i + 1).Value
Next
pbrtime(32).Value = Ptime

End If
Close #1
End If
Else
frmmain.MousePointer = 0
VarX = MsgBox(“You have not entered an ip address or the number of times you want to ping.”, vbCritical, “Error has occured”)
End If
Wend
End Sub

Private Sub Command1_Click()
Load frmAbout
frmAbout.Show 1
End Sub

Private Sub Form_Load()

errorflag = False
totaldelay = 0
mindelay = 0
maxdelay = 0
avgdelay = 0
lcount = 0

Open “C:\log.txt” For Output As #1
Close #1
End Sub

Private Sub SelectText(ByRef textObj As RichTextBox)
textObj.SelStart = 0
textObj.SelLength = Len(textObj)
End Sub

Private Sub Label6_Click()

End Sub

Private Sub Form_Unload(Cancel As Integer)
End
End Sub

Private Sub Label2_Click()

End Sub

Private Sub Slider1_Change()
Select Case Slider1.Value
Case 0: txtbuffer.Text = 1000
Case 1: txtbuffer.Text = 2000
Case 2: txtbuffer.Text = 3000
Case 3: txtbuffer.Text = 4000

End Select

lcount = 0
mindelay = 0
maxdelay = 0
avgdelay = 0
totaldelay = 0

lblmin = mindelay
lblmax = maxdelay
lblavg = avgdelay

End Sub

Private Sub Timer1_Timer()

End Sub

Private Sub txtIP_GotFocus()
Call SelectText(txtIP)
End Sub

Private Sub txtOutput_GotFocus()
‘ Call SelectText(txtoutput)
End Sub

Private Sub txtStatus_Click()
txtIP.SetFocus
End Sub

Posted by Administrator in 05:37:03 | Permalink | No Comments »

Keutamaan Surat Al-Fatihah


Pertama: Membaca Al-Fatihah Adalah Rukun Shalat

Nabi shallallahu ‘alaihi wa sallam bersabda yang artinya, “Tidak ada shalat bagi orang yang tidak membaca Fatihatul Kitab (Al Fatihah).” (HR. Bukhari dan Muslim dari Ubadah bin Shamit radhiyallahu ‘anhu)

Dalam sabda yang lain beliau mengatakan yang artinya, “Barangsiapa yang shalat tidak membaca Ummul Qur’an (surat Al Fatihah) maka shalatnya pincang (khidaaj).” (HR. Muslim)

Makna dari khidaaj adalah kurang, sebagaimana dijelaskan dalam hadits tersebut, “Tidak lengkap”. Berdasarkan hadits ini dan hadits sebelumnya para imam seperti imam Malik, Syafi’i, Ahmad bin Hanbal dan para sahabatnya, serta mayoritas ulama berpendapat bahwa hukum membaca Al Fatihah di dalam shalat adalah wajib, tidak sah shalat tanpanya.

Kedua: Al Fatihah Adalah Surat Paling Agung Dalam Al Quran

Dari Abu Sa’id Rafi’ Ibnul Mu’alla radhiyallahu ‘anhu, beliau mengatakan: Rasulullah shallallahu ‘alaihi wa sallam berkata kepadaku, “Maukah kamu aku ajari sebuah surat paling agung dalam Al Quran sebelum kamu keluar dari masjid nanti?” Maka beliau pun berjalan sembari menggandeng tanganku. Tatkala kami sudah hampir keluar maka aku pun berkata; Wahai Rasulullah, Anda tadi telah bersabda, “Aku akan mengajarimu sebuah surat paling agung dalam Al Quran?” Maka beliau bersabda, “(surat itu adalah) Alhamdulillaahi Rabbil ‘alamiin (surat Al Fatihah), itulah As Sab’ul Matsaani (tujuh ayat yang sering diulang-ulang dalam shalat) serta Al Quran Al ‘Azhim yang dikaruniakan kepadaku.” (HR. Bukhari, dinukil dari Riyadhush Shalihin cet. Darus Salam, hal. 270)

Penjelasan Tentang Bacaan Ta’awwudz dan Basmalah

Makna bacaan Ta’awwudz

أَعُوْذُ بِاللِه مِنَ الشََّيْطَانِ الرَّجِيْمِ

Artinya: “Aku berlindung kepada Allah dari godaan syaitan yang terkutuk.”

Maknanya: “Aku berlindung kepada Allah dari kejelekan godaan syaitan agar dia tidak menimpakan bahaya kepadaku dalam urusan agama maupun duniaku.” Syaitan selalu menempatkan dirinya sebagai musuh bagi kalian. Oleh sebab itu maka jadikanlah diri kalian sebagai musuh baginya. Syaitan bersumpah di hadapan Allah untuk menyesatkan umat manusia. Allah menceritakan sumpah syaitan ini di dalam Al Quran,

قَالَ فَبِعِزَّتِكَ لَأُغْوِيَنَّهُمْ أَجْمَعِينَ إِلَّا عِبَادَكَ مِنْهُمُ الْمُ

“Demi kemuliaan-Mu sungguh aku akan menyesatkan mereka semua, kecuali hamba-hamba-Mu yang terpilih (yang diberi anugerah keikhlasan).” (QS. Shaad: 82-83)

Dengan demikian tidak ada yang bisa selamat dari jerat-jerat syaitan kecuali orang-orang yang ikhlas.

Isti’adzah/ta’awwudz (meminta perlindungan) adalah ibadah. Oleh sebab itu ia tidak boleh ditujukan kepada selain Allah. Karena menujukan ibadah kepada selain Allah adalah kesyirikan. Orang yang baik tauhidnya akan senantiasa merasa khawatir kalau-kalau dirinya terjerumus dalam kesyirikan. Sebagaimana Nabi Ibrahim ‘alaihis salam yang demikian takut kepada syirik sampai-sampai beliau berdoa kepada Allah,

ً وَاجْنُبْنِي وَبَنِيَّ أَن نَّعْبُدَ الأَصْنَامَ

“Dan jauhkanlah aku dan anak keturunanku dari penyembahan berhala.” (QS. Ibrahim: 35)

Ini menunjukkan bahwasanya tauhid yang kokoh akan menyisakan kelezatan di dalam hati kaum yang beriman. Yang bisa merasakan kelezatannya hanyalah orang-orang yang benar-benar memahaminya. Syaitan yang berusaha menyesatkan umat manusia ini terdiri dari golongan jin dan manusia. Hal itu sebagaimana disebutkan oleh Allah di dalam ayat yang artinya,

وَكَذَلِكَ جَعَلْنَا لِكُلِّ نِبِيٍّ عَدُوّاً شَيَاطِينَ الإِنسِ وَالْجِنِّ يُوحِي بَعْضُهُمْ إِلَى بَعْضٍ زُخْرُفَ الْقَوْلِ غُرُوراً

“Dan demikianlah Kami jadikan musuh bagi setiap Nabi yaitu (musuh yang berupa) syaithan dari golongan manusia dan jin. Sebagian mereka mewahyukan kepada sebagian yang lain ucapan-ucapan yang indah untuk memperdaya (manusia).” (QS. Al An’aam: 112) (Diringkas dari Syarhu Ma’aani Suuratil Faatihah, Syaikh Shalih bin Abdul ‘Aziz Alus Syaikh hafizhahullah).

Makna bacaan Basmalah

بِسْمِ اللهِ الرَّحْمنِ الرَّحِيمِ

Artinya: “Dengan menyebut nama Allah yang Maha Pemurah lagi Maha Penyayang.”

Maknanya; “Aku memulai bacaanku ini seraya meminta barokah dengan menyebut seluruh nama Allah.” Meminta barokah kepada Allah artinya meminta tambahan dan peningkatan amal kebaikan dan pahalanya. Barokah adalah milik Allah. Allah memberikannya kepada siapa saja yang dikehendaki-Nya. Jadi barokah bukanlah milik manusia, yang bisa mereka berikan kepada siapa saja yang mereka kehendaki (Syarhu Ma’aani Suratil Fatihah, Syaikh Shalih bin Abdul ‘Aziz Alus Syaikh hafizhahullah).

Allah adalah satu-satunya sesembahan yang berhak diibadahi dengan disertai rasa cinta, takut dan harap. Segala bentuk ibadah hanya boleh ditujukan kepada-Nya. Ar-Rahman dan Ar-Rahiim adalah dua nama Allah di antara sekian banyak Asma’ul Husna yang dimiliki-Nya. Maknanya adalah Allah memiliki kasih sayang yang begitu luas dan agung. Rahmat Allah meliputi segala sesuatu. Akan tetapi Allah hanya melimpahkan rahmat-Nya yang sempurna kepada hamba-hamba yang bertakwa dan mengikuti ajaran para Nabi dan Rasul. Mereka inilah orang-orang yang akan mendapatkan rahmat yang mutlak yaitu rahmat yang akan mengantarkan mereka menuju kebahagiaan abadi. Adapun orang yang tidak bertakwa dan tidak mengikuti ajaran Nabi maka dia akan terhalangi mendapatkan rahmat yang sempurna ini (lihat Taisir Lathifil Mannaan, hal. 19).

Penjelasan Kandungan Surat

Makna Ayat Pertama

الْحَمْدُ للّهِ رَبِّ الْعَالَمِ

Artinya: “Segala puji bagi Allah Rabb seru sekalian alam.”

Makna Alhamdu adalah pujian kepada Allah karena sifat-sifat kesempurnaan-Nya. Dan juga karena perbuatan-perbuatanNya yang tidak pernah lepas dari sifat memberikan karunia atau menegakkan keadilan. Perbuatan Allah senantiasa mengandung hikmah yang sempurna. Pujian yang diberikan oleh seorang hamba akan semakin bertambah sempurna apabila diiringi dengan rasa cinta dan ketundukkan dalam dirinya kepada Allah. Karena pujian semata yang tidak disertai dengan rasa cinta dan ketundukkan bukanlah pujian yang sempurna.

Makna dari kata Rabb adalah Murabbi (yang mentarbiyah; pembimbing dan pemelihara). Allahlah Zat yang memelihara seluruh alam dengan berbagai macam bentuk tarbiyah. Allahlah yang menciptakan mereka, memberikan rezeki kepada mereka, memberikan nikmat kepada mereka, baik nikmat lahir maupun batin. Inilah bentuk tarbiyah umum yang meliputi seluruh makhluk, yang baik maupun yang jahat. Adapun tarbiyah yang khusus hanya diberikan Allah kepada para Nabi dan pengikut-pengikut mereka. Di samping tarbiyah yang umum itu Allah juga memberikan kepada mereka tarbiyah yang khusus yaitu dengan membimbing keimanan mereka dan menyempurnakannya. Selain itu, Allah juga menolong mereka dengan menyingkirkan segala macam penghalang dan rintangan yang akan menjauhkan mereka dari kebaikan dan kebahagiaan mereka yang abadi. Allah memberikan kepada mereka berbagai kemudahan dan menjaga mereka dari hal-hal yang dibenci oleh syariat.

Dari sini kita mengetahui betapa besar kebutuhan alam semesta ini kepada Rabbul ‘alamiin karena hanya Dialah yang menguasai itu semua. Allah satu-satunya pengatur, pemberi hidayah dan Allah lah Yang Maha kaya. Oleh sebab itu semua makhluk yang ada di langit dan di bumi ini meminta kepada-Nya. Mereka semua meminta kepada-Nya, baik dengan ucapan lisannya maupun dengan ekspresi dirinya. Kepada-Nya lah mereka mengadu dan meminta tolong di saat-saat genting yang mereka alami (lihat Taisir Lathiifil Mannaan, hal. 20).

Makna Ayat Kedua

الرَّحْمـنِ الرَّحِيمِ

Artinya: “Yang Maha Pemurah lagi Maha Penyayang.”

Ar-Rahman dan Ar-Rahiim adalah nama Allah. Sebagaimana diyakini oleh Ahlusunnah wal Jama’ah bahwa Allah memiliki nama-nama yang terindah. Allah ta’ala berfirman,

“Milik Allah nama-nama yang terindah, maka berdo’alah kepada Allah dengan menyebutnya.” (QS. Al A’raaf: 180)

Setiap nama Allah mengandung sifat. Oleh sebab itu beriman kepada nama-nama dan sifat-sifat Allah merupakan bagian yang tak terpisahkan dari keimanan kepada Allah. Dalam mengimani nama-nama dan sifat-sifat Allah ini kaum muslimin terbagi menjadi 3 golongan yaitu: (1) Musyabbihah, (2) Mu’aththilah dan (3) Ahlusunnah wal Jama’ah.

Musyabbihah adalah orang-orang yang menyerupakan sifat-sifat Allah dengan sifat makhluk. Mereka terlalu mengedepankan sisi penetapan nama dan sifat dan mengabaikan sisi penafian keserupaan sehingga terjerumus dalam tasybih (peyerupaan). Adapun Mu’aththilah adalah orang-orang yang menolak nama atau sifat-sifat Allah. Mereka terlalu mengedepankan sisi penafian sehingga terjerumus dalam ta’thil (penolakan). Ahlusunnah berada di tengah-tengah. Mereka mengimani dalil-dalil yang menetapkan nama dan sifat sekaligus mengimani dalil-dalil yang menafikan keserupaan. Sehingga mereka selamat dari tindakan tasybih maupun ta’thil. Oleh sebab itu mereka menyucikan Allah tanpa menolak nama maupun sifat. Mereka menetapkan nama dan sifat tapi tanpa menyerupakannya dengan makhluk. Inilah akidah yang dipegang oleh Rasulullah shallallahu ‘alaihi wa sallam dan para sahabatnya serta para imam dan pengikut mereka yang setia hingga hari ini. Inilah aqidah yang tersimpan dalam ayat yang mulia yang artinya,

“Tidak ada sesuatupun yang serupa dengan-Nya, dan Dia Maha Mendengar lagi Maha Melihat.” (QS. Asy Syuura: 11) (silakan baca Al ‘Aqidah Al Wasithiyah karya Syaikhul Islam Ibnu Taimiyah dan juga ‘Aqidah Ahlis Sunnah wal Jama’ah karya Syaikh Ibnu Utsaimin rahimahumallahu ta’ala).

Allah Maha Mendengar dan juga Maha Melihat. Akan tetapi pendengaran dan penglihatan Allah tidak sama dengan pendengaran dan penglihatan makhluk. Meskipun namanya sama akan tetapi hakikatnya berbeda. Karena Allah adalah Zat Yang Maha Sempurna sedangkan makhluk adalah sosok yang penuh dengan kekurangan. Sebagaimana sifat makhluk itu terbatas dan penuh kekurangan karena disandarkan kepada diri makhluk yang diliputi sifat kekurangan. Maka demikian pula sifat Allah itu sempurna karena disandarkan kepada sosok yang sempurna. Sehingga orang yang tidak mau mengimani kandungan hakiki nama-nama dan sifat-sifat Allah sebenarnya telah berani melecehkan dan berbuat lancang kepada Allah. Mereka tidak mengagungkan Allah dengan sebagaimana semestinya. Lalu adakah tindakan jahat yang lebih tercela daripada tindakan menolak kandungan nama dan sifat Allah ataupun menyerupakannya dengan makhluk? Di dalam ayat ini Allah menamai diri-Nya dengan Ar-Rahman dan Ar-Rahiim. Di dalamnya terkandung sifat Rahmah (kasih sayang). Akan tetapi kasih sayang Allah tidak serupa persis dengan kasih sayang makhluk.

Makna Ayat Ketiga

مَالِكِ يَوْمِ الدِّينِ

Artinya: “Yang Menguasai pada hari pembalasan.”

Maalik adalah zat yang memiliki kekuasaan atau penguasa. Penguasa itu berhak untuk memerintah dan melarang orang-orang yang berada di bawah kekuasaannya. Dia juga yang berhak untuk mengganjar pahala dan menjatuhkan hukuman kepada mereka. Dialah yang berkuasa untuk mengatur segala sesuatu yang berada di bawah kekuasaannya menurut kehendaknya sendiri. Bagian awal ayat ini boleh dibaca Maalik (dengan memanjangkan mim) atau Malik (dengan memendekkan mim). Maalik maknanya penguasa atau pemilik. Sedangkan Malik maknanya raja.

Yaumid diin adalah hari kiamat. Disebut sebagai hari pembalasan karena pada saat itu seluruh umat manusia akan menerima balasan amal baik maupun buruk yang mereka kerjakan sewaktu di dunia. Pada hari itulah tampak dengan sangat jelas bagi manusia kemahakuasaan Allah terhadap seluruh makhluk-Nya. Pada saat itu akan tampak sekali kesempurnaan dari sifat adil dan hikmah yang dimiliki Allah. Pada saat itu seluruh raja dan penguasa yang dahulunya berkuasa di alam dunia sudah turun dari jabatannya. Hanya tinggal Allah sajalah yang berkuasa. Pada saat itu semuanya setara, baik rakyat maupun rajanya, budak maupun orang merdeka. Mereka semua tunduk di bawah kemuliaan dan kebesaran-Nya. Mereka semua menantikan pembalasan yang akan diberikan oleh-Nya. Mereka sangat mengharapkan pahala kebaikan dari-Nya. Dan mereka sungguh sangat khawatir terhadap siksa dan hukuman yang akan dijatuhkan oleh-Nya. Oleh karena itu di dalam ayat ini hari pembalasan itu disebutkan secara khusus. Allah adalah penguasa hari pembalasan. Meskipun sebenarnya Allah jugalah penguasa atas seluruh hari yang ada. Allah tidak hanya berkuasa atas hari kiamat atau hari pembalasan saja (lihat Taisir Karimir Rahman, hal. 39).

Makna Ayat Keempat

إِيَّاكَ نَعْبُدُ وإِيَّاكَ نَسْتَعِينُ

Artinya: “Hanya kepada-Mu lah Kami beribadah dan hanya kepada-Mu lah Kami meminta pertolongan.”

Maknanya: “Kami hanya menujukan ibadah dan isti’anah (permintaan tolong) kepada-Mu.” Di dalam ayat ini objek kalimat yaitu Iyyaaka diletakkan di depan. Padahal asalnya adalah na’buduka yang artinya Kami menyembah-Mu. Dengan mendahulukan objek kalimat yang seharusnya di belakang menunjukkan adanya pembatasan dan pengkhususan. Artinya ibadah hanya boleh ditujukan kepada Allah. Tidak boleh menujukan ibadah kepada selain-Nya. Sehingga makna dari ayat ini adalah, ‘Kami menyembah-Mu dan kami tidak menyembah selain-Mu. Kami meminta tolong kepada-Mu dan kami tidak meminta tolong kepada selain-Mu.

Ibadah adalah segala sesuatu yang dicintai dan diridhai oleh Allah. Ibadah bisa berupa perkataan maupun perbuatan. Ibadah itu ada yang tampak dan ada juga yang tersembunyi. Kecintaan dan ridha Allah terhadap sesuatu bisa dilihat dari perintah dan larangan-Nya. Apabila Allah memerintahkan sesuatu maka sesuatu itu dicintai dan diridai-Nya. Dan sebaliknya, apabila Allah melarang sesuatu maka itu berarti Allah tidak cinta dan tidak ridha kepadanya. Dengan demikian ibadah itu luas cakupannya. Di antara bentuk ibadah adalah do’a, berkurban, bersedekah, meminta pertolongan atau perlindungan, dan lain sebagainya. Dari pengertian ini maka isti’anah atau meminta pertolongan juga termasuk cakupan dari istilah ibadah. Lalu apakah alasan atau hikmah di balik penyebutan kata isti’anah sesudah disebutkannya kata ibadah di dalam ayat ini?

Syaikh Abdurrahman bin Nashir As-Sa’di rahimahulah berkata, “Didahulukannya ibadah sebelum isti’anah ini termasuk metode penyebutan sesuatu yang lebih umum sebelum sesuatu yang lebih khusus. Dan juga dalam rangka lebih mengutamakan hak Allah ta’ala di atas hak hamba-Nya….”

Beliau pun berkata, “Mewujudkan ibadah dan isti’anah kepada Allah dengan benar itu merupakan sarana yang akan mengantarkan menuju kebahagiaan yang abadi. Dia adalah sarana menuju keselamatan dari segala bentuk kejelekan. Sehingga tidak ada jalan menuju keselamatan kecuali dengan perantara kedua hal ini. Dan ibadah hanya dianggap benar apabila bersumber dari Rasulullah shallallahu ‘alaihi wa sallam dan ditujukan hanya untuk mengharapkan wajah Allah (ikhlas). Dengan dua perkara inilah sesuatu bisa dinamakan ibadah. Sedangkan penyebutan kata isti’anah setelah kata ibadah padahal isti’anah itu juga bagian dari ibadah maka sebabnya adalah karena hamba begitu membutuhkan pertolongan dari Allah ta’ala di dalam melaksanakan seluruh ibadahnya. Seandainya dia tidak mendapatkan pertolongan dari Allah maka keinginannya untuk melakukan perkara-perkara yang diperintahkan dan menjauhi hal-hal yang dilarang itu tentu tidak akan bisa tercapai.” (Taisir Karimir Rahman, hal. 39).

Makna Ayat Kelima

اهدِنَــــا الصِّرَاطَ المُستَقِيمَ

Artinya: “Tunjukilah Kami jalan yang lurus.”

Maknanya: “Tunjukilah, bimbinglah dan berikanlah taufik kepada kami untuk meniti shirathal mustaqiim yaitu jalan yang lurus.” Jalan lurus itu adalah jalan yang terang dan jelas serta mengantarkan orang yang berjalan di atasnya untuk sampai kepada Allah dan berhasil menggapai surga-Nya. Hakikat jalan lurus (shirathal mustaqiim) adalah memahami kebenaran dan mengamalkannya. Oleh karena itu ya Allah, tunjukilah kami menuju jalan tersebut dan ketika kami berjalan di atasnya. Yang dimaksud dengan hidayah menuju jalan lurus yaitu hidayah supaya bisa memeluk erat-erat agama Islam dan meninggalkan seluruh agama yang lainnya. Adapun hidayah di atas jalan lurus ialah hidayah untuk bisa memahami dan mengamalkan rincian-rincian ajaran Islam. Dengan begitu do’a ini merupakan salah satu do’a yang paling lengkap dan merangkum berbagai macam kebaikan dan manfaat bagi diri seorang hamba. Oleh sebab itulah setiap insan wajib memanjatkan do’a ini di dalam setiap rakaat shalat yang dilakukannya. Tidak lain dan tidak bukan karena memang hamba begitu membutuhkan do’a ini (lihat Taisir Karimir Rahman, hal. 39).

Makna Ayat Keenam

صِرَاطَ الَّذِينَ أَنعَمتَ عَلَيهِمْ

Artinya: “Yaitu jalannya orang-orang yang Engkau berikan nikmat atas mereka.”

Siapakah orang-orang yang diberi nikmat oleh Allah? Di dalam ayat yang lain disebutkan bahwa mereka ini adalah para Nabi, orang-orang yang shiddiq/jujur dan benar, para pejuang Islam yang mati syahid dan orang-orang salih. Termasuk di dalam cakupan ungkapan ‘orang yang diberi nikmat’ ialah setiap orang yang diberi anugerah keimanan kepada Allah ta’ala, mengenal-Nya dengan baik, mengetahui apa saja yang dicintai-Nya, mengerti apa saja yang dimurkai-Nya, selain itu dia juga mendapatkan taufik untuk melakukan hal-hal yang dicintai tersebut dan meninggalkan hal-hal yang membuat Allah murka. Jalan inilah yang akan mengantarkan hamba menggapai keridhaan Allah ta’ala. Inilah jalan Islam. Islam yang ditegakkan di atas landasan iman, ilmu, amal dan disertai dengan menjauhi perbuatan-perbuatan syirik dan kemaksiatan. Sehingga dengan ayat ini kita kembali tersadar bahwa Islam yang kita peluk selama ini merupakan anugerah nikmat dari Allah ta’ala. Dan untuk bisa menjalani Islam dengan baik maka kita pun sangat membutuhkan sosok teladan yang bisa dijadikan panutan (lihat Aisarut Tafaasir, hal. 12).

Makna Ayat Ketujuh

غَيرِ المَغضُوبِ عَلَيهِمْ وَلاَ الضَّالِّينَ

Artinya: “Bukan jalannya orang-orang yang dimurkai dan bukan pula jalan orang-orang yang tersesat.”

Orang yang dimurkai adalah orang yang sudah mengetahui kebenaran akan tetapi tidak mau mengamalkannya. Contohnya adalah kaum Yahudi dan semacamnya. Sedangkan orang yang tersesat adalah orang yang tidak mengamalkan kebenaran gara-gara kebodohan dan kesesatan mereka. Contohnya adalah orang-orang Nasrani dan semacamnya. Sehingga di dalam ayat ini tersimpan motivasi dan dorongan kepada kita supaya menempuh jalan kaum yang shalih. Ayat ini juga memperingatkan kepada kita untuk menjauhi jalan yang ditempuh oleh orang-orang yang sesat dan menyimpang (lihat Aisarut Tafaasir, hal. 13 dan Taisir Karimir Rahman hal. 39).

Kesimpulan Isi Surat

Surat yang demikian ringkas ini sesungguhnya telah merangkum berbagai pelajaran yang tidak terangkum secara terpadu di dalam surat-surat yang lain di dalam Al Quran. Surat ini mengandung intisari ketiga macam tauhid. Di dalam penggalan ayat Rabbil ‘alamiin terkandung makna tauhid rububiyah. Tauhid rububiyah adalah mengesakan Allah dalam hal perbuatan-perbuatanNya seperti mencipta, memberi rezeki dan lain sebagainya. Di dalam kata Allah dan Iyyaaka na’budu terkandung makna tauhid uluhiyah. Tauhid uluhiyah adalah mengesakan Allah dalam bentuk beribadah hanya kepada-Nya. Demikian juga di dalam penggalan ayat Alhamdu terkandung makna tauhid asma’ wa sifat. Tauhid asma’ wa sifat adalah mengesakan Allah dalam hal nama-nama dan sifat-sifatNya. Allah telah menetapkan sifat-sifat kesempurnaan bagi diri-Nya sendiri. Demikian pula Rasul shallallahu’alaihi wa sallam. Maka kewajiban kita adalah mengikuti Allah dan Rasul-Nya dalam menetapkan sifat-sifat kesempurnaan itu benar-benar dimiliki oleh Allah. Kita mengimani ayat ataupun hadits yang berbicara tentang nama dan sifat Allah sebagaimana adanya, tanpa menolak maknanya ataupun menyerupakannya dengan sifat makhluk.

Selain itu surat ini juga mencakup intisari masalah kenabian yaitu tersirat dari ayat Ihdinash shirathal mustaqiim. Sebab jalan yang lurus tidak akan bisa ditempuh oleh hamba apabila tidak ada bimbingan wahyu yang dibawa oleh Rasul. Surat ini juga menetapkan bahwasanya amal-amal hamba itu pasti ada balasannya. Hal ini tampak dari ayat Maaliki yaumid diin. Karena pada hari kiamat nanti amal hamba akan dibalas. Dari ayat ini juga bisa ditarik kesimpulan bahwa balasan yang diberikan itu berdasarkan prinsip keadilan, karena makna kata diin adalah balasan dengan adil. Bahkan di balik untaian ayat ini terkandung penetapan takdir. Hamba berbuat di bawah naungan takdir, bukan terjadi secara merdeka di luar takdir Allah ta’ala sebagaimana yang diyakini oleh kaum Qadariyah (penentang takdir). Dan menetapkan bahwasanya hamba memang benar-benar pelaku atas perbuatan-perbuatanNya. Hamba tidaklah dipaksa sebagaimana keyakinan kaum Jabriyah. Bahkan di dalam ayat Ihdinash shirathal mustaqiim itu terdapat intisari bantahan kepada seluruh ahli bid’ah dan penganut ajaran sesat. Karena pada hakikatnya semua pelaku kebid’ahan maupun penganut ajaran sesat itu pasti menyimpang dari jalan yang lurus; yaitu memahami kebenaran dan mengamalkannya. Surat ini juga mengandung makna keharusan untuk mengikhlaskan ketaatan dalam beragama demi Allah ta’ala semata. Ibadah maupun isti’anah, semuanya harus lillaahi ta’aala. Kandungan ini tersimpan di dalam ayat Iyyaka na’budu wa iyyaaka nasta’iin (disadur dari Taisir Karimir Rahman, hal. 40).

Allaahu akbar, sungguh menakjubkan isi surat ini. Maka tidak aneh apabila Rasulullah shallallahu ‘alaihi wa sallam menyebutnya sebagai surat paling agung di dalam Al Quran.

Ya Allah, karuniakanlah kepada kami ilmu yang bermanfaat. Jauhkanlah kami dari jalan orang yang dimurkai dan sesat. Sesungguhnya Engkau Maha Mendengar lagi Mengabulkan do’a. Wallahu a’lam bish shawaab.

***

Penyusun: Abu Muslih Ari Wahyudi
Artikel www.muslim.or.id

http://www.alquran-sunnah.com/artikel/murajaa/351-tafsir-surat-al-fatihah.html