怎么样从一个文本文件中提取制定位置的字符串?(100分)

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

zflybird

Unregistered / Unconfirmed
GUEST, unregistred user!
有一个不分行的文本文件1200K,我想从中提取指定位置的字符串,
例如第580-590个字符,
请教各位大侠,怎么样处理?
等待ing
 
我估计只能从头开始挨个计算[:)]
 
以记录方式打开文件,移动文件指针,读取指定长度.
var ft:file;
buffer:array [0..10] of char
// byte
iResultSize:integer;

assignfile(ft,'....');
reset(ft,1);
seek(ft,580);
blockread(ft,buffer,11,iResultSize);
closefile(ft);
 
procedure TForm1.FormCreate(Sender: TObject);
var
S : String;
lpReOpenBuff: TOFStruct;
h : THandle;
lpNumberOfBytesRead: DWORD;
begin
h := OpenFile('c:/p.txt', lpReOpenBuff, OF_READ);
if h <> HFILE_ERROR then
begin
SetFilePointer(h, 580, nil, FILE_BEGIN);
SetLength(S, 590 - 580);
ReadFile(h, PChar(S)^, 590 - 580, lpNumberOfBytesRead, nil);
CloseHandle(h);
end;
end;
 
我支持bjdribllec的方法思路,我类似的用过。
 
那就是读指定的几行呢?
 
>>那就是读指定的几行呢?
定位到第n个回车处(#13)
 

Similar threads

回复
0
查看
1K
不得闲
S
回复
0
查看
3K
SUNSTONE的Delphi笔记
S
后退
顶部