网站建设资讯

NEWS

网站建设资讯

vb.netupper的简单介绍

VB.NET中函数Rnd能够返回什么的随机数

返回大于等于0小于1之间的随机数。

创新互联始终坚持【策划先行,效果至上】的经营理念,通过多达10多年累计超上千家客户的网站建设总结了一套系统有效的营销解决方案,现已广泛运用于各行各业的客户,其中包括:广告制作等企业,备受客户称赞。

Visual Basic中随机函数

格式:Rnd(数值表达式)

功能:求[0,1)之间的一个随机数

语法:

Rnd[(number)]

如果 number 的值是 Randomize 生成

小于 0 ,每次都使用 number 作为随机数种子得到的相同结果。

大于 0 ,以上一个随机数为种子产生下一个随机数。

等于 0 ,产生与最近生成的随机数相同的随机数。

省略, 以上一个随机数为种子产生下一个随机数。

说明

Rnd 函数返回小于 1 但大于或等于 0 的值。

number 的值决定了 Rnd 生成随机数的方式。

对最初给定的种子都会生成相同的数列,因为每一次调用 Rnd 函数都用数列中的前一个数作为下一个数的种子。

在调用 Rnd 之前,先使用无参数的 Randomize语句初始化随机数生成器(若带参数,则产生由参数对应的一个特定序列的随机数),该生成器具有根据系统计时器得到的种子。

为了生成某个范围内的随机整数,可使用以下公式:

Int((upperbound - lowerbound + 1) * Rnd + lowerbound)

这里,upperbound 是随机数范围的上限,而 lowerbound 则是随机数范围的下限。

注意 若想得到重复的随机数序列,在使用具有数值参数的 Randomize 之前直接调用具有负参数值的 Rnd。使用具有同样 number 值的 Randomize 是不会得到重复的随机数序列的。

vb.net大小写字母转换

Private Sub Button6_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button6.Click

Dim s As String = "0Ff0ajkh04624F"

Dim i As Integer = 0

Dim sTemp As String = ""

Dim ss As String = ""

For i = 1 To Strings.Len(s)

sTemp = Mid(s, i, 1)

If Asc(sTemp) = 65 And Asc(sTemp) = 90 Then

sTemp = LCase(sTemp)

ElseIf Asc(sTemp) = 95 And Asc(sTemp) = 122 Then

sTemp = UCase(sTemp)

Else

sTemp = sTemp

End If

ss = ss sTemp

Next

MsgBox(ss)

End Sub

VB.NET怎样实现某一范围内的随即小数?例如2.1到3.4之间。

可以用Rnd函数实现

Rnd 函数返回小于 1 但大于或等于 0 的值。

为了生成某个范围内的随机整数,可使用以下公式:

Int((upperbound - lowerbound + 1) * Rnd + lowerbound)

这里,upperbound 是随机数范围的上限,而 lowerbound 则是随机数范围的下限。

你这里可以先把范围扩大10倍,看成21到34之间的随机数,最后再除以10就行了。

Int((34 - 21 + 1) * Rnd + 21) / 10

vb.net如何锁定除顶级窗体以外的操作

vb.net锁定除顶级窗体以外的操作步骤如下:

1、通过Show方法,用以显示MDIForm或Form对象。

2、当Show在显示无模式窗体时,随后遇到的代码则要执行。

3、当Show在显示模式窗体时,则随后的代码直到该窗体被隐藏或卸载时执行即可。

vb.net text.box 如何实现输入的小写转变为大写

1:将文件拷贝到WORD中

2:点击菜单“格式”——更改大小写,出现对话框

3:可以选择“大写”或者“切换大小写”,就都可以换过来了

最后,再复制回到你所需要的文档中即可!

VB.NET UNICODE码 显示

Public Class Form1

Dim b() As Byte

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click

b = System.Text.Encoding.Default.GetBytes(TextBox1.Text)

For i = 0 To UBound(b)

TextBox2.AppendText(i.ToString  " ")

Next

End Sub

Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click

TextBox1.Text = System.Text.Encoding.Default.GetString(b)

End Sub

Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load

TextBox1.Text = "Google free online translation service instantly translates text and web pages。 该翻译器支持: 中文(简体), 中文(繁体), shqip, 日本语, русский, langue française ..."

End Sub

End ClassVB.Net中用String类型表示字符串,内部采用Unicode编码。当需要在网络或串口中收发字符串时,就需要在String和Byte数组之间进行转换,这项功能可以通过System.Text.Encoding类实现。

Private zeroChars() As Char = {ChrW(0)}

Dim descBytes() As Byte = System.Text.Encoding.Unicode.GetBytes(mDescription)

Dim description As String = System.Text.Encoding.Unicode.GetString(rBuffer, offset, length).TrimEnd(zeroChars)

说明:C语言中用'\0'表示字符串结束,而String类型中0是有效字符,显示时是空白字符,会占用显示宽度,可以用TrimEnd方法将字符串末尾的零字符去掉。

主要叙说一下StrConv 函数conversion参数最后两个值的含义和用途,并举例说明。

1、语法

StrConv(string, conversion, LCID)

StrConv 函数的语法有下面的命名参数:

部分 说明

string 必要参数。要转换的字符串表达式。

conversion 必要参数。Integer。其值的和决定转换的类型。

LCID 可选的。如果与系统LocaleID不同,则为LocaleID(系统LocaleID为缺省值。)

