只是一个简单的封装。调用该类的方法后,会返回形如 bsbssbsssbbbssbbssbbss 这样的字符串。然后您可以根据这串字符,指定位置和打印介质来打印到picturebox或者打印机。

打印效果:

​​​​​​​

封装代码:

Public Class clsBarcodePublic Shared Function get_code_39(ByVal barcode As String)Dim strBarTable As New Dictionary(Of String, String), final As String = ""strBarTable.Add("0", "001100100")      ' 0strBarTable.Add("1", "100010100")      ' 1strBarTable.Add("2", "010010100")      ' 2strBarTable.Add("3", "110000100")      ' 3strBarTable.Add("4", "001010100")      ' 4strBarTable.Add("5", "101000100")      ' 5strBarTable.Add("6", "011000100")      ' 6strBarTable.Add("7", "000110100")      ' 7strBarTable.Add("8", "100100100")      ' 8strBarTable.Add("9", "010100100")      ' 9strBarTable.Add("A", "100010010")      ' AstrBarTable.Add("B", "010010010")      ' BstrBarTable.Add("C", "110000010")      ' CstrBarTable.Add("D", "001010010")      ' DstrBarTable.Add("E", "101000010")      ' EstrBarTable.Add("F", "011000010")      ' FstrBarTable.Add("G", "000110010")      ' GstrBarTable.Add("H", "100100010")      ' HstrBarTable.Add("I", "010100010")      ' IstrBarTable.Add("J", "001100010")      ' JstrBarTable.Add("K", "100010001")      ' KstrBarTable.Add("L", "010010001")      ' LstrBarTable.Add("M", "110000001")      ' MstrBarTable.Add("N", "001010001")      ' NstrBarTable.Add("O", "101000001")      ' OstrBarTable.Add("P", "011000001")      ' PstrBarTable.Add("Q", "000110001")      ' QstrBarTable.Add("R", "100100001")      ' RstrBarTable.Add("S", "010100001")      ' SstrBarTable.Add("T", "001100001")      ' TstrBarTable.Add("U", "100011000")      ' UstrBarTable.Add("V", "010011000")      ' VstrBarTable.Add("W", "110001000")      ' WstrBarTable.Add("X", "001011000")      ' XstrBarTable.Add("Y", "101001000")      ' YstrBarTable.Add("Z", "011001000")      ' ZstrBarTable.Add("-", "000111000")      ' -strBarTable.Add("%", "100101000")      ' %strBarTable.Add("$", "010101000")      ' $strBarTable.Add("*", "001101000")      ' *barcode = "*" + barcode + "*"For i = 1 To barcode.LengthFor j = 1 To 5If strBarTable.Item(barcode.Substring(i - 1, 1)).Substring(j - 1, 1) = "0" Thenfinal += "b"Elsefinal += "bbb"End IfIf j = 5 Thenfinal += StrDup(2, "s")Exit ForEnd IfIf strBarTable.Item(barcode.Substring(i - 1, 1)).Substring(j + 4, 1) = "0" Thenfinal += StrDup(1, "s")         'StrDup(2, "s")Elsefinal += StrDup(2, "s")         'StrDup(3, "s")End IfNext jNext iReturn finalEnd FunctionPublic Shared Function get_code_128Auto(ByVal barcode As String)Dim final As String = "", laststr = "", exam As String, strr As StringDim code128 As Dictionary(Of String, String()) = code128_num()Dim code128_byid As Dictionary(Of String, String()) = code128_table()If barcode.Length Mod 2 = 0 Thenfinal = get_code_128C(barcode, True)Else'前12位codec编码final += get_code_128C(barcode.Substring(0, barcode.Length - 1), False)laststr = barcode.Substring(barcode.Length - 1, 1)'codeAfinal += code128_byid.Item("101")(4)'最后一位编码final += code128.Item(laststr)(0)'校验码exam = code128.Item("StartC")(1).ToStringDim k As Int16 = 1For i = 0 To barcode.Length - 2 Step 2strr = barcode.Substring(i, 2)If strr.Substring(0, 1) = "0" Thenstrr = strr.Substring(1, 1)End Ifexam += CInt(strr) * kk += 1Next iexam += 101 * kk += 1exam += code128.Item(barcode.Substring(barcode.Length - 1, 1))(1) * kexam = exam Mod 103Dim excode As String = code128_byid.Item(exam)(4)final &= excode'stopfinal &= code128.Item("Stop")(0)End IfReturn finalEnd FunctionPublic Shared Function get_code_128C(ByVal barcode As String, withExam As Boolean)Dim code128 As Dictionary(Of String, String()) = code128_num()Dim code128_byid As Dictionary(Of String, String()) = code128_table()If barcode.Length Mod 2 <> 0 ThenMsgBox("128c条码长度必须为偶数")Return ""End IfDim chr As String, final As String = ""Dim start As String = code128.Item("StartC")(0)final += start'数据For i = 0 To barcode.Length - 1 Step 2chr = barcode.Substring(i, 2)If chr.Substring(0, 1) = "0" Thenchr = chr.Substring(1, 1)End IfDebug.Print(code128_byid.Item(chr)(4))final += code128_byid.Item(chr)(4)Next iIf withExam Thenfinal += code128_end(barcode, "C", code128, code128_byid)End IfReturn finalEnd FunctionPrivate Shared Function code128_end(barcode As String, type As Char, code128 As Dictionary(Of String, String()), code128_byid As Dictionary(Of String, String())) As StringDim final As String = "", strr As String'校验Dim exam As Int32exam = code128.Item("Start" & type)(1).ToStringDim k As Int16 = 1For i = 0 To barcode.Length - 1 Step 2strr = barcode.Substring(i, 2)If strr.Substring(0, 1) = "0" Thenstrr = strr.Substring(1, 1)End Ifexam += CInt(strr) * kk += 1Next iexam = exam Mod 103Dim excode As String = code128_byid.Item(exam)(4)final &= excode'stopfinal += code128.Item("Stop")(0)Return finalEnd FunctionPublic Shared Function get_code_128A(ByVal barcode As String)Dim strr As String = barcodeDim code128 As Dictionary(Of String, String()) = code128_num()Dim code128_byid As Dictionary(Of String, String()) = code128_table()Dim chr As Int16, barstr As String, final As String = ""Dim start As String = code128.Item("StartA")(0)final += start'数据For i = 0 To strr.Length - 1chr = strr.Substring(i, 1)barstr = code128.Item(chr)(0)final += barstrNext i'校验Dim exam As Int16exam = code128.Item("StartA")(1)For i = 0 To strr.Length - 1exam += code128.Item(strr.Substring(i, 1))(1) * (i + 1)Next iexam = exam Mod code128.Item("StartA")(1)Dim excode As String = code128_byid.Item(exam)(4)final &= excode'stopfinal += code128.Item("Stop")(0)Return finalEnd FunctionPrivate Shared Function code128_num()Dim code128 As New Dictionary(Of String, String())code128.Add("0", {"bssbbbsbbss", 16})code128.Add("1", {"bssbbbssbbs", 17})code128.Add("2", {"bbssbbbssbs", 18})code128.Add("3", {"bbssbsbbbss", 19})code128.Add("4", {"bbssbssbbbs", 20})code128.Add("5", {"bbsbbbssbss", 21})code128.Add("6", {"bbssbbbsbss", 22})code128.Add("7", {"bbbsbbsbbbs", 23})code128.Add("8", {"bbbsbssbbss", 24})code128.Add("9", {"bbbssbsbbss", 25})code128.Add("StartA", {"bbsbssssbss", 103})code128.Add("StartB", {"bbsbssbssss", 104})code128.Add("StartC", {"bbsbssbbbss", 105})code128.Add("Stop", {"bbsssbbbsbsbb", 106})Return code128End FunctionPrivate Shared Function code128_table()Dim code128_byid As New Dictionary(Of String, String())code128_byid.Add("0", {"SP", "SP", "0", "212222", "bbsbbssbbss"})code128_byid.Add("1", {"!", "!", "1", "222122", "bbssbbsbbss"})code128_byid.Add("2", {"““", "““", "2", "222221", "bbssbbssbbs"})code128_byid.Add("3", {"#", "#", "3", "121223", "bssbssbbsss"})code128_byid.Add("4", {"$", "$", "4", "121322", "bssbsssbbss"})code128_byid.Add("5", {"%", "%", "5", "131222", "bsssbssbbss"})code128_byid.Add("6", {"&", "&", "6", "122213", "bssbbssbsss"})code128_byid.Add("7", {"‘", "‘", "7", "122312", "bssbbsssbss"})code128_byid.Add("8", {"(", "(", "8", "132212", "bsssbbssbss"})code128_byid.Add("9", {")", ")", "9", "221213", "bbssbssbsss"})code128_byid.Add("10", {"*", "*", "10", "221312", "bbssbsssbss"})code128_byid.Add("11", {"+", "+", "11", "231212", "bbsssbssbss"})code128_byid.Add("12", {",", ",", "12", "112232", "bsbbssbbbss"})code128_byid.Add("13", {"-", "-", "13", "122132", "bssbbsbbbss"})code128_byid.Add("14", {".", ".", "14", "122231", "bssbbssbbbs"})code128_byid.Add("15", {"/", "/", "15", "113222", "bsbbbssbbss"})code128_byid.Add("16", {"0", "0", "16", "123122", "bssbbbsbbss"})code128_byid.Add("17", {"1", "1", "17", "123221", "bssbbbssbbs"})code128_byid.Add("18", {"2", "2", "18", "223211", "bbssbbbssbs"})code128_byid.Add("19", {"3", "3", "19", "221132", "bbssbsbbbss"})code128_byid.Add("20", {"4", "4", "20", "221231", "bbssbssbbbs"})code128_byid.Add("21", {"5", "5", "21", "213212", "bbsbbbssbss"})code128_byid.Add("22", {"6", "6", "22", "223112", "bbssbbbsbss"})code128_byid.Add("23", {"7", "7", "23", "312131", "bbbsbbsbbbs"})code128_byid.Add("24", {"8", "8", "24", "311222", "bbbsbssbbss"})code128_byid.Add("25", {"9", "9", "25", "321122", "bbbssbsbbss"})code128_byid.Add("26", {":", ":", "26", "321221", "bbbssbssbbs"})code128_byid.Add("27", {";", ";", "27", "312212", "bbbsbbssbss"})code128_byid.Add("28", {"<", "<", "28", "322112", "bbbssbbsbss"})code128_byid.Add("29", {"=", "=", "29", "322211", "bbbssbbssbs"})code128_byid.Add("30", {">", ">", "30", "212123", "bbsbbsbbsss"})code128_byid.Add("31", {"?", "?", "31", "212321", "bbsbbsssbbs"})code128_byid.Add("32", {"@", "@", "32", "232121", "bbsssbbsbbs"})code128_byid.Add("33", {"A", "A", "33", "111323", "bsbsssbbsss"})code128_byid.Add("34", {"B", "B", "34", "131123", "bsssbsbbsss"})code128_byid.Add("35", {"C", "C", "35", "131321", "bsssbsssbbs"})code128_byid.Add("36", {"D", "D", "36", "112313", "bsbbsssbsss"})code128_byid.Add("37", {"E", "E", "37", "132113", "bsssbbsbsss"})code128_byid.Add("38", {"F", "F", "38", "132311", "bsssbbsssbs"})code128_byid.Add("39", {"G", "G", "39", "211313", "bbsbsssbsss"})code128_byid.Add("40", {"H", "H", "40", "231113", "bbsssbsbsss"})code128_byid.Add("41", {"I", "I", "41", "231311", "bbsssbsssbs"})code128_byid.Add("42", {"J", "J", "42", "112133", "bsbbsbbbsss"})code128_byid.Add("43", {"K", "K", "43", "112331", "bsbbsssbbbs"})code128_byid.Add("44", {"L", "L", "44", "132131", "bsssbbsbbbs"})code128_byid.Add("45", {"M", "M", "45", "113123", "bsbbbsbbsss"})code128_byid.Add("46", {"N", "N", "46", "113321", "bsbbbsssbbs"})code128_byid.Add("47", {"O", "O", "47", "133121", "bsssbbbsbbs"})code128_byid.Add("48", {"P", "P", "48", "313121", "bbbsbbbsbbs"})code128_byid.Add("49", {"Q", "Q", "49", "211331", "bbsbsssbbbs"})code128_byid.Add("50", {"R", "R", "50", "231131", "bbsssbsbbbs"})code128_byid.Add("51", {"S", "S", "51", "213113", "bbsbbbsbsss"})code128_byid.Add("52", {"T", "T", "52", "213311", "bbsbbbsssbs"})code128_byid.Add("53", {"U", "U", "53", "213131", "bbsbbbsbbbs"})code128_byid.Add("54", {"V", "V", "54", "311123", "bbbsbsbbsss"})code128_byid.Add("55", {"W", "W", "55", "311321", "bbbsbsssbbs"})code128_byid.Add("56", {"X", "X", "56", "331121", "bbbsssbsbbs"})code128_byid.Add("57", {"Y", "Y", "57", "312113", "bbbsbbsbsss"})code128_byid.Add("58", {"Z", "Z", "58", "312311", "bbbsbbsssbs"})code128_byid.Add("59", {"[", "[", "59", "332111", "bbbsssbbsbs"})code128_byid.Add("60", {"\", "\", "60", "314111", "bbbsbbbbsbs"})code128_byid.Add("61", {"]", "]", "61", "221411", "bbssbssssbs"})code128_byid.Add("62", {"^", "^", "62", "431111", "bbbbsssbsbs"})code128_byid.Add("63", {"_", "_", "63", "111224", "bsbssbbssss"})code128_byid.Add("64", {"NUL", "`", "64", "111422", "bsbssssbbss"})code128_byid.Add("65", {"SOH", "a", "65", "121124", "bssbsbbssss"})code128_byid.Add("66", {"STX", "b", "66", "121421", "bssbssssbbs"})code128_byid.Add("67", {"ETX", "c", "67", "141122", "bssssbsbbss"})code128_byid.Add("68", {"EOT", "d", "68", "141221", "bssssbssbbs"})code128_byid.Add("69", {"ENQ", "e", "69", "112214", "bsbbssbssss"})code128_byid.Add("70", {"ACK", "f", "70", "112412", "bsbbssssbss"})code128_byid.Add("71", {"BEL", "g", "71", "122114", "bssbbsbssss"})code128_byid.Add("72", {"BS", "h", "72", "122411", "bssbbssssbs"})code128_byid.Add("73", {"HT", "i", "73", "142112", "bssssbbsbss"})code128_byid.Add("74", {"LF", "j", "74", "142211", "bssssbbssbs"})code128_byid.Add("75", {"VT", "k", "75", "241211", "bbssssbssbs"})code128_byid.Add("76", {"FF", "l", "76", "221114", "bbssbsbssss"})code128_byid.Add("77", {"CR", "m", "77", "413111", "bbbbsbbbsbs"})code128_byid.Add("78", {"SO", "n", "78", "241112", "bbssssbsbss"})code128_byid.Add("79", {"SI", "o", "79", "134111", "bsssbbbbsbs"})code128_byid.Add("80", {"DLE", "p", "80", "111242", "bsbssbbbbss"})code128_byid.Add("81", {"DC1", "q", "81", "121142", "bssbsbbbbss"})code128_byid.Add("82", {"DC2", "r", "82", "121241", "bssbssbbbbs"})code128_byid.Add("83", {"DC3", "s", "83", "114212", "bsbbbbssbss"})code128_byid.Add("84", {"DC4", "t", "84", "124112", "bssbbbbsbss"})code128_byid.Add("85", {"NAK", "u", "85", "124211", "bssbbbbssbs"})code128_byid.Add("86", {"SYN", "v", "86", "411212", "bbbbsbssbss"})code128_byid.Add("87", {"ETB", "w", "87", "421112", "bbbbssbsbss"})code128_byid.Add("88", {"CAN", "x", "88", "421211", "bbbbssbssbs"})code128_byid.Add("89", {"EM", "y", "89", "212141", "bbsbbsbbbbs"})code128_byid.Add("90", {"SUB", "z", "90", "214121", "bbsbbbbsbbs"})code128_byid.Add("91", {"ESC", "{", "91", "412121", "bbbbsbbsbbs"})code128_byid.Add("92", {"FS", "|", "92", "111143", "bsbsbbbbsss"})code128_byid.Add("93", {"GS", "}", "93", "111341", "bsbsssbbbbs"})code128_byid.Add("94", {"RS", "~", "94", "131141", "bsssbsbbbbs"})code128_byid.Add("95", {"US", "DEL", "95", "114113", "bsbbbbsbsss"})code128_byid.Add("96", {"FNC3", "FNC3", "96", "114311", "bsbbbbsssbs"})code128_byid.Add("97", {"FNC2", "FNC2", "97", "411113", "bbbbsbsbsss"})code128_byid.Add("98", {"SHIFT", "SHIFT", "98", "411311", "bbbbsbsssbs"})code128_byid.Add("99", {"CODEC", "CODEC", "99", "113141", "bsbbbsbbbbs"})code128_byid.Add("100", {"CODEB", "FNC4", "CODEB", "114131", "bsbbbbsbbbs"})code128_byid.Add("101", {"FNC4", "CODEA", "CODEA", "311141", "bbbsbsbbbbs"})code128_byid.Add("102", {"FNC1", "FNC1", "FNC1", "411131", "bbbbsbsbbbs"})code128_byid.Add("103", {"StartA", "StartA", "StartA", "211412", "bbsbssssbss"})code128_byid.Add("104", {"StartB", "StartB", "StartB", "211214", "bbsbssbssss"})code128_byid.Add("105", {"StartC", "StartC", "StartC", "211232", "bbsbssbbbss"})code128_byid.Add("106", {"Stop", "Stop", "Stop", "2331112", "bbsssbbbsbsbb"})Return code128_byidEnd Function
End Class

