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

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

?? strprocess.pas

?? 為青島一家公司做的條碼打印管理
?? PAS
?? 第 1 頁 / 共 3 頁
字號:
{
   例程作者:李龍武。版權歸洪濤軟件所有   1999-12-1
   例程說明:
}
unit StrProcess;

interface

uses
  Classes,SysUtils,Graphics,dialogs;
const
  TooLong=' is too long!';
  EmptyStr=' is an empty string value!';
  EmptyHex=' is an empty Hex value!';
  EmptyBinary=' is an empty binary value!';
  InvalidHex=' is invalid Hex value!';
  InvalidSize=' is a invalid value with the binary size.';
  InvalidBinary=' is invalid binary value!';
  LoopReplace1='The string replaced and the string replacing with are the SAME!';
  LoopReplace2='Case Sensitive is FALSE.'+LoopReplace1;
type
  EStrToCharError=class(exception);
  EHexToIntError=class(exception);
  EIntToBinError=class(exception);
  EBinToIntError=class(exception);
  EReplaceError=class(exception);
  TStrException=class of exception;

{ 數制轉換}
function HexToInt(Hex:String):integer;  //將一個十六進制的值轉換成整型
function IntToBin(Int: LongInt;Size: Integer): String; //將一個十進制整型轉換成二進制值
function BinToInt(Bin: string): LongInt; //將一個十進制整型轉換成二進制值
function BinToHex(Bin:string;Size:integer):string; //將二進制轉換成十六進制
function HexToBin(Hex:string;Size:integer):string; //將十六進制轉換成二進制

{字符處理}
//字符的種類
function IsNumber(Ch: char):boolean;  //判斷一個字符是否是一個數字
function IsLetter(Ch:char):boolean;   //判斷一個字符是否是一個字母
function IsSign(Ch:char):boolean;//判斷一個字符是否是一些符號' ','\' '>'等。
function IsPrint(Ch:char):boolean;//判斷一個字符是否是可顯示出來的字符
{字符串處理}

//串轉換/轉化
function StrToChar(Str:string):char;  //將單個字符的串轉換成字符
function IntToStrPad0(Digital,Size:integer;Before:boolean):string;//將一個整型數轉換成一個在前/后添加若干個0的串
//字符數目
function GetMaxWordNumber(var MaxLineID:integer;List:TStringList):integer; //獲取最大行的行號及字母數。
function GetChineseWordNumber(Str:string):integer; //獲取一個串中漢字的個數
function GetEnglishWordNumber(Str:string):integer; //獲取一個串中英文字母個數

//字符輸出空間
function GetTextOutWidth(Canvas:TCanvas;Str:String;WordSpace:integer):integer;//獲取一個串輸出時的寬度(Pixel)
function GetTextOutHeight(Canvas:TCanvas;List:TStringList;LineSpace:integer):integer;//獲取StringList輸出時的高度。

//串的排列順序
function Reversed(Str:string):string; //倒排字符串

//子串在串中的位置
function ReversedPos(SubStr,Str:string):integer; //查找最右邊的SubStr在Str中的位置。與Pos相反。
function LeftLastPos(Str:string;FindChar:Char):integer;//查找某一個字符在串左邊的最后的位置
function RightBeforePos(Str:string;FindChar:char):integer;//查早某一字符在右邊最前的位置
function LastPos(Str:string;FindChar:char):integer;overload;//查找某一字符在串中最后的位置。返回0表示沒有這樣的字符
function LastPos(Str:string;FindStr:string):integer;overload;//查找某一字符在串中最后的位置。返回0表示沒有這樣的字符
function AnyPos(Str,FindStr:string;CaseSensitive:boolean):integer;//可以按是否區分大小寫來查找第一個FindStr的位置,其余功能同Pos
function AnyLastPos(Str,FindStr:string;CaseSensitive:boolean):integer;//可以按是否區分大小寫來查找最后一個FindStr的位置,其余功能同LastPos
procedure GetSubInfoInStr(Str,SubStr:string;CaseSensitive:boolean;var InfoList:TStringList);//獲取一個串中所有子串在串中的位置

//字符串的替換

