unit FilesManage;interfaceuses SysUtils, FileCtrl, Classes;  function SearchFiles(const SearchPath: String; const FileName: String; List: TStrings): Boolean;implementationfunction IsDirectory(const Name: String): Boolean;
begin
  Result := DirectoryExists(Name);
end;function IsDot(const Name: String): Boolean;
begin
  Result := (Name = '.')or(Name = '..');
end;function SearchFiles(const SearchPath: String; const FileName: String; List: TStrings): Boolean;
var
  Attr: Integer;
  F: TSearchRec;
begin
  Attr := faAnyFile;
  if FindFirst(SearchPath + '\' + FileName, Attr, F) = 0 then
  begin
    if not IsDot(F.Name) then
      List.Add(SearchPath + '\' + F.Name);    while FindNext(F) = 0 do
    begin
      if not IsDot(F.Name) then
        List.Add(SearchPath + '\' + F.Name);
      if not IsDot(F.Name)and IsDirectory(SearchPath +'\'+ F.Name) then
      begin
        SearchFiles(SearchPath +'\'+ F.Name, FileName, List)
      end;    end;
    FindClose(F);
  end;
  Result := True;
end;end.

解决方案 »

  1.   

    unit AliasManage;interfaceuses
      DBTables, Classes, Windows;const
      ADD_ALIAS_HELP_TEXT =
        '函数原形:'+#13+
        '                    function AddAlias(const AliasName, UserName, ServerName, DatabaseName: String): Boolean;'+#13+#13+
        '参数说明:'+#13+
        '                    AliasName:新建别名名称'+#13+
        '                    UserName:用户名名称'+#13+
        '                    ServerName:服务器名称'+#13+
        '                    DatabaseName:数据库名称'+#13+#13+
        '返回值说明:'+#13+
        '                    创建成功返回True,否则返回False'+#13+#13+
        '技术支持:'+#13+
        '                    WWW:http://CoolSlob.8u8.com'+#13+                    
        '                    Email:[email protected]';
      procedure AddAliasHelp;
      function AddAlias(const AliasName, UserName,
                      ServerName, DatabaseName: String): Boolean; overload;
      function AddAlias(const AliasName, UserName,
                         ServerName, DatabaseName, EnableBCD: String): Boolean; overload;  function DeleteAlias(const AliasName: String): Boolean;
      function AliasExists(const AliasName: String): Boolean;implementationprocedure AddAliasHelp;
    begin
      MessageBox(GetFocus, PChar(ADD_ALIAS_HELP_TEXT), 'AddAlias Help...',
        MB_ICONINFORMATION);
    end;function AddAlias(const AliasName, UserName,
                      ServerName, DatabaseName: String): Boolean; overload;
    var
      vSession: TSession;
      vParams: TStringList;
    begin
      vSession := TSession.Create(nil);
      vSession.Name := 'AliasManage';
      vSession.SessionName := 'AliasManage';
      vParams := TStringList.Create;
      try
        vParams.Add('User Name=' + UserName);
        vParams.Add('Server Name=' + ServerName);
        vParams.Add('Database Name=' + DatabaseName);
        try
          vSession.AddAlias(AliasName, 'MSSQL', vParams);
          vSession.SaveConfigFile;
          Result := True;
        except
          Result := False;
        end;
      finally
        vParams.Free;
        vSession.Destroy;
      end;
    end;function AddAlias(const AliasName, UserName,
                      ServerName, DatabaseName, EnableBCD: String): Boolean; overload;
    var
      vSession: TSession;
      vParams: TStringList;
    begin
      vSession := TSession.Create(nil);
      vSession.Name := 'AliasManage';
      vSession.SessionName := 'AliasManage';
      vParams := TStringList.Create;
      try
        vParams.Add('User Name=' + UserName);
        vParams.Add('Server Name=' + ServerName);
        vParams.Add('Database Name=' + DatabaseName);
        vParams.Add('Enable BCD=' + EnableBCD);
        try
          vSession.AddAlias(AliasName, 'MSSQL', vParams);
          vSession.SaveConfigFile;
          Result := True;
        except
          Result := False;
        end;
      finally
        vParams.Free;
        vSession.Destroy;
      end;
    end;function DeleteAlias(const AliasName: String): Boolean;
    var
      vSession: TSession;
    begin
      vSession := TSession.Create(nil);
      vSession.Name := 'AliasManage';
      vSession.SessionName := 'AliasManage';
      try
        try
          vSession.DeleteAlias(AliasName);
          vSession.SaveConfigFile;
          Result := True;
        except
          Result := False;
        end;
      finally
        vSession.Destroy;
      end;
    end;function AliasExists(const AliasName: String): Boolean;
    var
      vSession: TSession;
      vAliasList: TStringList;
    begin
      vSession := TSession.Create(nil);
      vAliasList := TStringList.Create;
      vSession.Name := 'AliasManage';
      vSession.SessionName := 'AliasManage';
      try
        try
          Result := vSession.IsAlias(AliasName);
          vSession.GetAliasNames(vAliasList);
          if vAliasList.IndexOf(AliasName) < 0 then
            Result := False
          else
            Result := True;
        except
          Result := False;
        end;
      finally
        vAliasList.Free;
        vSession.Destroy;
      end;
    end;
    end.
      

  2.   

    unit AliasManage;interfaceuses
      DBTables, Classes, Windows;const
      ADD_ALIAS_HELP_TEXT =
        '函数原形:'+#13+
        '                    function AddAlias(const AliasName, UserName, ServerName, DatabaseName: String): Boolean;'+#13+#13+
        '参数说明:'+#13+
        '                    AliasName:新建别名名称'+#13+
        '                    UserName:用户名名称'+#13+
        '                    ServerName:服务器名称'+#13+
        '                    DatabaseName:数据库名称'+#13+#13+
        '返回值说明:'+#13+
        '                    创建成功返回True,否则返回False'+#13+#13+
        '技术支持:'+#13+
        '                    WWW:http://CoolSlob.8u8.com'+#13+                    
        '                    Email:[email protected]';
      procedure AddAliasHelp;
      function AddAlias(const AliasName, UserName,
                      ServerName, DatabaseName: String): Boolean; overload;
      function AddAlias(const AliasName, UserName,
                         ServerName, DatabaseName, EnableBCD: String): Boolean; overload;  function DeleteAlias(const AliasName: String): Boolean;
      function AliasExists(const AliasName: String): Boolean;implementationprocedure AddAliasHelp;
    begin
      MessageBox(GetFocus, PChar(ADD_ALIAS_HELP_TEXT), 'AddAlias Help...',
        MB_ICONINFORMATION);
    end;function AddAlias(const AliasName, UserName,
                      ServerName, DatabaseName: String): Boolean; overload;
    var
      vSession: TSession;
      vParams: TStringList;
    begin
      vSession := TSession.Create(nil);
      vSession.Name := 'AliasManage';
      vSession.SessionName := 'AliasManage';
      vParams := TStringList.Create;
      try
        vParams.Add('User Name=' + UserName);
        vParams.Add('Server Name=' + ServerName);
        vParams.Add('Database Name=' + DatabaseName);
        try
          vSession.AddAlias(AliasName, 'MSSQL', vParams);
          vSession.SaveConfigFile;
          Result := True;
        except
          Result := False;
        end;
      finally
        vParams.Free;
        vSession.Destroy;
      end;
    end;function AddAlias(const AliasName, UserName,
                      ServerName, DatabaseName, EnableBCD: String): Boolean; overload;
    var
      vSession: TSession;
      vParams: TStringList;
    begin
      vSession := TSession.Create(nil);
      vSession.Name := 'AliasManage';
      vSession.SessionName := 'AliasManage';
      vParams := TStringList.Create;
      try
        vParams.Add('User Name=' + UserName);
        vParams.Add('Server Name=' + ServerName);
        vParams.Add('Database Name=' + DatabaseName);
        vParams.Add('Enable BCD=' + EnableBCD);
        try
          vSession.AddAlias(AliasName, 'MSSQL', vParams);
          vSession.SaveConfigFile;
          Result := True;
        except
          Result := False;
        end;
      finally
        vParams.Free;
        vSession.Destroy;
      end;
    end;function DeleteAlias(const AliasName: String): Boolean;
    var
      vSession: TSession;
    begin
      vSession := TSession.Create(nil);
      vSession.Name := 'AliasManage';
      vSession.SessionName := 'AliasManage';
      try
        try
          vSession.DeleteAlias(AliasName);
          vSession.SaveConfigFile;
          Result := True;
        except
          Result := False;
        end;
      finally
        vSession.Destroy;
      end;
    end;function AliasExists(const AliasName: String): Boolean;
    var
      vSession: TSession;
      vAliasList: TStringList;
    begin
      vSession := TSession.Create(nil);
      vAliasList := TStringList.Create;
      vSession.Name := 'AliasManage';
      vSession.SessionName := 'AliasManage';
      try
        try
          Result := vSession.IsAlias(AliasName);
          vSession.GetAliasNames(vAliasList);
          if vAliasList.IndexOf(AliasName) < 0 then
            Result := False
          else
            Result := True;
        except
          Result := False;
        end;
      finally
        vAliasList.Free;
        vSession.Destroy;
      end;
    end;
    end.
      

  3.   

    unit AliasManage;interfaceuses
      DBTables, Classes, Windows;const
      ADD_ALIAS_HELP_TEXT =
        '函数原形:'+#13+
        '                    function AddAlias(const AliasName, UserName, ServerName, DatabaseName: String): Boolean;'+#13+#13+
        '参数说明:'+#13+
        '                    AliasName:新建别名名称'+#13+
        '                    UserName:用户名名称'+#13+
        '                    ServerName:服务器名称'+#13+
        '                    DatabaseName:数据库名称'+#13+#13+
        '返回值说明:'+#13+
        '                    创建成功返回True,否则返回False'+#13+#13+
        '技术支持:'+#13+
        '                    WWW:http://CoolSlob.8u8.com'+#13+                    
        '                    Email:[email protected]';
      procedure AddAliasHelp;
      function AddAlias(const AliasName, UserName,
                      ServerName, DatabaseName: String): Boolean; overload;
      function AddAlias(const AliasName, UserName,
                         ServerName, DatabaseName, EnableBCD: String): Boolean; overload;  function DeleteAlias(const AliasName: String): Boolean;
      function AliasExists(const AliasName: String): Boolean;implementationprocedure AddAliasHelp;
    begin
      MessageBox(GetFocus, PChar(ADD_ALIAS_HELP_TEXT), 'AddAlias Help...',
        MB_ICONINFORMATION);
    end;function AddAlias(const AliasName, UserName,
                      ServerName, DatabaseName: String): Boolean; overload;
    var
      vSession: TSession;
      vParams: TStringList;
    begin
      vSession := TSession.Create(nil);
      vSession.Name := 'AliasManage';
      vSession.SessionName := 'AliasManage';
      vParams := TStringList.Create;
      try
        vParams.Add('User Name=' + UserName);
        vParams.Add('Server Name=' + ServerName);
        vParams.Add('Database Name=' + DatabaseName);
        try
          vSession.AddAlias(AliasName, 'MSSQL', vParams);
          vSession.SaveConfigFile;
          Result := True;
        except
          Result := False;
        end;
      finally
        vParams.Free;
        vSession.Destroy;
      end;
    end;function AddAlias(const AliasName, UserName,
                      ServerName, DatabaseName, EnableBCD: String): Boolean; overload;
    var
      vSession: TSession;
      vParams: TStringList;
    begin
      vSession := TSession.Create(nil);
      vSession.Name := 'AliasManage';
      vSession.SessionName := 'AliasManage';
      vParams := TStringList.Create;
      try
        vParams.Add('User Name=' + UserName);
        vParams.Add('Server Name=' + ServerName);
        vParams.Add('Database Name=' + DatabaseName);
        vParams.Add('Enable BCD=' + EnableBCD);
        try
          vSession.AddAlias(AliasName, 'MSSQL', vParams);
          vSession.SaveConfigFile;
          Result := True;
        except
          Result := False;
        end;
      finally
        vParams.Free;
        vSession.Destroy;
      end;
    end;function DeleteAlias(const AliasName: String): Boolean;
    var
      vSession: TSession;
    begin
      vSession := TSession.Create(nil);
      vSession.Name := 'AliasManage';
      vSession.SessionName := 'AliasManage';
      try
        try
          vSession.DeleteAlias(AliasName);
          vSession.SaveConfigFile;
          Result := True;
        except
          Result := False;
        end;
      finally
        vSession.Destroy;
      end;
    end;function AliasExists(const AliasName: String): Boolean;
    var
      vSession: TSession;
      vAliasList: TStringList;
    begin
      vSession := TSession.Create(nil);
      vAliasList := TStringList.Create;
      vSession.Name := 'AliasManage';
      vSession.SessionName := 'AliasManage';
      try
        try
          Result := vSession.IsAlias(AliasName);
          vSession.GetAliasNames(vAliasList);
          if vAliasList.IndexOf(AliasName) < 0 then
            Result := False
          else
            Result := True;
        except
          Result := False;
        end;
      finally
        vAliasList.Free;
        vSession.Destroy;
      end;
    end;
    end.
    //这是帮我一个以前的同事写的,写这个时没考虑太多,不过功能也完成了
    //我怕他不会用,还写了Help :),唉,多心了~~~
      

  4.   

    谢谢: zswang  关注,
    感动得我泪流满面啊~~~~~~~~~~~~~~~