⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 code.txt

📁 函数速查手册
💻 TXT
📖 第 1 页 / 共 5 页
字号:
{▎▎▎▎▎▎▎▎▎▎▎▎▎▎▎▎▎▎▎▎▎▎▎▎▎▎▎▎▎▎▎▎▎▎▎▎▎▎▎}
{▎                                                                          ▎}
{▎      大家都是程序员 没有必要重复一些无聊的事情 我的这些函数能给大家带来方便 ▎} 
{▎      如果觉得还一般 请关注 WWW.cdsunco.com/www.ccemove.com  QQ:35013354   ▎}
{▎                             系统公用函数及过程                            ▎}
{▎                                                                          ▎}
{▎▎▎▎▎▎▎▎▎▎▎▎▎▎▎▎▎▎▎▎▎▎▎▎▎▎▎▎▎▎▎▎▎▎▎▎▎▎▎}
{▎ 软件名称:  开发包基础库                                                 ▎}
{▎ 单元名称:  公共运行时间库单元                                           ▎}
{▎ 单元版本:  V1.0                                                         ▎}
{▎ 备    注:  该单元定义了组件包的基础类库                                 ▎}
{▎ 开发平台:  PWin98SE + Delphi 6.0                                        ▎}
{▎ 兼容测试:  PWin9X/2000/XP + Delphi  6.0                                 ▎}
{▎ 本 地 化:  该单元中的字符串均符合本地化处理方式                         ▎}
{▎ 更新记录:  2002.07.03 V2.0                                              ▎}
{▎                 整理单元,重设版本号                                     ▎}
{▎             2002.03.17 V0.02                                             ▎}
{▎                 新增部分函数,并部分修改                                 ▎}
{▎             2002.01.30 V0.01                                             ▎}
{▎                 创建单元(整理而来)                                     ▎}
{▎▎▎▎▎▎▎▎▎▎▎▎▎▎▎▎▎▎▎▎▎▎▎▎▎▎▎▎▎▎▎▎▎▎▎▎▎▎▎}
{▎       ①:  扩展的字符串操作函数                                          ▎}
{▎       ②:  扩展的日期时间操作函数                                        ▎}
{▎       ③:  扩展的位操作函数                                              ▎}
{▎       ④:  扩展的文件及目录操作函数                                      ▎}
{▎       ⑤:  扩展的对话框函数                                              ▎}
{▎       ⑥:  系统功能函数                                                  ▎}
{▎       ⑦:  硬件功能函数                                                  ▎}
{▎       ⑧:  网络功能函数                                                  ▎}
{▎       ⑨:  汉字拼音函数及过程                                            ▎}
{▎       ⑩:  数据库功能函数                                                ▎}
{▎       ⑾:  进制功能函数                                                  ▎}
{▎       ⑿:  其它功能函数                                                  ▎}
{▎▎▎▎▎▎▎▎▎▎▎▎▎▎▎▎▎▎▎▎▎▎▎▎▎▎▎▎▎▎▎▎▎▎▎▎▎▎▎}

unit Communal;
{* |<PRE>
|</PRE>}

interface

{$I CnPack.inc}


uses
  Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
  FileCtrl, ShellAPI, CommDlg, MMSystem, WinSock, IniFiles, DBTables, BDE,
  StdCtrls, ComObj, ADODB, Imm, DbCtrls, Db, Registry;

const

  // 公共信息
{$IFDEF GB2312}
  SCnInformation = '提示';
  SCnWarning = '警告';
  SCnError = '错误';
{$ELSE}
  SCnInformation = 'Information';
  SCnWarning = 'Warning';
  SCnError = 'Error';
{$ENDIF}

  C1=52845; //字符串加密算法的公匙
  C2=22719; //字符串加密算法的公匙

resourcestring

{$IFDEF GB2312}
  SUnknowError = '未知错误';
  SErrorCode = '错误代码:';
{$ELSE}
  SUnknowError = 'Unknow error';
  SErrorCode = 'Error code:';
{$ENDIF}

type
   EDBUpdateErr = class(Exception);//修改表结构时触发的错误句柄



//▎============================================================▎//
//▎================① 扩展的字符串操作函数  ===================▎//
//▎============================================================▎//

//从文件中返回Ado连接字串。
function GetConnectionString(DataBaseName:string):string;
//返回服务器的机器名称.
function GetRemoteServerName:string;

function InStr(const sShort: string; const sLong: string): Boolean;     {测试通过}
{* 判断s1是否包含在s2中}

function IntToStrEx(Value: Integer; Len: Integer; FillChar: Char = '0'): string;  {测试通过}
{* 扩展整数转字符串函数  Example:   IntToStrEx(1,5,'0');   返回:"00001"}