调用方法:

打印到picturebox

Dim final As String = clsBarcode.get_code_128Auto("这里写条码")
dim lineHeight as int16 = 50For i = 0 To final.Length - 1If (final.Substring(i, 1) = "b") ThenPictureBox1.CreateGraphics.FillRectangle(New SolidBrush(Color.Black), New Rectangle(x, y, 1, lineHeight))  '参数分别为  x坐标,y坐标,线宽(设置为1),条码高度。End Ifx += 1Next i
Dim space As Int16 = final.Length / barcode.Length  'barcode 即为条码x = 40 + 2For i = 0 To barcode.Length - 1PictureBox1.CreateGraphics.DrawString(barcode.Substring(i, 1), New Font("宋体", 6), New SolidBrush(Color.Black), x + i * space, y + lineHeight)Next i

打印到打印机:

If barcode = "" Then            'barcode即为条码MsgBox("选择条码")Exit SubEnd IfgBarcode = barcode        'gbarcode为公有变量。Printer.Print()
'请将上面的代码放到button click事件中。
'下面是打印机的打印页面事件,在这里画条码
Private Sub Printer_PrintPage(sender As Object, e As PrintPageEventArgs) Handles Printer.PrintPageConst lineWidth = 1Const lineHeight = 20Dim x As Int16 = 40Dim y As Int16 = 50Dim final As String = ""final = clsBarcode.get_code_128Auto(gBarcode)For i = 1 To final.Length - 2If (final.Substring(i, 1) = "b") Thene.Graphics.FillRectangle(New SolidBrush(Color.Black), New Rectangle(x, y, lineWidth, lineHeight))End Ifx = x + 1NextEnd If'把数字写上Dim space As Int16 = final.Length / gBarcode.Lengthx = 40 + 2For i = 0 To gBarcode.Length - 1e.Graphics.DrawString(gBarcode.Substring(i, 1), New Font("宋体", 6), New SolidBrush(Color.Black), x + i * space, y + lineHeight)Next i
End Sub

