Z zyuz Unregistered / Unconfirmed GUEST, unregistred user! 2000-10-07 #1 如何在一个有N行的文本文件temp.txt中,随机取出其中一行的文本。(其中N大于10)
W wjiachun Unregistered / Unconfirmed GUEST, unregistred user! 2000-10-07 #2 按行用 readln读你会吧? 只要 randmon(N)读出这一行不就是随机的了么?
笨 笨笨 Unregistered / Unconfirmed GUEST, unregistred user! 2000-10-07 #3 我不知道用什么办法可以先知道文本有多少行,但可以把一个文本先读到TStringList中 就可以知道有多少行了。然后用随即取TStringList的items对象!
B bluepeach Unregistered / Unconfirmed GUEST, unregistred user! 2000-10-08 #6 笨笨的方法不错。记得有个api可以读出文件的行数,但记不清了。你可以查查。
C cat.yy Unregistered / Unconfirmed GUEST, unregistred user! 2000-10-08 #8 读到TMemo或TRichedit(如果是格式文本)中也一样 取个随机数 n 再用 memo1.Lines[n] 即可读出 那一行
D devuser Unregistered / Unconfirmed GUEST, unregistred user! 2000-10-08 #9 Var List: TStringList; sLine: String; intX: Integer; Begin List := TStringList.Create; List.LoadFromFile('FileName'); // 随机提取每行 sLine := List[intX]; List.Free end
Var List: TStringList; sLine: String; intX: Integer; Begin List := TStringList.Create; List.LoadFromFile('FileName'); // 随机提取每行 sLine := List[intX]; List.Free end
H hhzh426 Unregistered / Unconfirmed GUEST, unregistred user! 2000-10-08 #10 用stringlist是一个好方法,但是会占用很多内存。 用readln的方法我觉得更好(如果只是想读取任意一行的话)。 reset(f); for i:=1 to n do readln(f,s);//结果是s存放的是第n行的数据。
用stringlist是一个好方法,但是会占用很多内存。 用readln的方法我觉得更好(如果只是想读取任意一行的话)。 reset(f); for i:=1 to n do readln(f,s);//结果是s存放的是第n行的数据。