如何用VB随机产生汉字

如何用VB随机产生汉字
程序这样的:点击command1,在text1中产生一个随机的汉字,一定要汉字啊
请问要怎么做啊?大家帮忙下,谢谢!

可通过Rnd 函数来实现随机产生汉字。

Rnd 函数,返回一个包含随机数值的 Single。

Randomize 语句,初始化随机数生成器。

Chr 函数,返回 String,其中包含有与指定的字符代码相关的字符 。

GB_2312 字符集是目前最常用的汉字编码标准,windows 95/98/2000 中使用的 GBK字符集 就包含了GB2312,或者说和GB2312 兼容,GB_2312 字符集包含了 6763个的 简体汉字,和682 个标准中文符号。在这个标准中,每个汉字用2个字节来表示,每个字节的ascii码为 161-254 (16 进制A1 - FE),第一个字节 对应于 区码的1-94 区,第二个字节 对应于位码的1-94 位。

实现代码:

Private Sub Form_Load()
    Timer1.Interval = 500
End Sub

Private Sub Timer1_Timer()
    Dim MyValue, Myvalueh, s
    MyValue = Hex(Int((94 * Rnd) + 161)) '随机产生161到264之间的整数
    Myvalueh = Hex(Int((94 * Rnd) + 161)) '随机产生161到264之间的整数
    s = Myvalueh & MyValue '拼接十六进制字符串高低字节
    Debug.Print Chr(Val("&H" & s)) '用Chr函数返回汉字
    Randomize
End Sub

参考:http://baike.baidu.com/link?url=6xQCorVT7GXS_mYDHtfoKjNWJvH30Ir1bI34gq5X_kz3DSnhbPNijUDyeQjSUThGfx5fjkEMsR5M2YaJb1P9wK

温馨提示:内容为网友见解,仅供参考
第1个回答  推荐于2016-11-18
asc 大于127 的 两个 字符 放在一起就是汉字
randomize timer
HzAsc1=int(rnd()*10)+127
HzAsc2=int(rnd()*10)+127

如: Text1.text= chrB(HzAsc1)+chrb(HzAsc2)

但其中有的汉字 很罕见!不知道你做什么用 如果简单的就这样!本回答被提问者采纳

如何用VB随机产生汉字
可通过Rnd 函数来实现随机产生汉字。Rnd 函数,返回一个包含随机数值的 Single。Randomize 语句,初始化随机数生成器。Chr 函数,返回 String,其中包含有与指定的字符代码相关的字符 。GB_2312 字符集是目前最常用的汉字编码标准,windows 95\/98\/2000 中使用的 GBK字符集 就包含了GB2312,或者说和GB231...

如何用vb做抽名字的程序(不是抽号)
利用Visual Basic (VB) 编写一个简单的程序,实现抽名字的功能,无需抽号,只需将参与者的名字放入数组中。首先,确保程序中使用了“Option Explicit”语句,这能强制VB在使用变量前必须先声明。接下来,定义一个整数变量“i”,并利用随机数函数“Rnd”结合数组的长度,计算出一个随机索引。使用“Int...

vb 随机 出现文字
Private Sub Command1_Click()Randomize Timer Dim str Dim i As Integer str = Array("你好", "你不好")i = Int(Rnd * (UBound(str) + 1))Text1.Text = str(i)End Sub 要自定义什么字符, 只需要改第5句: str=array("字符串1","字符串2",...) 就可以了 ...

请问有人知道,如何用VB程序制作一个诗歌生成器吗?好像要用到字符串...
Private Sub Command1_Click()open "c:\/诗歌.txt" for input as #1'假设诗歌文档是c:\/诗歌.txt,每行一首诗,将它读取到数组a()do while not eof(1)'如果不是文件尾 line input #1,s a(i) = s i=i+1 loop Close #1 '接下来随机输出:text1.text = a(Int(Rnd *(i-1)))End ...

vb编程 怎样随机显示"赤,橙,黄,绿,青,蓝,紫"中的任意一个字
= 5 Then strColor = "青" ElseIf intColor = 6 Then strColor = "蓝" Else strColor = "紫" End If MsgBox "随机生成的字为:" & strColor, 64 + vbOKCancel + vbDefaultButton1, "提示窗口" '输出结果 End Sub ...

vb中怎么产生一串字符数随机的字符串?
在VB中,我们可以通过以下代码生成一个长度为20的由随机的大写字母组成的字符串:设置一个空字符串s。利用For循环,迭代20次。在每次迭代中,使用Rnd函数生成一个介于0和1之间的随机数,然后乘以26,得到一个介于0和25之间的整数。通过Int函数将这个随机整数取整,确保它变为整数。将这个整数加到Asc("...

vb随机抽取文字
制作一个数组,产生随机数作为下标,数组存储字符串即可 用msgbox弹出即可啊

【VB】怎样让文本框随机显示指定的文本
Private Sub Command1_Click()If Not EOF(1) Then Line Input #1, s Text1.Text = Text1.Text & s & vbCrLf End If End Sub Private Sub Form_Load()Open "c:\\1.txt" For Input As #1 Text1.Text = ""End Sub Private Sub Form_Unload(Cancel As Integer)Close #1 End Sub ...

VB中怎么随机生成简体汉字
Public Function dec2bin(mynum) ''十进制到二进制 Dim loopcounter If mynum >= 2 ^ 31 Then dec2bin = "Too big"Exit Function End If Do If (mynum And 2 ^ loopcounter) = 2 ^ loopcounter Then dec2bin = "1" & dec2bin Else dec2bin = "0" & dec2bin End If loop...

VB如何依次呈现姓名 随机且不重复
Arr = Array("一", "二", "三", "四", "五", "六", "七", "八", "九", "十")For I = 1 To 10 S = Int(Rnd() * UBound(Arr)) '产生随机数 Print Arr(S)Arr(S) = Arr(UBound(Arr)) '将产生的随机数和数组最后一个元素交换 If UBound(Arr) = 0 Then Exit ...

相似回答