Click here to Skip to main content
15,887,135 members
Home / Discussions / Visual Basic
   

Visual Basic

 
Questionsearch a excel document Pin
staticstate2-Apr-13 7:00
staticstate2-Apr-13 7:00 
AnswerRe: search a excel document Pin
Kenneth Haugland2-Apr-13 9:13
mvaKenneth Haugland2-Apr-13 9:13 
GeneralRe: search a excel document Pin
Maciej Los10-Apr-13 3:38
mveMaciej Los10-Apr-13 3:38 
AnswerRe: search a excel document Pin
Maciej Los10-Apr-13 5:10
mveMaciej Los10-Apr-13 5:10 
QuestionSearching Data Pin
Ahmad Rifai Yusuf2-Apr-13 3:45
Ahmad Rifai Yusuf2-Apr-13 3:45 
AnswerRe: Searching Data Pin
Kenneth Haugland2-Apr-13 9:15
mvaKenneth Haugland2-Apr-13 9:15 
GeneralRe: Searching Data Pin
Ahmad Rifai Yusuf3-Apr-13 13:01
Ahmad Rifai Yusuf3-Apr-13 13:01 
QuestionHello All, need help to SET 5 days in a weeks in VB 2010 EXPRESS Pin
Yazid Aura Robbani1-Apr-13 22:08
professionalYazid Aura Robbani1-Apr-13 22:08 
sorry if my English is not good.
5 Days need to set name is :
Day1 = Legi
Day2 = Pahing
Day3 = Pon
Day4 = Wage
Day5 = Kliwon

I have the Code in VB6 with 1 form and 2 modules and I have no problem with it, but when i try to put this code on VB 2010 I completely have HEADACHE CODE Smile | :)

'Form1
------
VB
Dim ahari
Dim shari As String
Dim l As Single
Dim l1 As Single
Dim CekTanggal As Boolean
Dim HariIni As Boolean
Public TextTanggalSekarang As String
Const MaxTahun = 2099, MinTahun = 1901

Private Sub CmbTahun_Click()
    If CekTanggal = False Then
        Exit Sub
    End If
    TampilkanTanggal
End Sub
Private Sub CmbBulan_Click()
    If CekTanggal = False Then
        Exit Sub
    End If
    TampilkanTanggal
End Sub

Private Sub Form_Load()
    If App.PrevInstance = True Then
        Unload Me
        End
    End If
    
    CekTanggal = False
    Combo_Status_Load
    Combo_Tahun_Load
    TanggalSekarang = Now
    CmbBulan.ListIndex = Month(TanggalSekarang) - 1
    CmbTahun.ListIndex = Year(TanggalSekarang) - MinTahun
    HariIni = True
    TampilkanTanggal
    CekTanggal = True
    formloaded = True
    Timer1.Interval = 300
ahari = Array("Minggu", "Senin", "Selasa", "Rabu", "Kamis", "Jumat", "Sabtu")

End Sub

Private Sub Combo_Status_Load()
    CmbBulan.List(0) = "Januari"
    CmbBulan.List(1) = "Februari"
    CmbBulan.List(2) = "Maret"
    CmbBulan.List(3) = "April"
    CmbBulan.List(4) = "Mei"
    CmbBulan.List(5) = "Juni"
    CmbBulan.List(6) = "Juli"
    CmbBulan.List(7) = "Agustus"
    CmbBulan.List(8) = "September"
    CmbBulan.List(9) = "Oktober"
    CmbBulan.List(10) = "November"
    CmbBulan.List(11) = "Desember"
End Sub

Private Sub Combo_Tahun_Load()
    Dim i As Integer
    For i = 0 To MaxTahun - MinTahun
        CmbTahun.List(i) = i + MinTahun
    Next
End Sub


Private Sub Grid_Kalender_Load()
    Dim i As Integer
    CalGrid.Row = 0
    CalGrid.Col = 0
    CalGrid.CellAlignment = 4
    CalGrid.CellFontBold = True
    CalGrid.CellBackColor = &HC0C0FF
    
    For i = 1 To 6
        CalGrid.Row = 0
        CalGrid.Col = i
        CalGrid.CellAlignment = 4
        CalGrid.CellFontBold = True
        CalGrid.CellBackColor = &HD4D4D4
    Next
    
    CalGrid.TextMatrix(0, 0) = "Min"
    CalGrid.TextMatrix(0, 1) = "Sen"
    CalGrid.TextMatrix(0, 2) = "Sel"
    CalGrid.TextMatrix(0, 3) = "Rab"
    CalGrid.TextMatrix(0, 4) = "Kam"
    CalGrid.TextMatrix(0, 5) = "Jum"
    CalGrid.TextMatrix(0, 6) = "Sab"

