Sana Modi is a technology expert and content writer at nosware. She has a tremendous knowledge of the latest social sites apart from social media, she also examined the latest games and laptops and has personally reviewed the products. She loves to explore all the social media sites and research them.
Last Updated on November 10, 2022 by Humera Hallari
In any programming include Visual Basic VB.NET, reporting become one of the most important aspect, cause with reports we will have something (data) that can used to what must to do the next.
In here I’ve source code how to make/generate RAW Reporting that fit to used for mini market, and small business store elsewhere.
To create RAW Reports you just create one project and add one button, and create class, then copy paste below code.
Class “Print.vb“
Public Class Printer Private Shared Lines As New Queue(Of String) Private Shared _myfont As Font Private Shared prn As Printing.PrintDocument Shared Sub New() _myfont = New Font("Courier New", 8, FontStyle.Regular, GraphicsUnit.Point) prn = New Printing.PrintDocument AddHandler prn.PrintPage, AddressOf PrintPageHandler End Sub Public Shared Sub Print(ByVal text As String) Dim linesarray() = text.Split(New String() _ {Environment.NewLine}, StringSplitOptions.None) For Each line As String In linesarray Lines.Enqueue(line) Next prn.Print() End Sub Private Shared Sub PrintPageHandler(ByVal sender As Object, ByVal e As Printing.PrintPageEventArgs) Dim sf As New StringFormat() Dim vpos As Single = e.PageSettings.HardMarginY Do While Lines.Count > 0 Dim line As String = Lines.Dequeue Dim sz As SizeF = e.Graphics.MeasureString( line, _myfont, e.PageSettings.Bounds.Size, sf) Dim rct As New RectangleF( e.PageSettings.HardMarginX, vpos, e.PageBounds.Width - e.PageSettings.HardMarginX * 2, e.PageBounds.Height - e.PageSettings.HardMarginY * 2) e.Graphics.DrawString(line, _myfont, Brushes.Black, rct) vpos += sz.Height If vpos > e.PageSettings.Bounds.Height - e.PageSettings.HardMarginY * 2 Then e.HasMorePages = True Exit Sub End If Loop End Sub End Class
This code for event “Form1.vb“
Public Class Form1 Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click Dim strPrint As String strPrint = "Nosware Store & Coffe Shop" & vbCrLf strPrint = strPrint & "------------------------------" & vbCrLf strPrint = strPrint & "No : TN1254389" & vbCrLf strPrint = strPrint & "Cashier: Soni" & vbCrLf strPrint = strPrint & " " & vbCrLf strPrint = strPrint & "Nama Qty. Costs SubTotal" & vbCrLf strPrint = strPrint & "------------------------------" & vbCrLf strPrint = strPrint & "Sauce 2 5000 10000" & vbCrLf strPrint = strPrint & "Coffe 3 1000 3000" & vbCrLf strPrint = strPrint & "Sugar 1 8000 3000" & vbCrLf strPrint = strPrint & "------------------------------" & vbCrLf strPrint = strPrint & "Total 13000" & vbCrLf Printer.Print(strPrint) End Sub End Class
If code error replace & with only &.
The result will look like this:
Receipt Report with VB.NET
Source Code, can be downloaded here: https://www.nosware.com/go/receiptreportvb