上面举的例子是使用code128 auto来打印到图像框和打印机。其它类型的条码一样。类的工作是计算出哪个位置打线条,哪个位置不打。

code128 auto 打印出来的条码即短,又不受条码位数限制。而code128C只能打印偶数位的条码。

auto 即,如果是奇数,那么前偶数个用128C打,最后一位,先改变编码再打印。

具体规则,网上有,我就不搬了。

代码写得比较匆忙,没有整理。看官见谅。

有问题的可以在评论区指出。谢谢

可以直接下载完整示例

vb.net打印条形码code39、code128A、code128C、code128Auto(picturebox和打印机)-桌面系统文档类资源-CSDN下载已经封装成类。几句代码即可调用。支持code39码、code128A,code128C,code更多下载资源、学习资料请访问CSDN下载频道.https://download.csdn.net/download/superfans98/86269944

vb.net 打印条形码code39、code128A、code128C、code128Auto(picturebox和打印机)封装类相关推荐

  1. labelcommand打印条码_VB应用程序中打印条形码的方法

    展开全部 条形码作为一e68a843231313335323631343130323136353331333233656533种机器可识别的图形,它能快速.准确地标识某种产品或商品,在许多数据库应用中 ...

  2. access 打印预览 代码_如何在亚银标签纸上批量打印条形码

    亚银标签纸上批量打印条形码的方法和用普通不干胶标签纸打印条形码的方法基本上是一样的,再具体批量打印条形码的过程中有两点非常重要:一是要有一台能支持亚银标签纸的条码打印机,二就是需要一款专业的条码打印软 ...

  3. php 怎么打印条形码,php – 如何在垂直标签中垂直打印zpl条形码

    我正在使用zebraGk420d打印机.我正在使用垂直条形码标签.如何垂直打印文本和条形码.我的zpl代码是这样的 $barcode_ZPL_code="^XA ^FO 150,50^AD, ...

  4. TSC打印机打印条形码和二维码,JS实现方式

    自上一篇TSC打印条形码和二维码的文章发布以来,有不 少网友咨询相关技术, 今天全部整理一下,实现的源码和文件也全部公开. -- 2019.03.28  整理最新的js打印的实现方式 说明: 1.以下 ...

  5. vue打印问题(分页打印、批量打印条形码)

    前言 项目需求打印功能所遇到的问题.在此记录,望能帮到你 一下问题: 当内容超过一页时不会自动分页? 当使用vue3-barcode 打印条形码时,不能批量打印? 基础打印 安装 官网地址:https ...

  6. excel怎么批量插行_条码打印软件如何批量打印条形码图片(一)

    条码打印软件可以批量打印条形码这个大家都知道,但是如果是已经生成好的条形码图片怎么批量打印呢?如果你遇到这种情况,别着急,今天就给大家用两种方法演示一下如何用条码打印软件批量打印条形码图片. 方法一, ...

  7. 普通打印机如何打印条形码

    条码打印机可以打印条形码,普通打印机一样可以打印条形码,只需要在条码打印软件中生成条形码,设置好标签的大小,就可以直接在条码打印软件中选择普通打印机打印条形码了. 打开条码打印软件,新建标签,选择普通 ...

  8. 条码打印软件如何连接得力条码机打印条形码

    很多小伙伴在使用条码打印软件时不知道如何直接连接自己的条码机打印条形码二维码标签,首先要知道条码打印软件是通过打印机驱动连接相关条码机实现数据打印的,所以用条码打印软件连接条码机打印条码二维码标签之前 ...

  9. electron打印条形码、二维码

    功能:在electron打印条形码或者二维码 在百度搜索找不到合适的博客与插件,就在github上找到一个插件 electron-pos-printer 可以一键打印图片.文本.二维码.条形码.表格 ...