End Sub
Private Sub TampilkanTanggal()
    Dim BanyakTanggal As Integer
    Dim TahunTampil As Integer
    Dim CekKabisat As Boolean
    Dim HariPertama As Integer
    Dim BulanTampil As Integer
    Dim a As Long
    Dim b As Long
    Dim i As Integer
    
     'tanggal hari ini
    TanggalSekarang = Now
    TanggalSekarang = Day(TanggalSekarang)
    
    'hapus tanggal lama
    For a = 1 To 6
        For b = 0 To 6
            CalGrid.Row = a
            CalGrid.Col = b
            CalGrid.Clear
        Next b
    Next a
    
    'inisiasi
    Grid_Kalender_Load
    BulanTampil = CmbBulan.ListIndex + 1
    TahunTampil = CmbTahun.ListIndex + MinTahun
    HariPertama = Program_HariPertama(BulanTampil, TahunTampil)
    CekKabisat = Program_CekKabisat(TahunTampil)
   
    If BulanTampil = 4 Or BulanTampil = 6 Or BulanTampil = 9 Or BulanTampil = 11 Then
        BanyakTanggal = 30
    ElseIf (BulanTampil = 2 And CekKabisat = True) Then
        BanyakTanggal = 29
    ElseIf (BulanTampil = 2 And CekKabisat = False) Then
        BanyakTanggal = 28
    Else
        BanyakTanggal = 31
    End If
    
    'cari hari pertama jawa kabisat
    Dim HariPertamaJawa As Integer
    Dim HariJawa As Integer
    Dim TahunTampil_temp As Integer
    
    If (TahunTampil > 2000) Then
        TahunTampil_temp = TahunTampil - 100
    Else
        TahunTampil_temp = TahunTampil
    End If
    
    
    If (CekKabisat = True) Then
        HariPertamaJawa = Program_HariJawaKabisat(BulanTampil, TahunTampil_temp)
    Else
        HariPertamaJawa = Program_HariJawaBiasa(BulanTampil, TahunTampil_temp)
    End If
    
                      
    'menuliskan tanggal
    HariJawa = HariPertamaJawa
    a = 1
    b = HariPertama - 1
    For i = 1 To BanyakTanggal
        CalGrid.Row = a
        CalGrid.Col = b
        CalGrid.CellAlignment = 4
        CalGrid.WordWrap = True
        
        If (HariIni = True And i = TanggalSekarang) Then
            CalGrid.CellBackColor = &HE0E0E0
            TextTanggalSekarang = GetNamaHari(b + 1) & " " & NamaJawa(HariJawa) & "," & i & " " & CmbBulan.List(CmbBulan.ListIndex) & " " & TahunTampil
        End If
                
        CalGrid.Text = i & vbNewLine & NamaJawa(HariJawa)
        
        If (HariJawa = 5) Then
            HariJawa = 1
        Else
            HariJawa = HariJawa + 1
        End If
                
        If (b = 6) Then
            a = a + 1
            b = -1
        End If
        b = b + 1
    Next
    
    HariIni = False
    
End Sub


Private Sub SysTrayBtn_Click()
    Me.Hide
    Dim nid As NOTIFYICONDATA

    With nid
    .cbSize = Len(nid)
    .hWnd = FormMain.hWnd
    .uID = 0
    .uFlags = NIF_MESSAGE Or NIF_ICON Or NIF_TIP
    .uCallbackMessage = 1400
    .hIcon = FormMain.Icon
    .szTip = TextTanggalSekarang & vbNullChar

    End With
    Shell_NotifyIconA NIM_ADD, nid
    oldproc = SetWindowLongA(Me.hWnd, -4, AddressOf proc)
    Me.Hide
End Sub

Private Sub Form_Paint()
  formloaded = True
End Sub
Private Sub KalenderTray_Click()
    Dim nid As NOTIFYICONDATA

    With nid

    .hWnd = Me.hWnd
    .cbSize = Len(nid)
    .uID = 0
    End With
  
    Shell_NotifyIconA NIM_DELETE, nid
  
    SetWindowLongA Me.hWnd, -4, oldproc
      
    Me.Show
    Form_Load
End Sub

Private Sub Timer1_Timer()
shari = ahari(Abs(Weekday(Date) - 1))
Label5(1).Caption = "" & shari & ", " & Format(Date, "dd mmmm yyyy")
Label4(1).Caption = Format(Time, "hh:mm:ss")
End Sub


Smile | :)

'Module1
--------
VB
Function Program_CekKabisat(TahunTampil As Integer) As Boolean
Dim ModHasil As Integer
Dim CekKabisat As Boolean

ModHasil = TahunTampil Mod 4
   If ModHasil = 0 Then
        ModHasil = TahunTampil Mod 100
        If ModHasil = 0 Then
                ModHasil = TahunTampil Mod 400
                If ModHasil = 0 Then
                    CekKabisat = True
                Else
                    CekKabisat = False
                End If
        Else
             CekKabisat = True
        End If
    Else
        CekKabisat = False
    End If
    
    Program_CekKabisat = CekKabisat
    
