⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 preview.bas

📁 自定报表组件
💻 BAS
字号:
Attribute VB_Name = "basPreview"
Option Explicit

Private Type PreviewPageType
  Name As String '* 20
  CMDStart As Long
  CMDEnd As Long
End Type

Private Type PreviewCMDType
  CMD As String '* 20
  V1 As Single
  V2 As Single
  V3 As Single
  V4 As Single
  Msg As String
End Type

Public gPaperSize As Long
Public gOrientation As Long

Public gWidth As Long
Public gHeight As Long


Public arrPreviewPage() As PreviewPageType
Public gPreviewPageCount As Long

Public arrPreviewCMD() As PreviewCMDType
Public gPreviewCMDCount As Long

Public gPreviewCaption As String
Public gPreviewShow As Boolean
Public gPreviewBackColor As Long
Public gTMPPath As String

Public BarCodesBeginSign As String
Public BarCodesEndSign As String
Public BarCodesOf39Ex(127) As String
'Const StartA  As String = "11010000100"
'Const StartB = "11010010000"
Private Const StartC = "11010011100"
Private Const FNC1 As String = "11110101110"
Private Const Stop128 As String = "1100011101011"
Public gBarCodeType As Long
Public gPrinterType As Long
'Public Declare Function DeleteObject Lib "gdi32" (ByVal hObject As Long) As Long

Sub CenterForm(frm As Form)
  frm.Move (Screen.Width - frm.Width) / 2, (Screen.Height - frm.Height) / 2
End Sub

Sub SetMP(ByVal Value As Long)
  On Error Resume Next
  Screen.MousePointer = Value
End Sub

Sub PicBox3D(pic As PictureBox, ByVal L As Long, ByVal T As Long, ByVal W As Long, ByVal H As Long, ByVal nBevel As Long)
  Dim I As Long
  Dim LTColor As OLE_COLOR
  Dim BRColor As OLE_COLOR
  
  On Error Resume Next
  
  If nBevel < 0 Then
    LTColor = &H808080
    BRColor = &HFFFFFF
  ElseIf nBevel = 0 Then
    LTColor = 0
    BRColor = 0
  Else
    LTColor = &HFFFFFF
    BRColor = &H808080
  End If
  
  pic.DrawWidth = 1
  pic.Line (L, T + H - 15)-Step(0, 15 - H), LTColor
  pic.Line -Step(W - 15, 0), LTColor
  pic.Line -Step(0, H - 15), BRColor
  pic.Line -Step(-W, 0), BRColor
End Sub

Function RoundTo15(ByVal Value As Single) As Long
  RoundTo15 = ((Value + 14) \ 15) * 15
End Function

