powerbuilder - 一个文本文件有多少行数据
问题描述
我是 Powerbuilder 的新手,在这里我有一些关于如何查找文本文件中有多少行/行数据的问题。首先,我尝试了一种 FileLength 方法,但不知道如何用我当前的逻辑来做到这一点。也找不到任何如何使用它的示例,所以在这里我需要一些帮助!
我正在做的是从 txt 文件生成密码。
注意: gsa_wordlist 是一个全局变量。
此外,如果您作为经验丰富的开发人员发现任何常见的陷阱,请务必告知。
我在 Click() 上的代码:
int li_rand
int li_upperboundList
int li_FileNum
string ls_fileurl
string ls_listout
int i
li_upperboundList = Upperbound(gsa_wordlist)
ls_fileurl = 'C:\Users\abg\Documents\wordlist.txt'
IF li_upperboundList < 100 THEN
Beep(1)
li_FileNum = FileOpen(ls_fileurl)
FOR i = 1 TO // TO HOW MANY LINES OF DATA
FileReadEx(li_FileNum, ls_listout)
gsa_wordlist[i] = ls_listout
NEXT
li_upperboundList = Upperbound(gsa_wordlist)
li_rand = rand(li_upperboundList)
sle_genpass.Text = string(li_rand)
ELSE
Beep(2)
li_rand = rand(li_upperboundList)
sle_genpass.Text = gsa_wordlist[li_rand]
END IF
解决方案
您不需要知道有多少行,只需循环直到 EOF。
li_FileNum=FileOpen(ls_fileurl,LineMode!,Read!,LockRead!)
i = 1
DO While FileReadEx(li_FileNum,ls_listout) <> -100
gsa_wordlist[i++] = ls_listout
LOOP
FileClose(li_FileNum)
PS。在循环内添加检查li_upperboundList
限制!
推荐阅读
- php - 零值不检查 sql 表
- c# - 我在网格中使用 numerictextbox。但数据不绑定。为什么它不工作?
- python - Terraform: Validation error ... Member must satisfy regular expression pattern: arn:aws:iam::
- python-3.x - 如何计算字符串中单词或 word_group 的出现次数(短语)
- jquery - 使用 FileReader 上传多个文件
- go - go revel undefined: sql or Txn
- python - 在python中的列表中创建项目频率图
- matlab - 在 tar.gz 文件中读取 NetCDF 文件而不提取 tar 文件
- php - 我们如何将值分配给作为数组的模型对象键
- django - wsgi:alert 没有这样的文件或目录:mod_wsgi (pid=XXXX): 无法绑定 unix 域套接字'/usr/local/opt/httpd/logs/wsgi.xxxxx.11.1.sock'