实例介绍
【实例简介】
【实例截图】
【核心代码】
VERSION 5.00 Object = "{F9043C88-F6F2-101A-A3C9-08002B2F49FB}#1.2#0"; "COMDLG32.OCX" Begin VB.Form Frm_BarCode Caption = "demo" ClientHeight = 7290 ClientLeft = 60 ClientTop = 345 ClientWidth = 8760 BeginProperty Font Name = "宋体" Size = 10.5 Charset = 134 Weight = 400 Underline = 0 'False Italic = 0 'False Strikethrough = 0 'False EndProperty LinkTopic = "Form1" ScaleHeight = 7290 ScaleWidth = 8760 StartUpPosition = 2 '屏幕中心 Begin VB.CommandButton Cmd_ImgFileName Caption = "图形文件" BeginProperty Font Name = "宋体" Size = 10.5 Charset = 0 Weight = 400 Underline = 0 'False Italic = 0 'False Strikethrough = 0 'False EndProperty Height = 795 Left = 120 TabIndex = 14 Top = 1800 Width = 615 End Begin VB.TextBox Edit_ConFileName Height = 855 Left = 840 MultiLine = -1 'True TabIndex = 13 Top = 2760 Width = 1935 End Begin MSComDlg.CommonDialog CDlg_FileName Left = 3120 Top = 240 _ExtentX = 847 _ExtentY = 847 _Version = 393216 End Begin VB.Frame Frame2 Height = 3375 Left = 120 TabIndex = 8 Top = 3720 Width = 2655 Begin VB.CommandButton Cmd_Exit Caption = "退出系统" BeginProperty Font Name = "宋体" Size = 10.5 Charset = 134 Weight = 700 Underline = 0 'False Italic = 0 'False Strikethrough = 0 'False EndProperty Height = 615 Left = 360 TabIndex = 17 Top = 2640 Width = 1935 End Begin VB.CommandButton Cmd_Copy Caption = "复制" Enabled = 0 'False BeginProperty Font Name = "宋体" Size = 10.5 Charset = 134 Weight = 700 Underline = 0 'False Italic = 0 'False Strikethrough = 0 'False EndProperty Height = 495 Left = 1320 TabIndex = 16 Top = 2160 Width = 975 End Begin VB.CommandButton Cmd_Print Caption = "打印" BeginProperty Font Name = "宋体" Size = 10.5 Charset = 134 Weight = 700 Underline = 0 'False Italic = 0 'False Strikethrough = 0 'False EndProperty Height = 495 Left = 360 TabIndex = 15 Top = 2160 Width = 975 End Begin VB.CommandButton Cmd_OpenComm Caption = "连接串口" BeginProperty Font Name = "宋体" Size = 10.5 Charset = 134 Weight = 700 Underline = 0 'False Italic = 0 'False Strikethrough = 0 'False EndProperty Height = 495 Left = 360 TabIndex = 12 Top = 1680 Width = 1935 End Begin VB.CommandButton Cmd_SetComm Caption = "设置串口" BeginProperty Font Name = "宋体" Size = 10.5 Charset = 134 Weight = 700 Underline = 0 'False Italic = 0 'False Strikethrough = 0 'False EndProperty Height = 495 Left = 360 TabIndex = 11 Top = 1200 Width = 1935 End Begin VB.CommandButton Cmd_SetConfig Caption = "设置参数" BeginProperty Font Name = "宋体" Size = 10.5 Charset = 134 Weight = 700 Underline = 0 'False Italic = 0 'False Strikethrough = 0 'False EndProperty Height = 495 Left = 360 TabIndex = 10 Top = 720 Width = 1935 End Begin VB.CommandButton Cmd_Create Caption = "生成条码" BeginProperty Font Name = "宋体" Size = 10.5 Charset = 134 Weight = 700 Underline = 0 'False Italic = 0 'False Strikethrough = 0 'False EndProperty Height = 495 Left = 360 TabIndex = 9 Top = 240 Width = 1935 End End Begin VB.TextBox Edit_ImgFileName Height = 855 Left = 840 MultiLine = -1 'True TabIndex = 7 Top = 1800 Width = 1935 End Begin VB.CommandButton Cmd_ConFileName Caption = "配置文件" BeginProperty Font Name = "宋体" Size = 10.5 Charset = 0 Weight = 400 Underline = 0 'False Italic = 0 'False Strikethrough = 0 'False EndProperty Height = 795 Left = 120 TabIndex = 6 Top = 2760 Width = 615 End Begin VB.TextBox Edit_TxtFileName Height = 855 Left = 840 MultiLine = -1 'True TabIndex = 5 Top = 840 Width = 1935 End Begin VB.CommandButton Cmd_TxtFileName Caption = "编码文件" BeginProperty Font Name = "宋体" Size = 10.5 Charset = 0 Weight = 400 Underline = 0 'False Italic = 0 'False Strikethrough = 0 'False EndProperty Height = 855 Left = 120 TabIndex = 4 Top = 840 Width = 615 End Begin VB.TextBox Edit_Source BeginProperty Font Name = "MS Sans Serif" Size = 8.25 Charset = 0 Weight = 400 Underline = 0 'False Italic = 0 'False Strikethrough = 0 'False EndProperty Height = 3495 Left = 3000 MultiLine = -1 'True TabIndex = 3 Top = 120 Width = 5535 End Begin VB.Frame Frame1 BeginProperty Font Name = "MS Sans Serif" Size = 8.25 Charset = 0 Weight = 400 Underline = 0 'False Italic = 0 'False Strikethrough = 0 'False EndProperty Height = 735 Left = 120 TabIndex = 0 Top = 0 Width = 2655 Begin VB.OptionButton Op_Qr Caption = "Qr_Code" BeginProperty Font Name = "MS Sans Serif" Size = 8.25 Charset = 0 Weight = 400 Underline = 0 'False Italic = 0 'False Strikethrough = 0 'False EndProperty Height = 375 Left = 1440 TabIndex = 2 Top = 240 Width = 975 End Begin VB.OptionButton Op_Pdf Caption = "PDF417" BeginProperty Font Name = "MS Sans Serif" Size = 8.25 Charset = 0 Weight = 400 Underline = 0 'False Italic = 0 'False Strikethrough = 0 'False EndProperty Height = 375 Left = 240 TabIndex = 1 Top = 240 Width = 975 End End Begin VB.Image Image_Bar Height = 3255 Left = 3000 Top = 3840 Width = 5535 End End Attribute VB_Name = "Frm_BarCode" Attribute VB_GlobalNameSpace = False Attribute VB_Creatable = False Attribute VB_PredeclaredId = True Attribute VB_Exposed = False Option Explicit '动态链接库引用 Private Declare Function InitRead Lib "EnCodePdf.dll" (ByVal hcallwnd As Long, ByVal pathname As String) As Long Private Declare Function CloseRead Lib "EnCodePdf.dll" () As Long Private Declare Function EnCodePdf Lib "EnCodePdf.dll" (ByVal txtFile As String) As String Private Declare Function MakePdf417 Lib "EnCodePdf.dll" (ByVal txtFile As String, ByVal pictfile As String, ByVal otherfile As String) As String Private Declare Function SetConFile Lib "EnCodePdf.dll" (ByVal Profile As String) As Long Private Declare Function MakeQrCode Lib "EnCodeQr.dll" (ByVal txtFile As String, ByVal pictfile As String, ByVal otherfile As String) As String Private Declare Function SetQrConFile Lib "EnCodeQr.dll" (ByVal Profile As String) As Long Private Declare Function SetCurrentDirectory Lib "kernel32" Alias "SetCurrentDirectoryA" (ByVal lpPathName As String) As Long Private Declare Function WritePrivateProfileString Lib "kernel32" Alias "WritePrivateProfileStringA" (ByVal lpApplicationName As String, ByVal lpKeyName As Any, ByVal lpString As Any, ByVal lpFileName As String) As Long Private Declare Function GetPrivateProfileInt Lib "kernel32" Alias "GetPrivateProfileIntA" (ByVal lpApplicationName As String, ByVal lpKeyName As String, ByVal nDefault As Long, ByVal lpFileName As String) As Long Private Declare Function GetPrivateProfileString Lib "kernel32" Alias "GetPrivateProfileStringA" (ByVal lpApplicationName As String, ByVal lpKeyName As Any, ByVal lpDefault As String, ByVal lpReturnedString As String, ByVal nSize As Long, ByVal lpFileName As String) As Long Private Declare Function SetWindowLong Lib "user32" Alias "SetWindowLongA" (ByVal hwnd As Long, ByVal nIndex As Long, ByVal dwNewLong As Long) As Long Private Declare Function SetParent Lib "user32" (ByVal hWndChild As Long, ByVal hWndNewParent As Long) As Long 'exports from nlcomp.dll 图像压缩函数 Private Declare Function SizeDIB Lib "Wcomp.dll" (ByVal oldmap As String, ByVal BmpHeight As Integer, ByVal BmpWidth As Integer) As Long Private Declare Function Wcompress Lib "Wcomp.dll" (ByVal infile As String, ByVal outfile As String, ByVal budget As Long) As Long Private Declare Function Wdecompress Lib "Wcomp.dll" (ByVal infile As String, ByVal outfile As String) As Long '变量定义 Dim m_bWorkMode As Boolean 'TRUE_PDF417 FALSE_QRCODE '初始化 Private Sub Form_Load() If Dir(App.Path & "\MakeBarCode.ini") <> "" Then Edit_ConFileName.Text = App.Path & "\MakeBarCode.ini" End If Cmd_Print.Enabled = False End Sub Private Sub Form_Unload(Cancel As Integer) Call Cmd_Exit_Click End Sub '选择PDF417操作 Private Sub Op_Pdf_Click() m_bWorkMode = True End Sub '选择Qr_Code操作 'Download by http://www.NewXing.com Private Sub Op_Qr_Click() m_bWorkMode = False End Sub '选择文本文件 Private Sub Cmd_TxtFileName_Click() Dim I As Integer Dim strTmp As String Dim FileNo As Integer CDlg_FileName.Filter = "Text Files (*.txt)|*.txt" CDlg_FileName.ShowOpen Edit_TxtFileName.Text = CDlg_FileName.FileName If (Edit_TxtFileName.Text <> "") Then I = 0 FileNo = FreeFile() Open Edit_TxtFileName.Text For Input As #FileNo Do While Not EOF(FileNo) Input #FileNo, strTmp Edit_Source.Text = Edit_Source.Text & strTmp & Chr(13) & Chr(10) Loop Close #FileNo End If End Sub '选择位图文件 Private Sub Cmd_ImgFileName_Click() CDlg_FileName.Filter = "Bitmap Files (*.bmp,*.jpg,*jpe)|*.JPG;*.JPE;*.BMP" CDlg_FileName.ShowOpen Edit_ImgFileName.Text = CDlg_FileName.FileName If (Edit_ImgFileName.Text <> "") Then Image_Bar.Stretch = False Image_Bar.Picture = LoadPicture(Edit_ImgFileName.Text) End If Cmd_Print.Enabled = False End Sub '选择参数文件 Private Sub Cmd_ConFileName_Click() CDlg_FileName.Filter = "配置文件(*.ini)|*.ini" CDlg_FileName.ShowOpen Edit_ConFileName.Text = CDlg_FileName.FileName End Sub '生成条形码 Private Sub Cmd_Create_Click() Dim FileNo As Integer Dim txtFile As String Dim strBmpFile As String Dim binBmpFile As String Dim xScale As Integer Dim yScale As Integer On Error GoTo ErrNote '将文本写入文本文件 xScale = 1 yScale = 1 txtFile = "" If (Edit_Source.Text <> "") Then FileNo = FreeFile() txtFile = App.Path "\TxtTemp.txt" Open txtFile For Output As #FileNo Print #FileNo, Edit_Source.Text Close #FileNo End If '进行图形压缩 binBmpFile = "" If (Edit_ImgFileName.Text <> "") Then Image_Bar.Picture = LoadPicture(Edit_ImgFileName.Text) strBmpFile = App.Path "\strbmpfile.bmp" binBmpFile = App.Path "\binBmpFile.img" SavePicture Image_Bar.Picture, strBmpFile Call SizeDIB(binBmpFile, 100, 100) Call Wcompress(strBmpFile, binBmpFile, 800) Kill (strBmpFile) End If '设置制码参数 If (Edit_ConFileName.Text <> "") Then If (m_bWorkMode) Then SetConFile (Edit_ConFileName.Text) Else SetQrConFile (Edit_ConFileName.Text) End If End If '进行条形码制作 If (txtFile <> "" Or binBmpFile <> "") Then If (m_bWorkMode) Then strBmpFile = MakePdf417(txtFile, binBmpFile, "") xScale = GetPrivateProfileInt("PDF", "XScale", 1, Edit_ConFileName) yScale = GetPrivateProfileInt("PDF", "YScale", 1, Edit_ConFileName) Else strBmpFile = MakeQrCode(txtFile, binBmpFile, "") xScale = GetPrivateProfileInt("QR", "XScale", 1, Edit_ConFileName) yScale = xScale End If If (strBmpFile <> "") Then '显示条码 Image_Bar.Stretch = False Image_Bar.Picture = LoadPicture(strBmpFile) Image_Bar.Height = yScale * Image_Bar.Height Image_Bar.Width = xScale * Image_Bar.Width Image_Bar.Stretch = True Kill (strBmpFile) Cmd_Print.Enabled = True Cmd_Copy.Enabled = True Else MsgBox "编码失败!" Image_Bar.Stretch = False Image_Bar.Picture = LoadPicture("") Clipboard.Clear Cmd_Print.Enabled = False Cmd_Copy.Enabled = False End If End If Exit Sub ErrNote: MsgBox Err.Description End Sub '设置条码参数 Private Sub Cmd_SetConfig_Click() If (Edit_ConFileName.Text <> "") Then If (m_bWorkMode) Then frmpdf.m_strProfile = Edit_ConFileName.Text frmpdf.Show vbModal, Me Else frmQr.m_strProfile = Edit_ConFileName.Text frmQr.Show vbModal, Me End If Else MsgBox "未设置参数文件名" End If End Sub '设置串口参数 Private Sub Cmd_SetComm_Click() If (Edit_ConFileName.Text <> "") Then frmComm.m_strProfile = Edit_ConFileName.Text frmComm.Show vbModal, Me Else MsgBox "未设置参数文件名" End If End Sub '打开/关闭串口 Private Sub Cmd_OpenComm_Click() If Cmd_OpenComm.Caption = "连接串口" Then Call SetConFile(Edit_ConFileName.Text) If InitRead(Me.hwnd, App.Path "\") = 0 Then Cmd_OpenComm.Caption = "断开串口" End If Else '关闭串口 If CloseRead() = 0 Then Cmd_OpenComm.Caption = "连接串口" End If End If End Sub '打印条码 Private Sub Cmd_Print_Click() frmPrint.Width = Image_Bar.Width frmPrint.Height = Image_Bar.Height frmPrint.Refresh frmPrint.Image_Print.Stretch = False frmPrint.Image_Print.Picture = Image_Bar.Picture frmPrint.Image_Print.Width = Image_Bar.Width frmPrint.Image_Print.Height = Image_Bar.Height frmPrint.Image_Print.Stretch = True frmPrint.PrintForm End Sub '拷贝 Private Sub Cmd_Copy_Click() Clipboard.Clear Clipboard.SetData Image_Bar.Picture, vbCFBitmap Cmd_Copy.Enabled = False End Sub '退出系统 Private Sub Cmd_Exit_Click() If Cmd_OpenComm.Caption = "断开串口" Then Call Cmd_OpenComm_Click End If Unload frmPrint Unload Me End Sub '接收串口信息 Private Sub Form_KeyDown(KeyCode As Integer, Shift As Integer) Dim FileNo As Integer Dim strTmp As String Dim strBmpFile As String strBmpFile = App.Path & "\temp.bmp" If KeyCode = 255 Then FileNo = FreeFile() Open App.Path & "\temp.txt" For Input As #FileNo Edit_Source.Text = "" Do While Not EOF(FileNo) strTmp = "" Input #FileNo, strTmp Edit_Source.Text = Edit_Source.Text & strTmp & Chr(13) & Chr(10) Loop Close #FileNo If Dir(strBmpFile) <> "" Then Kill (strBmpFile) End If If Dir(App.Path & "\temp.img") <> "" Then If FileLen(App.Path & "\temp.img") > 10 Then Call Wdecompress(App.Path & "\temp.img", strBmpFile) End If End If If Dir(strBmpFile) <> "" Then Image_Bar.Picture = LoadPicture(strBmpFile) Else Image_Bar.Picture = LoadPicture("") End If Cmd_Print.Enabled = False End If End Sub
好例子网口号:伸出你的我的手 — 分享!
网友评论
小贴士
感谢您为本站写下的评论,您的评论对其它用户来说具有重要的参考价值,所以请认真填写。
- 类似“顶”、“沙发”之类没有营养的文字,对勤劳贡献的楼主来说是令人沮丧的反馈信息。
- 相信您也不想看到一排文字/表情墙,所以请不要反馈意义不大的重复字符,也请尽量不要纯表情的回复。
- 提问之前请再仔细看一遍楼主的说明,或许是您遗漏了。
- 请勿到处挖坑绊人、招贴广告。既占空间让人厌烦,又没人会搭理,于人于己都无利。
关于好例子网
本站旨在为广大IT学习爱好者提供一个非营利性互相学习交流分享平台。本站所有资源都可以被免费获取学习研究。本站资源来自网友分享,对搜索内容的合法性不具有预见性、识别性、控制性,仅供学习研究,请务必在下载后24小时内给予删除,不得用于其他任何用途,否则后果自负。基于互联网的特殊性,平台无法对用户传输的作品、信息、内容的权属或合法性、安全性、合规性、真实性、科学性、完整权、有效性等进行实质审查;无论平台是否已进行审查,用户均应自行承担因其传输的作品、信息、内容而可能或已经产生的侵权或权属纠纷等法律责任。本站所有资源不代表本站的观点或立场,基于网友分享,根据中国法律《信息网络传播权保护条例》第二十二与二十三条之规定,若资源存在侵权或相关问题请联系本站客服人员,点此联系我们。关于更多版权及免责申明参见 版权及免责申明
支持(0) 盖楼(回复)