function IntToStrSp(Value: Integer; SpLen: Integer = 3; Sp: Char = ','): string;  {测试通过}
{* 带分隔符的整数-字符转换}

function ByteToBin(Value: Byte): string; {测试通过}
{* 字节转二进制串}

function StrRight(Str: string; Len: Integer): string;  {测试通过}
{* 返回字符串右边的字符   Examples: StrRight('ABCEDFG',3);   返回:'DFG' }

function StrLeft(Str: string; Len: Integer): string; {测试通过}
{* 返回字符串左边的字符}

function Spc(Len: Integer): string;  {测试通过}
{* 返回空格串}

function Replace(Str,s1,s2:string;CaseSensitive:Boolean):string;  {测试通过}
{* 返回将指定字符s1用字符串s2替换后的字符串,可支持大小写敏感由CaseSensitive操作}
{example: replace('We know what we want','we','I',false) = 'I Know what I want'}

function Replicate(pcChar:Char; piCount:integer):string;
{在一个字符串中查找某个字符串的位置}

function StrNum(ShortStr:string;LongString:string):Integer;     {测试通过}
{* 返回某个字符串中某个字符串中出现的次数}

function FindStr(ShortStr:String;LongStrIng:String):Integer;     {测试通过}
{* 返回某个字符串中查找某个字符串的位置}

function SubStr(psInput:String; BeginPlace,CutLeng:Integer):String;     {测试通过}
{* 返回从位置BeginPlace开始切取长度为CatLeng字符串}

function LeftStr(psInput:String; CutLeng:Integer):String;     {测试通过}
{* 返回从左边第一为开始切取 CutLeng长度的字符串}

function RightStr(psInput:String; CutLeng:Integer):String;       {测试通过}
{* 返回从右边第一为开始切取 CutLeng长度的字符串}

function PadLStr(psInput:String; piWidth:Integer; pcPadWith:Char):String;        {测试通过}
{* 返回从psInput字符串左边开始用pcPadWith填充后总长度为PiWidth的字符串}

function PadRStr(psInput:String; piWidth:Integer; pcPadWith:Char):String;       {测试通过}
{* 返回从psInput字符串右边开始用pcPadWith填充后总长度为PiWidth的字符串}

function PadCStr(psInput:String; piWidth:Integer; pcPadWith:Char):String;        {测试通过}
{* 返回从psInput字符串两边开始用pcPadWith填充后总长度为PiWidth的字符串}

function ChrTran(psInput:String; pcSearch:Char; pcTranWith:Char):String;        {测试通过}
{* 返回替换后字符串[替换单个字符] Examples: ChrTran('abCdEgdlkh','d','#'); 返回'abC#Eg#lkh'}

function StrTran(psInput:String; psSearch:String; psTranWith:String):String;        {测试通过}
{* 返回替换后字符串[替换字符串] Examples: StrTran('aruyfbn','ruy','=====');; 返回'a=====fbn'}

function Stuff(psInput:String; piBeginPlace,piCount:Integer; psStuffWith:String):String;
{ *返回替换后字符串[替换字符串] Examples: Stuff('ABCDEFGHI',3,4,'12345');返回'AB12345GHI'}

procedure SwapStr(var s1, s2: string);  {测试通过}
{* 交换字串}

function LinesToStr(const Lines: string): string;   {测试通过}
{* 多行文本转单行(换行符转'\n')}

function StrToLines(const Str: string): string;    {测试通过}
{* 单行文本转多行('\n'转换行符)}

function Encrypt(const S: String; Key: Word): String;
{* 字符串加密函数}

function Decrypt(const S: String; Key: Word): String;
{* 字符串解密函数}

function varIIF(aTest: Boolean; TrueValue, FalseValue: Variant): Variant;
function varToStr(const V: Variant): string;
{* VarIIF及VartoStr为变体函数}

function IsDigital(Value: string): boolean;
{功能说明:判断string是否全是数字}

function RandomStr(aLength : Longint) : String;
{随机字符串函数}

//▎============================================================▎//
//▎================② 扩展的日期时间操作函数  =================▎//
//▎============================================================▎//

