Kamis, 29 April 2010

Bungansarin

my love bungansarin

Senin, 13 April 2009

Membuat Clickable Chart (Create Clickable Chart)

By Bungansa

GET WAREHOUSE MANAGEMENT SYSTEM SOURCE CODE COMPLETE WITH DATABASE BACKUP FILE, USER MANUAL AND SYSTEM MANUAL
  1. SOURCE LANGUAGE :VISUAL BASIC NET
  2. DATABASE :SQLSERVER EXPRESS 2005/SQLSERVER 2005
  3. USER MANUAL :PDF FILE
  4. SYSTEM MANUAL :PDF FILE


Create Clickable Chart



Displaying information in chart form sometimes is more readable. In application, creating chart using Crystal Report is very easy. But, crystal report IS NOT CLICKABLE. In following sample, I will show how to create CLICKABLE CHART using lables that are created dynamically in application.
Every lable created will have event Click.
Here is step by step to create clickable chart (see form picture for desing) :
1. create new form, Name : FrmBnsChartClick
2. place a button, Name : BtnBnsChart
3. place a lable, Name : LblBnsYear
4. place a lable, Name : LblBnsProfit
5. place textbox, Name : TxtBnsa
6. copy source code below and paste it to FrmBnsChartClick code (FrmBnsChartClick.vb)



Imports System.Windows
Imports System.Drawing.Printing

Public Class FrmBnsChartClick
Dim bnsTxt As New TextBox
Dim bnsTxta(10) As TextBox
Dim bnsLbl As New Label
Dim bnsLblA(50) As Label
Dim bnsLblB(50) As Label
Dim bNs As Integer
Dim bnsGraph As System.Drawing.Graphics

Dim bnsX As Integer
Dim bnsY As Integer

Private Sub BtnBnsChart_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BtnBnsChart.Click
For bNs = 0 To 9
'remove lable if the lable already exist before
Me.Controls.Remove(bnsLblA(bNs))
Me.Controls.Remove(bnsLblB(bNs))

'<---TABULAR LABLE START HERE
'create lable and set lable's property
bnsLblA(bNs) = New Label
bnsLblA(bNs).Width = BtnBnsChart.Height
bnsLblA(bNs).Height = BtnBnsChart.Width * 0.1 * (bNs + 1)
bnsLblA(bNs).Top = bnsY - bnsLblA(bNs).Height
bnsLblA(bNs).Text = bNs
If bNs = 0 Then
bnsLblA(bNs).Left = bnsX + (bNs * BtnBnsChart.Height) + (0.5 * BtnBnsChart.Height)
Else
bnsLblA(bNs).Left = bnsLblA(bNs - 1).Left + bnsLblA(bNs).Width + (0.1 * BtnBnsChart.Height)
End If

bnsLblA(bNs).Cursor = Cursors.Hand
bnsLblA(bNs).Tag = bNs

bnsLblA(bNs).BackColor = IIf(bNs Mod 2 = 0, Color.LightBlue, Color.HotPink)

'generate event for the lable
AddHandler bnsLblA(bNs).Click, AddressOf LblBnsClick

'put lable on form (on container)
Me.Controls.Add(bnsLblA(bNs))
'<<===TABULAR LABLE END HERE

'<---YEAR LABLE START HERE
'create lable and set lable's property
bnsLblB(bNs) = New Label
bnsLblB(bNs).AutoSize = True
bnsLblB(bNs).Top = bnsY + 10
bnsLblB(bNs).Text = "200" & bNs
bnsLblB(bNs).Left = bnsLblA(bNs).Left
Me.Controls.Add(bnsLblB(bNs))
'<<===YEAR LABLE END HERE
Next
End Sub
Private Sub LblBnsClick(ByVal sender As System.Object, ByVal e As System.EventArgs)
TxtBnsa.Text = sender.tag
End Sub
Private Sub FrmBnsGraphClick_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
'initiate graphic object
bnsGraph = Me.CreateGraphics
'X position for Y axis
bnsX = LblBnsProfit.Left + LblBnsProfit.Width + 10
'Y position for X axis
bnsY = LblBnsYear.Top - 30
End Sub
Private Sub FrmBnsGraphClick_Paint(ByVal sender As Object, ByVal e As System.Windows.Forms.PaintEventArgs) Handles Me.Paint
'drawing X axis
bnsGraph.DrawLine(Pens.Black, bnsX, bnsY, Me.Width - 100, bnsY)
'drawing Y axis
bnsGraph.DrawLine(Pens.Black, bnsX, bnsY, bnsX, 40)
End Sub
End Class

