Vb.net 使用9+;数字
我一直在研究像thigny这样的条形码。它使用颜色将数字写入图像。不管怎样,每次我使用9个以上的数字时,它都表示OverFlowException未处理。也许我的代码漏掉了什么。大部分都是我的代码,除了关于TextBox1按键的代码。这是密码Vb.net 使用9+;数字,vb.net,Vb.net,我一直在研究像thigny这样的条形码。它使用颜色将数字写入图像。不管怎样,每次我使用9个以上的数字时,它都表示OverFlowException未处理。也许我的代码漏掉了什么。大部分都是我的代码,除了关于TextBox1按键的代码。这是密码 Public Class Form1 Dim NumberLength As Integer = 1 Private Sub Button1_Click(sender As System.Object, e As System.EventArgs) H
Public Class Form1
Dim NumberLength As Integer = 1
Private Sub Button1_Click(sender As System.Object, e As System.EventArgs) Handles Button1.Click
If Button2.Text = "..." Then
MsgBox("Place select where you want your Color Code to be saved")
Else
Dim BMP As New Drawing.Bitmap(19, 10)
BMP = Create(TextBox1.Text)
Dim NewBMP As New Drawing.Bitmap(NumberLength, 1)
NewBMP = BMP
NewBMP.Save(Button2.Text)
End If
End Sub
Public Function Create(ByVal Number As Int32) As Bitmap
Dim StringNumber = Number.ToString
Dim NumberLength = StringNumber.Length
Dim ColorCode As New Drawing.Bitmap((NumberLength), 1)
Dim GFX As Graphics = Graphics.FromImage(ColorCode)
For i As Integer = 1 To NumberLength
Dim CurrentNumber As Integer = StringNumber.Substring(i - 1, 1)
GFX.FillRectangle(New SolidBrush(ReturnRGBValue(CurrentNumber)), i, 0, 1, 1)
If i = (NumberLength + 1) Then
Exit For
End If
Next
Return ColorCode
End Function
Public Function ReturnRGBValue(ByVal Number As Integer) As Color
Dim Color As New Color
If Number = 1 Then
Color = Color.FromArgb(255, 255, 255)
ElseIf Number = 2 Then
Color = Color.FromArgb(245, 245, 245)
ElseIf Number = 3 Then
Color = Color.FromArgb(235, 235, 235)
ElseIf Number = 4 Then
Color = Color.FromArgb(225, 225, 225)
ElseIf Number = 5 Then
Color = Color.FromArgb(215, 215, 215)
ElseIf Number = 6 Then
Color = Color.FromArgb(205, 205, 205)
ElseIf Number = 7 Then
Color = Color.FromArgb(195, 195, 195)
ElseIf Number = 8 Then
Color = Color.FromArgb(185, 185, 185)
ElseIf Number = 9 Then
Color = Color.FromArgb(175, 175, 175)
ElseIf Number = 0 Then
Color = Color.FromArgb(165, 165, 165)
End If
Return Color
End Function
Private Sub Button2_Click(sender As System.Object, e As System.EventArgs) Handles Button2.Click
Dim Save As New SaveFileDialog
Save.Filter = "PNG |*.png |JPG |*.jpg |GIF |*.gif"
Save.ShowDialog()
Button2.Text = Save.FileName
End Sub
Private Sub TextBox1_KeyPress(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles TextBox1.KeyPress
'97 - 122 = Ascii codes for simple letters
'65 - 90 = Ascii codes for capital letters
'48 - 57 = Ascii codes for numbers
If Asc(e.KeyChar) <> 8 Then
If Asc(e.KeyChar) < 48 Or Asc(e.KeyChar) > 57 Then
e.Handled = True
End If
End If
End Sub
End Class
公共类表单1
Dim NumberLength作为整数=1
私有子按钮1\u单击(发送者作为System.Object,e作为System.EventArgs)处理按钮1。单击
如果Button2.Text=“…”则
MsgBox(“放置选择您希望保存颜色代码的位置”)
其他的
将BMP调整为新图形。位图(19,10)
BMP=创建(TextBox1.Text)
将新位图作为新图形进行调暗。位图(数字长度,1)
NewBMP=BMP
NewBMP.Save(按钮2.Text)
如果结束
端接头
公共函数创建(ByVal编号为Int32)为位图
Dim StringNumber=Number.ToString
Dim NumberLength=StringNumber.Length
作为新绘图的暗淡颜色代码。位图((数字长度),1)
Dim GFX As Graphics=Graphics.FromImage(彩色代码)
对于i,整数=1到NumberLength
Dim CurrentNumber As Integer=StringNumber.Substring(i-1,1)
GFX.FillRectangle(新的SolidBrush(ReturnRGBValue(CurrentNumber)),i,0,1,1)
如果i=(NumberLength+1),则
退出
如果结束
下一个
返回色码
端函数
公共函数返回rgbValue(ByVal数为整数)作为颜色
暗淡的颜色是新的颜色
如果数字=1,则
Color=Color.FromArgb(255,255,255)
ElseIf数=2,则
Color=Color.FromArgb(245245245245)
ElseIf数=3那么
Color=Color.FromArgb(235,235,235)
ElseIf数=4那么
颜色=颜色。来自argb(225225225)
ElseIf数=5,则
Color=Color.FromArgb(215215215215)
ElseIf数=6那么
颜色=颜色。来自argb(205205205)
ElseIf数=7那么
颜色=颜色。来自argb(195195195195195)
ElseIf数=8那么
颜色=颜色。来自argb(185185185185)
ElseIf数=9那么
Color=Color.FromArgb(175175175)
ElseIf Number=0,则
Color=Color.FromArgb(165,165,165)
如果结束
返回颜色
端函数
私有子按钮2\u单击(发送者作为System.Object,e作为System.EventArgs)处理按钮2。单击
Dim另存为新保存文件对话框
Save.Filter=“PNG |*.PNG | JPG |*.JPG | GIF |*.GIF”
Save.ShowDialog()
Button2.Text=Save.FileName
端接头
私有子textbox1keypress(ByVal sender作为对象,ByVal e作为System.Windows.Forms.KeyPressEventArgs)处理TextBox1.KeyPress
'97-122=简单字母的Ascii码
'65-90=大写字母的Ascii码
'48-57=数字的Ascii码
如果Asc(e.KeyChar)8,则
如果Asc(e.KeyChar)<48或Asc(e.KeyChar)>57,则
e、 已处理=真
如果结束
如果结束
端接头
末级
您的参数被声明为Int32
The valid range of an Integer variable is -2147483648 through +2147483647.
Dim k As Integer
The following statement causes an error because the value is too large.
k = 2147483648
可以存储在Int32(根据MSDN)十进制中的最大值2147483647(十六进制值0x7FFFFF
)您的参数声明为Int32
The valid range of an Integer variable is -2147483648 through +2147483647.
Dim k As Integer
The following statement causes an error because the value is too large.
k = 2147483648
可以存储在Int32(根据MSDN)十进制中的最大值2147483647(十六进制值0x7FFFFF
)您的参数声明为Int32
The valid range of an Integer variable is -2147483648 through +2147483647.
Dim k As Integer
The following statement causes an error because the value is too large.
k = 2147483648
可以存储在Int32(根据MSDN)十进制中的最大值2147483647(十六进制值0x7FFFFF
)您的参数声明为Int32
The valid range of an Integer variable is -2147483648 through +2147483647.
Dim k As Integer
The following statement causes an error because the value is too large.
k = 2147483648
可存储在Int32(根据MSDN)十进制中的最大值2147483647(十六进制值0x7FFFFF
)
您使用的是Integer,因此如果它的值为9,则其溢出,请尝试使用Long
数据类型
您使用的是Integer,因此如果它的值为9,则其溢出,请尝试使用Long
数据类型
您使用的是Integer,因此如果它的值为9,则其溢出,请尝试使用Long
数据类型
您使用的是Integer,因此如果它的值为9,则其溢出,请尝试使用Long
数据类型。谢谢,我决定将Int改为字符串。它仍然工作得很好,可以处理大数字!谢谢,我决定把Int改成字符串。它仍然工作得很好,可以处理大数字!谢谢,我决定把Int改成字符串。它仍然工作得很好,可以处理大数字!谢谢,我决定把Int改成字符串。它仍然工作得很好,可以处理大数字!谢天谢地,就像斯宾塞说的,我把整数改成了字符串,所以它解决了问题!哈哈。很高兴它有帮助,现在很高兴知道正确的值类型和检查它的范围对于我们的程序是非常重要的。谢谢,伙计,正如斯宾塞所说的,我把整数改成了字符串,所以它解决了问题!哈哈。很高兴它有帮助,现在很高兴知道正确的值类型和检查它的范围对于我们的程序是非常重要的。谢谢,伙计,正如斯宾塞所说的,我把整数改成了字符串,所以它解决了问题!哈哈。很高兴它有帮助,现在很高兴知道正确的值类型和检查它的范围对于我们的程序是非常重要的。谢谢,伙计,正如斯宾塞所说的,我把整数改成了字符串,所以它解决了问题!哈哈。很高兴它有帮助,现在很高兴知道正确的值类型和检查它的范围对于我们的程序非常重要。