RSS

Membuat Installer VB6 + Crystal Report 8.5 dengan Inno Setup

Inno setup adalah salah satu yang digunakan untuk membuat installer (package) untuk projet Visual Basic / Net. Tool sangat membantu disamping di dalam VB sendiri mempunya compiler internal yang digunakan untuk membuat installer. Kelebihan dari Inno Setup adalah file Installer yang dihasilkan lebih kecil dibandingkan menggunakan compiler internal VB. 


Kendala selanjutnya adalah ketika VB yang dicompile terdapat file-file tambahan, seperti file-file untuk menjalankan Crystal report. secara default VB tidak bisa menyertakan file-file tersebut di dalam installer, sehingga ketika aplikasi yang sudah diinstall dijalankan, untuk menampilkan report dari crystal report akan terjadi error. oleh karena itu maka harus menambahkan file-file yang dibutuhkan ke dalam proses compile VBnya. 

Ada tool bernama "DEPEND ON" untuk menampilkan file-file apa saja yang dibutuhkan oleh project VB. tool ini sangat berguna dalam mengambil file-file tersebut untuk ditambahkan ke dalam compiler baik menggunakan VB compiler atau tool INNO SETUP. 

Aplikasi yang dibutuhkan: 
1. Inno Setup, download di sini : http://files.jrsoftware.org/is/5/isetup-5.5.5.exe
2. Depend On, download di sini : http://depend-on.soft32.com/

Langkah-langkahnya sebagai berikut: 
1. Buka aplikasi Depend ON


  • Masukkan file project VB dan tentukan folder output untuk menaruh file-file tersebut
  • centang file-file yang berada di dalam list
  • Klik Start Dependency Packing Process
2. Bukan Aplikasi Inno Setup


  • Klik Next


  • Edit isian-isian tersebut, Application Name, Application Version, Application Pubblisher, Application Website 


  • klik next


  • klik BROWSE untuk memasukkan file *.exe dari program
  • Add Files / Add Folder untuk memasukkan file-file yang dibutuhkan untuk installer

  • centang "Create an Uninstall Icon In the Start Menu folder" untuk menambahkan icon untuk uninstall program
  • centang "Allow user to create a quick launch icon" untuk menambahkan icon program pada menu quick launch


  • licence file - jika mau memasukkan file lisensi program
  • information file shown before installation - untuk informasi file sebelum proses instalasi
  • information file shown after installation - untuk informasi file setelah proses instalasi selesai


  • pilihan bahasa setup, klik next
  • klik next saja sampai finish
  • Klik finish

  • Klik YES untuk melanjutkan ke proses Compile
  • Klik NO jika akan mengedit script compile, khususnya beberapa file-file tertentu yang seharusnya tidak berada di App.path, tetapi mau dipindah ke windows/system32
  • jika ingin merubah destinationya ke system32, caranya: 

Source: "D:\DATA\#PROYEK\Dependencies\arpro2.dll"; DestDir: "{app}"; Flags: ignoreversion
dirubah menjadi

Source: "D:\DATA\#PROYEK\Dependencies\arpro2.dll"; DestDir: "{sys}"; Flags: restartreplace sharedfile regserver

  • klik RUN untuk melanjutkan proses compile
  • Setelah selesei jalankan file setup hasil compile dengan Inno Setup


  • Digg
  • Del.icio.us
  • StumbleUpon
  • Reddit
  • RSS

Active Report Mysql dengan VB6



Private Sub ActiveReport_ReportStart()
Dim strSql As String
Dim TglAwal As String
Dim TglAkhir As String

    lblLembagaNama.Caption = UCase(xNamaKantor)
    lblLembagaAlamat.Caption = xAlamatKantor

    With frmAbsensiLaporan
        TglAwal = Format(.dtAwal.Value, "yyyy-mm-dd")
        TglAkhir = Format(.dtAkhir.Value, "yyyy-mm-dd")
        
        lblPeriode.Caption = "Periode: " & Format(TglAwal, "dd-mm-yyyy") & " s.d " & Format(TglAkhir, "dd-mm-yyyy")
        lblDicetak.Caption = "Dicetak oleh " & frmMain.StatusBar1.Panels(1).Text & _
                             ", Tanggal " & Format(Now, "dd-mm-yyyy") & _
                             ", Jam " & Format(Now, "hh:mm:ss")
        
        strSql = "SELECT absensi_karyawan, karyawan_nama, absensi_tanggal, absensi_date_time, " & _
                 "GetAbsensiJenis(absensi_jenis) as Jenis, absensi_keterangan " & _
                 "FROM data_absensi " & _
                 "LEFT JOIN data_karyawan_master ON karyawan_kode = absensi_karyawan " & _
                 "WHERE absensi_status = 1 " & _
                 "AND (absensi_tanggal BETWEEN '" & TglAwal & "' AND '" & TglAkhir & "') " & _
                 "ORDER BY absensi_date_time ASC"
        RunSQL strSql
        
    End With
    