最新文章

  1. mysql多行合并成一行_数据文件合并与拆分
  2. 【开发技术】视频URL采集
  3. ${pageContext.request.contextPath}
  4. 后端学习 - RabbitMQ
  5. 公务员计算机考试题库,公务员考试题库
  6. 开发 OpenAM Java 客户端
  7. python计算两个数的最大公约数和最小公倍数
  8. rpm -e --nodeps_Linux系统rpm方式管理软件
  9. 启用nf_conntrack模块,避免table full dropping
  10. 34. Differentiate between inheritance of interface and inheritance ofimplementations
  11. Word标题:自动编号
  12. 复杂网络是怎么应用于神经网络上
  13. mysql spring lobhandler_Spring 让 LOB 数据操作变得简单易行()
  14. bayes-opt安装
  15. 【PHP】json返回大括弧和中括弧,json返回{}和[]
  16. Chrome播放视频时只有声音没有画面
  17. fspecial 在MATLAB中的用法
  18. 思杰桌面虚拟化终端设备的选择
  19. javascript 矩阵_JavaScript问题解决器:旋转图像矩阵
  20. c语言remove和rename不起作用,C语言探索之旅 | 第二部分第七课:文件读写

热门文章

  1. 每日一道Leetcode - 剑指 Offer 14- I. 剪绳子【动态规划】
  2. 【React】1128- 如何在 React 组件中优雅的实现依赖注入
  3. Maven 中文文档
  4. Flink1.11 读取kafka数据写入hive,未完待续
  5. C语言买金鱼问题答案,发现一条品相不错的小金鱼,可惜炸鳞了,购买金鱼如何判断疾病?...
  6. 如何批量删除Bilibili抽奖动态
  7. led灯条串联图_串联式电路 - 自制12vled灯电路图(五款设计电路图分享)
  8. 认知MOS管-必懂MOS管11个基础知识点及分析
  9. 真实感受一下县比省大不包邮,省市区乡镇多级数据重装上阵
  10. R语言使用Metropolis-Hastings采样算法自适应贝叶斯估计与可视化