function GetYear(Date: TDate): Integer;   {测试通过}
{* 取日期年份分量}
function GetMonth(Date: TDate): Integer;   {测试通过}
{* 取日期月份分量}
function GetDay(Date: TDate): Integer;   {测试通过}
{* 取日期天数分量}
function GetHour(Time: TTime): Integer;   {测试通过}
{* 取时间小时分量}
function GetMinute(Time: TTime): Integer;   {测试通过}
{* 取时间分钟分量}
function GetSecond(Time: TTime): Integer;   {测试通过}
{* 取时间秒分量}
function GetMSecond(Time: TTime): Integer;   {测试通过}
{* 取时间毫秒分量}
function GetMonthLastDay(Cs_Year,Cs_Month:string):string;
{ *传入年、月,得到该月份最后一天}
function IsLeapYear( nYear: Integer ): Boolean;
{*/判断某年是否为闰年}
function MaxDateTime(const Values: array of TDateTime): TDateTime;
{//两个日期取较大的日期}
function MinDateTime(const Values: array of TDateTime): TDateTime;
{//两个日期取较小的日期}
function dateBeginOfMonth(D: TDateTime): TDateTime;
{//得到本月的第一天}
function DateEndOfMonth(D: TDateTime): TDateTime;
{//得到本月的最后一天}
function DateEndOfYear(D: TDateTime): TDateTime;
{//得到本年的最后一天}
function DaysBetween(Date1, Date2: TDateTime): integer;
{//得到两个日期相隔的天数}

//▎============================================================▎//
//▎===================③ 扩展的位操作函数  ====================▎//
//▎============================================================▎//

type
  TByteBit = 0..7;
  {* Byte类型位数范围}
  TWordBit = 0..15;
  {* Word类型位数范围}
  TDWordBit = 0..31;
  {* DWord类型位数范围}

procedure SetBit(var Value: Byte; Bit: TByteBit; IsSet: Boolean); overload;
{* 设置二进制位}
procedure SetBit(var Value: WORD; Bit: TWordBit; IsSet: Boolean); overload;
{* 设置二进制位}
procedure SetBit(var Value: DWORD; Bit: TDWordBit; IsSet: Boolean); overload;
{* 设置二进制位}

function GetBit(Value: Byte; Bit: TByteBit): Boolean; overload;
{* 取二进制位}
function GetBit(Value: WORD; Bit: TWordBit): Boolean; overload;
{* 取二进制位}
function GetBit(Value: DWORD; Bit: TDWordBit): Boolean; overload;
{* 取二进制位}

//▎============================================================▎//
//▎=================④扩展的文件及目录操作函数=================▎//
//▎============================================================▎//

function MoveFile(const sName, dName: string): Boolean;  {测试通过}
{* 移动文件、目录,参数为源、目标名}

procedure FileProperties(const FName: string); {测试通过}
{* 打开文件属性窗口}

function OpenDialog(var FileName: string; Title: string; Filter: string;
  Ext: string): Boolean;
{* 打开文件框}

function FormatPath(APath: string; Width: Integer): string; {测试通过}
{* 缩短显示不下的长路径名}

function GetRelativePath(Source, Dest: string): string;  {测试通过}
{* 取两个目录的相对路径,注意串尾不能是'\'字符!}

procedure RunFile(const FName: string; Handle: THandle = 0;
  const Param: string = '');   {测试通过}
{* 运行一个文件}

function WinExecAndWait32(FileName: string; Visibility: Integer = SW_NORMAL):
  Integer; {测试通过}
{* 运行一个文件并等待其结束}

function AppPath: string; {测试通过}
{* 应用程序路径}

function GetWindowsDir: string; {测试通过}
{* 取Windows系统目录}

function GetWinTempDir: string;  {测试通过}
{* 取临时文件目录}

function AddDirSuffix(Dir: string): string;  {测试通过}
{* 目录尾加'\'修正}

function MakePath(Dir: string): string;  {测试通过}
{* 目录尾加'\'修正}

function IsFileInUse(FName: string): Boolean;   {测试通过}
{* 判断文件是否正在使用}

function GetFileSize(FileName: string): Integer;   {测试通过}
{* 取文件长度}

function SetFileDate(FileName: string; CreationTime, LastWriteTime, LastAccessTime:
  TFileTime): Boolean;     {测试通过}
{* 设置文件时间 Example:    FileSetDate('c:\Test\Test1.exe',753160662);    }

function GetFileDate(FileName: string; var CreationTime, LastWriteTime, LastAccessTime:
  TFileTime): Boolean;     {测试通过}
{* 取文件时间}

function FileTimeToLocalSystemTime(FTime: TFileTime): TSystemTime;  {测试通过}
{* 文件时间转本地时间}

function LocalSystemTimeToFileTime(STime: TSystemTime): TFileTime;  {测试通过}
{* 本地时间转文件时间}

function GetFileIcon(FileName: string; var Icon: TIcon): Boolean;   {测试通过}
{* 取得与文件相关的图标,成功则返回True}

function CreateBakFile(FileName, Ext: string): Boolean;   {测试通过}
{* 创建备份文件}

function Deltree(Dir: string): Boolean;    {测试通过}
{* 删除整个目录}

function GetDirFiles(Dir: string): Integer;    {测试通过}
{* 取文件夹文件数}

type
  TFindCallBack = procedure(const FileName: string; const Info: TSearchRec;
    var Abort: Boolean);
{* 查找指定目录下文件的回调函数}

procedure FindFile(const Path: string; const FileName: string = '*.*';
  Proc: TFindCallBack = nil; bSub: Boolean = True; const bMsg: Boolean = True);
{* 查找指定目录下文件}

procedure FindFileList(Path,Filter:string;FileList:TStrings;ContainSubDir:Boolean);
{ 功能说明:查找一个路径下的所有文件。
  参数: path:路径,filter:文件扩展名过滤,FileList:文件列表, ContainSubDir:是否包含子目录}

function Txtline(const txt: string): integer;
{* 返回一文本文件的行数}

function Html2Txt(htmlfilename: string): string;
{* Html文件转化成文本文件}

function OpenWith(const FileName: string): Integer;     {测试通过}
{* 文件打开方式}

//▎============================================================▎//
//▎====================⑤扩展的对话框函数======================▎//
//▎============================================================▎//

procedure InfoDlg(Mess: string; Caption: string = SCnInformation; Flags: Integer
  = MB_OK + MB_ICONINFORMATION);  {测试通过}
{* 显示提示窗口}

function InfoOk(Mess: string; Caption: string = SCnInformation): Boolean;   {测试通过}
{* 显示提示确认窗口}

procedure ErrorDlg(Mess: string; Caption: string = SCnError);    {测试通过}
{* 显示错误窗口}

procedure WarningDlg(Mess: string; Caption: string = SCnWarning);  {测试通过}
{* 显示警告窗口}

function QueryDlg(Mess: string; Caption: string = SCnInformation): Boolean;   {测试通过}
{* 显示查询是否窗口}

procedure SetWindowAnimate(Sender : TForm; IsSetAni : bool);

//▎============================================================▎//
//▎=====================⑥系统功能函数=========================▎//
//▎============================================================▎//

procedure MoveMouseIntoControl(AWinControl: TControl);   {测试通过}
{* 移动鼠标到控件}

function DynamicResolution(x, y: WORD): Boolean;    {测试通过}
{* 动态设置分辨率}

procedure StayOnTop(Handle: HWND; OnTop: Boolean);   {测试通过}
{* 窗口最上方显示}

procedure SetHidden(Hide: Boolean);    {测试通过}
{* 设置程序是否出现在任务栏}

procedure SetTaskBarVisible(Visible: Boolean);    {测试通过}
{* 设置任务栏是否可见}

procedure SetDesktopVisible(Visible: Boolean);    {测试通过}
{* 设置桌面是否可见}

procedure BeginWait;    {测试通过}
{* 显示等待光标}

procedure EndWait;    {测试通过}
{* 结束等待光标}

function CheckWindows9598NT: string;  {测试通过}
{* 检测是否Win95/98/NT平台}

function GetOSInfo : String;   {测试通过}
{* 取得当前操作平台是 Windows 95/98 还是NT}

function GetCurrentUserName : string;
{*获取当前Windows登录名的用户}

function GetRegistryOrg_User(UserKeyType:string):string;
{*获取当前注册的单位及用户名称}

function GetSysVersion:string;
{*//获取操作系统版本号}

function WinBootMode:string;
{//Windows启动模式}

type
   PShutType = (UPowerOff, UShutdown, UReboot, ULogOff, USuspend, UHibernate);
procedure WinShutDown(ShutWinType:PShutType; PForce:Boolean);
{//Windows ShutDown等}

//▎============================================================▎//
//▎=====================⑦硬件功能函数=========================▎//
//▎============================================================▎//

function GetClientGUID:string;
{ 功能描述:在本机上得到一个GUID.去掉两端的大括号和中间的横线
  返回值:去掉两端的大括号和中间的横线的一个GUID
  适用范围:windows
}

function SoundCardExist: Boolean;       {测试通过}
{* 声卡是否存在}

function GetDiskSerial(DiskChar: Char): string;
{* 获取磁盘序列号}

function DiskReady(Root: string) : Boolean;
{*检查磁盘准备是否就绪}

procedure WritePortB( wPort : Word; bValue : Byte );
{* 写串口}

function ReadPortB( wPort : Word ) : Byte;
{*读串口}

function CPUSpeed: Double;

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -