| 窗口程序集名 | 保 留 | 保 留 | 备 注 | | 窗口程序集_启动窗口 | | | | | 变量名 | 类 型 | 数组 | 备 注 | | 集_剩余IP池 | 文本型 | 0 | | 集_是否已初始化 | 逻辑型 | | 置随机数种子 ()| 变量名 | 类 型 | 静态 | 数组 | 备 注 | | 结果IP | 文本型 | | | | 是否循环 | 逻辑型 | | |
是否循环 = 假 结果IP = 取随机不重复IP (编辑框1.内容, 是否循环 )调试输出 (结果IP )|
| 取随机不重复IP | 文本型 | | |
| 参_源文本 | 文本型 | | | | 参_是否循环 | 逻辑型 | | | |
| 变量名 | 类 型 | 静态 | 数组 | 备 注 | | 临时数组 | 文本型 | | 0 | | i | 整数型 | | | | 随机下标 | 整数型 | | | | 选中IP | 文本型 | | |
如果真 (取数组成员数 (集_剩余IP池 ) = 0 ) 如果真 (集_是否已初始化 = 真 且 参_是否循环 = 假) 返回 (“IP池已使用完”) 临时数组 = 分割文本 (参_源文本, #换行符, ) 计次循环首 (取数组成员数 (临时数组 ), i )  如果真 (删首尾空 (临时数组 [i ]) ≠ “”)  加入成员 (集_剩余IP池, 删首尾空 (临时数组 [i ]))     计次循环尾 () 集_是否已初始化 = 真  如果真 (取数组成员数 (集_剩余IP池 ) = 0 ) 返回 (“无有效IP数据”) 随机下标 = 取随机数 (1, 取数组成员数 (集_剩余IP池))选中IP = 集_剩余IP池 [随机下标 ]删除成员 (集_剩余IP池, 随机下标, 1 )返回 (选中IP )
补充内容 (2026-2-19 02:19):
至于你说的按顺序随机 ...有点没懂啥意思 其实还有一个最简单的方式就是加入数组 随机取一个删一个成员 我这个多写帮你多谢了一个是否循环使用 |