End Function

Function Program_HariPertama(BulanTampil As Integer, TahunTampil As Integer) As Integer

Dim TanggalPertama As Date
TanggalPertama = CDate(Format(BulanTampil & "/01/" & TahunTampil, "mm/dd/yyyy"))
Program_HariPertama = Weekday(TanggalPertama)

End Function

Function Program_HariJawaKabisat(BulanTampil As Integer, TahunTampil As Integer) As Integer
    Dim ModHasil As Integer
    Dim JanKabisat As Integer
    ModHasil = TahunTampil Mod 5
    
    If (ModHasil = 0) Then
        JanKabisat = 1
    End If
    
    If (ModHasil = 4) Then
        JanKabisat = 2
    End If
    
    If (ModHasil = 3) Then
        JanKabisat = 3
    End If
    
    If (ModHasil = 2) Then
        JanKabisat = 4
    End If
    
    If (ModHasil = 1) Then
        JanKabisat = 5
    End If
    
    If (BulanTampil = 1) Then
        Program_HariJawaKabisat = JanKabisat
    End If
    
    Dim i As Integer
    Dim jumlah As Integer
    Dim BanyakTanggal As Integer
    jumlah = 0
    If (BulanTampil > 1) Then
        For i = 1 To BulanTampil - 1
            If i = 4 Or i = 6 Or i = 9 Or i = 11 Then
                BanyakTanggal = 30
            ElseIf (i = 2) Then
                BanyakTanggal = 29
            Else
                BanyakTanggal = 31
            End If
            jumlah = jumlah + BanyakTanggal
        Next i
       
        ModHasil = jumlah Mod 5
        
        Program_HariJawaKabisat = ModHasil + JanKabisat
        If (Program_HariJawaKabisat > 5) Then
            Program_HariJawaKabisat = Program_HariJawaKabisat - 5
        End If
    End If
    
End Function

Function NamaJawa(hari As Integer) As String
    If (hari = 1) Then NamaJawa = "Legi"
    If (hari = 2) Then NamaJawa = "Pahing"
    If (hari = 3) Then NamaJawa = "Pon"
    If (hari = 4) Then NamaJawa = "Wage"
    If (hari = 5) Then NamaJawa = "Kliwon"
End Function

Function Program_HariJawaBiasa(BulanTampil As Integer, TahunTampil As Integer) As Integer
    Dim i As Integer
    Dim a As Boolean
    Dim JanKabisat
    
    For i = 1 To 3
        a = Program_CekKabisat(TahunTampil + i)
        If (a = True) Then
            JanKabisat = Program_HariJawaKabisat(1, TahunTampil + i)
            Exit For
        End If
    Next
    
    If (BulanTampil = 1) Then
        Program_HariJawaBiasa = JanKabisat
    End If
    
    Dim jumlah As Integer
    Dim BanyakTanggal As Integer
    jumlah = 0
    If (BulanTampil > 1) Then
        For i = 1 To BulanTampil - 1
            If i = 4 Or i = 6 Or i = 9 Or i = 11 Then
                BanyakTanggal = 30
            ElseIf (i = 2) Then
                BanyakTanggal = 28
            Else
                BanyakTanggal = 31
            End If
            jumlah = jumlah + BanyakTanggal
        Next i
       
        ModHasil = jumlah Mod 5
        
        Program_HariJawaBiasa = ModHasil + JanKabisat
        If (Program_HariJawaBiasa > 5) Then
            Program_HariJawaBiasa = Program_HariJawaBiasa - 5
        End If
    End If
    
    
End Function

Function GetNamaHari(hari As Integer) As String
    If (hari = 1) Then GetNamaHari = "Minggu"
    If (hari = 2) Then GetNamaHari = "Senin"
    If (hari = 3) Then GetNamaHari = "Selasa"
    If (hari = 4) Then GetNamaHari = "Rabu"
    If (hari = 5) Then GetNamaHari = "Kamis"
    If (hari = 6) Then GetNamaHari = "Jumat"
    If (hari = 7) Then GetNamaHari = "Sabtu"
End Function


'Sys Try
----------
VB
Public Declare Function SetWindowLongA Lib "user32" (ByVal hWnd As Long, ByVal nIndex As Long, ByVal dwNewLong As Long) As Long
Public Declare Function CallWindowProcA Lib "user32" (ByVal lpPrevWndFunc As Long, ByVal hWnd As Long, ByVal Msg As Long, ByVal wParam As Long, ByVal lParam As Long) As Long
Public Declare Function Shell_NotifyIconA Lib "shell32.dll" (ByVal dwMessage As Long, lpData As NOTIFYICONDATA) As Long

