如何在一个有N行的文本文件temp.txt中,随机取出其中一行的文本。(100分)

  • 主题发起人 主题发起人 zyuz
  • 开始时间 开始时间
Z

zyuz

Unregistered / Unconfirmed
GUEST, unregistred user!
如何在一个有N行的文本文件temp.txt中,随机取出其中一行的文本。(其中N大于10)
 
按行用 readln读你会吧?
只要 randmon(N)读出这一行不就是随机的了么?
 
我不知道用什么办法可以先知道文本有多少行,但可以把一个文本先读到TStringList中
就可以知道有多少行了。然后用随即取TStringList的items对象!
 
查找0d,0a不就行乐,很简单的
 
笨笨的方法不错。记得有个api可以读出文件的行数,但记不清了。你可以查查。
 
读到TMemo或TRichedit(如果是格式文本)中也一样
取个随机数 n
再用 memo1.Lines[n] 即可读出 那一行
 
Var
List: TStringList;
sLine: String;
intX: Integer;
Begin
List := TStringList.Create;
List.LoadFromFile('FileName');
// 随机提取每行
sLine := List[intX];
List.Free
end
 
用stringlist是一个好方法,但是会占用很多内存。
用readln的方法我觉得更好(如果只是想读取任意一行的话)。
reset(f);
for i:=1 to n do readln(f,s);//结果是s存放的是第n行的数据。
 
cat.yy的方法可以
 
多人接受答案了。
 
后退
顶部