vb中随机产生长度为1~20的大写字符串

 我来答
1633602558
2017-12-10 · TA获得超过268个赞
知道小有建树答主
回答量:185
采纳率:71%
帮助的人:36.8万
展开全部

【关于vb中随机产生长度为1~20的大写字符串】

********* 本人原创编写,绝无复制抄袭 *********

步骤如下:

1,第一步,创建和定义变量,用来存放临时数据

Dim S As String      '用来存放新字符串中允许产生的字符


Dim I As Long        '用来存放随机数


Dim sText As String  '用来装载20个随机字符作为最终结果

2,第二步,添加一个字符串,将从这些字符中产生新的随机字符。 如:

S = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789"


3,第三步,创建一个循环过程,他的条件是字符串长度小于20


While Len(sText) < 20

4,第四步,产生随机数,它的范围是1至你字符串S的长度


I = Int(Rnd() * Len(S)) Mod Len(S) + 1

5,第五步,从S串中随机数的地方截取一个字符添加到结果中,直到这结果长度达到20时停止循环


sText = sText & Mid(S, I, 1)

Wend

6,第六步,打印结果到窗体上,如果你要指定大小写,请用相应函数:Ucase(转为大写),Lcase(转为小写)


Print sText

下面我把完整代码,写成一个产生随机字符串的函数,方便大家调用,如下


'函数:产生随机字符串的函数,调用方法  StrRandom("将从哪些字符中产生",返回的长度)
Public Function StrRandom(ByVal S As String, ByVal Count As Long) As String
    Dim sText As String, I As Long
    While Len(sText) < Count
        I = Int(Rnd() * Len(S)) Mod Len(S) + 1
        sText = sText & Mid(S, I, 1)
    Wend
    StrRandom = sText
End Function

Private Sub Command1_Click() '固定20长度
'调用示例:从下面字符中产生固定20长度的随机字符串
Const Str = "ABCDEFGHIJKLMNOPQRSTUVWXYZ"
Print StrRandom(Str, 20)
End Sub

Private Sub Command2_Click() '随机1~20长度
'调用示例:从下面字符中产生随机1~20长度的随机字符串
Const Str = "ABCDEFGHIJKLMNOPQRSTUVWXYZ"
Print StrRandom(Str, (20 * Rnd) + 1)
End Sub

TableDI
2024-07-18 广告
Excel表格中的计数函数主要用于统计单元格区域中满足特定条件的数值或非空单元格的数量。最常用的计数函数是`COUNT`和`COUNTA`。`COUNT`函数用于统计选定区域内数值型单元格的数量,忽略文本和空单元格。而`COUNTA`函数则... 点击进入详情页
本回答由TableDI提供
智者总要千虑
高粉答主

2017-11-03 · 说的都是干货,快来关注
知道顶级答主
回答量:7.9万
采纳率:88%
帮助的人:1.3亿
展开全部

vb中随机产生长度为1~20的大写字符串的代码如下:

Private Sub Command1_Click()

Randomize

Text1.Text = ""

n = Int(Rnd * 20) + 1

For i = 1 To n

Text1.Text = Text1.Text & Chr(Int(Rnd * 26 + 65))

Next i

End Sub

Private Sub Command2_Click()

c = InputBox("请输入一个大写字母:")

n = 0

For i = 1 To Len(Text1.Text)

If Mid(Text1.Text, i, 1) = c Then n = n + 1

Next i

MsgBox Text1.Text & " 中有 " & n & " 个 " & c

End Sub

Private Sub Form_Load()

Text1.Text = ""

End Sub

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友ed9a3d2
2015-10-31 · TA获得超过2304个赞
知道大有可为答主
回答量:1361
采纳率:50%
帮助的人:684万
展开全部

  新建一VB工程,在窗体上添加一个按钮。


  然后进入 代码区,删除所有代码后,粘贴以下代码即可:随机产生1-20个随机的大写字符串。

Option Explicit

Private Sub Command1_Click()
Dim I As Long
Dim K As Long
Dim s As String
K = Rnd() * 19 + 1
For I = 1 To K
    s = s & Chr(Rnd() * 25 + 65)
Next I
MsgBox "随机产生的大字字母串是:" & s
End Sub

Private Sub Form_Load()
Randomize
End Sub

  运行效果图:

本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
bz144
2017-11-13 · TA获得超过1825个赞
知道小有建树答主
回答量:1096
采纳率:89%
帮助的人:262万
展开全部

这道题需要分两步进行,首先需要随机生成字符串的长度(1~20个),然后按照个数随机生成大写字符并连接为字符串。代码如下:

Dim N As Integer,strOut As String,i As Integer
N=Int(RND * 20+1)        '生成字符串个数
strOut=""
for i=1 to N
    strOut=strOut & chr(65 + RND * 26)'随机生成数(0~25),与'A'的Ascii码相加,生成随机大写字母
Next
Print strOut
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
xujmhw6
2017-11-30 · TA获得超过1084个赞
知道大有可为答主
回答量:1261
采纳率:84%
帮助的人:343万
展开全部
Private Sub Command1_Click()
Dim i As Integer, n As Integer, s As String
n = Int(Rnd * 20) + 1
s = ""
For i = 1 To n
s = s + Chr(Int(Rnd * 25 + 66))
Next
Print s
End Sub
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(4)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式