{ 获取文件夹大小 }
function YzGetDirSize(Dir: string;SubDir: Boolean): LongInt; { 获取文件夹文件数量 }
function YzGetDirFiles(Dir: string;SubDir: Boolean): LongInt; { 获取文件大小(KB) }
function YzGetFileSize(const FileName: String): LongInt; { 获取文件大小(字节) }
function YzGetFileSize_Byte(const FileName: String): LongInt; { 算术舍入法的四舍五入取整函数 }
function YzRoundEx (const Value: Real): LongInt; { 弹出选择目录对话框 }
function YzSelectDir(const iMode: integer;const sInfo: string): string; { 获取指定路径下文件夹的个数 }
procedure YzListFolders(const Path: String; const ShowPath: Boolean;var List: TStrings); { 禁用窗器控件的所有子控件 }
procedure YzSetSubCtlState(AOwer: TWinControl;AState: Boolean); { 模拟键盘按键操作(处理字节码) }
procedure YzFKeyent(byteCard: byte); overload; { 模拟键盘按键操作(处理字符串 }
procedure YzFKeyent(strCard: string); overload; { 锁定窗口位置 }
procedure YzLockWindow(ClassName,WinName: PChar;poX,poY: Integer); { 注册一个DLL形式或OCX形式的OLE/COM控件 参数strOleFileName为一个DLL或OCX文件名, 参数OleAction表示注册操作类型,1表示注册,0表示卸载 返回值True表示操作执行成功,False表示操作执行失败
}
function YzRegisterOleFile (strOleFileName: STRING;OleAction: Byte): BOOLEAN; function YzListViewColumnCount(mHandle: THandle): Integer;
function YzGetListViewText(mHandle: THandle; mStrings: TStrings): Boolean; { 删除目录树 }
function YzDeleteDirectoryTree(Path: string): boolean; { Jpg格式转换为bmp格式 }
function JpgToBmp(Jpg: TJpegImage): TBitmap; { 设置程序自启动函数 }
function YzSetAutoRun(AFilePath: string;AFlag: Boolean): boolean; { 检测URL地址是否有效 }
function YzCheckUrl(url: string): Boolean; { 获取程序可执行文件名 } function YzGetExeFName: string; { 目录浏览对话框函数 }
function YzBrowseFolder(AOwer: TWinControl;ATitle: string):string; { 重启计算机 }
function YzShutDownSystem(AFlag: Integer):BOOL; { 程序运行后删除自身 } procedure YzDeleteSelf; { 程序重启 }
procedure YzAppRestart; { 压缩Access数据库 }
function YzCompactAccessDB(const AFileName, APassWord: string): Boolean; { 标题:获取其他进程中TreeView的文本 }
function YzTreeNodeGetNext(mHandle: THandle; mTreeItem: HTreeItem): HTreeItem;
function YzTreeNodeGetLevel(mHandle: THandle; mTreeItem: HTreeItem): Integer; function YzGetTreeViewText(mHandle: THandle; mStrings: TStrings): Boolean; { 获取本地Application Data目录路径 } function YzLocalAppDataPath : string; { 获取Windows当前登录的用户名 } function YzGetWindwosUserName: String; {枚举托盘图标 }
function YzEnumTrayNotifyWnd(AFindList: TStringList;ADestStr: string): BOOL; { 获取SQL Server用户数据库列表 }
procedure YzGetSQLServerDBList(ADBHostIP, ALoginPwd: string;ADBList: TStringList); { 读取据库中所有的表 }
procedure YzGetTableList(ConncetStr: string;ATableList: TStringList); { 将域名解释成IP地址 }
function YzDomainToIP(HostName: string): string; { 等待进程结束 }
procedure YzWaitProcessExit(AProcessName: string); { 移去系统托盘失效图标 } procedure YzRemoveDeadIcons(); { 转移程序占用内存至虚拟内存 } procedure YzClearMemory; { 检测允许试用的天数是否已到期 }
function YzCheckTrialDays(AllowDays: Integer): Boolean; { 指定长度的随机小写字符串函数 }
function YzRandomStr(aLength: Longint): string; var
FontMapping : array of TFontMapping;
implementation uses uMain; { 保存日志文件 }
procedure YzWriteLogFile(Msg: String); var
FileStream: TFileStream; LogFile : String; begin try
{ 每天一个日志文件 }
Msg := '[' + DateTimeToStr(Now)+ '] '+ Msg;
LogFile := ExtractFilePath(Application.ExeName) + '/Logs/' + DateToStr(Now) + '.log'; if not DirectoryExists(ExtractFilePath(LogFile)) then CreateDir(ExtractFilePath(LogFile)); if FileExists(LogFile) then
FileStream := TFileStream.Create(LogFile, fmOpenWrite or fmShareDenyNone) else
FileStream:=TFileStream.Create(LogFile,fmCreate or fmShareDenyNone); FileStream.Position:=FileStream.Size; Msg := Msg + #13#10;
FileStream.Write(PChar(Msg)^, Length(Msg)); FileStream.Free; except end; end;
{ 延时函数,单位为毫秒 }
procedure YZDelayTime(MSecs: Longint); var
FirstTickCount, Now: Longint; begin
FirstTickCount := GetTickCount(); repeat
Application.ProcessMessages; Now := GetTickCount();
until (Now - FirstTickCount>=MSecs) or (Now < FirstTickCount); end;
{ 判断字符串是否为数字 }
function YzStrIsNum(Str: string):boolean; var I: integer; begin
if Str = '' then begin
Result := False; Exit; end;
for I:=1 to length(str) do if not (Str[I] in ['0'..'9']) then begin
Result := False; Exit; end;
Result := True; end;
{ 判断文件是否正在使用 }
function YzIsFileInUse(fName: string): boolean; var
HFileRes: HFILE; begin
Result := false;
if not FileExists(fName) then exit;
HFileRes := CreateFile(pchar(fName), GENERIC_READ or GENERIC_WRITE, 0, nil, OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL, 0); Result := (HFileRes = INVALID_HANDLE_VALUE); if not Result then CloseHandle(HFileRes); end;