来自 ChatGPT 的原理介绍与补充
功能介绍
本程序的核心功能是自动cha询 B 站用户的基本信息(包括 UID 对应的昵称、等级以及大概邮箱),并将结果以表格的形式展示出来。它支持导出cha询结果为 TXT 或 CSV 格式。
核心功能
-
UID cha询:用户输入起始 UID 和递增数,程序会自动扫描一系列 UID 对应的 B 站信息。每个 UID 的信息包括:
- 昵称:通过 B 站 API 获取。
- 等级:通过 B 站 API 获取。
- 大概邮箱:根据昵称推测,假设邮箱格式为
昵称@qq.com
或 昵称@163.com
。
-
cha询控制:
- 用户可以设置cha询次数,以及 UID 的递增数。
- cha询过程是多线程的,用户可以通过按钮控制cha询的开始和停止。
-
结果展示与导出:
- 结果将通过
超级列表框
(SuperListBox)控件呈现,用户可以查看每个 UID 对应的信息。
- 支持导出结果为 TXT 或 CSV 格式,便于保存和后续分析。
-
界面与交互:
- 程序启动时会显示一个包含cha询栏、结果展示区和导出按钮的窗口。
- 用户可以通过调整cha询栏的参数来灵活控制cha询范围。
- 程序支持通过按按钮“立即cha询”来启动或停止cha询任务。
关键代码解释
- 初始化报表列表框:
通过调用 子程序_初始化报表列表框
,初始化表格的列结构。每个表格项包括 UID、昵称、等级和邮箱信息。
子程序 子程序_初始化报表列表框, 超级列表框, 公开
.参数 欲修改的超级列表框, 超级列表框
欲修改的超级列表框.插入列 (-1, “序号”, 50, #左对齐, , )
欲修改的超级列表框.插入列 (-1, “UID”, 200, #左对齐, , )
欲修改的超级列表框.插入列 (-1, “昵称”, 100, #左对齐, , )
欲修改的超级列表框.插入列 (-1, “等级”, 50, #左对齐, , )
欲修改的超级列表框.插入列 (-1, “大概邮箱 (@qq.com)”, 150, #左对齐, , )
欲修改的超级列表框.插入列 (-1, “大概邮箱 (@163.com)”, 150, #左对齐, , )
- cha询功能:
在 子程序_开始cha询_线程
中,程序根据用户设置的起始 UID 和递增数,依次cha询多个 UID 对应的 B 站信息,并将其插入到超级列表框中。
.子程序 子程序_开始cha询_线程, , 公开
.局部变量 现行UID, 长整数型
现行UID = 到长整数 (编辑框_操作区_cha询栏_起始UID.内容)
.计次循环首 (到整数 (编辑框_操作区_cha询栏_cha询次数.内容), i)
超级列表框_操作区_cha询结果_列表.插入表项 (-1, 到文本 (i), , , , )
超级列表框_操作区_cha询结果_列表.置标题 (i - 1, 1, 到文本 (到文本 (现行UID)))
超级列表框_操作区_cha询结果_列表.置标题 (i - 1, 2, B站_取昵称 (到文本 (现行UID)))
超级列表框_操作区_cha询结果_列表.置标题 (i - 1, 3, B站_取等级 (到文本 (现行UID)))
超级列表框_操作区_cha询结果_列表.置标题 (i - 1, 4, B站_取昵称 (到文本 (现行UID)) + “@qq.com”)
超级列表框_操作区_cha询结果_列表.置标题 (i - 1, 5, B站_取昵称 (到文本 (现行UID)) + “@163.com”)
现行UID = 现行UID + 到整数 (编辑框_操作区_cha询栏_UID递增数.内容)
.计次循环尾 ()
- 结果导出功能:
用户可以选择导出为 TXT 或 CSV 文件格式。在导出时,程序会检查文件是否已存在,并提示用户继续保存或取消。
.子程序 _按钮_操作区_cha询结果_导出为纯文本_被单击, , 公开
.局部变量 局部变量_文件名, 文本型
局部变量_文件名 = 对话框_另存文件 (_启动窗口.取窗口句柄 (), , “保存 TXT 文件...”, ...)
.子程序 _按钮_操作区_cha询结果_导出为CSV_被单击, , 公开
.局部变量 局部变量_文件名, 文本型
局部变量_文件名 = 对话框_另存文件 (_启动窗口.取窗口句柄 (), , “保存 CSV 文件...”, ...)
使用说明
-
下载与安装:
-
启动程序:
- 启动程序后,设置cha询参数,包括起始 UID、递增数以及cha询次数。
-
开始cha询:
- 点击“立即cha询”按钮启动cha询,cha询过程会自动进行,并展示结果。
-
导出结果:
- 点击“导出为纯文本”或“导出为CSV”按钮,将cha询结果保存为文件。