//字符串的替換--用RepStr代替SignChar位置前、后、之間的的串
function ReplaceLeft(Str,RepStr:string;SignChar:char):string;//RepStr替換SignChar前面的所有字符 。如果沒有找到相應的字符就返回原串
function ReplaceMiddle(Str,RepStr:string;SignChar:char):string; //用RepStr替換第一個和最后一個SignChar 之間的所有字符
function ReplaceRight(Str,RepStr:string;SignChar:char):string;//用RepStr替換SignChar后面的所有字符.如果沒有找到相應的字符就返回原串
function ReplaceBoth(Str,RepStr:string;SignChar:char):string;//用RepStr替換左邊第一個前面和右邊第一個后面的所有串
//字符串的替換--用SpecifiedChar代替SignChar位置前、后、之間的SignChar
function ReplaceLeftChar(Str:string;RepChar,SignChar:char):string;//用RepChar替換從左邊到第一個不是SignChar之間的所有SignChar字符
function ReplaceMiddleChar(Str:string;RepChar,SignChar:char):string;//用RepChar替換從左邊到第一個不是SignChar開始 到 從右邊開始到第一個不是SignChar之間的所有SignChar
function ReplaceRightChar(Str:string;RepChar,SignChar:char):string;//用RepChar替換從最右邊到第一個不是SignChar之間的所有SignChar字符
function ReplaceBothChar(Str:string;RepChar,SignChar:char):string;//用RepChar替換從左邊到第一個不是SignChar之間以及從最右邊到第一個不是SignChar之間的所有SignChar字符
function ReplaceAllChar(Str:string;RepChar,SignChar:char):string;//用RepChar代替串中所有的SignChar
//字符串的替換--用RepStr代替SignStr
function ReplaceFirstStr(Str,RepStr,SignStr:string;CaseSensitive:boolean):string;//用RepStr替換第一個SignStr
function ReplaceLastStr(Str,RepStr,SignStr:string;CaseSensitive:boolean):string;//用RepStr替換最后一個SignStr
function ReplaceBothStr(Str,RepStr,SignStr:string;CaseSensitive:boolean):string;//用RepStr替換最前面和最后面一個SignStr
function ReplaceAllStr(Str,RepStr,SignStr:string;CaseSensitive:boolean;var RepCount:integer):string;//用RepStr替換所有的SignStr
//字符串的刪除
function TrimLeftChar(Str:string;DelChar:char):string;//刪除Str中左邊的指定字符
function TrimRightChar(Str:string;DelChar:char):string; //刪除Str中右邊的指定字符
function TrimBoth(Str:string;DelChar:char):string;//刪除Str中左右邊的指定字符
function TrimAll(Str:String;DelChar:char):string;//刪除Str中所有的指定字符
function TrimMiddle(Str:string;DelChar:char):string;//刪除中間的指定字符(從左邊和右邊第一個不是指定字符之間)

//獲取字符串的子串
//字符串獲?。@取某一字符的左、右、中間的字符串
function GetLeftStr(Str:string;SpecifiedChar:char):string;//獲取字符串某一特定字符(第一個)左邊的所有字符(不含該特定字符)
function GetMiddleStr(Str:string;SpecifiedChar:Char):string;//獲取字符串某一特定字符(第一個和最后一個)之間的所有字符(不含該特定字符)
function GetRightStr(Str:string;SpecifiedChar:char):string;//獲取字符串某一特定字符(第一個)右邊的所有字符(不含該特定字符)
//字符串獲?。@取某一字符串(該字符串由相同的字符組成)中間的字符串
function GetMiddleString(Str:string;SpecifiedChar:Char):string;
//字符串獲?。@取兩個字符串相同的部分
function GetLeftSameStr(Str1,Str2:string):string; //獲取兩字符串左邊相同的部分
function GetRightSameStr(Str1,Str2:string):string; //獲取兩字符串右邊相同的部分
//字符串獲?。@取兩個字符串不同的部分
procedure GetRightDiverse(var Str1,Str2:string); //獲取兩個字符串相同部分的右邊不同部分
procedure GetLeftDiverse(var Str1,Str2:string); //獲取兩個字符串相同部分左邊不同部分
//字符串的比較
function FindDiverseLeftPos(Str1,Str2:string):integer;//從左至右查找在字符串中不同的位置??崭窈雎?function FindDiverseRightPos(Str1,Str2:string):integer;//從右至左查找在字符串中不同的位置。 空格忽略

//字符串的插入
function RepeatChar(ReChar:char;Count:integer):string; //將某一字符重復Count次;
implementation

procedure EStrProcess(ExceptType:TStrException;Value,ErrorInfo:string);
begin
  raise ExceptType.Create(Value+ErrorInfo);;
