Foxtable(狐表)用户栏目专家坐堂 → output.Show(rand.NextString(20))


  共有2820人关注过本帖树形打印复制链接

主题:output.Show(rand.NextString(20))

帅哥哟,离线,有人找我吗?
zhangjian222200
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:七尾狐 帖子:1553 积分:11003 威望:0 精华:0 注册:2016/9/12 11:18:00
output.Show(rand.NextString(20))  发帖心情 Post By:2019/3/5 7:56:00 [只看该作者]

output.Show(rand.NextString(20))

每次输出的字母,只在abcdef之间,如下面:
a338c7b7c0d74db3a3d4

如何让字符串拥有更多字母?

 回到顶部
帅哥哟,离线,有人找我吗?
y2287958
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:狐神 帖子:4760 积分:34608 威望:0 精华:0 注册:2008/8/31 22:44:00
  发帖心情 Post By:2019/3/5 8:21:00 [只看该作者]

这个要自行编码了

 回到顶部
帅哥哟,离线,有人找我吗?
有点甜
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2019/3/5 8:55:00 [只看该作者]

参考

 

Dim str As String = "abcdefghijklmnopqrstuvwxyz0123456789"
Dim n As Integer = 20
Dim nstr As String = ""
For i As Integer = 1 To n
    nstr &= str(Rand.Next(str.length))
Next
msgbox(nstr)


 回到顶部
帅哥哟,离线,有人找我吗?
zhangjian222200
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:七尾狐 帖子:1553 积分:11003 威望:0 精华:0 注册:2016/9/12 11:18:00
  发帖心情 Post By:2019/3/5 17:47:00 [只看该作者]

Dim str As String = "abcdefghijkmnpqrstuvwxy"
Dim n As Integer = 100
Dim nstr As String = ""
For i As Integer = 1 To n
    If n Mod 12 = 0 Then
        nstr = nstr & str(Rand.Next(str.length)) & vbcrlf  '这里想要实现换行,发现怎么弄也不行,怎么调整?
    Else
        nstr = nstr & str(Rand.Next(str.length))
    End If
Next
Functions.Execute("LogText",nstr)
msgbox(12 Mod 12) ’这儿结果是0


图片点击可在新窗口打开查看此主题相关图片如下:qq图片2019030.png
图片点击可在新窗口打开查看

[此贴子已经被作者于2019/3/5 17:52:09编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
有点甜
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2019/3/5 17:51:00 [只看该作者]

Dim str As String = "abcdefghijkmnpqrstuvwxy"
Dim n As Integer = 100
Dim nstr As String = ""
For i As Integer = 1 To n
    If i Mod 12 = 0 Then
        nstr = nstr & str(Rand.Next(str.length)) & vbcrlf  '这里想要实现换行,发现怎么弄也不行,怎么调整?
    Else
        nstr = nstr & str(Rand.Next(str.length))
    End If
Next
msgbox(nstr)

 回到顶部
帅哥哟,离线,有人找我吗?
zhangjian222200
  6楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:七尾狐 帖子:1553 积分:11003 威望:0 精华:0 注册:2016/9/12 11:18:00
  发帖心情 Post By:2019/3/5 18:15:00 [只看该作者]

想要下面的字符串nstr,直接剔除重复的值,如果要生成100万行,下面这样处理行么?(试了一下,1万行可以)

Dim str As String = "MCDENPQDHEFGJKMNABCACDKTRST"
Dim n As Integer = 120000 ’改成1200000,即10万行,电脑就不动了,但是过了好大一会,也生成了若是100万行,会崩溃么?
Dim nstr As String = ""

Dim nums As New List(Of String)
For i1 As Integer = 1 To n
    nstr &= str(Rand.Next(str.length))
    If i1 Mod 12 = 0 Then
        If nums.Contains(nstr) = False Then
            nums.Add(nstr)
        End If
        nstr = ""
    End If
Next
For i2 As Integer = 0 To (nums.Count - 1)
    nstr &= nums(i2) & vbcrlf
Next
Functions.Execute("LogText",nstr) ’最终保存在记事本里面
msgbox(1)
[此贴子已经被作者于2019/3/5 19:59:59编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
有点蓝
  7楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:110790 积分:563882 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2019/3/5 20:03:00 [只看该作者]

1、使用异步函数
2、每10W行就保存一次

 回到顶部
帅哥哟,离线,有人找我吗?
有点甜
  8楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2019/3/6 10:13:00 [只看该作者]

我测试8秒左右,你这样做的目的是什么?

 

Dim str As String = "MCDENPQDHEFGJKMNABCACDKTRST"
Dim n As Integer = 200000 '改成1200000,即10万行,电脑就不动了,但是过了好大一会,也生成了若是100万行,会崩溃么?
Dim nstr As String = ""

Dim nums As New List(Of String)
For i1 As Integer = 1 To n
    nstr &= str(Rand.Next(str.length))
    If i1 Mod 12 = 0 Then
        If nums.Contains(nstr) = False Then
            nums.Add(nstr)
        End If
        nstr = ""
    End If
Next
msgbox(4)
nstr = String.Join(vbcrlf, nums.ToArray)
msgbox(3)
'msgbox(nstr) '最终保存在记事本里面


 回到顶部