以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  output.Show(rand.NextString(20))  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=131712)

--  作者:zhangjian222200
--  发布时间:2019/3/5 7:56:00
--  output.Show(rand.NextString(20))
output.Show(rand.NextString(20))

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

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

--  作者:y2287958
--  发布时间:2019/3/5 8:21:00
--  
这个要自行编码了
--  作者:有点甜
--  发布时间: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
--  发布时间: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编辑过]

--  作者:有点甜
--  发布时间: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
--  发布时间: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编辑过]

--  作者:有点蓝
--  发布时间:2019/3/5 20:03:00
--  
1、使用异步函数
2、每10W行就保存一次

--  作者:有点甜
--  发布时间: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) \'最终保存在记事本里面