Rabu, 08 April 2009

Mengirim Email via VBNet

By Bungansa


Dalam aplikasi VBNet, kita dapat menambahkan feature pengiriman email.
Sebagai contoh misalnya dalam aplikasi Inventory Management, kita menginginkan ketika Good Receive Notes diapprove, maka email otomatis dikirimkan ke supplier sebagai notification bahwa barangnya sudah diterima.






Sintax :

Imports System.Web.Mail
Public Class FrmSendMail

Private Sub BtnBnsSend_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BtnBnsSend.Click
Try
Dim bnsMail As New MailMessage
bnsMail.To = TxtBnsTo.Text
bnsMail.Cc = TxtBnsCc.Text
bnsMail.Bcc = TxtBnsBcc.Text
bnsMail.Attachments.Add(New System.Web.Mail.MailAttachment(TxtBnsAttach1.Text))
bnsMail.Attachments.Add(New System.Web.Mail.MailAttachment(TxtBnsAttach2.Text))
bnsMail.Subject = TxtBnsSubject.Text
bnsMail.Body = TxtBnsBody.Text
bnsMail.From = TxtBnsFrom.Text

SmtpMail.SmtpServer = "smtp.bnsCorp.com"
SmtpMail.Send(bnsMail)

Catch ex As Exception
MsgBox(ex.Message, MsgBoxStyle.Critical, "bns Message")
End Try
End Sub
End Class

Senin, 30 Maret 2009

Membuka File dan Menjalankan Aplikasi dari VBNet

Membuka File dari VBNet
by Bungansa
Process.Start(fileName As String)
Kadang-kadang kita menginginkan untuk membuka suatu file tertentu, misalnya file word document, Jpeg, excell document atau PDF dan sebagainya, dari aplikasi yang kita develop.
Contoh :
Process.Start(“D:\Mase\MySelected\bnsAvi.avi”)
Process.Start(“D:\Mase\MySelected\bnsExcell.xls”)
Process.Start(“D:\Mase\MySelected\bnsJpg.jpg”)
Process.Start(“D:\Mase\MySelected\bnsPdf.pdf”)
Process.Start(“D:\Mase\MySelected\bnsWord.doc”)
Process merupakan sebuah class dari VBNet yang akan mengidentifikasi jenis file dari extention dan akan secara otomatis akan menjalankan aplikasi yang sesuai untuk membuka file tersebut.
Untuk contoh pertama di atas misalnya, Process akan mengidentifikasi jenis file bnsAvi.Avi sebagai AVI File dan kemudian otomatis menjalanan aplikasi Media Player untuk membuka file tersebut.
Note :
Pastikan bahwa setiap file yang hendak dibuka memiliki aplikasi untuk membukanya. Sebagai misal, jika diinginkan membuka file Pdf, maka Acrobat Reader harus terinstall. Demikian seterusnya
Jika extension file tidak dikenal, run time error berikut akan terjadi.
"No application is associated with the specified file for this operation"

Menjalankan Aplikasi dari VBNet
Untuk menjalankan aplikasi tertentu, tanpa membuka suatu file, gunakan Process sebagai berikut.
Dim bnsProcess As New System.Diagnostics.Process
bnsProcess.StartInfo.FileName = "Winword.exe"
bnsProcess.Start()
Atau :
Gunakan perintah Shell
Shell (fileName As String)
Contoh : Shell("C:\Program Files\Microsoft Office\Office12\winword.exe")

Selasa, 24 Maret 2009

ShrinkFile SQLServer

