Tampilkan postingan dengan label Visual Basic. Tampilkan semua postingan
Tampilkan postingan dengan label Visual Basic. Tampilkan semua postingan
Rabu, 20 Maret 2013
Cara install visual studio 2012
Perekembangan teknologi dunia kini semakin maju dan canggih, hampir tiap beberapa tahun aplikasi selalu upgrade versi terbaru, nah kali ini saya akan posting cara install visual studio 2012.. caranya mudah, anda bisa download dan install Disini. Silahkan dicoba :))
Cara install vb 6.0
1. Ekstrak VB 6.0 Proffesional full version lalu klik 2x SETUP.exe Lihat gambar di bawah ini :


3. Setelah Run Program akan muncul tampilan No 3. Kalau mau baca Readme-nya, kalau tidak silakan klik Next.


6. Sudah tampil kan CD Key-nya?? Copy kan aja langsung di kolom product ID Number seperti gambar no 6 di bawah, lalu Next lagi.
7. Setelah di klik next akan tampil tampilan seperti gambar no 7. Pilih Install Visual Basic 6.0 . karena kita kan tujuanya install VB 6.

8. Akan tampil gambar 8. Next lagi.


10. Selanjutnya akan muncul gambar no 10. Pilih Continue.
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
17. Pilih Yes.
![]() |
![]() |
![]() |
21. Sampai di atas semuanya sudah selesai Installasinya. Dan Sekarang Saya akan Kasih Tips Untuk mas bro yang menggunakan Windows 7 agar VB6 nya bisa berjalan dengan normal dan lancar. Ikuti cara di bawah ini. Pada Icon Program VB6-nya klik kanan, lalu Pilih Propertise. lihat gambar 21 di bawah.
22. Setelah itu Pilih tab Compatibility, lalu Centang Run Program in Compatibiliti mode for, lalu pilih yang Windows XP (Service page 3). Lalu Centang juga Disable Desktop Composision (ini untuk memperlancar vb6 berjalan untuk mematikan animasi atau thema yg tidak di perlukan di windows 7). Lalu Centang juga Run the Program an Administrator. Lalu tekan Ok. ![]() |
23. Selesailah Instalasi Visual Basic 6 Full Version ini dan dibawah ini tampilan di komputer saya.
Rabu, 17 Oktober 2012
Menambahkan Print dan desain pada Crystall Report
Di suatu form project kebanyakan terdapat button untuk print atau mencetak data.Nah kegiatan saya hari ini adalah membuat print ke crystall report dengan menjadikan tampilannya tertata secara urut rata dan rapi.
Langkah-langkahnya :
Tambahkan button beri caption print atau cetak , lalu tambahkan komponen untuk print ke crystal report jangan lupa juga atur Reference , centang semua yang berhubungan dengan crystall report.Setelah selesai tambahkan coding seperti ini :
Private Sub cmdprint_Click()
Form1.Hide
Form2.Show
Set rpt = rptapps.OpenReport(App.Path & "\form\rosi.rpt")
rpt.DiscardSavedData
strsql = "select * from terapi_2 where id <>'' "
Set rs = con.Execute(strsql) 'ambil data dari table ke recordset
rpt.database.SetDataSource rs ' masukan data dari recordset ke crystal report
With Form2.CRViewer1 'komponen preview
.ReportSource = rpt ' ambil report
.EnableGroupTree = False ' hiden tree
.EnableExportButton = True ' tampilkan tombol export
.Zoom 100
.ViewReport ' tampilkan
End With
End Sub
Langkah-langkahnya :
Tambahkan button beri caption print atau cetak , lalu tambahkan komponen untuk print ke crystal report jangan lupa juga atur Reference , centang semua yang berhubungan dengan crystall report.Setelah selesai tambahkan coding seperti ini :
Private Sub cmdprint_Click()
Form1.Hide
Form2.Show
Set rpt = rptapps.OpenReport(App.Path & "\form\rosi.rpt")
rpt.DiscardSavedData
strsql = "select * from terapi_2 where id <>'' "
Set rs = con.Execute(strsql) 'ambil data dari table ke recordset
rpt.database.SetDataSource rs ' masukan data dari recordset ke crystal report
With Form2.CRViewer1 'komponen preview
.ReportSource = rpt ' ambil report
.EnableGroupTree = False ' hiden tree
.EnableExportButton = True ' tampilkan tombol export
.Zoom 100
.ViewReport ' tampilkan
End With
End Sub
Jangan lupa juga buat form baru untuk menampilkan crystall report.
Langkah selanjutnya adalah : desain secara manual pada crystal report , atur juga formula dan barisan yang pada crystall report , di bawah ini desain yang sudah saya masukkan :
Setelah itu jalankan programnya , nanti sususan pada projectnya akan tertata rapi.
Terimakasihh , di tunggu komennya :D
Terimakasihh , di tunggu komennya :D
Rabu, 10 Oktober 2012
Membuat auto number otomatis
Kali ini saya membuat project ASKES saya secara otomatis yaitu jika INDUK di inputkan angka 1,2,3,... dst maka id secara otomatis akan terisi.
Berikut ini adalah kutipan gambar saat induk diisi :
Berikut ini adalah kutipan gambar saat induk diisi :
Setelah diisi lalu tekan enter.Nahh kemudian akan muncul angka di ID secara otomatis , kita tidak perlu mengisi ID , langsung saja isi kelas terapi.Di bawah ini adalah Gambar beserta Source Codingnya :
Source Coding ini tulis pada form :
Private Sub AN()
Call koneksidb
rs.Open ("Select Count(id) as id from terapi where induk = '" & Text1.Text & "'"), con
rs.Requery
Dim Urut As Integer, titik As String, id As String
Dim Hitung As Long
Urut = Text1.Text
titik = "."
With rs
If rs.EOF Then
Else
Hitung = Right(rs.Fields!id, 1) + 1
id = (Urut & titik & Hitung)
Text2 = id
Text3.SetFocus
If Text1.Text = "0" Then
Hitung = (rs.Fields!id + 1)
id = (Hitung)
Text2 = id
Text3.SetFocus
End If
End If
End With
End Sub
Setelah ini di tulis , lalu kita hanya tinggal memanggil di Module.
Senin, 08 Oktober 2012
Desain pilihan mobil Rentcar
Tampilan Login(user interface) selalu bermacam-macam.Kali ini saya membuat dan mendesain tampilan aneka pilihan macam mobil di Rentcar.Tampilan saya ini saya desain menggunakan Photoshop CS5.berikut di bawah ini adalah gambarnya :
Jumat, 05 Oktober 2012
Mendesain MDI Form
Desain MDI Form dengan Photoshop CS5 , Seperti biasa desainnya menggunakan photoshop dengan properties yang biasa digunakan.Hasilnya adalah seperti ini :
Mendesain Form Login
Tampilan Login(user interface) selalu bermacam-macam.Kali ini saya membuat dan mendesain tampilan login project saya untuk rentcar mobil.Tampilan saya ini saya desain menggunakan Photoshop CS5.
Setelah saya desain baru saya masukkan ke Form Login Rentcar Dan saya masukkan source codingnya.
Berikut ini adalah tampilan Login dan Source Codingnya :
Setelah saya desain baru saya masukkan ke Form Login Rentcar Dan saya masukkan source codingnya.
Berikut ini adalah tampilan Login dan Source Codingnya :
Private Sub Command1_Click()
If Text1.Text = "rosi" And Text2.Text = "rosi" Then
Form1.Hide
MDIForm1.Show
Else
MsgBox "nama dan password tidak sesuai"
End If
End Sub
Private Sub end_Click()
End
End Sub
Private Sub isButton1_Click()
If Text1.Text = "rosi" And Text2.Text = "rosi" Then
Form1.Hide
MDIForm1.Show
Else
MsgBox "nama dan password tidak sesuai"
End If
End Sub
Jumat, 21 September 2012
Mencari Debug pada aplikasi Linkar Apotek Paru
Pertama pilih
transaksi lalu muncul gudang utama setelah itu pilih penerimaan barang dari PBF
seperti gambar di bawah ini :
Setelah di klik akan muncul tampilan , lalu pilih tambah
seperti gambar di bawah ini :
Lalu inputkan data seperti contoh dibawah :
Nahh , setelah diinputkan data , coba klik tombol cari pada
Detail Penerimaan Akan muncul message box error pada tampilan tersebut :
Rabu, 12 September 2012
Membuat Parameter di dalam form koneksi
- Buka VB 6.0 pilih standart exe.
- Tambahkan 2 Command : Test Koneksi dan ListView , serta tambahkan Listview seperti gambar di bawah ini :
- Tambahkan 2 Command : Test Koneksi dan ListView , serta tambahkan Listview seperti gambar di bawah ini :
- Lalu masukkan Source Coding Berikut :
Private Sub Command1_Click()
Dim con As New ADODB.Connection
If koneksidb("ROSIANANOVITA", "mobil", "", "", con) = False Then
Unload Me
End If
End Sub
- Lalu di dalam form ini terdapat modul untuk mengkoneksikan ke SQL 2008.Berikut adalah codingnya :
Option Explicit
Function koneksidb(server As String, database As String, user As String, password As String, con As ADODB.Connection) As Boolean
On Error GoTo a
If con.state = adstateopen Then con.Close
con.Open "Provider=SQLNCLI10;Server=" & server & ";Database=" & database & ";Trusted_COnnection=yes"
MsgBox "Koneksi sukses"
koneksidb = True
Exit Function
a:
koneksidb = False
MsgBox "Koneksi Gagal"
End Function
- Project sudah selesai , silahkan dicoba yaa :D
Selasa, 11 September 2012
Membuat Form yang commandnya di Enable dan konek yg lebih efisien
Pertama buka Vb 6.0 lalu pilih standart exe.
Lalu tambahkan Properties yaitu : Label , Textfield , listview dan command.Sehingga desain telah jadi seperti dibawah ini :
Lalu tambahkan Properties yaitu : Label , Textfield , listview dan command.Sehingga desain telah jadi seperti dibawah ini :
Lalu atur propertiesnya dan beri source coding berikut :
Dim stsimpan As Integer
Sub posisiawal()
Call control_active(False)
ListView1.Enabled = True
cmdadd.Enabled = True
cmdsave.Enabled = False
cmdedit.Enabled = True
cmdbatal.Enabled = False
cmddelete.Enabled = True
kosong
End Sub
Sub posisitambah()
Call control_active(True)
ListView1.Enabled = False
cmdadd.Enabled = False
cmdsave.Enabled = True
cmdedit.Enabled = False
cmdbatal.Enabled = True
cmddelete.Enabled = False
End Sub
Sub posisiedit()
Call control_active(True)
ListView1.Enabled = False
cmdadd.Enabled = False
cmdsave.Enabled = True
cmdedit.Enabled = False
cmdbatal.Enabled = True
cmddelete.Enabled = False
End Sub
Sub posisisimpan()
Call control_active(False)
ListView1.Enabled = True
cmdadd.Enabled = True
cmdsave.Enabled = True
cmdedit.Enabled = True
cmdbatal.Enabled = True
cmddelete.Enabled = True
End Sub
Sub posisibatal()
Call control_active(False)
ListView1.Enabled = True
cmdadd.Enabled = True
cmdsave.Enabled = True
cmdedit.Enabled = True
cmdbatal.Enabled = True
cmddelete.Enabled = True
End Sub
Private Sub cmdadd_Click()
Call posisitambah
stsimpan = 0
End Sub
Private Sub cmdbatal_Click()
Call posisibatal
Call kosong
End Sub
Private Sub cmdedit_Click()
Call cek_kosong
Call posisiedit
Call kosong
stsimpan = 1
End Sub
Private Sub cmdsave_Click()
If cek_kosong = True Then
Exit Sub
End If
Call posisiawal
If stsimpan = 0 Then
strsql = "insert into tabel"
MsgBox ("Data Telah Ditambah")
ElseIf stsimpan = 1 Then
strsql = "update into "
MsgBox ("Data Telah Diedit")
End If
End Sub
Private Sub Form_Load()
Call posisiawal
End Sub
Sub kosong()
Text1.Text = ""
Text2.Text = ""
Text3.Text = ""
End Sub
Sub control_active(x As Boolean)
Text1.Enabled = x
Text2.Enabled = x
Text3.Enabled = x
End Sub
Function cek_kosong() As Boolean
If (Text1.Text = "") Then
MsgBox "Isikan Kode Anda !"
Text1.SetFocus
cek_kosong = True
ElseIf (Text2.Text = "") Then
MsgBox "Isikan Nama Anda !"
Text2.SetFocus
cek_kosong = True
ElseIf (Text3.Text = "") Then
MsgBox "Isikan Alamat Anda !"
Text3.SetFocus
cek_kosong = True
Else
cek_kosong = False
End If
End Function
Finish , Program sederhana yang efisien ini bisa di jalankan :)
Silahkan mencoba yaa :DD
Form Kelas Terapi (ASKES) VB 6.0
Saya membuat Form secara berkelompok , form yang saya buat adalah form kelas terapi didalam ASKES (Asuransi Kesehatan).
Nahh , dibawah ini adalah tampilan form beserta Coding yang telah selesai.
Nahh , dibawah ini adalah tampilan form beserta Coding yang telah selesai.
Di bawah ini adalah Source Codingnya :
Private Sub nomor()
Dim no As String
With DataBarang
If .Recordset.RecordCount <> 0 Then
.Recordset.MoveLast
no = Val(Right(.Recordset!kdbarang, 4)) + 1
If Len(Trim(no)) = 1 Then
txtinduk.Text = "B" + "000" + no
End If
If Len(Trim(no)) = 2 Then
txtkinduk.Text = "B" + "00" + no
End If
If Len(Trim(no)) = 3 Then
txtinduk.Text = "B" + "0" + no
End If
If Len(Trim(no)) = 4 Then
txtinduk.Text = "B" + no
End If
Else
txtinduk.Text = "B0001"
End If
End With
End Sub
Sub isilist()
ListView1.ListItems.Clear
ListView1.ColumnHeaders.Clear
Dim ch As ColumnHeader, lv As ListItem
ListView1.View = lvwReport
Set ch = ListView1.ColumnHeaders.Add(, , "No Induk", 1000)
Set ch = ListView1.ColumnHeaders.Add(, , "ID", 1000)
Set ch = ListView1.ColumnHeaders.Add(, , "Kelas Terapi", 9500)
Set ch = ListView1.ColumnHeaders.Add(, , "Halaman", 1000)
ListView1.GridLines = True
ListView1.Enabled = True
OpenRecordset "Select * from terapi_1;"
If Not Rs.EOF Then
Do Until Rs.EOF
Set lv = ListView1.ListItems.Add(, , Rs.Fields!induk)
lv.SubItems(1) = Rs.Fields!id
lv.SubItems(2) = Rs.Fields!kls_terapi
lv.SubItems(3) = Rs.Fields!hal
Rs.MoveNext
Loop
End If
End Sub
Sub kosong()
txtinduk.Text = ""
txtid.Text = ""
txtterapi.Text = ""
txthalaman.Text = ""
txtinduk.BackColor = vbWhite
End Sub
Private Sub cmdadd_Click()
cmdbatal.Visible = True
cmdadd.Enabled = False
cmdsave.Enabled = True
cmddalate.Enabled = True
cmdedit.Enabled = True
cmdprint.Enabled = True
txtinduk.Enabled = True
txtid.Enabled = True
txtterapi.Enabled = True
txthalaman.Enabled = True
txtinduk.SetFocus
txtinduk.BackColor = &H80000000
ListView1.Enabled = True
End Sub
Sub TampilData()
If txtCari.Text = "" Then
Rs.Open "SELECT * FROM terapi_1 ORDER BY induk ASC", Cn, adOpenKeyset, adLockPessimistic
Exit Sub
End If
OpenRecordset " SELECT * from terapi_1 " & _
" where induk like '" & txtCari.Text & "'"
txtCari.SetFocus
If Rs.RecordCount > 0 Then
ListView1.ListItems.Clear
Do While Not Rs.EOF
Set lv = ListView1.ListItems.Add(, , Rs.Fields!induk)
With lv
lv.SubItems(1) = Rs.Fields!id
lv.SubItems(2) = Rs.Fields!kls_terapi
lv.SubItems(3) = Rs.Fields!hal
End With
Rs.MoveNext
Loop
End If
Rs.Close
Set Rs = Nothing
End Sub
Private Sub cmdbatal_Click()
cmdadd.Visible = True
cmdbatal.Visible = False
cmdadd.Enabled = True
ListView1.Enabled = False
cmdsave.Enabled = False
cmddalate.Enabled = False
cmdedit.Enabled = False
cmdprint.Enabled = False
txtinduk.Enabled = False
txtid.Enabled = False
txtterapi.Enabled = False
txthalaman.Enabled = False
txtinduk.BackColor = vbWhite
kosong
End Sub
Private Sub cmdcari_Click()
If txtCari.Text = "" Then
MsgBox " Data Tidak Ditemukan", , "Info"
Exit Sub
End If
If Trim(txtCari.Text) <> "" Then
TampilData
Else
ListView1.ListItems.Clear
End If
End Sub
Private Sub cmddalate_Click()
If txtinduk.Text = "" And txtid.Text = "" And txtterapi.Text = "" And txthalaman.Text = "" Then
MsgBox "silakan cari data yang ingin di hapus", vbCritical
Else
MsgBox "Data Berhasil Di Hapus..", vbInformation, "Insert Data"
eksekusiSQL "Delete from terapi_1 " & _
" where id = '" & txtid.Text & "';"
kosong
isilist
txtid.SetFocus
End If
End Sub
Private Sub cmdedit_Click()
If txtinduk.Text = "" And txtid.Text = "" And txtterapi.Text = "" And txthalaman.Text = "" Then
MsgBox "silakan cari data yang ingin di edit", vbCritical
Else
MsgBox "Data Berhasil Di Edit..", vbInformation
eksekusiSQL "Update terapi_1" & _
" set induk = '" & txtinduk.Text & "', " & _
" kls_terapi = '" & txtterapi.Text & "'," & _
" hal = '" & txthalaman.Text & "'" & _
" where id = '" & txtid.Text & "';"
kosong
isilist
txtinduk.SetFocus
End If
End Sub
Private Sub cmdprint_Click()
With Crpt1
.ReportFileName = "F:\Serba VB\ASKES\Laporan_Terapi.rpt"
.Destination = crptToWindow
.WindowState = crptMaximized
.RetrieveDataFiles
.Action = 1
End With
End Sub
Private Sub cmdsave_Click()
OpenRecordset "SELECT induk, id, kls_terapi, hal from terapi_1 " & _
" where id = '" & txtid.Text & "'"
If Not Rs.EOF Then
txtid = Rs.Fields!id
MsgBox "Kode Sudah Ada Dalam Database !!..", vbInformation, "Perhatian"
txtid = ""
Else
If txtinduk.Text = "" And txtid.Text = "" And txtterapi.Text = "" And txthalaman.Text = "" Then
MsgBox "silakan isi data dulu", vbCritical
ElseIf txtinduk.Text = "" Then
MsgBox "Ada Data Yang Belum Di isi", vbCritical
ElseIf txtid.Text = "" Then
MsgBox "Ada Data Yang Belum Di isi", vbCritical
ElseIf txtterapi.Text = "" Then
MsgBox "Ada Data Yang Belum Di isi", vbCritical
ElseIf txthalaman.Text = "" Then
MsgBox "Ada Data Yang Belum Di isi", vbCritical
Else
MsgBox "Data Sudah Tersimpan"
eksekusiSQL "INSERT INTO terapi_1 values ('" & _
txtinduk.Text & "', " & _
"'" & txtid.Text & "', " & _
"'" & txtterapi.Text & "', " & _
"'" & txthalaman.Text & "');"
kosong
isilist
txtinduk.SetFocus
End If
End If
End Sub
Private Sub Form_Load()
buka 'module
TampilData
isilist
cmdbatal.Visible = False
ListView1.Enabled = False
cmdsave.Enabled = False
cmddalate.Enabled = False
cmdedit.Enabled = False
cmdprint.Enabled = False
txtinduk.Enabled = False
txtid.Enabled = False
txtterapi.Enabled = False
txthalaman.Enabled = False
End Sub
Private Sub isButton1_Click()
If txtCari.Text = "" Then
MsgBox " Data Tidak Ditemukan", , "Info"
Exit Sub
End If
If Trim(txtCari.Text) <> "" Then
TampilData
Else
ListView1.ListItems.Clear
End If
End Sub
Private Sub ListView1_ItemClick(ByVal Item As MSComctlLib.ListItem)
txtinduk.Text = ListView1.SelectedItem
txtid.Text = ListView1.SelectedItem.SubItems(1)
txtterapi.Text = ListView1.SelectedItem.SubItems(2)
txthalaman.Text = ListView1.SelectedItem.SubItems(3)
End Sub
Private Sub Timer1_Timer()
lbltime.Caption = Time
lbltanggal.Caption = Date
End Sub
Private Sub txthalaman_Click()
txthalaman.BackColor = &H80000000
txtid.BackColor = vbWhite
txtterapi.BackColor = vbWhite
txtinduk.BackColor = vbWhite
End Sub
Private Sub txtid_Click()
txtid.BackColor = &H80000000
txtinduk.BackColor = vbWhite
txtterapi.BackColor = vbWhite
txthalaman.BackColor = vbWhite
End Sub
Private Sub txtinduk_Change()
txtinduk.BackColor = &H80000000
txtid.BackColor = vbWhite
txtterapi.BackColor = vbWhite
txthalaman.BackColor = vbWhite
End Sub
Private Sub txtterapi_Click()
txtterapi.BackColor = &H80000000
txtid.BackColor = vbWhite
txtinduk.BackColor = vbWhite
txthalaman.BackColor = vbWhite
End Sub
Selasa, 14 Agustus 2012
Menambahkan Button Print untuk Crystall Report
Didalam Project selalu ada Command Button untuk Simpan , Delete , Search , Update dan lainnya ..
Kali ini saya membuat Command Buton Print di dalam Project , Print tersebut adalah Print untuk Crystall Report..
Langkah-langkahnya :
- Pertama , Tambahkan Command di dalam project atau Listwiew , pada Properties Ubah Caption menjadi Print.
- Kedua tambahkan Componen Crystal Report dan tambahkan code source seperti gambar di bawah ini :
Kali ini saya membuat Command Buton Print di dalam Project , Print tersebut adalah Print untuk Crystall Report..
Langkah-langkahnya :
- Pertama , Tambahkan Command di dalam project atau Listwiew , pada Properties Ubah Caption menjadi Print.
- Kedua tambahkan Componen Crystal Report dan tambahkan code source seperti gambar di bawah ini :
- Ketiga , Coba jalankan program tersebut dan isikan data anda lalu lihat pada report data ( listwiew ). Di bawah ini adalah hasil data yang telah saya masukkan :
Nahh , jika akan melihat dan print data yang telah masuk di Crystal Report klik Print pada project ( atau yang terdapat di dalam Listview ) Di sinilah data tersebut sudah terkoneksi dengan crystal report dan dapat di print.
Gambarnya adalah sebagai berikut :
Dengan dibuatnya koneksi menggunakan Crystal Report , Anda dapat lebih mudah mencetak data dengan mudah :)
Terimakasih :)
Jumat, 03 Agustus 2012
Kamis, 12 Juli 2012
koneksi yang lebih mudah dan efisien menggunakan SQL server
ini cuman contoh yang sederhana :
Public conn As New ADODB.Connection
Public server As String
Public namadatabase As String
Public user As String
Public password As String
'Public Sub buka()
'If cn.State = adStateOpen Then cn.Close
'cn.Mode = adModeReadWrite
'cn.Open "Provider=SQLNCLI10;Server\SQLEXPRESS;Database;Trusted_COnnection=yes"
'End Sub
Sub koneksi()
server = ".\SQLEXPRESS"
Database = "libom"
user = ""
password = ""
If conn.State = adStateOpen Then conn.Close
conn.ConnectionString = "Provider=SQLNCLI10;Server=" & server & ";Database=" & Database & ";Trusted_COnnection=yes"
End Sub
Sub bukakoneksi()
Call koneksi
conn.Open
End Sub
Public conn As New ADODB.Connection
Public server As String
Public namadatabase As String
Public user As String
Public password As String
'Public Sub buka()
'If cn.State = adStateOpen Then cn.Close
'cn.Mode = adModeReadWrite
'cn.Open "Provider=SQLNCLI10;Server\SQLEXPRESS;Database;Trusted_COnnection=yes"
'End Sub
Sub koneksi()
server = ".\SQLEXPRESS"
Database = "libom"
user = ""
password = ""
If conn.State = adStateOpen Then conn.Close
conn.ConnectionString = "Provider=SQLNCLI10;Server=" & server & ";Database=" & Database & ";Trusted_COnnection=yes"
End Sub
Sub bukakoneksi()
Call koneksi
conn.Open
End Sub
Langganan:
Postingan (Atom)





















