发现要处理的文件有大量空格,我想把文件定位到最后一个不为空格的字符。如何作?
f:TextFile;
AssignFile(f, OpenDialog1.FileName);
Reset(f);
size1:=FileSize(f);size1得到的却是包含空格的文件末尾。
f:TextFile;
AssignFile(f, OpenDialog1.FileName);
Reset(f);
size1:=FileSize(f);size1得到的却是包含空格的文件末尾。
解决方案 »
- 郁闷,提出辞职都快两个月了,公司还不让走。。。 散分
- ◆◆连接查询时更新问题◆◆
- 关于dbgrideh中列数据的显示值和实际值的问题
- 请高手指教:应用程序退出后,Access数据库报错!
- "Cannot make a visible wondow model"做一个MDI程序出现的这样的问题是怎么回事?
- 请问如何获得DBCOMBOBOX的当前选择值(字符串型)?
- 请教怎么把十六进制颜色转化为整形数据
- 请教:怎样做数据库的安装程序?
- 难题!十个GroupBox,如何让上面的控件(Edit,Memo各10个)内容分别为"aaa","bbb"
- 你知道枚举进程有哪些方法吗?
- 简单问题:怎么打开一个不存在的文件?
- 各位大侠,请帮帮我!
var s:string;
a,b:integer;
begin
//方式一
s:= ' 1234567890 '; //头尾三个空格,共16字符
a:= Length(S)-length(TrimLeft(s));
b:= Length(s)-length(TrimRight(s));
showmessage(inttostr(Length(s)-(a+b))); //非空格字符
//方式二
s:= ' 1234567890 ';
a := length(s);
b := length(s) - length(trim(s));
showmessage(inttostr(a-b));
//直接读取最后一位字符
s:= ' 1234567890 ';
showmessage(copy(trim(s),length(trim(s)),1));
iFileHandle: Integer;
Buffer: Char;
begin
iFileHandle := FileOpen('g:\新建 文本文档.txt', fmOpenRead);
FileSeek(iFileHandle, -1, 2);
while True do
begin
FileRead(iFileHandle, Buffer, 1);
if Buffer = #32 then Break
else FileSeek(iFileHandle, -2, 1);
end;
//此时即在最后一个不为空格的字符处
FileClose(iFileHandle);
end;————————————————————————————————————
宠辱不惊,看庭前花开花落,去留无意;毁誉由人,望天上云卷云舒,聚散任风。
————————————————————————————————————
----//此时即在最后一个不为空格的字符处那么此时如何取得文件指针的位置呢?
iFileHandle, iPos: Integer;
Buffer: Char;
begin
iFileHandle := FileOpen('g:\新建 文本文档.txt', fmOpenRead);
iPos := FileSeek(iFileHandle, -1, 2);
// ShowMessage(IntToStr(iPos));
while True do
begin
FileRead(iFileHandle, Buffer, 1);
if Buffer = #32 then
begin
Inc(iPos);
Break;
end else
iPos := FileSeek(iFileHandle, -2, 1);
end;
//此时即在最后一个不为空格的字符处
ShowMessage(IntToStr(iPos));
FileClose(iFileHandle);
end;————————————————————————————————————
宠辱不惊,看庭前花开花落,去留无意;毁誉由人,望天上云卷云舒,聚散任风。
————————————————————————————————————