一个文件夹里有N(约100)个文本文件文件,请帮忙我提示一下,怎么做能够输出一个字符串到指定文件里,该字符串包括这N个文件的文件名(不要拓展名),而且还需要在每个文件名前后分别加上A和B,比如:文件分别是 a.text, b.text, c.text, …… p.text输出:AaBAbBAcb……ApB最好把DELPHI源程序传我,,谢谢!E-Mail:[email protected]

解决方案 »

  1.   

    我是刚刚接触DELPHI的,希望大家多多指教
      

  2.   

    unit Unit1;interfaceuses
      Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
      Dialogs, StdCtrls, ExtCtrls;type
      TForm1 = class(TForm)
        Button1: TButton;
        Memo1: TMemo;
        Label1: TLabel;
        Edit1: TEdit;
        Bevel1: TBevel;
        Label2: TLabel;
        Button2: TButton;
        Button3: TButton;
        OpenDialog1: TOpenDialog;
        SaveDialog1: TSaveDialog;
        Button4: TButton;
        procedure Button1Click(Sender: TObject);
        procedure Button4Click(Sender: TObject);
        procedure Button3Click(Sender: TObject);
        procedure Button2Click(Sender: TObject);
      private
        { Private declarations }
      public
        { Public declarations }
      end;var
      Form1: TForm1;
      dir:string; //文件所在目录
      ext:string;//文件后缀名
    procedure myfindfile(var fs:tstringlist;fdir:string;fext:string);
    //自定义过程,遍历给定目录,找出所有指定扩展名的文件
    //s将返回所找到的文件名 ,dir为指定目录,ext为指定后缀名
    procedure changefilename(var fFileNames:tstringlist);
    implementation{$R *.dfm}procedure TForm1.Button1Click(Sender: TObject);
    var
    filenames:tstringlist;
    begin
    if opendialog1.Execute then
       dir:=extractfilepath(opendialog1.FileName)
    else
      exit;
    ext:=lowercase(edit1.Text);
    filenames:=tstringlist.Create;
    myfindfile(filenames,dir,ext);
    memo1.Clear;
    memo1.Lines.AddStrings(filenames);
    filenames.Free;
          //extractfilepath返回文件目录,包含反斜杠'\'
       //dir:=extractfiledir(opendialog1.FileName);
       //extractfiledir返回文件目录,不包含反斜杠'\'
       //showmessage('extractfilepath-'+dir);
    end;procedure myfindfile(var fs:tstringlist;fdir:string;fext:string);
    var
    searchrec:TSearchRec;
    begin
    if FindFirst(fdir+'*.'+fext, faAnyFile, SearchRec)<>0 then
      exit; //如果什么也找不到(目录或者文件),退出.
    fs.Add(searchrec.Name);
    while findnext(searchrec)=0 do
      begin
        fs.Add(searchrec.Name);
      end;
    findclose(searchrec);
    end;procedure changefilename(var fFileNames:tstringlist);
    var
    i:integer;
    begin
    for i:=0 to ffileNames.Count-1 do
      begin
      ffileNames.Strings[i]:=ChangeFileExt(ffileNames.Strings[i],'');
      ffileNames.Strings[i]:='A'+ffileNames.Strings[i]+'B';
      end;
    end;procedure TForm1.Button4Click(Sender: TObject);
    var
    temp:tstringlist;
    begin
    temp:=tstringlist.Create;
    temp.AddStrings(memo1.Lines);
    memo1.Clear;
    changefilename(temp);
    memo1.Lines.AddStrings(temp);
    temp.Free;
    end;procedure TForm1.Button3Click(Sender: TObject);
    begin
    close;
    end;procedure TForm1.Button2Click(Sender: TObject);
    var
    f:string;
    begin
    if savedialog1.Execute then
      f:=savedialog1.FileName;
    memo1.Lines.SaveToFile(f);
    end;end.