unit PubFuncUnit;
interface
uses Windows, SysUtils, ShellAPI, Messages, Classes, Forms, Controls, ComCtrls,
Dialogs, Graphics, Registry, winsock, ComObj, WinInet,FileCtrl
{$IFDEF
Delphi6},Variants{$EndIf};
const
DEFAULT_DELIMITERS = [' ', #9, #10, #13];//空格分隔
type
TMyClass = class
private
procedure CleanDirectoryProc(sFileName: string; var bContinue: Boolean);
end;
TEnumDirectoryFileProc = procedure (Filename: string; var bContinue: Boolean) of object;
type
TPub = class
private
procedure ProcessTimer1Timer(Sender: TObject);
public
//封装API ShellExecute// 0:隐含窗口,1:显示窗口....其他参考帮助
function MyShellExecute(const sFileName: string; sPara: string= ''; sAction :string = 'Open';
flag: integer = 1): LongInt;
//在进程中运行//如:Pub.Execute('C:\WINNT\system32\net.exe send huo aa',true,true,nil);
function MyExecute(const Command: string; bWaitExecute: Boolean;
bShowWindow: Boolean; PI: PProcessInformation): Boolean;
//文件操作部分起
//拷贝一个文件,封装CopyFile
procedure FileCopyFile(const sSrcFile, sDstFile: string);
//给定路径复制文件到同一目录下 bRecursive:true所有
procedure FileCopyDirectory(sDir, tDir: string; bRecursive: Boolean);overload;
//给定路径原样复制文件 ,自编
procedure FileCopyDirectory(sDir, tDir: string);overload;
//给定路径原样复制文件 ,用WinAPI ,若原目录下有相同文件则再生成一个
procedure FileCopyDirectory(sDir, tDir:string;AHandle:Thandle);overload;
//移动文件夹
procedure FileMoveDirectory(sDir, tDir:string;AHandle:Thandle);
//删除给定路径及以下的所有路径和文件
procedure FileDeleteDirectory(sDir: string);overload;
//删除给定路径及以下的所有路径和文件 用WinApi
procedure FileDeleteDirectory(AHandle: THandle;const ADirName: string);overload;
//删除给定路径及以下的所有路径和文件 到回收站
procedure FileDeleteDirectoryToCycle(AHandle: THandle;const ADirName: string);
//取得指定文件的大小
function FileGetFileSize(const Filename: string): DWORD;
//在Path下取得唯一FilenameX文件
function FileGetUniqueFileName(const Path: string; Filename: string): string;
//取得临时文件
function FileGetTemporaryFileName: string;
//取得系统路径
function PathGetSystemPath: string;
//取得Windows路径
function PathGetWindowsPath: string;
//给定文件名取得在系统目录下的路径,复制时用
function PathSystemDirFile(const Filename: string): string;
//给定文件名取得在Windows目录下的路径,复制时用
function PathWindowsDirFile(const Filename: string): string;
//给定文件名取得在
系统盘下的路径,复制时用
function PathSystemDriveFile(const Filename: string):
string;
//路径最后有'/'则去'/'
function PathWithoutSlash(const Path: string): string;
//路径最后没有'/'则加'/'
function PathWithSlash(const Path: string): string;
//取得两路径的不同部分,条件是前半部分相同
function PathRelativePath(BaseDir, FilePath: string): string;
//取得去掉属性的路径,文件名也作为DIR
function PathExtractFileNameNoExt(Filename: string): string;
//判断两路径是否相等
function PathComparePath(const Path1, Path2: string): Boolean;
//取得给定路径的父路径
function PathParentDirectory(Path: string): string;
//分割路径,Result=根(如d:)sPath = 除根外的其他部分
function PathGetRootDir(var sPath: string): string;
//取