Public Type NOTIFYICONDATA

  cbSize As Long
  hWnd As Long
  uID As Long
  uFlags As Long
  uCallbackMessage As Long
  hIcon As Long
  szTip As String * 64

End Type

Public Const NIM_ADD = &H0
Public Const NIM_MODIFY = &H1
Public Const NIM_DELETE = &H2
Public Const NIF_MESSAGE = &H1
Public Const NIF_ICON = &H2
Public Const NIF_TIP = &H4

Public formloaded As Boolean
Public oldproc As Long

Public Function proc&(ByVal hWnd As Long, ByVal Msg As Long, ByVal wParam As Long, ByVal lParam As Long)

  ' right button release on the icon
  ' so pop up a menu
  ' change 517 to:
  ' 516 --- right button down
  ' 518 --- right button double click
  ' 513 -- left button down
  ' 514 -- left button up
  ' 515 -- left button double click
  ' 519 -- middle button down ( for some mouse only )
  ' 520 -- middle button up
  ' 521 -- middle button double click
     
  If Msg = 1400 And (lParam = 517 Or lParam = 515) And formloaded Then FormMain.PopupMenu FormMain.mnu

  proc = CallWindowProcA(oldproc, hWnd, Msg, wParam, lParam)

End Function

AnswerRe: Hello All, need help to SET 5 days in a weeks in VB 2010 EXPRESS Pin
Bernhard Hiller1-Apr-13 22:47
Bernhard Hiller1-Apr-13 22:47 
GeneralRe: Hello All, need help to SET 5 days in a weeks in VB 2010 EXPRESS Pin
Yazid Aura Robbani2-Apr-13 8:53
professionalYazid Aura Robbani2-Apr-13 8:53 
GeneralRe: Hello All, need help to SET 5 days in a weeks in VB 2010 EXPRESS Pin
Maciej Los10-Apr-13 3:33
mveMaciej Los10-Apr-13 3:33 
GeneralRe: Hello All, need help to SET 5 days in a weeks in VB 2010 EXPRESS Pin
Yazid Aura Robbani10-Apr-13 11:16
professionalYazid Aura Robbani10-Apr-13 11:16 
Question[SOLVED] Word 2010 VBA - reading classical wordarts Pin
Bart Van Eyndhoven1-Apr-13 21:58
Bart Van Eyndhoven1-Apr-13 21:58 
AnswerRe: Word 2010 VBA - reading classical wordarts Pin
Kenneth Haugland2-Apr-13 9:19
mvaKenneth Haugland2-Apr-13 9:19 
GeneralRe: Word 2010 VBA - reading classical wordarts Pin
Bart Van Eyndhoven2-Apr-13 21:25
Bart Van Eyndhoven2-Apr-13 21:25 
GeneralRe: Word 2010 VBA - reading classical wordarts Pin
Bart Van Eyndhoven7-Apr-13 21:52
Bart Van Eyndhoven7-Apr-13 21:52 
AnswerRe: Word 2010 VBA - reading classical wordarts Pin
Kenneth Haugland7-Apr-13 23:02
mvaKenneth Haugland7-Apr-13 23:02 
GeneralRe: Word 2010 VBA - reading classical wordarts Pin
Bart Van Eyndhoven8-Apr-13 22:19
Bart Van Eyndhoven8-Apr-13 22:19 
QuestionMybase.New problem Pin
Christoffer Svensson31-Mar-13 6:42
Christoffer Svensson31-Mar-13 6:42 
AnswerRe: Mybase.New problem Pin
Dave Kreskowiak31-Mar-13 7:11
mveDave Kreskowiak31-Mar-13 7:11 
QuestionEditable Grid for Windows 7 (32 or 64 bit) Pin
h0k3n931-Mar-13 6:12
h0k3n931-Mar-13 6:12 
AnswerRe: Editable Grid for Windows 7 (32 or 64 bit) Pin
Dave Kreskowiak31-Mar-13 7:09
mveDave Kreskowiak31-Mar-13 7:09 
GeneralRe: Editable Grid for Windows 7 (32 or 64 bit) Pin
h0k3n931-Mar-13 15:10
h0k3n931-Mar-13 15:10 
GeneralRe: Editable Grid for Windows 7 (32 or 64 bit) Pin
Dave Kreskowiak31-Mar-13 15:14
mveDave Kreskowiak31-Mar-13 15:14 
GeneralRe: Editable Grid for Windows 7 (32 or 64 bit) Pin
Eddy Vluggen1-Apr-13 1:51
professionalEddy Vluggen1-Apr-13 1:51 

General General    News News    Suggestion Suggestion    Question Question    Bug Bug    Answer Answer    Joke Joke    Praise Praise    Rant Rant    Admin Admin   

Use Ctrl+Left/Right to switch messages, Ctrl+Up/Down to switch threads, Ctrl+Shift+Left/Right to switch pages.