end;

////////////////////////////////////////////////////////////////////////////////
{
  數制轉換
}
function HexToInt(Hex:String):integer; //將一個十六進制的值轉換成整型 參數說明:Hex:被轉換的十六進制值
var
  HexDigital:Set of char;
  i:integer;
  Digital:string;
begin
 HexDigital:=['1','2','3','4','5','6','7','8','9','0','A','B','C','D','E','F','a','b','c','d','e','f'];
 if Length(Hex)=0 then EStrProcess(EHexToIntError,Hex,EmptyHex);
 for i:=1 to Length(Hex) do begin
   Digital:=Copy(Hex,i,1);
   if (i=1)and(digital='$')then Continue;
   if not(StrToChar(Digital) in HexDigital) then EStrProcess(EHexToIntError,Hex,InvalidHex);
 end;
 Digital:=Copy(Hex,1,1);
 if Digital<>'$' then Hex:='$'+Hex;
 Result:=StrToInt(Hex);
end;

function IntToBin(Int:LongInt;Size:Integer):String; //將一個十進制整型轉換成二進制值 參數說明:Int:被轉換的整型值  Size:轉換后的寬度:4位 8位 或更大
var
  i:Integer;
begin
  if Size<1 then EStrProcess(EIntToBinError,IntToStr(Size),InvalidSize);
  for i:=Size downto 1 do begin
    if Int and (1 shl (Size-i))<>0 then Result:='1'+Result
    else Result:='0'+Result;
  end;
end;

function BinToInt(Bin: string): LongInt;//將一個十進制整型轉換成二進制值  參數說明:Bin:被轉換的二進制值串
var
  i,Size: Integer;
  Bit:string;
begin
  Result:=0;
  Size:=Length(Bin);
  if Size=0 then EStrProcess(EBinToIntError,Bin,EmptyBinary);
  for i:=Size downto 1 do begin
    Bit:= Copy(Bin,i,1);
    if (Bit<>'1') and (Bit<>'0') then EStrProcess(EBinToIntError,Bin,InvalidBinary);
    if Bit='1'  then Result:=Result+(1 shl (Size-i));
  end;
end;

function BinToHex(Bin:string;Size:integer):string; //將二進制轉換成十六進制  Bin:被轉換的二進制值  Size:轉換成十六進制的寬度
begin
  Result:=IntToHex(BinToInt(Bin),Size);
end;

function HexToBin(Hex:string;Size:integer):string;  //將十六進制轉換成二進制 Bin:被轉換的十六進制值  Size:轉換成二進制的寬度
begin
  Result:=IntToBin(HexToInt(Hex),Size);
end;
/////////////////////////////////////////////////////////////////////////////////
{

  字符處理

}
//字符種類
function IsNumber(Ch: char): boolean;  //判斷一個字符是否是一個數字
begin
  Result:=((Ch>='0')and(Ch<='9'));
end;

function IsLetter(Ch:char):boolean;   //判斷一個字符是否是一個字母
begin
  Result:=((Ch>='a')and(Ch<='z'))or((Ch>='A')and(Ch<='Z'));
end;
function IsSign(Ch:char):boolean;//判斷一個字符是否是一些符號' ','\' '>'等。
type
  TSign=set of Char;
var
  Sign:TSign;
begin
  Sign:=[' ','~','`','!','@','#','$','%','^','&','*','(',')','-','_','=','+','|','\','[',']','{','}',':',';','''','"','<','>',',','.','?','/'];
  Result:=Ch in Sign;
end;
function IsPrint(Ch:char):boolean;//判斷一個字符是否是可顯示出來的字符
begin
  Result:=IsLetter(Ch) or IsNumber(Ch) or IsSign(Ch);
end;
//////////////////////////////////////////////////////////////////////////////////
{
  字符串處理
}

//串轉換/轉化
function StrToChar(Str:string):Char; //將單個字符的串轉換成字符 參數說明:Str:被轉換的串
begin
  if Length(Str)=0 then EStrProcess(EStrToCharError,Str,EmptyStr);
  if Length(Str)>1 then EStrProcess(EStrToCharError,Str,Toolong);
  Result:=Str[1];
end;

function IntToStrPad0(Digital,Size:integer;Before:boolean):string;//將一個整型數轉換成一個在前/后添加若干個0的串
var
  Len:integer;
begin
  Result:=IntToStr(Digital);
  Len:=Length(Result);
  while Len<Size do begin
    if Before then Result:='0'+Result
    else Result:=Result+'0';
    Len:=Length(Result);
  end;
end;

//字符數目
function GetMaxWordNumber(var MaxLineID:integer;List:TStringList):integer; //獲取最大行的行號及字母數。
var
  i:integer;
  Len:integer;
begin
  Result:=0;
  if List.Count=0 then Exit;
  for i:=0 to List.Count-1 do begin
    Len:=Length(List.strings[i]);
    if Len>=Result then begin
      Result:=Len;
      MaxLineID:=i;
    end;
  end;
end;

function GetChineseWordNumber(Str:string):integer;  //獲取一個串的漢字的個數
var
  i:integer;
  CurrentChar:char;
  CurrentStr:string;
begin
  Result:=0;
  if Length(Str)=0 then Exit;
  for i:=1 to Length(Str) do begin
     CurrentStr:=Copy(Str,i,1);
     CurrentChar:=CurrentStr[1];
     if Ord(CurrentChar)>=127 then Result:=Result+1;
  end;
  Result:=Result div 2;
end;

function GetEnglishWordNumber(Str:string):integer; //獲取英文字母的個數
begin
  Result:=Length(Str)-2*GetChineseWordNumber(Str);
end;

//字符輸出空間 (圖形模式)
function GetTextOutWidth(Canvas:TCanvas;Str:String;WordSpace:integer):integer; //獲取一個串輸出時的寬度(Pixel)
var
  i:integer;
  CurrentStr:string;
  CurrentChar:Char;
begin
  i:=1;
  Result:=0;
  if Length(Str)=0 then Exit;
  while i<=Length(Str) do begin
    CurrentStr:=Copy(Str,i,1);
    CurrentChar:=CurrentStr[1];
    if Ord(CurrentChar)>=127 then begin
      CurrentStr:=Copy(Str,i,2);
      inc(i);

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
久久美女艺术照精彩视频福利播放| 不卡av在线免费观看| 日韩毛片高清在线播放| 久久久.com| 久久这里只有精品首页| 欧美电影免费观看高清完整版在线| 欧美精品久久久久久久多人混战| 欧美在线免费播放| 欧美精品123区| 欧美蜜桃一区二区三区| 在线成人av网站| 日韩一区二区麻豆国产| 精品国产乱码久久久久久牛牛 | 久久精品国产一区二区三| 五月天激情小说综合| 日日骚欧美日韩| 国内成人免费视频| 99久久婷婷国产综合精品电影| 一本色道**综合亚洲精品蜜桃冫| 色噜噜偷拍精品综合在线| 欧美色综合网站| 日韩欧美一区二区久久婷婷| 2022国产精品视频| 国产精品九色蝌蚪自拍| 亚洲一区电影777| 狠狠色丁香久久婷婷综| 99久久精品免费看| 91精品久久久久久久91蜜桃| 337p日本欧洲亚洲大胆色噜噜| 日本一二三不卡| 亚洲国产一区二区三区青草影视 | 精品理论电影在线观看| 国产精品入口麻豆九色| 亚洲地区一二三色| 国产精品一品二品| 欧美日韩精品一区二区| 国产亚洲一二三区| 午夜精品一区二区三区三上悠亚| 国内精品国产三级国产a久久| 白白色 亚洲乱淫| 日韩亚洲欧美中文三级| 亚洲美女视频一区| 国产中文字幕精品| 欧洲另类一二三四区| 久久精品人人做| 午夜精品久久久久久久久| 国产精品12区| 欧美二区三区91| 亚洲精品日韩一| 国产一区二区在线视频| 欧美日韩国产综合视频在线观看| 国产日韩亚洲欧美综合| 麻豆免费看一区二区三区| 欧美又粗又大又爽| 亚洲视频小说图片| 韩国理伦片一区二区三区在线播放 | 亚洲美女少妇撒尿| 国产呦精品一区二区三区网站| 欧美日韩黄色一区二区| 亚洲欧美日韩电影| 成人免费高清视频| 久久久久久久网| 免费观看成人鲁鲁鲁鲁鲁视频| 一本在线高清不卡dvd| 亚洲国产精品二十页| 久久国产麻豆精品| 欧美一区二区在线免费播放| 亚洲国产美女搞黄色| 国产 日韩 欧美大片| 精品国产一区二区精华| 秋霞午夜av一区二区三区| 欧美色精品在线视频| 亚洲午夜在线电影| 欧美色图片你懂的| 亚洲美女屁股眼交3| 色婷婷综合视频在线观看| 国产精品高潮久久久久无| 成人美女在线视频| 久久精品人人做人人爽人人| 国产福利一区二区三区视频在线| 日韩欧美国产精品一区| 韩国中文字幕2020精品| 久久精品人人做| 99久久久精品| 亚洲成av人在线观看| 欧美精品久久久久久久多人混战| 天天综合色天天综合色h| 日韩欧美一区中文| 国产不卡视频一区二区三区| 国产精品亲子乱子伦xxxx裸| 91在线观看成人| 亚洲一区二区在线免费看| 欧美日韩www| 久久av老司机精品网站导航| 国产日韩精品一区| 欧美亚洲一区二区在线| 蜜臀av一区二区在线观看| 国产区在线观看成人精品| 99久久亚洲一区二区三区青草| 一级中文字幕一区二区| 欧美一区二区三区视频在线观看| 国产精品一级片在线观看| 国产精品国产三级国产aⅴ入口| 色悠久久久久综合欧美99| 五月综合激情网| 欧美极品aⅴ影院| 精品视频一区三区九区| 狠狠网亚洲精品| 亚洲美女淫视频| 久久影院视频免费| 色先锋久久av资源部| 久久国产精品一区二区| 亚洲人成在线播放网站岛国| 欧美一区二区三区小说| 99热99精品| 久久国产精品72免费观看| 亚洲精品高清在线| 国产亚洲精品aa| 欧美精品日日鲁夜夜添| 成人国产亚洲欧美成人综合网 | 日本午夜一区二区| 欧美精彩视频一区二区三区| 欧美日韩日日骚| 国产91精品精华液一区二区三区| 亚洲图片有声小说| 国产精品狼人久久影院观看方式| 在线播放日韩导航| 91在线看国产| 国产成人免费av在线| 日产国产高清一区二区三区| 亚洲综合999| 日韩久久一区二区| 国产精品天美传媒| 2023国产精品自拍| 日韩视频一区二区在线观看| 91传媒视频在线播放| 成人一级片在线观看| 国产美女在线观看一区| 日韩成人午夜电影| 图片区小说区国产精品视频| 亚洲欧美在线视频观看| 久久精品一区二区三区四区| 欧美一区二区女人| 欧美一三区三区四区免费在线看| 色伊人久久综合中文字幕| 国产91在线|亚洲| 黑人巨大精品欧美黑白配亚洲| 日韩电影在线观看一区| 日韩精彩视频在线观看| 亚洲一二三区视频在线观看| 亚洲欧美日韩国产综合在线| 亚洲国产精品99久久久久久久久| 国产午夜三级一区二区三| 国产情人综合久久777777| 国产午夜精品在线观看| 国产视频视频一区| 国产精品污www在线观看| 国产精品久久久久桃色tv| 国产精品国产三级国产a| |精品福利一区二区三区| 综合自拍亚洲综合图不卡区| 亚洲激情在线激情| 天堂精品中文字幕在线| 日韩av二区在线播放| 麻豆精品一区二区三区| 国产一区二区0| 波多野结衣中文字幕一区| 91日韩精品一区| 欧美人牲a欧美精品| 欧美变态凌虐bdsm| 国产精品麻豆视频| 亚洲卡通动漫在线| 日本欧美在线看| 国产美女精品在线| 91美女视频网站| 69久久夜色精品国产69蝌蚪网| 日韩午夜在线观看| 中文字幕第一页久久| 亚洲男人电影天堂| 美国精品在线观看| 91蜜桃免费观看视频| 日韩一区国产二区欧美三区| 久久蜜臀精品av| 亚洲另类色综合网站| 免费高清在线视频一区·| 丁香五精品蜜臀久久久久99网站| 一本大道久久精品懂色aⅴ| 欧美精品第1页| 欧美国产禁国产网站cc| 亚洲无人区一区| 成人av影院在线| 欧美精选在线播放| 亚洲欧洲在线观看av| 日韩av高清在线观看| av亚洲精华国产精华| 欧美一区二区三区视频在线观看| 中文字幕一区在线| 日本v片在线高清不卡在线观看| 99精品视频中文字幕| 精品国产乱码久久久久久夜甘婷婷 |