亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? 個人收集及編寫的一個通用函數集.pas

?? 個人收集及編寫的一個通用函數集
?? PAS
?? 第 1 頁 / 共 5 頁
字號:
(*//
標題:UC函數單元
說明:通用函數
日期:2002-10-25
設計:Zswang
擴展:HongzhiK
擴展目期:2003-4-18
版權:Longmaster
//*)

//*******Begin 修改日志*******//
(*
擴展:HongzhiK
擴展目期:2003-6-28
內容:
    增加了快速字符串處理單元。大量的字符串處理函數。
*)
//*******End 修改日志*******//

unit FuncUnit;

interface
{$I Head.inc}
uses Windows, SysUtils, Graphics, Classes, registry, Forms, StdCtrls, Consts,
Dialogs, Controls, ShlObj;

type
  TFileVersionInfomation = record
    rCommpanyName: string;
    rFileDescription: string;
    rFileVersion: string;
    rInternalName: string;
    rLegalCopyright: string;
    rLegalTrademarks: string;
    rOriginalFileName: string;
    rProductName: string;
    rProductVersion: string;
    rComments: string;
    rVsFixedFileInfo: VS_FIXEDFILEINFO;
    rDefineValue: string;
  end;
  
const
  cBoolChar: array[Boolean] of Char = ('F', 'T');
  cFrame = 1;
function HexToStr(mHex: string): string;
function StrToHex(mStr: string): string;

function StrLeft(const mStr: string; mDelimiter: string): string;
function StrRight(const mStr: string; mDelimiter: string): string;
function ListCount(mList: string; mDelimiter: string = ','): Integer;
function ListValue(mList: string; mIndex: Integer; mDelimiter: string = ','): string;

function SubStrConut(mStr: string; mSub: string): Integer;

function WideStringToLines(mStr: WideString): string;

function StringToDisplay(mString: string): string;
function DisplayToString(mDisplay: string): string;

function GetFileVersionInfomation(mFileName: TFileName;
  var nFileVersionInfomation: TFileVersionInfomation;
  mDefineName: string = ''): Boolean;


function IsFocusd(mHandle: THandle): Boolean; { 返回窗體是否具有焦點 }

function StrToSet(mStr: string): TSysCharSet;

type
  TOnOff     = (TofOff,TofOn);
  TCharSegmentSet = set of 0{1}..7;
  TCharSegment = TCharSegmentSet;


//////////////自定義新涵數hongzhiK-start////////////////////////////////////////////////////
//顯示數字在一個框里,類似于顯示出電子表效果,超酷
//強列推建
procedure ShowDigiInRect(Canvas: TCanvas; mRect: TRect; str : string);
//////////////快速位圖翻轉函數////////////////////////////////////////////////////
function Turnbmp1(mSource: TBitmap; Rotate: integer): Boolean;
function BitmapRotate90(mSource: TBitmap): Boolean;
function BitmapRotate180(mSource: TBitmap): Boolean;
function BitmapRotate270(mSource: TBitmap): Boolean;
//////////////快速位圖翻轉函數////////////////////////////////////////////////////
//*************************四國軍棋內部用的*******************************************//
  function Turnbmp(mSource: TBitmap; Rotate: integer): Boolean;
{$IFNDEF K_CB5}
  procedure DrawBlockFrameSiGuo(vleft,vtop,vright,vbuttom : integer; Canvas:TCanvas);overload;//畫小塊的邊框
  procedure DrawBlockFrameSiGuo(mRect : TRect; Canvas:TCanvas); overload;//畫小塊的邊框
//*************************四國軍棋內部用的*******************************************//
  ///////////////////////////////////////幾個畫塊函數公用//////////////
  procedure DrawBlockFrameSmall(vleft,vtop,vright,vbuttom : integer; DrawColor : TColor;Canvas:TCanvas);overload;//畫小塊的邊框
  procedure DrawBlockFrameSmall(mRect : TRect; DrawColor : TColor;Canvas:TCanvas); overload;//畫小塊的邊框

  procedure DrawBlockFrameOnner(vleft,vtop,vright,vbuttom : integer; DrawColor : TColor;Canvas:TCanvas);overload;//畫小塊的邊框
  procedure DrawBlockFrameOnner(mRect : TRect; DrawColor : TColor;Canvas:TCanvas); overload;//畫小塊的邊框
  procedure DrawBlockFrameInner(vleft,vtop,vright,vbuttom : integer; DrawColor : TColor;Canvas:TCanvas);overload;//畫小塊的邊框
  procedure DrawBlockFrameInner(mRect : TRect; DrawColor : TColor;Canvas:TCanvas); overload;//畫小塊的邊框
  ///////////////////////////////////////幾個畫塊函數//////////////
{$ENDIF}
  function GetColorA(chint : boolean; vcolor : TColor) : TColor;  //改變陰影的函數
  function GetColor(chint : boolean; vcolor : TColor) : TColor;  //改變陰影的函數主要用于方塊中
//////////////////幾個字串轉換函數///////////////////////////////////

  function GetSubStr(Str : string; index : integer):string;
//  procedure StrToUser(str : string; var FUser : TVCLUser);
//  function UserToStr(FUser : TVCLUser): string;
  function StrBinToStr(strbin: string): string; //二進制轉為字串
  function StrToStrBin(str: string): string; //字串轉為二進制
//////////////////幾個字串轉換函數///////////////////////////////////
/////////////////////////新定義////////////////////////////
    //寫入
  function mMove(i : integer):string;overload;
  function mMove(i : int64):string;overload;
  function mMove(i : boolean):string;Overload;
  function mMove(i : Word):string;Overload;
  function mMove(i : Byte):string;Overload;
  function mMove(p : Pchar; Size: integer): string;Overload;
  //讀出
  procedure mMove(var i : integer; var Source: string);overload;
  procedure mMove(var i : int64; var Source: string);overload;
  procedure mMove(var i : boolean; var Source: string);overload;
  procedure mMove(var i : Word; var Source: string);overload;
  procedure mMove(var i : Byte; var Source: string);overload;
  function InputBoxEx(const ACaption, APrompt, ADefault: string): string;
  function MaskForm(const imask : Byte): Byte;

//////////////自定義新涵數hongzhiK-end;////////////////////////////////////////////////////
(*****************************又是幾個新收集函數****************************************)


(*****************************又是幾個新收集函數****************************************)
////////////////////快速字符串////////////////////////////////////
const
  cHexChars = '0123456789ABCDEF';

Type
  TFastPosProc = function (const aSource, aFind; const aSourceLen, aFindLen : integer) : Pointer;
  TFastPosIndexProc = function (const aSourceString, aFindString : String; const aSourceLen, aFindLen, StartPos : Integer) : Integer;

procedure FastCharMove(const Source; var Dest; Count : Integer);
function FastCharPos(const aSource : String; const C: Char; StartPos : Integer) : Integer;
function FastCharPosNoCase(const aSource : String; C: Char; StartPos : Integer) : Integer;
function FastPos(const aSourceString, aFindString : String; const aSourceLen, aFindLen, StartPos : Integer) : Integer;
function FastPosNoCase(const aSourceString, aFindString : String; const aSourceLen, aFindLen, StartPos : Integer) : Integer;
function FastPosBack(const aSourceString, aFindString : String; const aSourceLen, aFindLen, StartPos : Integer) : Integer;
function FastPosBackNoCase(const aSourceString, aFindString : String; const aSourceLen, aFindLen, StartPos : Integer) : Integer;
function FastReplace(const aSourceString : String; const aFindString, aReplaceString : String;
  CaseSensitive : Boolean = False) : String;
function SmartPos(const SearchStr,SourceStr : String;
                  const CaseSensitive : Boolean = TRUE;
                  const StartPos : Integer = 1;
                  const ForwardSearch : Boolean = TRUE) : Integer;

//pointer routines, which are faster
function FastmemPos(const aSource, aFind; const aSourceLen, aFindLen : integer) : Pointer;
function FastmemPosNC(const aSource, aFind; const aSourceLen, aFindLen : integer) : Pointer;

function Decrypt(const S: String; Key: Word): String;
function Encrypt(const S: String; Key: Word): String;
function ExtractHTML(S : String) : String;
function ExtractNonHTML(S : String) : String;
function CopyStr(const aSourceString : String; aStart, aLength : Integer) : String;
function GetValue(ValueName, Text : String) : String;
function HexToInt(aHex : String) : int64;
function LeftStr(const aSourceString : String; Size : Integer) : String;
function StringMatches(Value, Pattern : String) : Boolean;
function MissingText(Pattern, Source : String; SearchText : String = '?') : String;
function RandomFileName(aFilename : String) : String;
function RandomStr(aLength : Longint) : String;
function ReverseStr(const aSourceString : String) : String;
function RightStr(const aSourceString : String; Size : Integer) : String;
function RGBToColor(aRGB : String) : TColor;
function StringCount(const aSourceString, aFindString : String; Const CaseSensitive : Boolean = TRUE) : Integer;
function UniqueFilename(aFilename : String) : String;
function URLToText(aValue : String) : String;
function WordAt(Text : String; Position : Integer) : String;

procedure Split(aValue : String; aDelimiter : Char; Result : TStrings);

////////////////////快速字符串////////////////////////////////////
////////////////////新的字符串涵 數收集////////////////////////////////////
{================= String Utils =================}

function slash(value:string):string;
{ensures that value has '\' as last character (for directory strings)}

function capfirst(value:string):string;
{Capitalise first character of each word, lowercase remaining chars}
{example: capfirst('bOrLANd delPHi FOR windOWs') = 'Borland Delphi For Windows'}

function striptags(value:string):string;
{strip HTML tags from value}
{example: striptags('<TR><TD Align="center">Hello World</TD>') = 'Hello World'}

function replace(str,s1,s2:string;casesensitive:boolean):string;
{replace all incidences of s1 in str with s2}
{example: replace('We know what we want','we','I',false) = 'I Know what I want'}

function CopyFromChar(s:string;c:char;l:integer):string;
{copy l characters from string s starting at first incidence of c}
{example: Copyfromchar('Borland Delphi','a',3) = 'and'}


{================= System Utils =================}
function getwinsysdir:string;
{returns Windows System Path (inc drive)}
{example: getwinsysdir = 'C:\WINDOWS\SYSTEM\'}

function getwindir:string;
{returns windows directory path (inc Drive)}
{example: getwindir = 'C:\WINDOWS\'}

function getinstalldir:string;
{returns install directory of EXE using this library}
{example: getinstalldir = 'C:\PROGRAM FILES\BORLAND\DELPHI\DEMOS\'}

function getregvalue(root:integer;key,value:string):string;
{reads a registry value}
{example: getregvalue(HKEY_LOCAL_MACHINE,'network\logon\','username') = 'Eddie Bond'}

function getfiledate(filename:string):Tdatetime;
{returns a file's date in TDateTime format}


{================= Arithmetic Utils =================}

function StrToFloatDef(const s:string;def:Extended):Extended;
{converts S into a number. If S is invalid, returns the number passed in Def.}
{example: strtofloatdef('$10.25',0) = 0}

function VolSphere(radius:single):extended;
{volume of sphere of given radius}

function AreaSphere(radius:single):extended;
{surface area of sphere of given radius}

function VolCylinder(radius,height:single):extended;
{volume of cylinder of given radius and height}

function AreaCylinder(radius,height:single):extended;
{surface area of cylinder of given radius and height}

function MinExt(const A:array of Extended):Extended;
{returns minimum value of an array of extended}

function MaxExt(const A:array of Extended):Extended;
{returns maximum value of an array of extended}

function MinInteger(const A:array of Integer):Integer;
{returns minimum value of an array of integers}

function MaxInteger(const A:array of integer):Integer;
{returns maximum value of an array of integers}

function InverseSum(const a:array of single):single;
{solves formulae of type 1/r = 1/a + 1/b +...1/n (eg electrical resistance in parallel)}

{================= Financial Utils =================}

function MarkUp(profit:single):single;
{returns markup percentage required to return a profit of profit percent}
{example: MarkUp(25) = 20 }

function SellingPrice(net:double;markup:single):double;
{returns selling price after adding markup percent to net}
{example: SellingPrice(199.50,22.5) = 244.3875}

function NetPrice(gross:double;taxrate:single):double;
{returns the net value of an item of gross value containing tax at taxrate percent}
{example: NetPrice(199.99,17.5) = 170.204255319149}
////////////////////新的字符串涵 數收集////////////////////////////////////
//==============================系統路徑======================================//
Function GetApplicationExeName: string;
Function GetApplicationShortExeName: string;
Function GetWindowsDir: string;  //c:\winnt
Function GetSystemDir: string;  //c:\winnt\system32
Function GetTempDir: string;  //應用程序的路徑 如D:/winnt/temp
Function GetApplicationPath:String; //應用程序的路徑 如D:/feng/
Function GetApplicationDir:String; //應用程序的路徑 如D:/feng
Function GetCurrentDir: string;  //應用程序的路徑 如D:/feng
function GetProgramsDir: string;//程序組目錄
function GetMy_DocumentsDir: string;//我的文檔       //如C:\My Documents
function GetFavoritesDir: string;
function GetSystemFolderDir(mFolder: Integer): string;
//==============================系統路徑======================================//
var
  vModuleVersionInfomation: TFileVersionInfomation;

implementation

uses Math;

function IsFocusd(mHandle: THandle): Boolean;
var
  vHandle: THandle;
begin
  vHandle := GetFocus;
  while (mHandle <> vHandle) and (vHandle <> 0) do
    vHandle := GetParent(vHandle);
  Result := mHandle = vHandle;
end;

function StrToSet(mStr: string): TSysCharSet;
var
  I: Integer;
begin
  Result := [];
  for I := 1 to Length(mStr) do
    Include(Result, mStr[I]);
end; { StrToSet }

function HexToStr(mHex: string): string;
var
  I: Integer;
begin
  Result := '';
  for I := 1 to Length(mHex) div 2 do
    Result := Result + Chr(StrToIntDef('$' + Copy(mHex, I * 2 - 1, 2), 0));
end; { HexToStr }

function StrToHex(mStr: string): string;
var
  I: Integer;
begin
  Result := '';
  for I := 1 to Length(mStr) do
    Result := Format('%s%.2x', [Result, Ord(mStr[I])]);
end; { StrToHex }

function StrLeft(const mStr: string; mDelimiter: string): string;
{ 返回左分隔字符串 }
begin
  Result := Copy(mStr, 1, Pos(mDelimiter, mStr) - 1);
end; { StrLeft }

function StrRight(const mStr: string; mDelimiter: string): string;
begin
  if Pos(mDelimiter, mStr) > 0 then
    Result := Copy(mStr, Pos(mDelimiter, mStr) + Length(mDelimiter), MaxInt)
  else Result := '';
end; { StrRight }

function ListCount(mList: string; mDelimiter: string = ','): Integer;
{ 返回列表數 }
var
  I, L: Integer;
begin
  Result := 0;
  if mList = '' then Exit;
  L := Length(mList);
  I := Pos(mDelimiter, mList);
  while I > 0 do begin
    mList := Copy(mList, I + Length(mDelimiter), L);
    I := Pos(mDelimiter, mList);
    Inc(Result);
  end;
  Inc(Result);
end; { ListCount }

function ListValue(mList: string; mIndex: Integer; mDelimiter: string = ','): string;
{ 返回列表指定位置的元素 }
var
  I, L, K: Integer;
begin
  L := Length(mList);
  I := Pos(mDelimiter, mList);
  K := 0;
  Result := '';
  while (I > 0) and (K <> mIndex) do begin
    mList := Copy(mList, I + Length(mDelimiter), L);
    I := Pos(mDelimiter, mList);
    Inc(K);
  end;
  if K = mIndex then Result := StrLeft(mList + mDelimiter, mDelimiter);
end; { ListValue }

function SubStrConut(mStr: string; mSub: string): Integer;
{ 返回子字符串出現的次數 }
begin
  Result := Length(mStr) - Length(StringReplace(mStr, mSub, '', [rfReplaceAll]));
end; { SubStrConut }

function WideStringToLines(mStr: WideString): string;
var
  I: Integer;
begin
  Result := '';
  for I := 1 to Length(mStr) do
    Result := Result + #13#10 + mStr[I];
  Delete(Result, 1, 2);
end; { WideStringToLines }

function StringToDisplay(mString: string): string;
var
  I: Integer;
  S: string;
begin
  Result := '';
  S := '';
  for I := 1 to Length(mString) do
    if mString[I] in [#32..#127] then
      S := S + mString[I]
    else begin
      if S <> '' then begin
        Result := Result + QuotedStr(S);
        S := '';
      end;
      Result := Result + Format('#$%x', [Ord(mString[I])]);
    end;
  if S <> '' then Result := Result + QuotedStr(S);
end; { StringToDisplay }

function DisplayToString(mDisplay: string): string;
var
  I: Integer;
  S: string;
  B: Boolean;
begin
  Result := '';
  B := False;
  mDisplay := mDisplay;
  for I := 1 to Length(mDisplay) do
    if B then case mDisplay[I] of
      '''': begin
        if S <> '' then Result := Result + StringReplace(S, '''''', '''', [rfReplaceAll]);
          if Copy(mDisplay, I + 1, 1) = '''' then Result := Result + '''';
          S := '';
          B := False;
        end;
      else S := S + mDisplay[I];
      end
    else case mDisplay[I] of
      '#', '''': begin
        if S <> '' then Result := Result + Chr(StrToIntDef(S, 0));

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
在线日韩一区二区| 一区二区三区在线观看动漫| 日韩欧美一区二区三区在线| 欧美日韩在线亚洲一区蜜芽| 在线亚洲一区观看| 欧美在线免费观看亚洲| 精品视频一区二区三区免费| 欧美午夜片在线观看| 欧美日韩视频不卡| 91精品国产综合久久精品麻豆 | 久久久久久久性| 欧美成人精精品一区二区频| 精品国产乱码久久久久久免费| 欧美一区二区视频观看视频| 欧美一级搡bbbb搡bbbb| 欧美第一区第二区| 国产亚洲欧洲一区高清在线观看| 午夜精品一区二区三区免费视频| 亚洲制服欧美中文字幕中文字幕| 亚洲成av人影院| 麻豆传媒一区二区三区| 国产老肥熟一区二区三区| 成人激情小说网站| 欧美中文一区二区三区| 日韩女优视频免费观看| 久久久久亚洲综合| 亚洲免费观看高清完整版在线 | 亚洲天堂精品视频| 亚洲一二三四在线| 日本欧美在线看| 国产精品一二三四| 91福利视频在线| 欧美一级二级三级乱码| 久久久久久久久99精品| 亚洲欧美二区三区| 免费人成黄页网站在线一区二区| 国产成人在线视频播放| 色狠狠av一区二区三区| 欧美mv日韩mv亚洲| 亚洲男人电影天堂| 另类欧美日韩国产在线| 91网站最新网址| 日韩精品一区二区三区视频播放 | 色噜噜狠狠色综合中国| 日韩欧美国产wwwww| 最好看的中文字幕久久| 天天色 色综合| 成人午夜精品一区二区三区| 欧美乱妇15p| 国产精品少妇自拍| 日本不卡高清视频| 91在线无精精品入口| 欧美日产国产精品| 中文字幕精品一区二区三区精品| 午夜视频一区在线观看| 国产91精品精华液一区二区三区| 欧美天堂亚洲电影院在线播放| 国产亚洲综合av| 免费精品视频在线| 91免费观看在线| 久久久久9999亚洲精品| 午夜视频在线观看一区二区| 成人免费福利片| 欧美成人国产一区二区| 亚洲最新视频在线播放| 成人免费视频国产在线观看| 欧美一卡在线观看| 亚洲综合视频网| 成人黄色片在线观看| 精品国产乱码久久久久久老虎| 亚洲午夜在线视频| 91在线观看成人| 国产欧美日韩三区| 国内精品国产三级国产a久久| 欧美日韩久久久一区| 国产成人av福利| 91精品国产综合久久国产大片| 一区二区三区.www| av亚洲精华国产精华精| 2020国产精品自拍| 日本成人在线不卡视频| 欧美猛男gaygay网站| 一区二区三区中文字幕精品精品 | a级高清视频欧美日韩| 亚洲精品一区二区三区蜜桃下载 | 成人动漫在线一区| 国产亚洲综合性久久久影院| 看国产成人h片视频| 日韩午夜av一区| 日本亚洲视频在线| 欧美精品一二三| 亚洲成av人片一区二区三区| 欧美在线免费播放| 亚洲成人自拍偷拍| 欧美日韩视频在线第一区 | 日韩国产精品久久久久久亚洲| 色94色欧美sute亚洲线路一ni| 综合久久久久久| 91碰在线视频| 亚洲伦理在线免费看| 色婷婷综合久久久中文一区二区| 亚洲色大成网站www久久九九| 不卡视频一二三| 国产精品日产欧美久久久久| 国产成人av影院| 中日韩av电影| 99久久99久久久精品齐齐| 中文字幕日本不卡| 色综合久久天天综合网| 一区二区三区不卡视频在线观看| 欧美四级电影网| 日韩主播视频在线| 日韩一区二区影院| 精品一区二区三区蜜桃| 国产亚洲一区二区三区在线观看| 成人永久看片免费视频天堂| 亚洲天堂2014| 欧美日韩美少妇| 精品无人区卡一卡二卡三乱码免费卡| 精品伦理精品一区| 国产成人久久精品77777最新版本| 中文字幕av资源一区| 色999日韩国产欧美一区二区| 午夜久久久久久久久久一区二区| 日韩写真欧美这视频| 国产成人免费视频| 一区二区高清免费观看影视大全| 欧美日韩大陆在线| 日韩一区二区三区视频在线观看| 激情综合五月天| 国产精品毛片a∨一区二区三区 | 亚洲视频你懂的| 欧美揉bbbbb揉bbbbb| 久久9热精品视频| 国产精品国产自产拍在线| 在线观看免费亚洲| 久久99久久久久久久久久久| 国产精品色噜噜| 欧美日韩国产精品自在自线| 国产一区不卡视频| 亚洲精品乱码久久久久久黑人 | 亚洲靠逼com| 日韩欧美一区电影| 91在线视频观看| 久久精品噜噜噜成人88aⅴ | 国产精品一区二区黑丝| 一区二区三区视频在线看| 日韩美女视频在线| 色狠狠av一区二区三区| 久久精品72免费观看| 亚洲欧美一区二区久久| 精品福利在线导航| 欧美性猛交xxxx乱大交退制版| 精品一区在线看| 伊人色综合久久天天| 久久综合网色—综合色88| 色综合亚洲欧洲| 精品一区二区三区香蕉蜜桃| 亚洲精品第一国产综合野| 久久久综合精品| 欧美精品一卡二卡| 91原创在线视频| 国产精品一区二区在线播放| 五月天欧美精品| 国产精品国产精品国产专区不片| 日韩欧美成人午夜| 在线观看日韩国产| 成人h动漫精品| 国产乱子轮精品视频| 亚洲国产色一区| 国产精品乱码久久久久久| 欧美成人欧美edvon| 欧美日韩视频专区在线播放| 91影院在线观看| 激情综合网av| 蜜臀av性久久久久av蜜臀妖精| 亚洲综合色成人| 国产精品理论片在线观看| 精品国产99国产精品| 欧美一区二区国产| 一区二区三区高清| 中文字幕一区视频| 国产日韩精品久久久| 久久奇米777| 欧美变态tickle挠乳网站| 欧美高清视频www夜色资源网| 色国产综合视频| 色综合中文字幕国产 | 在线免费观看一区| 成人av在线一区二区| 国产一区二区三区高清播放| 美国av一区二区| 日本va欧美va欧美va精品| 亚洲成av人片一区二区三区 | 99re视频精品| 波多野结衣的一区二区三区| 国产成人在线观看免费网站| 国产在线国偷精品产拍免费yy| 蜜臀久久99精品久久久画质超高清 | 日韩精品资源二区在线|