设置值

conversion 参数的设置值为:

常数 值 说明

vbUpperCase 1 将字符串文字转成大写。

vbLowerCase 2 将字符串文字转成小写。

vbProperCase 3 将字符串中每个字的开头字母转成大写。

vbWide* 4* 将字符串中单字节字符转成双字节字符。

vbNarrow* 8* 将字符串中双字节字符转成单字节字符。

vbKatakana** 16** 将字符串中平假名字符转成片假名字符。

vbHiragana** 32** 将字符串中片假名字符转成平假名字符。

vbUnicode 64 根据系统的缺省码页将字符串转成 Unicode。

vbFromUnicode 128 将字符串由 Unicode 转成系统的缺省码页。

*应用到远东国别。

**仅应用到日本。

说明:前面3个参数比较简单,后面4个我们用不上,就不说了,主要说说后面两个。

2、ANSI 格式

语法中说的缺省码页就是ANSI模式,英文环境下 的ANSI 格式其实也就是ASCII码,其它环境就不一样了,比如中文环境,就是ASCII,一个字节表示一个字符,GB2312,2个字节表示一个汉字,所以中文环境下的ANSI格式就是ASCII码+GB2312,早期的DOS系统中纯文本就是这种格式,这种格式下,通过最高位来判断是中文字符(最高位是1)还是ASCII字符(最高位是0)。中文环境下保存文本文件时一般都采用ANSI格式,不过也有其他格式,比如UTF-8。

3、Unicode编码

Unicode(统一码、万国码、单一码)是一种在计算机上使用的字符编码。Unicode 是为了解决传统的字符编码方案的局限而产生的,它为每种语言中的每个字符设定了统一并且唯一的二进制编码,以满足跨语言、跨平台进行文本转换、处理的要求。Unicode用两个字节表示一个字符,涵盖了世界上所有字符,和以前的字符集都不兼容,VB内部字符串就是采用Unicode编码,所以当我们打开一个文本文件读入数据的时候,其内存中的内容和文本文件的内容是不一样的,经过了转换,除非你采用二进制方式读入。

4、vbUnicode和vbFromUnicode含义

有了上面叙说,这两个参数的含义就好理解了,就是Unicode编码和ANSI编码的互换,例如:

      textline= StrConv(plaintext,vbUnicode)  

这儿textline是以字符串变量,plaintext是以字节变量保存着ANSI模式的字符内容,例如,“2”这个字符,一个字节,值是50,16进制是32,“皖”这个汉字,两个字节,值是205和238,同样是这两个字符,作为字符串在内存中都是两个字节,例如,“2”这个字符在内存中16进制值是0032。当VB打开一个文件读取文本内容是,实际上自动进行了上述转换。

     plaintext = StrConv(textline, vbFromUnicode)

这儿进行相反的转换,就是将Unicode字符串转换成ANSI模式,转换结果必须以字节方式保存。

5、vbUnicode和vbFromUnicode用途

由于字符在内存中的内容和文件中的内容不一致,所以必须要用到这种转换,特别是系统间进行数据交换、数据加密和解密,如果不做转换可能导致得不到正确的结果。

比如,我们对一个文本文件进行加密,这个文件是ANSI格式存储的,当从文件内容读入一行到内存的时候,自动将内容转换成了Unicode格式,如果这时候对其做加密运算,其结果和文件中字符串加密结果是不一样的,这样的结果如果让别人解密将无法得到正确的结果。如果对读入内存的内容先做个转换(textline是读入内容):

     plaintext = StrConv(textline, vbFromUnicode)

再对plaintext做加密,其结果就一样了。

举例(按行做加密和解密运算,算法是AES+Base64):

[vb] view plain copy

Status = "Encrypting File"

Open FileName For Input As #1      ' 打开输入文件。

Open FileName2 For Output As #2     ' 打开输出文件。

Do While Not EOF(1)

Line Input #1, TextLine

plaintext = StrConv(TextLine, vbFromUnicode)

Status = "Encrypting Data"

m_Rijndael.SetCipherKey pass, KeyBits

m_Rijndael.ArrayEncrypt plaintext, ciphertext, 0

Status = "Converting Text to Base64"

TextLine = Base64Encode(ciphertext)

Status = ""

Print #2, TextLine    ' 将字符串写入文件。

Loop

Close

[vb] view plain copy

Status = "Decrypting File"

Open FileName For Input As #1      ' 打开输入文件。

Open FileName2 For Output As #2    ' 打开输出文件。

Do While Not EOF(1)

Line Input #1, TextLine

Status = "Converting Base64 to Text"

ciphertext = Base64Decode(TextLine)

Status = "Decrypting Data"

m_Rijndael.SetCipherKey pass, KeyBits

If m_Rijndael.ArrayDecrypt(plaintext, ciphertext, 0)  0 Then

Status = ""

Exit Sub

End If

TextLine = StrConv(plaintext, vbUnicode)

For i = 0 To UBound(plaintext)

Debug.Print plaintext(i)

Next i

k = InStr(1, TextLine, Chr(0), vbBinaryCompare)

If k  0 Then TextLine = Left(TextLine, k - 1)    '截掉加密时补的0

MsgBox TextLine  "end"

Status = ""

Print #2, TextLine    ' 将字符串写入文件。

Loop

Close


名称栏目:vb.netupper的简单介绍
标题URL:http://cdweb.net/article/hjphih.html