Sub BarCodesOf39ExInit(ByVal BarCodeType As Long)
  Dim I As Long
  Dim J As Long
  Dim K As Long
  
  Select Case BarCodeType
    Case 0
      BarCodesBeginSign = "010010100"
      BarCodesEndSign = "010010100"
      BarCodesOf39Ex(32) = "011000100"                '(Space)
      BarCodesOf39Ex(33) = "0101000100100001001"      '!
      BarCodesOf39Ex(34) = "0101000100001001001"      '"
      BarCodesOf39Ex(35) = "0101000100101001000"      '#
      BarCodesOf39Ex(36) = "0101000100000011001"      '$
      BarCodesOf39Ex(37) = "0101000100100011000"      '%
      BarCodesOf39Ex(38) = "0101000100001011000"      '&
      BarCodesOf39Ex(39) = "0101000100000001101"      ''
      BarCodesOf39Ex(40) = "0101000100100001100"      '(
      BarCodesOf39Ex(41) = "0101000100001001100"      ')
      BarCodesOf39Ex(42) = "0101000100000011100"      '*
      BarCodesOf39Ex(43) = "0101000100100000011"      '+
      BarCodesOf39Ex(44) = "0101000100001000011"      ',
      BarCodesOf39Ex(45) = "010000101"                '-
      BarCodesOf39Ex(46) = "110000100"                '.
      BarCodesOf39Ex(47) = "0101000100100010010"      '/
      BarCodesOf39Ex(48) = "000110100"                '0
      BarCodesOf39Ex(49) = "100100001"                '1
      BarCodesOf39Ex(50) = "001100001"                '2
      BarCodesOf39Ex(51) = "101100000"                '3
      BarCodesOf39Ex(52) = "000110001"                '4
      BarCodesOf39Ex(53) = "100110000"                '5
      BarCodesOf39Ex(54) = "001110000"                '6
      BarCodesOf39Ex(55) = "000100101"                '7
      BarCodesOf39Ex(56) = "100100100"                '8
      BarCodesOf39Ex(57) = "001100100"                '9
      BarCodesOf39Ex(58) = "0101000100011010000"      ':
      BarCodesOf39Ex(59) = "0001010100001011000"      ';
      BarCodesOf39Ex(60) = "0001010100000001101"      '<
      BarCodesOf39Ex(61) = "0001010100100001100"      '=
      BarCodesOf39Ex(62) = "0001010100001001100"      '>
      BarCodesOf39Ex(63) = "0001010100000011100"      '?
      BarCodesOf39Ex(64) = "0001010100011000001"      '@
      BarCodesOf39Ex(65) = "100001001"                'A
      BarCodesOf39Ex(66) = "001001001"                'B
      BarCodesOf39Ex(67) = "101001000"                'C
      BarCodesOf39Ex(68) = "000011001"                'D
      BarCodesOf39Ex(69) = "100011000"                'E
      BarCodesOf39Ex(70) = "001011000"                'F
      BarCodesOf39Ex(71) = "000001101"                'G
      BarCodesOf39Ex(72) = "100001100"                'H
      BarCodesOf39Ex(73) = "001001100"                'I
      BarCodesOf39Ex(74) = "000011100"                'J
      BarCodesOf39Ex(75) = "100000011"                'K
      BarCodesOf39Ex(76) = "001000011"                'L
      BarCodesOf39Ex(77) = "101000010"                'M
      BarCodesOf39Ex(78) = "000010011"                'N
      BarCodesOf39Ex(79) = "100010010"                'O
      BarCodesOf39Ex(80) = "001010010"                'P
      BarCodesOf39Ex(81) = "000000111"                'Q
      BarCodesOf39Ex(82) = "100000110"                'R
      BarCodesOf39Ex(83) = "001000110"                'S
      BarCodesOf39Ex(84) = "000010110"                'T
      BarCodesOf39Ex(85) = "110000001"                'U
      BarCodesOf39Ex(86) = "011000001"                'V
      BarCodesOf39Ex(87) = "111000000"                'W
      BarCodesOf39Ex(88) = "010010001"                'X
      BarCodesOf39Ex(89) = "110010000"                'Y
      BarCodesOf39Ex(90) = "011010000"                'Z
      BarCodesOf39Ex(91) = "0001010100100000011"      '[
      BarCodesOf39Ex(92) = "0001010100001000011"      '\
      BarCodesOf39Ex(93) = "0001010100101000010"      ']
      BarCodesOf39Ex(94) = "0001010100000010011"      '^
      BarCodesOf39Ex(95) = "0001010100100010010"      '_
      BarCodesOf39Ex(96) = "0001010100111000000"      '`
      BarCodesOf39Ex(97) = "0100010100100001001"      'a
      BarCodesOf39Ex(98) = "0100010100001001001"      'b
      BarCodesOf39Ex(99) = "0100010100101001000"      'c
      BarCodesOf39Ex(100) = "0100010100000011001"     'd
      BarCodesOf39Ex(101) = "0100010100100011000"     'e
      BarCodesOf39Ex(102) = "0100010100001011000"     'f
      BarCodesOf39Ex(103) = "0100010100000001101"     'g
      BarCodesOf39Ex(104) = "0100010100100001100"     'h
      BarCodesOf39Ex(105) = "0100010100001001100"     'i
      BarCodesOf39Ex(106) = "0100010100000011100"     'j
      BarCodesOf39Ex(107) = "0100010100100000011"     'k
      BarCodesOf39Ex(108) = "0100010100001000011"     'l
      BarCodesOf39Ex(109) = "0100010100101000010"     'm
      BarCodesOf39Ex(110) = "0100010100000010011"     'n
      BarCodesOf39Ex(111) = "0100010100100010010"     'o
      BarCodesOf39Ex(112) = "0100010100001010010"     'p
      BarCodesOf39Ex(113) = "0100010100000000111"     'q
      BarCodesOf39Ex(114) = "0100010100100000110"     'r
      BarCodesOf39Ex(115) = "0100010100001000110"     's
      BarCodesOf39Ex(116) = "0100010100000010110"     't
      BarCodesOf39Ex(117) = "0100010100110000001"     'u
      BarCodesOf39Ex(118) = "0100010100011000001"     'v
      BarCodesOf39Ex(119) = "0100010100111000000"     'w
      BarCodesOf39Ex(120) = "0100010100010010001"     'x
      BarCodesOf39Ex(121) = "0100010100110010000"     'y
      BarCodesOf39Ex(122) = "0100010100011010000"     'z
      BarCodesOf39Ex(123) = "0001010100001010010"     '{
      BarCodesOf39Ex(124) = "0001010100000000111"     '|
      BarCodesOf39Ex(125) = "0001010100100000110"     '}
      BarCodesOf39Ex(126) = "0001010100001000110"     '~
    Case 1     '2 of 5
      BarCodesBeginSign = "0000"
      BarCodesEndSign = "100"
      BarCodesOf39Ex(48) = "00110"                    '0
      BarCodesOf39Ex(49) = "10001"                    '1
      BarCodesOf39Ex(50) = "01001"                    '2
      BarCodesOf39Ex(51) = "11000"                    '3
      BarCodesOf39Ex(52) = "00101"                    '4
      BarCodesOf39Ex(53) = "10100"                    '5
      BarCodesOf39Ex(54) = "01100"                    '6
      BarCodesOf39Ex(55) = "00011"                    '7
      BarCodesOf39Ex(56) = "10010"                    '8
      BarCodesOf39Ex(57) = "01010"                    '9
    Case 2  '128只实现C字符集
      BarCodesBeginSign = StartC & FNC1
      BarCodesEndSign = Stop128
      
      BarCodesOf39Ex(0) = "11011001100"
      BarCodesOf39Ex(1) = "11001101100"
      BarCodesOf39Ex(2) = "11001100110"
      BarCodesOf39Ex(3) = "10010011000"
      BarCodesOf39Ex(4) = "10010001100"
      BarCodesOf39Ex(5) = "10001001100"
      BarCodesOf39Ex(6) = "10011001000"
      BarCodesOf39Ex(7) = "10011000100"
      BarCodesOf39Ex(8) = "10001100100"
      BarCodesOf39Ex(9) = "11001001000"
      
      BarCodesOf39Ex(10) = "11001000100"
      BarCodesOf39Ex(11) = "11000100100"
      BarCodesOf39Ex(12) = "10110011100"
      BarCodesOf39Ex(13) = "10011011100"
      BarCodesOf39Ex(14) = "10011001110"
      BarCodesOf39Ex(15) = "10111001100"
      BarCodesOf39Ex(16) = "10011101100"
      BarCodesOf39Ex(17) = "10011100110"
      BarCodesOf39Ex(18) = "11001110010"
      BarCodesOf39Ex(19) = "11001011100"
      
      BarCodesOf39Ex(20) = "11001001110"
      BarCodesOf39Ex(21) = "11011100100"
      BarCodesOf39Ex(22) = "11001110100"
      BarCodesOf39Ex(23) = "11101101110"
      BarCodesOf39Ex(24) = "11101001100"
      BarCodesOf39Ex(25) = "11100101100"
      BarCodesOf39Ex(26) = "11100100110"
      BarCodesOf39Ex(27) = "11101100100"
      BarCodesOf39Ex(28) = "11100110100"
      BarCodesOf39Ex(29) = "11100110010"
      
      BarCodesOf39Ex(30) = "11011011000"
      BarCodesOf39Ex(31) = "11011000110"
      BarCodesOf39Ex(32) = "11000110110"
      BarCodesOf39Ex(33) = "10100011000"
      BarCodesOf39Ex(34) = "10001011000"
      BarCodesOf39Ex(35) = "10001000110"
      BarCodesOf39Ex(36) = "10110001000"
      BarCodesOf39Ex(37) = "10001101000"
      BarCodesOf39Ex(38) = "10001100010"
      BarCodesOf39Ex(39) = "11010001000"
      
      BarCodesOf39Ex(40) = "11000101000"
      BarCodesOf39Ex(41) = "11000100010"
      BarCodesOf39Ex(42) = "10110111000"
      BarCodesOf39Ex(43) = "10110001110"
      BarCodesOf39Ex(44) = "10001101110"
      BarCodesOf39Ex(45) = "10111011000"
      BarCodesOf39Ex(46) = "10111000110"
      BarCodesOf39Ex(47) = "10001110110"
      BarCodesOf39Ex(48) = "11101110110"
      BarCodesOf39Ex(49) = "11010001110"
      
      BarCodesOf39Ex(50) = "11000101110"
      BarCodesOf39Ex(51) = "11011101000"
      BarCodesOf39Ex(52) = "11011100010"
      BarCodesOf39Ex(53) = "11011101110"
      BarCodesOf39Ex(54) = "11101011000"
      BarCodesOf39Ex(55) = "11101000110"
      BarCodesOf39Ex(56) = "11100010110"
      BarCodesOf39Ex(57) = "11101101000"
      BarCodesOf39Ex(58) = "11101100010"
      BarCodesOf39Ex(59) = "11100011010"
      
      BarCodesOf39Ex(60) = "11101111010"
      BarCodesOf39Ex(61) = "11001000010"
      BarCodesOf39Ex(62) = "11110001010"
      BarCodesOf39Ex(63) = "10100110000"
      BarCodesOf39Ex(64) = "10100001100"
      BarCodesOf39Ex(65) = "10010110000"
      BarCodesOf39Ex(66) = "10010000110"
      BarCodesOf39Ex(67) = "10000101100"
      BarCodesOf39Ex(68) = "10000100110"
      BarCodesOf39Ex(69) = "10110010000"
      
      BarCodesOf39Ex(70) = "10110000100"
      BarCodesOf39Ex(71) = "10011010000"
      BarCodesOf39Ex(72) = "10011000010"
      BarCodesOf39Ex(73) = "10000110100"
      BarCodesOf39Ex(74) = "10000110010"
      BarCodesOf39Ex(75) = "11000010010"
      BarCodesOf39Ex(76) = "11001010000"
      BarCodesOf39Ex(77) = "11110111010"
      BarCodesOf39Ex(78) = "11000010100"
      BarCodesOf39Ex(79) = "10001111010"
      
      BarCodesOf39Ex(80) = "10100111100"
      BarCodesOf39Ex(81) = "10010111100"
      BarCodesOf39Ex(82) = "10010011110"
      BarCodesOf39Ex(83) = "11000011011"
      BarCodesOf39Ex(84) = "10011110100"
      BarCodesOf39Ex(85) = "10011110010"
      BarCodesOf39Ex(86) = "11110100100"
      BarCodesOf39Ex(87) = "11110010100"
      BarCodesOf39Ex(88) = "11110010010"
      BarCodesOf39Ex(89) = "11011011110"
      
      BarCodesOf39Ex(90) = "11011110110"
      BarCodesOf39Ex(91) = "11110110110"
      BarCodesOf39Ex(92) = "10101111000"
      BarCodesOf39Ex(93) = "10100011110"
      BarCodesOf39Ex(94) = "10001011110"
      BarCodesOf39Ex(95) = "10111101000"
      BarCodesOf39Ex(96) = "10111100010"
      BarCodesOf39Ex(97) = "11110101000"
      BarCodesOf39Ex(98) = "11110100010"
      BarCodesOf39Ex(99) = "10111011110"
      
      BarCodesOf39Ex(100) = "10111101110"
      BarCodesOf39Ex(101) = "11101011110"
      BarCodesOf39Ex(102) = "11110101110"
  End Select
End Sub

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -