Showing posts with label Tutorial. Show all posts
Showing posts with label Tutorial. Show all posts

14 February 2016

Untuk dapat menjalankan sebuah JavaScript Function di Web Browser Control atau Microsoft Internet Control, kamu dapat mengeksekusinya dengan menggunakan langkah-langkah dibawah ini.

Pertama, pastikan kamu sudah membuat sebuah function javascript di html kamu. Misalnya  :

<html>
<head>
 <script type="text/javascript">
 function helloWorld() {
  alert("TheVader kicks ass! :P");
 }
 <script>
</head>

<html>

lalu, kamu panggil function tersebut dengan menggunakan sintak dibawah ini :

WebBrowser1.Document.parentWindow.execScript "helloWorld()", "JScript"
Dan jalankan program kamu, lihat apa yang terjadi.
Sekian.

19 November 2014

Anda pernah mencoba untuk mengosongkan semua isi textbox ? apalagi kontrol textbox yang anda masukkan itu sangat banyak, dan untuk mengosongkan banyak textbox pasti akan memerlukan banyak code .
Untuk itu, saya ingin membagikan code untuk mengosongkan textbox hanya dengan 5 baris kode/syntaks .
Berikut cara-caranya :

Buatlah kontrol textbox sebanyak-banyaknya kedalam form anda dan sebuah command button .

Lalu, pada command buttonnya masukkan code ini :


09 May 2014

Seperti judul di atas tutorial kali ini adalah Code untuk mengetahui password pada microsoft access 2003 .
Bagi yang suka mengutak-atik database aplikasi lain yang menggunakan access 2003, ini pasti sangat cocok bagi mereka .

Tapi code ini sebaiknya digunakan untuk hal yang baik-baik saja, karena saya tidak bertanggung jawab atas apa yang terjadi pada anda nantinya :D .

Seperti judulnya, source code ini hanya mampu membuka password dari microsoft access 2003 dan kebawahnya . Untuk versi 2007, 2010, dan 2013 nanti disusul .




Sumber Source Code
Ini merupakan pembelajaran bagaimana membuat form ribbon di visual basic .
Ribbon tentu sudah tidak asing lagi bagi kita, karena di setiap kita membuka Microsoft Office 2007 atau versi diatasnya pasti kita melihat ribbon .


Di tutorial kali ini, saya akan memberikan source code langsung dari Form Ribbon ini tanpa Ocx dan Dll . Yang membuat source ini bukan saya, tapi saya dapat dari PlanetSourceCode.com dan saya ingin membagikan kembali kepada pengunjung setia di blog ini


Berikut screenshot dari Ribbon 2007 :

Blue

Black

Silver

03 July 2013

Artikel ini menjelaskan cara mengaktifkan server Web Anda untuk menerima transfer file dari Microsoft Active Server halaman (ASP) halaman dengan menggunakan server-side Microsoft COM + komponen.

Catatan: Batas-batas Microsoft Support untuk pengembangan Visual Basic 6 telah berubah. Untuk informasi lebih lanjut, silakan lihat http://msdn.microsoft.com/en-us/vstudio/ms788708.

Persyaratan

  1. Microsoft Windows 2000 dengan Microsoft Internet Information Server 5.0 (IIS) terinstal dan dikonfigurasi
  2. Jika komputer pengembangan komputer yang berbeda dari server, Anda harus berlaku jaringan atau koneksi Internet ke server yang host halaman ASP.

