救命!!!!!!!!!!!!!

mrcd 2003-12-27 12:00:23
快!快!快!如何在标签(Label)中随机产生三个汉字?????急救!! 100分问题!!
...全文
61 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
northwolves 2003-12-28
  • 打赏
  • 举报
回复
区位码这样实现:
Private Sub Command1_Click()
Dim a(2) As String
Randomize
For i = 0 To 2
a(i) = fromquwei(Format(Int(20 + 40 * Rnd), "00") & Format(Int(95 * Rnd), "00"))
Next
Label1.Caption = Join(a, "")
End Sub


Function fromquwei(ByVal x As Long) As String
If Len(x) <> 4 Then
Exit Function
Else
Dim temp As String
temp = Hex(Val(Left(x, 2)) + 160) & Hex(Val(Right(x, 2)) + 160)
fromquwei = Chr("&H" & temp)
End If
End Function
xueyi0008 2003-12-27
  • 打赏
  • 举报
回复
定义数组
将汉字输入
然后用随机数生成器随机生成需要的数,然后按照生成的值,找相应的数组中的值就是了。
sysmaster 2003-12-27
  • 打赏
  • 举报
回复
同意用区位码的方法实现
企业通用软件 2003-12-27
  • 打赏
  • 举报
回复
先存储一个汉字序列,然后生成3各随机数,从序列中取出相应的汉字即可
kmzs 2003-12-27
  • 打赏
  • 举报
回复
随即产生一个3个4位数,然后找到与之区位码一致的字,可能要用数据库
jilate 2003-12-27
  • 打赏
  • 举报
回复
将这些数字放到数据库中,然后在读取。
lk_cool 2003-12-27
  • 打赏
  • 举报
回复
o y

有学到东西了
zqfleaf 2003-12-27
  • 打赏
  • 举报
回复

Dim aa As Long
aa = Int(-10000 * Rnd(1)) - 10000
MsgBox Chr(aa)
aa = Int(-10000 * Rnd(1)) - 10000
MsgBox Chr(aa)
aa = Int(-10000 * Rnd(1)) - 10000
MsgBox Chr(aa)
好象范围有错,确定范围后就不会出现一些乱码
cai114 2003-12-27
  • 打赏
  • 举报
回复
区位码的方法实现最好了,
有时间给你写出来
yoki 2003-12-27
  • 打赏
  • 举报
回复
这些汉字放到数据库中,然后在随机读取
如:
create table table1(hanzi nvarchar(1))
insert into table1 select '我'
insert into table1 select '你'
insert into table1 select '他'
insert into table1 select '是'
insert into table1 select '水'
insert into table1 select '不'
insert into table1 select '要'

select top 3 * from table1 order by newid()
pigpag 2003-12-27
  • 打赏
  • 举报
回复
可以用Byte数组。一个汉字对应两个字节,对Byte()直接赋值,然后直接转成String即可。

像这样:
Dim K(5) As Byte, X As Integer, S As String
For X = 0 To 5
K(X) = Rnd(1) * 256
Next X
S = K
MsgBox S

注意,这里欠缺的是控制一个双字节字符落入汉字区。这需要调试,请你自己改进一下
rainstormmaster 2003-12-27
  • 打赏
  • 举报
回复
一个简单的例子:
Option Explicit
Dim s As String
Private Sub Command1_Click()
Dim i As Long
i = Len(s)
Dim j As Long, str As String, k As Long
For j = 1 To 3
Randomize Time
k = (CLng(Rnd() * i) Mod i) + 1
Debug.Print "num " + CStr(j) + "=" + CStr(k)
str = str + Mid(s, k, 1)
Next
Me.Label1.Caption = str

End Sub

Private Sub Form_Load()
s = "歼击机达到事实亲切文物辨别方法团体"
End Sub
期末救命资源!~!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

7,763

社区成员

发帖
与我相关
我的任务
社区描述
VB 基础类
社区管理员
  • VB基础类社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