Running Text Dengan VB

Kemaren baru dapat tugas dari Dosen VB untuk membuat runing text. Itu lo lampu yang disusun banyak banget berbentuk tulisan yang bisa berjalan ke kanan dan ke kiri. Sebenarnya tugas ini sederhana, tapi ternyata lumayan sulit. Buktinya 1 bulan dikerjakan gak kelar-kelar, maklum saya belum ahli pemrograman VB. Sebenarnya kemaren sudah selesai, tetapi Pak Dosen minta agar source codenya bisa lebih pendek. Dengan penuh perjuangan akhirnya saya bisa menyingkat 650 baris code menjadi 116 baris. Wow…!!! berkurang lumyan banyak dari sebelumnya, nah kalau pengen tahu berikut langkah-langkah pembuatan programnya baca terus.

Buatlah jendela baru! Kemudian masukan komponen-komponen sebagai berikut :

  1. Shape sejumlah 840. Shape tersebut kita beri nama menggunakan arry sehingga menjadi Lampu(0), Lampu(1), …, lampu(839).
  2. Text1
  3. Timer1, interval = 100.

Runing Text

Untuk susunan lampunya seperti gambar di bawah ini :

Visual Basic

Kemudian copykan source code berikut :

Dim index_lampu, index1, index2, index3 As Long
Dim huruf, kalimat As String
Dim panjang, xx, yy As Integer
Dim aa As Boolean
Dim bb As String

Sub matrik(a)
    For ii = 0 To 6
        For jj = 0 To 4
            If index_lampu + jj < xx And index_lampu + jj > yy Then lampu(index_lampu + jj).BackStyle = Mid(a, jj + 1 + (ii * 5), 1)
        Next jj
        index_lampu = index_lampu - 40
        If aa = True Then xx = xx - 40: yy = yy - 40
    Next ii
End Sub

Sub panggil()
    If huruf = "0" Then
    matrik ("01110100011001110101110011000101110")
    ElseIf huruf = "1" Then matrik ("00100011000010000100001000010001110")
    ElseIf huruf = "2" Then matrik ("01110100010000100010001000100011111")
    ElseIf huruf = "3" Then matrik ("01110100010000100110000011000101110")
    ElseIf huruf = "4" Then matrik ("00011001010100111111000010000100001")
    ElseIf huruf = "5" Then matrik ("11111100001000011110000010000111110")
    ElseIf huruf = "6" Then matrik ("01110100011000011110100011000101110")
    ElseIf huruf = "7" Then matrik ("11111000010001000100001000010000100")
    ElseIf huruf = "8" Then matrik ("01110100011000101110100011000101110")
    ElseIf huruf = "9" Then matrik ("01110100011000101111000011000101110")
    ElseIf huruf = "a" Or huruf = "A" Then matrik ("00100010101000110001111111000110001")
    ElseIf huruf = "b" Or huruf = "B" Then matrik ("11110100011000111110100011000111110")
    ElseIf huruf = "c" Or huruf = "C" Then matrik ("01110100011000010000100001000101110")
    ElseIf huruf = "d" Or huruf = "D" Then matrik ("11110100011000110001100011000111110")
    ElseIf huruf = "e" Or huruf = "E" Then matrik ("11111100001000011111100001000011111")
    ElseIf huruf = "f" Or huruf = "F" Then matrik ("11111100001000011111100001000010000")
    ElseIf huruf = "g" Or huruf = "G" Then matrik ("01110100011000010111100011000101110")
    ElseIf huruf = "h" Or huruf = "H" Then matrik ("10001100011000111111100011000110001")
    ElseIf huruf = "i" Or huruf = "I" Then matrik ("01110001000010000100001000010001110")
    ElseIf huruf = "j" Or huruf = "J" Then matrik ("00001000010000100001000011000101110")
    ElseIf huruf = "k" Or huruf = "K" Then matrik ("10001100101010011000101001001010001")
    ElseIf huruf = "l" Or huruf = "L" Then matrik ("10000100001000010000100001000011111")
    ElseIf huruf = "m" Or huruf = "M" Then matrik ("10001110111010110001100011000110001")
    ElseIf huruf = "n" Or huruf = "N" Then matrik ("10001100011100110101100111000110001")
    ElseIf huruf = "o" Or huruf = "O" Then matrik ("01110100011000110001100011000101110")
    ElseIf huruf = "p" Or huruf = "P" Then matrik ("11110100011000111110100001000010000")
    ElseIf huruf = "q" Or huruf = "Q" Then matrik ("01110100011000110001101011001101111")
    ElseIf huruf = "r" Or huruf = "R" Then matrik ("11110100011000111110101001001010001")
    ElseIf huruf = "s" Or huruf = "S" Then matrik ("01110100011000001110000011000101110")
    ElseIf huruf = "t" Or huruf = "T" Then matrik ("11111001000010000100001000010000100")
    ElseIf huruf = "u" Or huruf = "U" Then matrik ("10001100011000110001100011000101110")
    ElseIf huruf = "v" Or huruf = "V" Then matrik ("10001100011000110001100010101000100")
    ElseIf huruf = "w" Or huruf = "W" Then matrik ("10001100011000110001101011101110001")
    ElseIf huruf = "x" Or huruf = "X" Then matrik ("10001100010101000100010101000110001")
    ElseIf huruf = "y" Or huruf = "Y" Then matrik ("10001100010101000100001000010000100")
    ElseIf huruf = "z" Or huruf = "Z" Then matrik ("11111000010001000100010001000011111")
    ElseIf huruf = " " Or huruf = " " Then matrik ("00000000000000000000000000000000000")
    ElseIf huruf = "." Then matrik (" 00000000000000000000011100111001110")
    Else: matrik ("11111111111111111111111111111111111")
    End If