Setup proyek Microsoft Visual Basic 6 dan kode

  1. Mulai Visual Basic, dan kemudian memulai sebuah proyek ActiveX DLL yang baru.
  2. Nama proyek ASPFileUpload.
  3. Mengubah nama kelas 1 ke File.
  4. Pada Project menu, klik referensi.
  5. Di referensi kotak dialog, klik untuk memilih opsi berikut, dan kemudian klik OK:
    • Visual Basic untuk aplikasi
    • Benda-benda runtime Visual Basic dan prosedur
    • Objek Visual Basic dan prosedur
    • OLE Automation
    • COM + pustaka tipe layanan
    • pustaka objek Microsoft Active Server Pages
    • Microsoft Scripting Runtime
  6. Pada Proyek Menu, klik ASPFileUpload properti.
  7. Dalam Properti proyek kotak dialog, klik untuk memilih Eksekusi tanpa pengawasan dan Disimpan dalam kehabisan memori, lalu klik Oke.
  8. Paste kode berikut untuk File.cls:

    Option Explicit
    
    Const ERR_INVALID_FILENAME = vbObjectError + 1000
    Const ERR_INVALID_TARGET = vbObjectError + 1001
    Const ERR_FILE_EXISTS = vbObjectError + 1002
    Const ERR_UPLOAD_CALLED = vbObjectError + 1003
    Const VB_ERR_PATH_NOT_FOUND = 76
    
    Private m_objContext As ObjectContext
    Private m_objRequest As ASPTypeLibrary.Request
    
    Private m_strTarget As String
    Private m_strFileName As String
    Private m_blnOverWrite As Boolean
    Private m_blnUploaded As Boolean
    Private m_lngTotalBytes As Long
    
    'All other form elements go here.
    Private m_formCol As Scripting.Dictionary
    
    Implements ObjectControl
    
    Private Function ObjectControl_CanBePooled() As Boolean
      ObjectControl_CanBePooled = False
    End Function
    
    Private Sub ObjectControl_Activate()
      Set m_objContext = GetObjectContext()
      Set m_objRequest = m_objContext("Request")
      Set m_formCol = New Scripting.Dictionary
    End Sub
    
    Private Sub ObjectControl_Deactivate()
      Set m_objContext = Nothing
      Set m_objRequest = Nothing
      Set m_formCol = Nothing
    End Sub
    
    Public Sub Upload()
      
      Const DEFAULT_CHUNK_SIZE = 262144 '256kb
      
      Dim bytBeginOfChunk() As Byte
      Dim bytEndOfChunk() As Byte
      Dim bytBeginOfName() As Byte
      Dim bytEndOfName() As Byte
      Dim bytBeginOfFile() As Byte
      Dim bytEndOfFile() As Byte
      Dim bytBeginOfValue() As Byte
      Dim bytEndOfValue() As Byte
      Dim bytName() As Byte
      Dim bytValue() As Byte
      Dim bytThisChunk() As Byte
      Dim bytFileName() As Byte
      Dim lngBeginOfChunk As Long
      Dim lngEndOfChunk As Long
      
      Dim lngBeginOfAttribute As Long
      Dim lngEndOfAttribute As Long
      Dim lngBeginOfValue As Long
      Dim lngEndOfValue As Long
      Dim blnEndOfData As Boolean
      Dim lngChunkSize As Long
      Dim lngBytesLeft As Long
      Dim lngFileNum As Long
      Dim strFileName As String
      
      On Error GoTo UploadErr
      
      If Uploaded Then
        Err.Raise ERR_UPLOAD_CALLED, App.Title, "The Upload method has already been called."
      End If
         
      bytBeginOfChunk = StrConv("-----------------------------", vbFromUnicode)
      bytEndOfChunk = StrConv("-----------------------------", vbFromUnicode)
      
      bytBeginOfName = StrConv("name=", vbFromUnicode) & ChrB(34)
      bytEndOfName = ChrB(34)
      
      bytBeginOfFile = StrConv("filename=", vbFromUnicode) & ChrB(34)
      bytEndOfFile = ChrB(34)
      
      bytBeginOfValue = ChrB(13) & ChrB(10) & ChrB(13) & ChrB(10)
      bytEndOfValue = ChrB(13) & ChrB(10) & StrConv("-----------------------------", vbFromUnicode)
         
      'Initialize the chunk size.
      If m_objRequest.TotalBytes <= DEFAULT_CHUNK_SIZE Then
        lngChunkSize = m_objRequest.TotalBytes
      Else
        lngChunkSize = DEFAULT_CHUNK_SIZE
      End If
        
      'Get the chunk from the request object.
      bytThisChunk = m_objRequest.BinaryRead(CVar(lngChunkSize))
    
      'Initialize the value.
      lngBeginOfChunk = 1
      
      'Repeat until the end of the data.
      Do While Not blnEndOfData
        'Begin the chunk.
        lngBeginOfChunk = InStrB(lngBeginOfChunk, bytThisChunk, bytBeginOfChunk) + UBound(bytBeginOfChunk)
        
        'Get name of the item.
        lngBeginOfAttribute = InStrB(lngBeginOfChunk, bytThisChunk, bytBeginOfName) + UBound(bytBeginOfName) + 1
        lngEndOfAttribute = InStrB(lngBeginOfAttribute, bytThisChunk, bytEndOfName)
        bytName = MidB(bytThisChunk, lngBeginOfAttribute, lngEndOfAttribute - lngBeginOfAttribute)
        
        'Get the value of the item.
        lngBeginOfValue = InStrB(lngEndOfAttribute, bytThisChunk, bytBeginOfValue, vbBinaryCompare) + UBound(bytBeginOfValue) + 1
        lngEndOfValue = InStrB(lngBeginOfValue, bytThisChunk, bytEndOfValue, vbBinaryCompare)
        
        If lngEndOfValue = 0 Then
          'The item extends the past current chunk.
          bytValue = MidB(bytThisChunk, lngBeginOfValue, lngChunkSize)
        Else
          'The item value exists in the current chunk.
          bytValue = MidB(bytThisChunk, lngBeginOfValue, lngEndOfValue - lngBeginOfValue)
        End If
        
        If UCase(StrConv(bytName, vbUnicode)) = "FILE" Then
          lngBeginOfAttribute = InStrB(lngBeginOfChunk, bytThisChunk, bytBeginOfFile, vbBinaryCompare) + UBound(bytBeginOfFile) + 1
          lngEndOfAttribute = InStrB(lngBeginOfAttribute, bytThisChunk, bytEndOfFile, vbBinaryCompare)
          
          bytFileName = MidB(bytThisChunk, lngBeginOfAttribute, lngEndOfAttribute - lngBeginOfAttribute)
          
          If UBound(bytFileName) < 0 Or UBound(bytValue) < 0 Then
            Err.Raise ERR_INVALID_FILENAME, App.Title, "Invalid File Name."
          End If
          
          If Me.Target = "" Then
            Err.Raise ERR_INVALID_TARGET, App.Title, "Invalid Target."
          End If
          
          'Use the original file name.
          If Me.FileName = "" Then
          
            'Trim the path from the file name.
            While InStrB(1, bytFileName, StrConv("\", vbFromUnicode), vbBinaryCompare) > 0
              bytFileName = MidB(bytFileName, InStrB(1, bytFileName, StrConv("\", vbFromUnicode)) + 1)
            Wend
            
            'Set the property.
            Me.FileName = StrConv(bytFileName, vbUnicode)
            
            'Convert the byte to Unicode.
            strFileName = Me.Target & Me.FileName
           
          Else
            strFileName = Me.Target & Me.FileName
          End If
          
          'Check for overwrite.
          If Me.OverWrite Then
            'This is the hack check. Make sure that wildcard characters cannot be used.
            If Not InStr(1, strFileName, "*") Then
              If FileExists(strFileName) Then
                Kill strFileName
              End If
            Else
              Err.Raise ERR_INVALID_FILENAME, App.Title, "The specified file name appears to be invalid."
            End If
          Else
            If FileExists(strFileName) Then
              Err.Raise ERR_FILE_EXISTS, App.Title, "The file already exists."
            End If
          End If
          
          lngFileNum = FreeFile
          
          Open strFileName For Binary Access Write As #lngFileNum
          
          'Write the file to the destination directory.
          Put #lngFileNum, , bytValue
    
          'This chunk is empty. Therefore, get a new chunk.
          lngBytesLeft = m_objRequest.TotalBytes - lngChunkSize
            
          'Start the chunking machine.
          Do While lngBytesLeft > 0
          
            'Get a new chunk.
            bytThisChunk = m_objRequest.BinaryRead(CVar(lngChunkSize))
                      
              lngEndOfValue = InStrB(1, bytThisChunk, bytEndOfValue, vbBinaryCompare)
              
              If lngEndOfValue > 0 Then
                'The item value exists in the current chunk.
                bytThisChunk = MidB(bytThisChunk, 1, lngEndOfValue - 1)
              End If
              
              'Append the chunk to the file.
              Put #lngFileNum, , bytThisChunk
              
              lngBytesLeft = lngBytesLeft - lngChunkSize
              
              If lngBytesLeft < lngChunkSize Then
                lngChunkSize = lngBytesLeft
              End If
            Loop
            
            Close #lngFileNum
            
            TotalBytes = FileLen(strFileName)
            
         ' Exit Do
         Else
          If UCase(StrConv(bytName, vbUnicode)) = "SAVEAS" Then
           Me.FileName = StrConv(bytValue, vbUnicode)
          Else 
           'form field other than file, such as textboxes 
           If UBound(bytValue) > 0 And UBound(bytName) > 0 Then 
            m_formCol.Add StrConv(bytName, vbUnicode), StrConv(bytValue, vbUnicode)
           Else
            m_formCol.Add StrConv(bytName, vbUnicode), ""
           End If
          End If
         End If
        
        'Get the next chunk.
        lngBeginOfChunk = lngEndOfValue
        
        If InStrB(lngBeginOfChunk, bytThisChunk, bytBeginOfName, vbBinaryCompare) = 0 Then
          blnEndOfData = True
        End If
      Loop
    
      Uploaded = True
      
      Exit Sub
      
    UploadErr:
      
      If Err.Number = VB_ERR_PATH_NOT_FOUND Then
        Err.Raise ERR_INVALID_TARGET, App.Title, "The Target specified does not exist."
      Else
        Err.Raise Err.Number, Err.Source, Err.Description
      End If
    End Sub
    
    Public Property Get Form() As Collection
        Set Form = m_formCol
    End Property
    Public Property Get FileName() As String
      FileName = m_strFileName
    End Property
    
    Public Property Let FileName(ByVal strNewValue As String)
      If Uploaded Then
        Err.Raise ERR_UPLOAD_CALLED, App.Title, "The Upload method has already been called."
      Else
        m_strFileName = strNewValue
      End If
    End Property
    
    Public Property Get OverWrite() As Boolean
      OverWrite = m_blnOverWrite
    End Property
    
    Public Property Let OverWrite(ByVal blnNewValue As Boolean)
      If Uploaded Then
        Err.Raise ERR_UPLOAD_CALLED, App.Title, "The Upload method has already been called."
      Else
        m_blnOverWrite = blnNewValue
      End If
    End Property
    
    Private Property Get Uploaded() As Boolean
      Uploaded = m_blnUploaded
    End Property
    
    Private Property Let Uploaded(ByVal blnNewValue As Boolean)
      m_blnUploaded = blnNewValue
    End Property
    
    Public Property Get Target() As String
      Target = m_strTarget
    End Property
    
    Public Property Let Target(ByVal NewValue As String)
      If Uploaded Then
        Err.Raise ERR_UPLOAD_CALLED, App.Title, "The Upload method has already been called."
      Else
        m_strTarget = NewValue
      End If
    End Property
    
    Private Function FileExists(ByVal FileName As String) As Boolean
      On Error GoTo FileExistsErr
      
      FileLen FileName
      FileExists = True
      Exit Function
      
    FileExistsErr:
      If Err.Number = VB_ERR_PATH_NOT_FOUND Then
        FileExists = False
      End If
    End Function
    
    Public Property Get TotalBytes() As Long
      TotalBytes = m_lngTotalBytes
    End Property
    
    Private Property Let TotalBytes(ByVal NewValue As Long)
      m_lngTotalBytes = NewValue
    End Property
    
  9. Mengkompilasi proyek

ASP kode

  1. Paste kode berikut ke editor seperti Notepad atau Microsoft Visual Interdev, dan kemudian menyimpannya sebagaiPostFile.asp:

    <%@ Language=VBScript %>
    <html>
    <head>
    </head>
    <body>
    <form enctype="multipart/form-data" action="uploadfile.asp" method="post" name="main1">
    <input name="file" type="file" size="50">
    <INPUT type="text" id=text1 name=text1><INPUT type="text" id=text2 name=text2>
    <input name="submit" type="submit" value="Upload">
    </form>
    </body>
    </html>
    
  2. Salin kode berikut ke editor seperti Notepad atau Visual Interdev, dan kemudian menyimpannya sebagai UploadFile.asp:

    <%@ Language=VBScript %>
    <%
      '//////////////////////////////////////////////////////////////////////////////////
      '//  ASPFileUpload.File API
      '//  
      '//  Properties
      '//     FileName
      '//       - Read/Write 
      '//       - The file will be saved with this file name. 
      '//       - This property can only be set before calling Upload.
      '//       - If no value is specified, the original file name
      '//       - in the HTTP post will be used.
      '//     
      '//     OverWrite
      '//       - Read/Write
      '//       - This property can only be set before calling Upload.
      '//       - If set to false and if the destination file exists, an error
      '//       - is raised. The default value is False.
      '//     
      '//     Target 
      '//       - Read/Write
      '//       - The file will be written to this folder.
      '//       - This property can only be set before calling Upload.
      '//       - There is no default value for this property and it is required.
      '//       
      '//      Form
      '//        - ReadOnly
      '//        - Scripting.Dictionary object
      '//        - Can access a specific item by using aspfileupload.Form("item").
      '//        - Acts like the asp form collection.
      '//        - Can enumerate all values in a collection with for each.
      '//        - Only filled after the Upload method is called.
      '//         
      '//  Methods
      '//     Upload
      '//       - This method parses the HTTP Post and writes the file.
      '//  
      '//  Other
      '//    - ASPFileUpload requires COM+
      '//    - Any call to the Request.Form() collection will cause the Upload
      '//      method to fail as the method references the Binary contents of the
      '//      Request object through the Request.BinaryRead method. 
      '//    - Also, if you access a variable in the Request collection without 
      '//      specifying the subcollection that it belongs to, the Request.Form collection 
      '//      may be searched. This causes an error in the Upload method.
      '//      
      '//////////////////////////////////////////////////////////////////////////////////
      
      Dim strMsg 'As String
      
     ' On Error Resume Next
      dim fuFile
      set fuFile = server.CreateObject("aspFileupload.file")  
      'Set the destination folder.
      fuFile.Target = "C:\TEMP\AspFileUpload\"
      fuFile.Upload
      
      If Err.number = 0 Then
        strMsg = fuFile.FileName  & " was uploaded successfully."
      Else
        strMsg = "An error occurred when uploading your file: " & Err.Description 
      End If
      for each o in fuFile.Form
     Response.Write o  & "<BR>"
     
     next
     
     Response.Write fuFile.Form.item("text1") & "  :  " & fuFile.Form.item("text2")
    '  Response.Write Request.Form("test")
     set fufile = nothing
    %>
    <html>
    <head></head>
    <body>
    <%=strMsg%>
    </body>
    </html>

Set Up Server

  1. Membuat folder pada server Web yang akan menerima upload file, sepertiC:\TEMP\AspFileUpload.
  2. Salin ASPFileUpload.dll file ke server Web, dan kemudian mendaftar dengan menggunakan perintah berikut pada prompt perintah:
    regsvr32 PathToDLL\ASPFileUpload.dll
  3. Menerapkan file permissions (akses tulis) untuk pengguna yang Anda inginkan untuk dapat meng-upload file.
  4. Klik Mulai, arahkan kePengaturan, lalu klik Kontrol Panel.
  5. Di Control Panel, klik Administrasi Alat, lalu klik Komponen Layanan untuk membuka Komponen Layanan di konsol manajemen Microsoft (MMC).
  6. Memperluas Komponen Layanan node,Komputer node, Komputer saya node, danCOM + aplikasi node.
  7. Klik kanan node, arahkan ke Baru, lalu klikAplikasi.
  8. Dalam Menginstal atau menciptakan sebuah aplikasi baru kotak dialog, klik Membuat aplikasi kosong, nama aplikasi, pastikan bahwa Anda mengklik untuk memilih Server aplikasi, lalu klik Berikutnya.
  9. Dalam Mengatur aplikasi identitas dialog kotak, klik Pengguna ini, kemudian ketik mandat untuk akun pengguna yang sesuai. Akun pengguna harus mempunyai akses menulis ke folder yang akan menerima file upload.
  10. Klik Selesai.
  11. Memperluas node yang baru Anda buat untuk ini aplikasi.
  12. Klik kanan anggukan, arahkan ke Baru, dan kemudian klik Komponen.
  13. Klik Menginstal komponen baru, dan menemukan folder di mana Anda telah disimpan dan terdaftar berkas .dll, klik file, klik Berikutnya, lalu klikSelesai.
  14. Salin Postfile.asp file dan Uploadfile.asp file untuk folder akar Web Anda. Secara default, map akar Web adalah C:\Inetpub\Wwwroot.
  15. Mengedit folder target Uploadfile.asp untuk mencerminkan folder yang Anda buat pada langkah 1. Target folder tugas terletak di baris kode berikut:

    fuFile.Target = "C:\TEMP\AspFileUpload\"
         

Mengunggah berkas

  1. Di Web browser, buka halaman Postfile.asp di URL berikut:
    http://YourWebServer/Postfile.asp
  2. Pilih file yang ingin Anda upload, dan kemudian klikMeng-upload.
  3. Periksa upload folder. File yang Anda upload muncul dalam map ini.

Sumber dari : http://support.microsoft.com/kb/299692/id-id

02 May 2013

Untuk mengetahui ukuran screen atau disebut layar komputer yang sebenarnya (dikurangi tinggi layar) adalah dengan cara sebagai berikut .



Option Explicit

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

Private Declare Function GetDesktopWindow Lib "user32" () As Long
Private Declare Function GetWindowRect Lib "user32" (ByVal hwnd As Long, lpRect As RECT) As Long

Public Function ScreenWidth() As Single
    Dim R As RECT
    GetWindowRect GetDesktopWindow(), R
    ScreenWidth = R.Right * Screen.TwipsPerPixelX
End Function

Public Function ScreenHeight() As Single
    Dim R As RECT
    GetWindowRect GetDesktopWindow(), R
    ScreenHeight = R.Bottom * Screen.TwipsPerPixelY
End Function


Semoga bermanfaat -_-

23 April 2013

Fungsi ini digunakan untuk membuat form kita dapat mengikuti setiap gerak mouse .
Berikut adalah caranya :

Untuk melihat selengkapnya mengenai Cara Membuat Form Mengikuti Mouse dengan Visual Basic, bisa lihat selengkapnya DISINI .

Terima Kasih,

08 April 2013

Dibawah ini merupakan contoh kode sehingga kita bisa memahami KeyWord ByVal dan ByRef . Untuk itu, copas code dibawah ini :


Option Explicit

Private Sub Form_Load()
    Dim iNumber As Integer
    iNumber = 1
    MsgBox TampilkanPesan(iNumber)
End Sub

Function TampilkanPesan(ByVal Pesan As String) As String
    TampilkanPesan = Pesan
End Function
Coba bedakan dengan yang ini
Fungsinya akan menampilkan error yakni argumen yang tidak sama (cocok/mismatch)
Private Sub Form_Load()
    Dim iNumber As Integer
    iNumber = 1
    MsgBox TampilkanPesan(iNumber)
End Sub

Function TampilkanPesan(Pesan As String) As String
    TampilkanPesan = Pesan
End Function
Untuk mengatasi error di atas maka cocokan saja argumennya yakni
dengan mengubah variable iNumber yang asalnya integer menjadi String
Private Sub Form_Load()
    Dim iNumber As String
    iNumber = 1
    'sekarang tidak akan terjadi error karena type datanya sama yakni string
    MsgBox TampilkanPesan(iNumber)
End Sub

Function TampilkanPesan(Pesan As String) As String
    TampilkanPesan = Pesan
End Function
Atau Anda beri statement ByVal pada argumen fungsinya
Private Sub Form_Load()
    'Dim iNumber As String
    iNumber = 1
    'sekarang tidak akan terjadi error karena type datanya sama yakni string
    MsgBox TampilkanPesan(iNumber)
End Sub

Function TampilkanPesan(ByVal Pesan As String) As String
    TampilkanPesan = Pesan
End Function
Maka kesimpulannya:
  • Secara default Visual Basic 6.0 telah menyertakan ByRef pada argumen walaupun kita tidak menuliskannya, terkecuali secara explicit kita menuliskan ByVal pada argumen tersebut.
  • Penggunaan ByVal akan memaksa sebuah argumen untuk dijadikan data type tertentu sebagai contoh:
  • ByVal Pesan As String maka pesan akan dipaksa untuk memiliki data type string.
  • Penggunaan KeyWord ByVal menjadikan sebuah argumen tidak lagi memiliki hubungan dengan variable yang melewatinya. Sebagai contoh:
    Dim i as integer
    i = 1
    Msgbox TampilkanPesan(i)
    Msgbox i 'maka i disini, tetap saja memiliki nilai satu.

Function TampilkanPesan(ByVal Pesan As String) As String
    Pesan = 2
    TampilkanPesan = Pesan
End Function


Semoga bermanfaat
Pernahkah anda menggunakan kamus 2.04 (Kamus Bahasa Inggris)? disana terdapat object richtexbox yang menerjemahkan bahasa inggris secara warna warni. Kamus tersebut dibuat dengan pemograman delphi .Nah, bagaimana kalau richtextbox di buat menggunakan pemograman visual basic 6.0?
Di bawah ini merupakan contoh format RTF untuk keperluan pembuatan kamus Bahasa Inggris. Fungsi di bawah ini dapat bekerja dengan sangat cepat, mengapa? karena ia tidak memformat tulisan pada objeknya secara langsung akan tetapi, memformat string yang terdapat dalam memori kemudian mem-feed-nya kembali ke dalam objek RichTextBox.

Bukankah:
Private Sub Command1_Click()
Dim i As Integer
For i = 1 To 1000
  Text1.Text = Text1.Text & "contoh tulisan" & vbCrLf
Next
End Sub
Berbeda dengan kode di bawah ini:
Private Sub Command1_Click()
Dim i As Integer
Dim sText As String
sText = Text1.Text
For i = 1 To 1000
  sText = sText & "contoh tulisan" & vbCrLf
Next
Text1.Text = sText
End Sub
Sepintas dua kode di atas akan memberikan hasil yang sama akan tetapi berbeda jauh dalam segi kecepatan.

Di bawah ini merupakan fungsi format RTF untuk pembuatan kamus bahasa inggris:
Option Explicit

Public Function FormatSentence(sSentence As String) As String
Dim sFormat As String
Dim sKosakata As String
Dim sText As String
Dim i As Integer
sFormat = "{\rtf1\fbidis\ansi\ansicpg1256\deff0\deflang1025{\fonttbl{\f0\fswiss\fcharset0 Arial;}}" & vbCrLf & _
"{\colortbl ;\red128\green0\blue0;\red0\green0\blue255;\red0\green128\blue128;\red0\green0\blue128;\red255\green0\blue0;\red128\green0\blue128;}" & vbCrLf & _
"{\*\generator Msftedit 5.41.15.1512;}\viewkind4\uc1\pard\ltrpar\lang1033\f0\fs17"
sKosakata = sSentence
sText = " " & Text1.Text
sText = Replace(sText, vbCrLf, " \Par" & vbCrLf)
sText = Replace(sText, " kb. ", " \cf2\b kb. \cf0\b0 ")
sText = Replace(sText, " -kki. ", " \cf5\b kki. \cf0\b0 ")
sText = Replace(sText, " kk. ", " \cf1\b kk. \cf0\b0 ")
sText = Replace(sText, " ks. ", " \cf3\b ks. \cf0\b0  ")
sText = Replace(sText, " -ks. ", " \cf3\b -ks. \cf0\b0 ")
sText = Replace(sText, " -kkt. ", " \cf5\b -kkt. \cf0\b0 ")
sText = Replace(sText, "(", "\cf5(\cf0 ")
sText = Replace(sText, ")", "\cf5)\cf0 ")
For i = 1 To 100
  If InStr(1, sText, i) Then
      sText = Replace(sText, " " & i & " ", " \b " & i & " \cf0\b0 ")
  End If
Next
sText = Replace(sText, " -kkt. ", " \cf5\b -kkt. \cf0\b0 ")
sText = Replace(sText, " ks. ", " \cf3\b ks. \cf0\b0 ")
sText = sFormat & "\b " & sKosakata & "\b0 " & sText & "\par" & vbCrLf & "}"
FormatSentence = sText
End Function

Private Sub Form_Load()
RTF.BackColor = RGB(241, 243, 241)
End Sub
Contoh penggunaan fungsi di atas:
Private Sub Command1_Click()
RTF.TextRTF = FormatSentence(Text2.Text)
End Sub
Maka hasilnya seperti gambar di bawah ini:

Catatan:
Fungsi di atas hanyalah sekadar contoh, Anda dapat memodifikasinya untuk disesuaikan dengan kebutuhan.



Apa yang dimaksud artikel spin/spin artikel/article spinner? bisa Anda baca di sini. Dengan kata lain artikel spin adalah mengganti kata dengan menggunakan sinonim dari kata tersebut secara besar-besaran. Tujuannya? Mengecoh mesin pencari agar artikel yang kita duplikatkan (copy paste) berubah menjadi sebuah konten unik menurut pengamatan robot/mesin pencari (bukan menurut pengamatan manusia). Contoh:


Saya akan pergi ke pasar. berubah menjadi
Ana berencana berangkat ke pasar. atau
Ane mau pergi ke pasar. atau
Aku berencana pergi ke pasar. atau
Gue akan berangkat ke pasar. atau
gw mo pergi ke pasar. atau
dan seterusnya. dan seterusnya.

Bukankah seluruh kalimat di atas tersebut unik menurut versi mesin pencari? Nah, bagaimana menurut versi manusia (saya dan Anda)?

Spin artikel bisa dikategorikan sebagai sebuah teknik SEO yang sedikit hitam yang dapat menyebabkan banyaknya duplikasi konten/sampah menurut pengamatan manusia. Tetapi dalam dunia sales online/reseller/affeliate hal ini tidak bisa dihindari. Ya saya ulangi, dalam dunia sales online hal ini tidak bisa dihindari. Satu produk dengan merk yang sama dijual oleh ribuah atau jutaan orang secara online.

Di bawah ini merupakan contoh kode spin artikel bahasa indonesia dengan menggunakan 5 kata dan sinonimnya (seharusnya 5000 kata beserta sinonimnya), yakni saya, pergi, blogger, gmail, akan.
Option Explicit 
 
Private Function ChooseWord(choice As Variant, bWord, Optional bUnik As Boolean) As String 
 
    Dim i As Integer 
    Dim strSpin() As String, strChooseWord As String 
    strSpin = Split(choice, ",") 
    If Not bUnik Then 
        Randomize 
        i = CInt((UBound(strSpin) * Rnd) + 1) 
        strChooseWord = strSpin(i - 1) 
    Else 
        Do 
            Randomize 
            i = CInt((UBound(strSpin) * Rnd) + 1) 
            strChooseWord = strSpin(i - 1) 
        Loop While strChooseWord = bWord 
    End If 
    ChooseWord = strChooseWord 
 
End Function 
 
Private Sub cmdDoSpin_Click() 
    Dim strResult As String 
    Dim strSource As String 
    strResult = txtResult.Text 
    strSource = txtSource.Text 
 
    strResult = LCase(strSource) 
 
    Dim arrWord() As String 
    ReDim arrWord(4) 'gantilah menjadi 40, 400, atau 4000 
    'apabila algoritmanya telah dimodif dan mantap maka 
    'tambahkan sinonim menjadi 40, 400, atau 4000 
    arrWord(0) = "saya, aku, ane, ana" 
    arrWord(1) = "pergi, berangkat" 
    arrWord(2) = " akan, berencana" 
    arrWord(3) = "blogger, blogspot, blog milik google (blogspot)" 
    arrWord(4) = "gmail, gmail.com, google mail, layanan email milik google (gmail)" 
    '-------------------------------------------------------- 
    Dim i As Integer, k As Integer 
 
    For i = LBound(arrWord) To UBound(arrWord) 
        Dim strSpin() As String 
        strSpin = Split(arrWord(i), ",") 
        For k = LBound(strSpin) To UBound(strSpin) 
            If InStr(1, strSource, strSpin(k)) > 0 Then 
                strResult = Replace(strResult, strSpin(k), ChooseWord(arrWord(i), strSpin(k), Check1.Value = 1)) 
                Exit For 
            End If 
        Next 
    Next 
    txtResult.Text = Trim$(strResult) 
End Sub 

Cobalah Anda kembangkan. Semoga kode spin artikel bahasa indonesia di atas bermanfaat. Terima kasih atas kunjungannya.
Berikut adalah Fungsi untuk mengetahui jumlah baris textbox menggunakan fungsi API di visual basic .


<pre class=code>Option Explicit 
 
Private Declare Function SendMessageLong Lib "user32" Alias "SendMessageA" (ByVal hwnd As Long, ByVal wMsg As Long, ByVal wParam As Long, ByVal lParam As Long) As Long 
Private Const EM_GETLINECOUNT = &HBA 
 
Public Function GetLineCount(Txt As TextBox) 
    Dim lngLineCount As Long 
    On Error Resume Next 
    lngLineCount = SendMessageLong(Txt.hwnd, EM_GETLINECOUNT, 0&, 0&) 
    GetLineCount =   Format$(lngLineCount, "##,###") 
End Function</pre> 
Private Sub Command1_Click() 
    MsgBox GetLineCount(Text1) 
End Sub 

Semoga Bermanfaat
Dalam pembuatan apllikasi database, memvalidasi data yang akan di entry sangatlah penting. Apakah tujuan umata validasi entry tersebut ?

  • Pertama: Mengarahkan user untuk mengisi form secara benar.
  • Kedua: Meminimalisir error yang terjadi
  • Ketiga dan seterusnya : Silakan Anda tambahkan.
Dari sekian banyak validasi entry yang umum digunakan, diantaranya adalah validasi empty text, yang digunakan untuk memeriksa apakah text telah terisi atau belum.

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 dengan 
'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 
Contoh penggunaan fungsi di atas:
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 
 


Semoga Bermanfaat .



Twitter? Siapa tidak kenal dengan Jejaring Sosial ini, semua orang pasti sudah mengenalinya (kecuali bayi baru lahir, haha) .

Ok, langsung saja, Mengenai cara mengirim tweet ke twitter.com menggunakan aplikasi yang dibuat dengan VB6 menggunakan bantuan COM ActiveX yang miskin fitur yang diberi nama TwitterCOM.dll. Sekarang saya mau share mengenai TwitterCOM.dll sebuah COM ActiveX yang miskin fiture, walaupun miskin fitur, akan tetapi dengan menggunakan TwitterCOM.dll maka mengirim tweet ke twitter menjadi sangat mudah, siapapun dapat melakukannya termasuk saya, Anda, ibu-ibu, kakek-kakek, nenek-nenek, anak di bawah umur, balita, bayi, baik pria maupun wanita. Dengan syarat terkoneksi dengan internet dan memiliki akun twitter. That's All. 
Adapun kode untuk mengirim tweet ke twitter adalah sebagai berikut: 
Option Explicit

Private Sub cmdSendTweet_Click()
    Dim t As New Twitter
    With t
        .AccessToken = txtToken.Text
        .AccessTokenSecret = txtAccessTokenSecret.Text
        .ConsumerKey = txtConsumerKey.Text
        .ConsumerSecret = txtConsumerSecret.Text
        .Tweet = txtTweet.Text
        .SendTweet
    End With
    Set t = Nothing
End Sub

Wah, ternyata mengirim tweet ke twitter.com menggunakan VB6, kodenya sederhana beungeut. 
Catatan sangat penting:
Sebelum menggunakan TwitterCOM.dll Anda harus memperoleh 4 key, yaitu:
    1. Consumer Key
    2. Access Token
    3. Consumer Secret
    4. Access Token Secret
Sekarang kita sudah tidak membutuhkan UserName dan Password untuk melakukan proses ototirasi dan otentifikasi, karena sejak Desember 2009 Twitter sudah tidak menggunakan lagi Basic Auth dan berpindah ke OAuth 1.0a. 
Anda dapat memperoleh 4 kunci di atas dari App Twitter kemudian aktifkan mode access read-writenya. 
Download: TwitterCOM.dll

Semoga Bermanfaat.


Cara ini merupakan fungsi untuk Mendeteksi DNS Server Secara Otomatis dengan memanfaatkan object wscript .


Function DetectDNSServer() As String

   Dim Output As String

On Error GoTo ErrHandler

   Set objShell = CreateObject("WScript.Shell")
   Set objExecObject = objShell.Exec("%comspec% /c ipconfig /all")
   Output = objExecObject.StdOut.ReadAll()
   Set objExecObject = Nothing
   dns = Trim(Replace(Mid(Output, InStr(InStr(1, Output, "DNS Servers"), Output,    ":") + 1, 15), Chr(13), ""))
   DetectDNSServer = dns
   Exit Function

ErrHandler:

   DetectDNSServer = "127.0.0.1"

End Function
Contoh penggunaan:
Private Sub Form_Load()
   MsgBox DetectDNSServer
End Sub
Kegunaannya:
Pada saat kita membuat applikasi server/client (billing Warnet misalnya), pada applikasi clientnya kita tidak harus satu persatu memasukan IP Address servernya.

Semoga Bermanfaat .


Sering menggunakan webcam? tidak ada salahnya anda membuat aplikasi seperti ini .


Public Const WS_CHILD As Long = &H40000000
Public Const WS_VISIBLE As Long = &H10000000
Public Const WM_USER As Long = &H400
Public Const WM_CAP_START As Long = WM_USER

Public Const WM_CAP_DRIVER_CONNECT As Long = WM_CAP_START + 10
Public Const WM_CAP_DRIVER_DISCONNECT As Long = WM_CAP_START + 11
Public Const WM_CAP_SET_PREVIEW As Long = WM_CAP_START + 50
Public Const WM_CAP_SET_PREVIEWRATE As Long = WM_CAP_START + 52
Public Const WM_CAP_DLG_VIDEOFORMAT As Long = WM_CAP_START + 41
Public Const WM_CAP_FILE_SAVEDIB As Long = WM_CAP_START + 25


Public Declare Function capCreateCaptureWindow _
Lib "avicap32.dll" Alias "capCreateCaptureWindowA" _
(ByVal lpszWindowName As String, ByVal dwStyle As Long _
, ByVal X As Long, ByVal Y As Long, ByVal nWidth As Long _
, ByVal nHeight As Long, ByVal hwndParent As Long _
, ByVal nID As Long) As Long
Public Declare Function SendMessage Lib "user32" _
Alias "SendMessageA" (ByVal hWnd As Long, ByVal wMsg As Long _
, ByVal wParam As Long, ByRef lParam As Any) As Long
Dim hCap As Long

Private Sub cmd4_Click()
    Dim sFileName As String
    Call SendMessage(hCap, WM_CAP_SET_PREVIEW, CLng(False), 0&)
    With CDialog
        .CancelError = True
        .Flags = cdlOFNPathMustExist Or cdlOFNOverwritePrompt
        .Filter = "Bitmap Picture(*.bmp)|*.bmp|JPEG Picture(*.jpg)|*.jpg|All Files|*.*"
        .ShowSave
        sFileName = .FileName
    End With
    Call SendMessage(hCap, WM_CAP_FILE_SAVEDIB, 0&, ByVal CStr(sFileName))
    DoFinally:
    Call SendMessage(hCap, WM_CAP_SET_PREVIEW, CLng(True), 0&)
End Sub

Private Sub Cmd3_Click()
    Dim temp As Long
    temp = SendMessage(hCap, WM_CAP_DRIVER_DISCONNECT, 0&, 0&)
End Sub

Private Sub Cmd1_Click()
    hCap = capCreateCaptureWindow("Take a Camera Shot", WS_CHILD Or WS_VISIBLE, 0, 0, PicWebCam.Width, PicWebCam.Height, PicWebCam.hWnd, 0)
    If hCap <> 0 Then
        Call SendMessage(hCap, WM_CAP_DRIVER_CONNECT, 0, 0)
        Call SendMessage(hCap, WM_CAP_SET_PREVIEWRATE, 66, 0&)
        Call SendMessage(hCap, WM_CAP_SET_PREVIEW, CLng(True), 0&)
    End If
End Sub

Private Sub Cmd2_Click()
    Dim temp As Long
    temp = SendMessage(hCap, WM_CAP_DLG_VIDEOFORMAT, 0&, 0&)
End Sub

Private Sub Form_Load()
    cmd1.Caption = "Start &Cam"
    cmd2.Caption = "&Format Cam"
    cmd3.Caption = "&Close Cam"
    cmd4.Caption = "&Save Image"
End Sub


Semoga bermanfaat .

Dibawah ini merupakan procedure yang digunakan untuk menghapus seluruh file di recent document .Untuk keperluan ini digunakan satu fungsi API yakni SHAddToRecentDocs yang terdapat pada shell32.dll.



Option Explicit

Private Declare Sub SHAddToRecentDocs Lib "shell32.dll" (ByVal uFlags As Long, ByVal pv As Any)

Sub EmptyRecentDocument()
   SHAddToRecentDocs 0, CLng(0)
End Sub

Contoh penggunaan procedure VB6 di atas:

Private Sub Command1_Click()
    EmptyRecentDocument
End Sub

Semoga Bermanfaat .

Berikut ini adalah Fungsi untuk mengganti / merubah desktop wallpaper windows dengan visual basic .











Simaklah kode berikut :


Option Explicit

Private Declare Function SystemParametersInfo Lib "user32" Alias "SystemParametersInfoA" (ByVal uAction As Long, ByVal uParam As Long, ByVal lpvParam As Any, ByVal fuWinIni As Long) As Long

Private Const SPIF_SENDWININICHANGE = &H2
Private Const SPIF_UPDATEINIFILE = &H1
Private Const SPIF_SETDESKWALLPAPER = 20

Public Function ChangeWallPaper(imgFile As String)
    Call SystemParametersInfo(SPIF_SETDESKWALLPAPER, 0&, imgFile, SPIF_UPDATEINIFILE Or SPIF_SENDWININICHANGE)
End Function

Contoh penggunaan kode di atas
Private Sub Command1_Click()
    Call ChangeWallPaper("C:\Windows\Blue.bmp")
End Sub


Semoga Bermanfaat

Recent Comment

Contact Form

Name

Email *

Message *

2012 © Jabat Software