Jumat, 22 Agustus 2014

[Visual Studio 2012] Coba Membuat Program POS

Lagi Coba-Coba Bikin Program POS menggunakan Visual Studio 2012.
Ternyata tidak terlalu sulit juga..

Berikut ini penampakannya :

Kalau ada yg mau source codenya, silahkan coba2 dibawah ini :
Imports System.Data
Imports System.Data.SqlClient
Imports System.IO
Imports System.Diagnostics
Imports Microsoft.VisualBasic.PowerPacks.Printing.Compatibility.VB6

Public Class Penjualan
    Dim str, sql, sql1, sql2, sql3 As String
    Dim cmd1, cmd As SqlCommand
    Dim currentDate As DateTime = DateTime.Now
    Dim printer As New Printer
    Dim PAPER_WIDTH As Integer = 1800
    Dim mulai As Integer

    Sub cetakawal()
        Dim bj, ks As String
        bj = "Jam   : "
        ks = "Kasir : "
        printer.Font = New Font("verdana", 7)
        printer.CurrentX = PAPER_WIDTH - (printer.TextWidth("LAI-LAI MARKET BUAH") / 2)
        printer.Print("PT. XXXX ABADI JAYA")
        printer.CurrentX = PAPER_WIDTH - (printer.TextWidth("Jl. Terusan Muter-Muter, Malang") / 2)
        printer.Print("Jl. Terusan Muter-Muter, Malang")
        printer.CurrentX = PAPER_WIDTH - (printer.TextWidth("Telp. 0341-336069  Fax. 0341-336070") / 2)
        printer.Print("Telp. 0341-123456  Fax. 0341-112233")
        printer.Print("--------------------------------------------------------------")
        printer.Print("Tanggal : " + Format(Now, "dd MMM yyyy             ") & ks & MaskedTextBox3.Text)
        printer.Print("Nota    : " & MaskedTextBox2.Text & "              " & bj & Format(Now, "hh:mm:ss"))
        printer.Print("--------------------------------------------------------------")
    End Sub

    Sub cetaktransaksi()
        printer.Print(TextBox13.Text)
        printer.Print(TextBox14.Text & " x " & TextBox15.Text & " = " & TextBox16.Text)
    End Sub

    Sub cetakakhir()
        cetaktransaksi()
        printer.Print("--------------------------------------------------------------")
        'printer.Font = New Font("Arial", 8)
        printer.Print("")
        printer.CurrentX = PAPER_WIDTH - (printer.TextWidth("Terima kasih atas kunjungan Anda") / 2)
        printer.FontItalic = True
        printer.Print("Terima kasih atas kunjungan Anda")
        printer.EndDoc() ' potong kertas
    End Sub

    Sub FormatText()
        DGV.Columns(5).DefaultCellStyle.Format = "N0"
        DGV.Columns(3).DefaultCellStyle.Format = "N0"
        Me.TextBox2.Text = SetDisplay(0)
        Me.TextBox3.Text = SetDisplay(0)
        Me.TextBox4.Text = SetDisplay(0)
        Me.TextBox5.Text = SetDisplay(0)
        Me.TextBox6.Text = SetDisplay(0)
        Me.Label21.Text = SetDisplay(0)
        Me.TextBox2.TextAlign = HorizontalAlignment.Right
        Me.TextBox3.TextAlign = HorizontalAlignment.Right
        Me.TextBox4.TextAlign = HorizontalAlignment.Right
        Me.TextBox5.TextAlign = HorizontalAlignment.Right
        Me.TextBox6.TextAlign = HorizontalAlignment.Right
        Me.TextBox7.TextAlign = HorizontalAlignment.Right
    End Sub

    Sub Kosong()
        mulai = 0
        Me.TextBox8.Text = 0
        Me.TextBox9.Text = 0
        Me.TextBox10.Text = 0
        Me.TextBox11.Text = 0
        Me.TextBox12.Text = 0
        Me.Label5.Text = ""
        Me.Label6.Text = ""
        Me.Label7.Text = ""
        Me.Label8.Text = ""
        Me.Label9.Text = ""
        Me.DGV.Rows.Clear()
        MaskedTextBox2.Text = AutoNumber()
    End Sub

    Sub BuatKolomBaru()
        DGV.Columns.Add("Kode", "Item Code")
        DGV.Columns.Add("Nama", "Item Name")
        DGV.Columns.Add("Sat", "Stn")
        DGV.Columns.Add("Harga", "Price")
        DGV.Columns.Add("Jumlah", "Qty")
        DGV.Columns.Add("Total", "Total")
        DGV.Columns.Add("Ttl", "Berat")
        DGV.Columns.Add("Div", "Divisi")
        Call AturLebarKolom()
    End Sub

    Sub AturLebarKolom()
        DGV.Columns(0).Width = 120
        DGV.Columns(1).Width = 260
        DGV.Columns(2).Width = 65
        DGV.Columns(3).Width = 100
        DGV.Columns(4).Width = 60
        DGV.Columns(5).Width = 100
    End Sub

    Private Sub Form4_Load(sender As Object, e As EventArgs) Handles MyBase.Load
        'str = "server=server-01\server;database=xxx;user id=sa;password=rahasia;"
        vmesin = "14"
        Me.Label4.Visible = False
        Me.BuatKolomBaru()
        Me.Kosong()
        If currentDate.Day = 1 Then
            Bulan_baru()
        End If
        'CariBulan()
        'dbn = bulan + Trim(Today.Year)
        FormatText()
        DGV.Columns(3).DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleRight
        DGV.Columns(4).DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleRight
        DGV.Columns(5).DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleRight
        MaskedTextBox1.Text = Today
        'MaskedTextBox2.Text = bulan + Trim(Today.Year) '"4030417166"
        MaskedTextBox3.Text = "JOKOWI"
        CariHari()
        hsl = 0
        Me.TextBox2.Text = 0
    End Sub

    Private Sub TextBox1_KeyPress(sender As Object, e As KeyPressEventArgs) Handles TextBox1.KeyPress
        If Asc(e.KeyChar) = 13 Then
            TextBox1.CharacterCasing = CharacterCasing.Upper
            kode = Trim(TextBox1.Text)
            berat = 1
            jum = 1
            If Microsoft.VisualBasic.Left(Me.TextBox1.Text, 2) = "24" Then
                kode = Microsoft.VisualBasic.Mid(TextBox1.Text, 3, 5)
                berat = Microsoft.VisualBasic.Mid(TextBox1.Text, 8, 2) + "," + Microsoft.VisualBasic.Mid(TextBox1.Text, 10, 3)
            End If

            kiri = Microsoft.VisualBasic.Left(Me.TextBox1.Text, 1)
            tot = Val(Microsoft.VisualBasic.Mid(Me.TextBox1.Text, 2, 6))
            nil = 0
            itm = 0
            Select Case kiri
                Case "X"
                    DGV.SelectedCells(4).Value = tot
                    DGV.SelectedCells(5).Value = DGV.SelectedCells(3).Value * tot
                    DGV.SelectedCells(6).Value = tot
                    TextBox14.Text = tot
                Case "T"
                    TextBox5.Text = SetDisplay(Label21.Text)
                    TextBox6.Text = SetDisplay(TextBox5.Text - TextBox4.Text)
                    Me.TextBox10.Text = Val(TextBox1.Text.Split("T").Last)
                    Me.TextBox8.Text = TextBox5.Text - TextBox4.Text
                    'Me.cetakakhir()
                    Koneksi_Bulan()
                    sql1 = "Insert Into rth(nofaktur,tanggal,jumlah,tunai,bayar,sisa,totalqty,iduser,disc1)" &
                            " values('" & MaskedTextBox2.Text & "','" & Format(Now, "yyyy-MM-dd HH:mm:ss") & "'," & TextBox12.Text & "," &
                            "" & TextBox9.Text & "," & TextBox10.Text & "," &
                            "" & TextBox8.Text & "," & TextBox7.Text & "," &
                            "'" & MaskedTextBox3.Text & "'," & TextBox11.Text & ")"
                    Dim cmd1 As New SqlCommand(sql1, Conn_bulan)
                    cmd1.ExecuteNonQuery()

                    Try
                        For r As Integer = 0 To DGV.Rows.Count - 2
                            str = DGV.Rows(r).Cells(0).Value
                            'If Not str = vbEmpty Then
                            Koneksi_Bulan()
                            sql = "Insert Into rtd(nofaktur,tanggal,ItemCode,namaitem,satuan,harga,Qtyshp,jumlah,qtybb,divisi,tunai,iduser)" &
                                    " values('" & MaskedTextBox2.Text & "','" & Format(Now, "yyyy-MM-dd HH:mm:ss") & "','" & DGV.Rows(r).Cells(0).Value & "'," &
                                    "'" & DGV.Rows(r).Cells(1).Value.Replace("'", "''") & "','" & DGV.Rows(r).Cells(2).Value & "'," &
                                    "" & DGV.Rows(r).Cells(3).Value & "," & DGV.Rows(r).Cells(4).Value & "," &
                                    "" & DGV.Rows(r).Cells(5).Value & "," & DGV.Rows(r).Cells(6).Value & "," &
                                    "'" & DGV.Rows(r).Cells(7).Value & "'," & DGV.Rows(r).Cells(5).Value & ",'" & MaskedTextBox3.Text & "')"
                            Dim cmd As New SqlCommand(sql, Conn_bulan)
                            cmd.ExecuteNonQuery()
                            'Conn.Close()
                            'End If
                        Next
                        Me.Kosong()
                        Me.Label4.Text = "Change ---- " + SetDisplay(TextBox6.Text)
                    Catch
                        MsgBox("Server Tidak Terhubung")
                    End Try
                Case Else
                    ' If mulai = 0 Then
                    'Me.cetakawal()
                    'mulai = 1
                    'Else
                    'Me.cetaktransaksi()
                    'End If
                    Koneksi_lailai()
                    row = "select ItemCode, NamaItem, Satuan, Harga from IcAlt where ItemCode='" & kode & "'"
                    cmd = New SqlClient.SqlCommand(row, Conn_lailai)
                    rd = cmd.ExecuteReader
                    rd.Read()
                    If rd.HasRows Then
                        DGV.Rows.Add(rd.Item(0), rd.Item(1), rd.Item(2), rd.Item(3), berat, rd.Item(3) * berat, 1)
                        Me.Label4.Text = rd.Item(1)
                        Me.Label5.Text = 1
                        Me.Label8.Text = SetDisplay(rd.Item(3))
                        Me.Label9.Text = SetDisplay(rd.Item(3))
                        DGV.CurrentCell = DGV(0, DGV.RowCount - 2)
                        TextBox13.Text = rd.Item(1)
                        TextBox14.Text = SetDisplay(rd.Item(3))
                        TextBox15.Text = SetDisplay(berat)
                        TextBox16.Text = SetDisplay(rd.Item(3) * berat)
                        'Print("SUB Lai Lai Market Buah")
                    Else
                        MsgBox("Kode barang tidak terdaftar")
                    End If
            End Select

            For Each R As DataGridViewRow In DGV.Rows
                nil += R.Cells(5).Value
                itm += R.Cells(6).Value
                'totqty += R.Cells(6).Value
            Next

            Me.TextBox2.Text = SetDisplay(nil)
            Me.TextBox7.Text = itm
            Me.TextBox4.Text = SetDisplay(nil)
            Me.TextBox12.Text = nil
            Me.TextBox11.Text = 0
            Me.TextBox9.Text = nil
            TextBox1.Clear()
        End If
    End Sub

    Private Sub DGV_CellFormatting(sender As Object, e As DataGridViewCellFormattingEventArgs) Handles DGV.CellFormatting
        DGV.SelectionMode = DataGridViewSelectionMode.FullRowSelect
        DGV.DefaultCellStyle.SelectionBackColor = Color.LawnGreen
        DGV.DefaultCellStyle.SelectionForeColor = Color.Blue
    End Sub

    Private Sub Timer1_Tick(sender As Object, e As EventArgs) Handles Timer1.Tick
        Me.Text = "POS Software 1.0 - " + hari + " - " + Today + " - " + TimeOfDay
    End Sub

    Private Sub TextBox1_TextChanged(sender As Object, e As EventArgs) Handles TextBox1.TextChanged
        Select Case Microsoft.VisualBasic.Left(Me.TextBox1.Text, 1)
            Case "T"
                Label11.Text = "TUNAI"
                GroupBox3.Visible = True
                If TextBox1.TextLength = 1 Then
                    Label21.Text = 0
                Else
                    Label21.Text = SetDisplay(TextBox1.Text.Split("T").Last)
                End If
            Case "C"
                Label11.Text = "CARD"
                GroupBox3.Visible = True
                Label21.Text = SetDisplay(TextBox2.Text)
            Case "D"
                Label11.Text = "DEBET"
                GroupBox3.Visible = True
                Label21.Text = SetDisplay(TextBox2.Text)
            Case Else
                GroupBox3.Visible = False
        End Select
    End Sub

    Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
        Bulan_baru()
    End Sub
End Class
Semoga Bermanfaat 

Tidak ada komentar:

Posting Komentar