首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > .NET >

关于ReWrite(F)的Invalid FileName出错的有关问题

2013-12-28 
关于ReWrite(F)的Invalid FileName出错的问题。编程如下:unit Unit1interfaceusesWindows, Messages, SysU

关于ReWrite(F)的Invalid FileName出错的问题

编程如下:
关于ReWrite(F)的Invalid FileName出错的有关问题
unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, ComCtrls, StdCtrls;

type
  TForm1 = class(TForm)
    OpenDialog1: TOpenDialog;
    Button2: TButton;
    Button1: TButton;
    Button3: TButton;
    procedure Button2Click(Sender: TObject);
    procedure Button1Click(Sender: TObject);
    procedure Button3Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;
  WFile,RFile:TextFile;
  WF,RF,P:String;

implementation

{$R *.dfm}

procedure TForm1.Button2Click(Sender: TObject);
begin
close;
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
  if OpenDialog1.Execute then
  begin
    WF:= OpenDialog1.FileName;
    RF:= Copy(OpenDialog1.FileName,4,length(OpenDialog1.FileName)-8)+'.DAT';
    Button3.Enabled:=true;
   end;
end;

procedure TForm1.Button3Click(Sender: TObject);
begin
  AssignFile(WFile,WF);
  Reset(WFile);
  AssignFile(RFile,RF);
  Rewrite(RFile);
  While not EOF(WFile) do
  begin
      ReadLn(WFile,P);
      Delete(P,13,1);
      WriteLn(RFile,P);
  end;
    CloseFile(WFile);
    CloseFile(RFile);
    ShowMessage('Done');
end;
end.
但运行时提示exception class EInOutError with message 'Invalid FileName'错误,
关于ReWrite(F)的Invalid FileName出错的有关问题
查看网上各种资料也没解决,想在这里请教一下。有人同样遇到这种问题么?
[解决办法]
那估计就是  RF:= Copy(OpenDialog1.FileName,4,length(OpenDialog1.FileName)-8)+'.DAT';有问题,RF获取的值不是有效的文件路径
[解决办法]
你用TStringList.LoadFromFile(文件); 把文件读取这个TStringList,然后对这个TStringList操作,操作完后
TStringList.SaveTo 保存为一个新文件就好了,其他的先别管,达到目的再说
[解决办法]
给你个notepad++的正则表达式
查找
(\d+\.\d+)\.

替换
\1

热点排行