By Bungansa
Seiring berjalannya waktu, suatu database, semakin lama akan semakin membesar sehingga memerlukan maintenance rutin, supaya tidak membebani kapasitas hardisk server secara berlebihan. Maintenance untuk mengecilkan ukuran file (file size) suatu database ini dalam SQLServer dikenal sebagai ShrinkFile.
Setiap SQLServer database, terdiri dari dua jenis data file. Yaitu
1. Data file (Mdf File), sebagai media penyimpan data
2. Log File (Ldf File), sebagai media penyimpan histori transaksi data

Penyimpanan Data ke Data File dan Log File
Ketika suatu data disimpan ke dalam database SQLServer, SQLServer menulis data ke Data File dan menuliskan histori data ke Log File. Data tersebut disimpan secara fisik dituliskan oleh SQLServer ke bagian terakhir dari data file dan log file yang akan menyebabkan file size menjadi lebih besar.
Sebaliknya, ketika suatu data dihapus dari database SQLServer, SQLServer akan menghilangkan data dari Data File, dan kembali menuliskan histori data ke Log File. Secara fisik, SQLServer menghilangkan data dari Data File, tetapi tanpa mengurangi data file size.
Ilustrasi :
Kita dapat membayangkan bahwa data file seolah-olah merupakan sebuah dinding yang sedang dibangun. Maka setiap penambahan batubata akan menambah luas dinding tersebut bukan? Tetapi jika bagian batu bata yang terletak di tengah dinding dihilangkan, luas dinding secara keseluruhan tetap tidak akan berubah.
Untuk Log File, kita dapat membayangkan bahwa setiap transaksi di suatu bank, akan didokumentasikan dalam kertas-kertas transaksi, misalnya bukti setor, bukti transfer, bukti pengambilan uang dan sebagainya. Dimana semua bukti tersebut baik penambahan dana dan pengurangan dana akan meningkatkan jumlah dokumen transaksi.
Perintah shrink dalam SQLServer, secara umum berfungsi untuk mengecilkan file size dari data file (Mdf file) dan log file (log file), tetapi dengan metode yang berbeda.
Terhadap Data File, ShrinkFile akan mengatur ulang penulisan data, sehingga setiap tempat yang sudah ditinggalkan data yang terhapus dapat diisi oleh data yang terletak diujung file. Sehingga dengan demikian file size dapat menjadi lebih kecil.
Ilustrasi :
Dengan ilustrasi dinding yang berlubang diatas, jika batubata yang terletak di bagian paling atas dipindahkan untuk mengisi bagian dinding yang berlubang, maka secara keseluruhan luas dinding tidak akan berkurang.
Terhadap Log File, ShrinkFile akan menghilangkan semua jejak histori transaksi yang tersimpan di dalam log file. Jika AutoShrink dalam database diset=False, maka menjadi syarat mutlak bahwa log file harus dibackup terlebih dahulu sebelum dapat dishrinkfile.
Ilustrasi :
Dengan ilustrasi kegiatan transaksi perbankan, jika suatu file kabinet sudah dipenuhi oleh dokumen transaksi, maka untuk mengosongkan file kabinet tersebut, maka semua dokumen transaksi harus dipindahkan ke suatu tempat lain.

SINTAX
Dalam contoh dibawah, database yang digunakan adalah BeNS
USE BeNS
*ShrinkFile Data File
DBCC SHRINKFILE(BeNS,5)
-- perhatikan angka 5 adalah ukuran file baru yg diinginkan, jika angka ini lebih kecil dari initial size, maka initial size database akan digunakan dan angka 5 ini diabaikan. Demikian juga bila angka ini akan diabaikan jika lebih kecil dari ukuran minimum data file ketika proses shrinkfile selesai.

*ShrinkFile Log File
BACKUP LOG BeNS WITH TRUNCATE_ONLY
DBCC SHRINKFILE(BeNS_log, 1)
–-perhatikan angka 1 adalah ukuran file baru yg diinginkan

Anugrah Terindah

Adakah anugrah yg lebih indah dari anugrah terindah ini?
Ada... Iman pada Allah adalah Anugrah Terindah.
Dan akan menjadi Anugrah Terindah dari yang Terindah, jika Iman pada Allah selalu menaungi para Anugrah Terindah ini.
Insya Allah