End Sub
Private Sub ActiveReport_FetchData(EOF As Boolean)
    
    On Error Resume Next
    If rsNew.EOF = True Then Exit Sub
        EOF = False
        Screen.MousePointer = 13
        
            lblNo.Caption = Val(lblNo.Caption) + 1
            lblTanggal.Caption = Format(rsNew.Fields("absensi_tanggal"), "dd-mm-yyyy")
            lblNama.Caption = rsNew.Fields("karyawan_nama")
            lblKode.Caption = rsNew.Fields("absensi_karyawan")
            lblKeterangan.Caption = rsNew.Fields("absensi_keterangan")
            lblJenis.Caption = rsNew.Fields("jenis")
            lblWaktu.Caption = Format(rsNew.Fields("absensi_date_time"), "hh:mm:ss")
            lblTotal.Caption = lblNo.Caption
            
        rsNew.MoveNext
        Screen.MousePointer = 0
        
End Sub


  • Digg
  • Del.icio.us
  • StumbleUpon
  • Reddit
  • RSS

SendKeys error dengan VB6 di windows 8

Ada masalah kecil ketika menggunakan perintah SendKeys pada VB6 dengan OS windows 8, setelah googling, akhirnya mendapatkan script berikut dan alhamdulillah sukses. tapi sory lupa save link sumbernya. berikut scriptnya:

Public Sub Sendkeys(text$, Optional wait As Boolean = False)
   Dim WshShell As Object
   Set WshShell = CreateObject("wscript.shell")
   WshShell.Sendkeys text, wait
   Set WshShell = Nothing
End Sub

  • Digg
  • Del.icio.us
  • StumbleUpon
  • Reddit
  • RSS

Menampilkan Data dengan Listview di VB6 + Mysql

1. Buatlah form yang berisi Listview
2. Copy script berikut
3. panggil di form-load
    - call TabelClient
    - call DataClient


Sub TabelClient()
    With ListView1
        .view = lvwReport
        .GridLines = True
        .FullRowSelect = True
        .HotTracking = True
        .ColumnHeaders.Clear
                
        With .ColumnHeaders
             .Add , , 0, 1
             .Add , , "No", 700, lvwColumnCenter
             .Add , , "Kode", 900, lvwColumnCenter
             .Add , , "Nama Client", 4500
             .Add , , "Alamat", 7500
             .Add , , "Kota", 2500
             .Add , , "Telpon", 1500
             .Add , , "Fax", 1500
        End With
      End With
End Sub
Sub DataClient()
Dim rs As New MYSQL_RS
Dim rs2 As New MYSQL_RS
        
    On Error Resume Next
    rs.OpenRs "SELECT * " & _
        "FROM data_client_master ", db
    
    ListView1.ListItems.Clear
        If rs.EOF = False Then
            ListView1.ListItems.Clear
            rs.MoveFirst
            
            Do While Not rs.EOF
            Set List = ListView1.ListItems.Add
                List.SubItems(1) = Me.ListView1.ListItems.Count
                List.SubItems(2) = rs.Fields("client_kode")
                List.SubItems(3) = rs.Fields("client_nama")
                List.SubItems(4) = rs.Fields("client_alamat")
                List.SubItems(5) = rs.Fields("client_kota")
                List.SubItems(6) = rs.Fields("client_telpon")
                List.SubItems(7) = rs.Fields("client_fax")
            rs.MoveNext
            Loop
        End If
        rs.CloseRecordset
        lblJumlah.Caption = "Jumlah : " & ListView1.ListItems.Count
End Sub

  • Digg
  • Del.icio.us
  • StumbleUpon
  • Reddit
  • RSS