End Sub

Private Sub Form_Load()
    index1 = 840: index2 = 519: index3 = 520
    Text1.Text = "R ANGGIT H 08520241005 E 31"
End Sub

Private Sub Timer1_Timer()
    Dim temp1, temp2, temp3 As Integer
    kalimat = Text1.Text
    panjang = Len(kalimat)
    For ii = 0 To 839
        lampu(ii).BackStyle = 0
    Next ii
    If panjang > 0 Then
        ''----------------------------------------------------------------------
        For ii = 1 To panjang
            aa = True
            huruf = Mid(kalimat, ii, 1)
            xx = 840: yy = 799
            index_lampu = index1
            Call panggil
            index1 = index_lampu
            If ii = 1 Then temp1 = index1 + 279 '''index1 = index1 + 280 - 1
            index1 = index1 + 285 '''index1 = index1 + 6
        Next ii
        index1 = temp1
        If index1 < 800 - (panjang * 5) Then index1 = 840
        ''----------------------------------------------------------------------
        For ii = 1 To panjang
            aa = True
            huruf = Mid(kalimat, panjang - ii + 1, 1)
            xx = 560
            yy = 519
            index_lampu = index2
            Call panggil
            index2 = index_lampu
            If ii = 1 Then temp2 = index2 + 281 '''index2 = index2 + 280 + 1
            index2 = index2 + 275 '''index2 = index2 - 6
        Next ii
        index2 = temp2
        If index2 > 559 + (panjang * 5) Then index2 = 519
        ''----------------------------------------------------------------------
        If panjang > 8 Then panjang = 8
        For ii = 1 To panjang
            aa = False
            If ii = 1 Then temp3 = index3
            huruf = Mid(kalimat, ii, 1)
            xx = 280
            yy = 0 - 1
            index_lampu = index3
            Call panggil
            index3 = index_lampu + 285 '''index3 = index_lampu + 280 + 5
        Next ii
        index3 = temp3 - 40
        If index3 < 0 Then index3 = 520
    End If
End Sub

Sekarang kita akan bahas cara kerjanya, kira-kira mulai dari mana ya?

……

Bagi teman-teman yang ingin melihat hasilnya bisa download di sini.

Sebarkan Artikel Ini

Artikel Lain

4 Komentar Untuk “Running Text Dengan VB”

  1. Zaki says:

    Thanks artikelnya…..yang sedang aku cari2…thanks

  2. fath says:

    artikel bagus.. terimakasih ilmu nya ya..

  3. mantap gan!!!!
    izin copy ya!!!

Tinggalkan komentar

Didukung oleh WordPress · Disain oleh Anggit Herdianto