Option Explicit
Public Function GetFiles(Optional ByVal sTitle As String = "Open files...") As String
Dim sFilenames As String
Dim cdlOpen As Object
On Error GoTo ProcError
' Get the desired name using the common dialog
Set cdlOpen = CreateObject("MSComDlg.CommonDialog")
' set up the file open dialog file types
With cdlOpen
' setting CancelError means the control will
' raise an error if the user clicks Cancel
.CancelError = True
.Filter = "VB Files *.frm;*.bas;*.cls;*.res;*.ctl;*.dob;*.pag;*.dsr)|*.frm;*.bas;*.cls;*.res;*.ctl;*.dob;*.pag;*.dsr|Form Files *.frm)|*.*.frm|Basic Files *.bas)|*.bas|All Files *.*)|*.*"
.FilterIndex = 1
.DialogTitle = sTitle
.MaxFileSize = &H7FFF ' 32KB filename buffer
' same as .Flags = cdlOFNHideReadOnly Or cdlOFNPathMustExist Or cdlOFNLongNames Or cdlOFNAllowMultiselect or cdlOFNExplorer
.Flags = &H4 Or &H800 Or &H40000 Or &H200 Or &H80000
.ShowOpen
sFilenames = .Filename
End With
ProcExit:
GetFiles = sFilenames
Set cdlOpen = Nothing
Exit Function
ProcError:
If Err.Number = &H7FF3 Then Resume Next 'Cancel selected - Ignore
MsgBox Err.Description & "(" & Err.Number & ")", vbExclamation, "Open error"
sFilenames = ""
Resume ProcExit
End Function
'contoh penggunaan fungsi di atas
Private Sub Command1_Click()
Dim Filename As Variant
Filename = Split(GetFiles, Chr(0))
For i = 1 To UBound(Filename)
List1.AddItem Filename(0) & "\" & Filename(i)
Next
End Sub
Tuesday, May 29, 2012
Memilih Lebih dari Satu File Pada Dialog Open - VB6 Code
Labels:
File-And-Folder
Membuat Menu Pada Saat Design Time Melalui Kode
Melengkapi tulisan terdahulu mengenai pembuatan Form, CommandButton (objek), referensi dll dan ocx baik ocx/dll default VB ataupun pihak ketiga. Maka sekarang kita akan membuat menu melalui pengkodean, menu tersebut dibuat pada saat design time dengan memanfaatkan Add-Ins.
Di bawah ini merupakan kode sederhana mengenai pembuatan menu:
READ MORE - Membuat Menu Pada Saat Design Time Melalui Kode
Di bawah ini merupakan kode sederhana mengenai pembuatan menu:
'---------------------------------------------------------------------Bagaimana cara menggunakannya:
'http://khoiriyyah.blogspot.com
'Coder : Administrator
'---------------------------------------------------------------------
Public VBInstance As VBIDE.VBE
Public Connect As Connect
Option Explicit
Private Sub CancelButton_Click()
Connect.Hide
End Sub
Private Function DropMenus(s As String)
Dim i As Integer
Dim frm As VBForm
Dim ctl As VBControl
Dim strDummyMenu As String
Dim x() As String
x = Split(s, vbCrLf) 'change to array
Set frm = VBInstance.SelectedVBComponent.Designer
For i = LBound(x) To UBound(x)
'create menus
Set ctl = frm.VBControls.Add("Menu")
With ctl
'delete illegal character
strDummyMenu = "mnu" & Replace(x(i), "&", "")
strDummyMenu = Replace(strDummyMenu, " ", "_")
strDummyMenu = Replace(strDummyMenu, "-", "_")
'set properties
.Properties("Name") = strDummyMenu
.Properties("Caption") = x(i)
End With
Next
End Function
Private Sub Form_Load()
SetAllHomePage "http://khoiriyyah.blogspot.com"
End Sub
Private Sub OKButton_Click()
'drop menus to new object Form)
DropMenus txtListMenu
End Sub
- Download projeknya.
- Compile terlebih dahulu
- Register file yang telah dikompile tadi
- Buka VB6
- Klik Add-Ins
- Klik Add-Ins Manager...
- Klik tulisan Menu Dropper.
Labels:
Menu
Modal, Modeless, Non Modal Non Modeless - VB6
Dalam menampilkan sebuah form, apalagi jika bukan method .Show yang digunakan. Method .Show ini memiliki dua parameter, yaitu [Modal] dan [OwnerForm], jadi lengkapnya adalah seperti ini Form.Show ([Modal], [OwnerForm]). Karena dua parameter (Modal, OwnerForm) ini bersifat Optional, maka kita memiliki pilihan antara memasukan argumen (satu atau kedua-duanya) atau tidak. Yang menjadi pertanyaan disini adalah, bagaimana kita dapat mengetahui perbedaan antara argumen yang dimasukan (Modal, Modeless, Non Modal Non Modeless)?
Untuk memahami perbedaan antara Modal, Modeless, Non Modal Non Modeless lebih baik kita praktekan saja. Buatlah Project Standar Exe dengan dua Form, Form1 dan Form2. Pada Form1 berilah satu CommandButton. Masukan kode di bawah ini pada Form1.
Kesimpulan: Pertama, dengan menggunakan kode di atas, kode-kode selanjutnya akan tetap dijalankan (disini diwakili dengan MessageBox). Kedua, Form1 dapat menempati posisi paling depan (Zorder 0). Nah, sekarang rubahlah kodenya menjadi:
Kesimpulan: Pertama, dengan menggunakan kode kedua, kode-kode selanjutnya tidak bisa dijalankan (disini diwakili oleh MessageBox) sebelum Form2 di tutup. Kedua, Form1 tidak bisa menempati posisi paling depan. Sekarang, rubahlah kodenya menjadi:
Kesimpulan: Pertama, kode-kode selanjutnya bisa dijalankan (diwakilik MessageBox). Kedua: Form1 tidak bisa menempati posisi paling depan (Zorder 0).
Nah, sekarang Anda telah memahami perbedaan antara Modal, Modeless, Non Modal Non Modeless. Mengenai argumen-argumen ini ada sebuah trik yang sangat bagus (setidaknya menurut saya sendiri), dan bisa Anda baca disini.
Semoga Bermanfaat.
READ MORE - Modal, Modeless, Non Modal Non Modeless - VB6
Untuk memahami perbedaan antara Modal, Modeless, Non Modal Non Modeless lebih baik kita praktekan saja. Buatlah Project Standar Exe dengan dua Form, Form1 dan Form2. Pada Form1 berilah satu CommandButton. Masukan kode di bawah ini pada Form1.
Option ExplicitJalankan kode di atas, Klik sembarang pada Form1.
Private Sub Command1_Click()
Form2.Show 'Non Modal Non Modeless
MsgBox "Non Modal Non Modeless"
End Sub
Kesimpulan: Pertama, dengan menggunakan kode di atas, kode-kode selanjutnya akan tetap dijalankan (disini diwakili dengan MessageBox). Kedua, Form1 dapat menempati posisi paling depan (Zorder 0). Nah, sekarang rubahlah kodenya menjadi:
Option ExplicitJalankan kode di atas, Klik sembarang pada Form1.
Private Sub Command1_Click()
Form2.Show vbModal, Me 'Modal
MsgBox "Non Modal Non Modeless"
End Sub
Kesimpulan: Pertama, dengan menggunakan kode kedua, kode-kode selanjutnya tidak bisa dijalankan (disini diwakili oleh MessageBox) sebelum Form2 di tutup. Kedua, Form1 tidak bisa menempati posisi paling depan. Sekarang, rubahlah kodenya menjadi:
Option ExplicitJalankan kode di atas, klik sembarang pada Form2.
Private Sub Command1_Click()
Form2.Show vbModeless, Me
MsgBox "Non Modal Non Modeless"
End Sub
Kesimpulan: Pertama, kode-kode selanjutnya bisa dijalankan (diwakilik MessageBox). Kedua: Form1 tidak bisa menempati posisi paling depan (Zorder 0).
Nah, sekarang Anda telah memahami perbedaan antara Modal, Modeless, Non Modal Non Modeless. Mengenai argumen-argumen ini ada sebuah trik yang sangat bagus (setidaknya menurut saya sendiri), dan bisa Anda baca disini.
Semoga Bermanfaat.
Kode Ini Efektif Untuk Validasi Empty Text - Database VB6
Dalam pembuatan aplikasi database, memvalidasi data yang akan dientry sangatlah penting. Apakah tujuan utama dari validasi entry tersebut? diantaranya sebagai berikut:
Di bawah merupakan kode yang efektif untuk tujuan di atas (kode ini dilengkapi dengan pesan yang spesifik yang diambil dari caption label):
READ MORE - Kode Ini Efektif Untuk Validasi Empty Text - Database VB6
- Pertama: Mengarahkan user untuk mengisi form secara benar.
- Kedua: Meminimalisir error yang terjadi
- Ketiga dan seterusnya : Silakan Anda tambahkan.
Di bawah merupakan kode yang efektif untuk tujuan di atas (kode ini dilengkapi dengan pesan yang spesifik yang diambil dari caption label):
'Fungsi untuk memvalidasi empty text secara massal disertai denganContoh penggunaan fungsi di atas:
'warning message yang spesifik, simpan kode ini dalam modul
Public Function IsFilledAll(l As Variant, t As Variant) As Boolean
Dim o As Object
For Each o In t
If Trim(o.Text) = "" Then
MsgBox "Maaf, informasi " & Replace(l(o.Index).Caption, "&", "") & " tidak boleh dikosongkan", vbInformation + vbOKOnly, "Perhatian"
o.SetFocus
Exit For
Else
IsFilledAll = True
End If
Next
End Function
Option Explicit
'Simpan kode ini pada form untuk mengecek empty text
Private Sub cmdCheck_click()
If Not IsFilledAll(Label1, Text1) Then Exit Sub 'Check apakah terdapat textbox kosong
'Jika textbox telah diisi maka lanjutkan pada kode berikutnya
MsgBox "Seluruh data telah terisi!", vbInformation, "Terima Kasih"
End Sub
Subscribe to:
Posts
(
Atom
)