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

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

?? genfunc.pas

?? 1.簡繁相互轉換 2.文件批量處理 3.可直接轉換數據庫字段
?? PAS
?? 第 1 頁 / 共 2 頁
字號:
unit genFunc;

//{$DEFINE ISBASEACCESS}
//{$DEFINE ISDEMO}
{$DEFINE ISHASDOG}
//{$DEFINE ISMEPG4}

interface

uses DB, ADODB, Windows, Controls, Variants, Classes;

type
  TUserInfo = record
    SkinPath: string;
    ExePath: string;
    OutDate: TDate;
    IsDemo: Boolean; //2006-3-30 11:24:21 nicholas 說明:是否Demo。
    LoginTime: TDateTime; //2006-3-30 11:30:50 nicholas 說明:登錄時間。
    IsHasDog: Boolean;
    IsBaseAccess: Boolean;
    ServerName: string;
    DataName: string;
    Password: string;
    FieldName: string; //2006-4-6 15:55:21 nicholas 說明:排行點數增加每天的點數,統計一個月的排行.
    PreFieldName: string; //2006-4-6 16:18:27 nicholas 說明:排行點數增加前一天的點數,統計一個月的排行.
    KTVDataName: string;
  end;

  TSendSongRec = record
    SongNum: string[16];
    SongName: string[32];
  end;


function SetAdoQue(AdoQue: TADOQuery; sSQL: string; bSel: boolean = true): boolean;
function DiskVolume(Drive: string): string;
function GetPureFileName(sFileName: string): string;
function GetGBCode(sStr: string): string;
function GetGBCodeA(sStr: string): string;
function GetWordCount(sStr: string): Integer;
function GetFileSizeByFileStream(const FileName: string): int64;
function GetPcName: string;
function GetIP: string;

function BIG5ToGB(BIG5Str: string): Ansistring;
function GBToBIG5(GBStr: string): Ansistring;
function AnsiToUnicode(Ansi: string): string;
function ReadHex(AString: string): integer;
function UnicodeToAnsi(Unicode: string): string;

function UnicodeEncode(Str: string; CodePage: integer): WideString;
function UnicodeDecode(Str: WideString; CodePage: integer): string;
function Gb2Big5(Str: string): string;
function Gb2Big5A(Str: string): string;
function Big52Gb(Str: string): string;
function Big52GbA(Str: string): string;
function GBUnicodeToBig5Unicode(Str:string):string;
function Big5UnicodeToGBUnicode(Str:string):string;
function GBStrToBig5Unicode(Str:string):string;


function EncryptStr(const s: string; skey: string): string;
function GetNetCardSN: string;
function myStrtoHex(s: string): string; //原字符串轉16進制字符串


var
  genInfo: TUserInfo;


implementation
uses SysUtils, Winsock, Nb30;


function SetAdoQue(AdoQue: TADOQuery; sSQL: string; bSel: boolean = true): boolean;
//設定ADOQuery結果集
begin
  Result := true;
  try
    AdoQue.Close;
    AdoQue.SQL.Clear;
    AdoQue.SQL.Add(sSQL);
    if bSel then
    begin
      AdoQue.open;
      if AdoQue.RecordCount = 0 then
      begin
        Result := false;
        exit;
      end
    end
    else AdoQue.ExecSQL;
  except
    Result := false;
    exit;
  end;
end;

function DiskVolume(Drive: string): string;
var
  FSFlags, MaxLength: DWORD;
  VolName, Path: string;
  DriveStr: string;
begin
  Result := '';
  Drive := UpperCase(Drive);
  if not (Drive[1] in ['C'..'Z']) then
  begin
    Exit;
  end;
  SetLength(VolName, 64);
  if Pos(':', Drive) > 0 then
  begin
    DriveStr := ExtractFileDrive(Drive) + '\';
  end
  else
  begin
    DriveStr := Copy(Drive, 1, 1) + ':\';
  end;

  GetVolumeInformation(PChar(DriveStr), PChar(VolName), Length(VolName), nil, MaxLength, FSFlags, nil, 0);
  Result := VolName;
end;

function GetPureFileName(sFileName: string): string;
var
  sTemp, sExt: string;
begin
  sTemp := ExtractFileName(sFileName);
  sExt := ExtractFileExt(sTemp);
  sTemp := Copy(sTemp, 1, Length(sTemp) - Length(sExt));
  Result := sTemp;
end;

function GetGBCode(sStr: string): string;
var
  i, o: Integer;
  sTemp: string;
begin
  sTemp := '';
  for i := 1 to Length(sStr) do
  begin
    o := Ord(sStr[i]);
    sTemp := sTemp + IntToHex(o, 2);
  end;
  Result := sTemp;
end;

function GetGBCodeA(sStr: string): string;
var
  i, o: Integer;
  sTemp: string;
begin
  sTemp := '';
  for i := 1 to Length(sStr) do
  begin
    o := Ord(sStr[i]);
    sTemp := sTemp + IntToHex(o, 2) + ' ';
  end;
  Result := sTemp;
end;

function GetWordCount(sStr: string): Integer;
var
  nLen: Integer;
  i: Integer;
  iCount: Integer;
begin
  nLen := Length(sStr);
  i := 1;
  iCount := 0;
  while i <= nLen do
  begin
    if Ord(sStr[i]) = 32 then
    begin
      Inc(i);
      //Inc(iCount);
      Continue;
    end;
    if (Ord(sStr[i]) >= 33) and (Ord(sStr[i]) <= 126) then
    begin
      while (i + 1) <= nLen do
      begin
        if (Ord(sStr[i + 1]) >= 33) and (Ord(sStr[i + 1]) <= 126) then
        begin
          Inc(i);
        end
        else
        begin
          Break;
        end;
      end;
      if Ord(sStr[i]) <> 32 then
      begin
        Inc(iCount);
        Inc(i);
      end;

    end
    else
    begin
      Inc(iCount);
      i := i + 2;
    end;
  end;
  Result := iCount;
end;

function GetFileSizeByFileStream(const FileName: string): int64;
var
  FileStream: TFileStream;
begin
  Result := 0;
  if FileExists(FileName) = False then
  begin
    Exit;
  end;
  FileStream := TFileStream.Create(FileName, fmOpenRead, fmShareDenyNone);
  try
    Result := FileStream.Size;
  finally
    FileStream.Free;
  end;
end;

function GetIP: string;
type
  TaPInAddr = array[0..10] of PInAddr;
  PaPInAddr = ^TaPInAddr;

var
  phe: PHostEnt;
  pptr: PaPinAddr;
  Buffer: array[0..63] of char;
  I: integer;
  GInitData: TWSADATA;
begin
  WSAStartup($101, GInitData);
  Result := '127.0.0.1';
  GetHostName(Buffer, SizeOf(Buffer));
  phe := GetHostByName(Buffer);
  if phe = nil then Exit;
  pptr := PaPInAddr(phe^.h_addr_list);
  I := 0;
  while pptr^[I] <> nil do begin
    Result := StrPas(inet_ntoa(pptr^[I]^));
    Inc(I);
  end;
  WSACleanup;
end;

function GetPcName: string;
var
  PCName: PChar;
  Size: Dword;
begin
  GetMem(PCName, 255);
  Size := 255;
  GetComputerName(PCName, size);
  Result := PcName;
  FreeMem(PCName); //得到計算機名
end;

function BIG5ToGB(BIG5Str: string): Ansistring;
var
  Len: Integer;
  pBIG5Char: PChar;
  pGBCHSChar: PChar;
  pGBCHTChar: PChar;
  pUniCodeChar: PWideChar;
begin
  pBIG5Char := PChar(BIG5Str);
  Len := MultiByteToWideChar(950, 0, pBIG5Char, -1, nil, 0);
  GetMem(pUniCodeChar, Len * 2);
  ZeroMemory(pUniCodeChar, Len * 2);
 //Big5 -> UniCode*&(-
  MultiByteToWideChar(950, 0, pBIG5Char, -1, pUniCodeChar, Len);
  Len := WideCharToMultiByte(936, 0, pUniCodeChar, -1, nil, 0, nil, nil);
  GetMem(pGBCHTChar, Len * 2);
  GetMem(pGBCHSChar, Len * 2);
  ZeroMemory(pGBCHTChar, Len * 2);
  ZeroMemory(pGBCHSChar, Len * 2);
 //UniCode->GB CHTC h/^
  WideCharToMultiByte(936, 0, pUniCodeChar, -1, pGBCHTChar, Len, nil, nil);
 //GB CHT -> GB CHS4qR
  LCMapString($804, LCMAP_SIMPLIFIED_CHINESE, pGBCHTChar, -1, pGBCHSChar, Len);
  Result := string(pGBCHSChar);
  FreeMem(pGBCHTChar);
  FreeMem(pGBCHSChar);
  FreeMem(pUniCodeChar);

end;

function GBToBIG5(GBStr: string): Ansistring;
var
  Len: Integer;
  pGBCHTChar: PChar;
  pGBCHSChar: PChar;
  pUniCodeChar: PWideChar;
  pBIG5Char: PChar;
begin
  pGBCHSChar := PChar(GBStr);
  Len := MultiByteToWideChar(936, 0, pGBCHSChar, -1, nil, 0);
  GetMem(pGBCHTChar, Len * 2 + 1);
  ZeroMemory(pGBCHTChar, Len * 2 + 1);
 //GB CHS -> GB CHTmzna
  LCMapString($804, LCMAP_TRADITIONAL_CHINESE, pGBCHSChar, -1, pGBCHTChar, Len * 2);
  GetMem(pUniCodeChar, Len * 2);
  ZeroMemory(pUniCodeChar, Len * 2);
 //GB CHT -> UniCodebPb\p0
  MultiByteToWideChar(936, 0, pGBCHTChar, -1, pUniCodeChar, Len * 2);
  Len := WideCharToMultiByte(950, 0, pUniCodeChar, -1, nil, 0, nil, nil);
  GetMem(pBIG5Char, Len);
  ZeroMemory(pBIG5Char, Len);
 //UniCode -> Big5 {J$

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
精品国产伦一区二区三区观看方式| 经典三级在线一区| 亚洲精品成人少妇| 久久久久久亚洲综合影院红桃 | 久久这里都是精品| 亚洲欧美在线aaa| 麻豆成人免费电影| 欧美日韩久久不卡| 亚洲色欲色欲www在线观看| 麻豆精品国产91久久久久久| 一区二区三区在线观看网站| 国产经典欧美精品| 精品国产区一区| 午夜精品久久一牛影视| 91毛片在线观看| 亚洲色图在线播放| 精品一区二区综合| 精品在线播放午夜| 777奇米四色成人影色区| 综合久久国产九一剧情麻豆| 国产福利电影一区二区三区| 精品福利一二区| 久久99精品国产麻豆婷婷| 欧美美女喷水视频| 亚洲国产日韩精品| 欧美色综合网站| 亚洲激情av在线| 日本高清无吗v一区| 亚洲精品乱码久久久久久黑人| 亚洲欧美日韩中文字幕一区二区三区| 成人午夜激情影院| 国产日韩av一区| 成人性生交大片免费看视频在线 | 99视频在线精品| 欧美tickle裸体挠脚心vk| 日本sm残虐另类| 日韩欧美国产一区二区在线播放| 人妖欧美一区二区| 欧美mv日韩mv| 精彩视频一区二区| 国产精品毛片无遮挡高清| 成人网页在线观看| 日韩理论在线观看| 在线观看免费一区| 婷婷开心激情综合| 日韩欧美中文一区二区| 欧美bbbbb| 国产午夜精品一区二区三区视频| 国产精品一区在线| 亚洲欧洲日产国产综合网| 亚洲精品久久久蜜桃| 欧美图片一区二区三区| 三级成人在线视频| 国产午夜精品美女毛片视频| 国产不卡视频一区二区三区| 国产三级精品视频| 一本一道久久a久久精品综合蜜臀| 99精品偷自拍| 91精品福利在线一区二区三区| 九一久久久久久| 国产欧美日本一区视频| 日本久久电影网| 免费久久99精品国产| 中文字幕视频一区| 视频在线观看91| 久久久精品国产99久久精品芒果| 99视频国产精品| 日日夜夜免费精品| 国产精品理论片| 7777精品伊人久久久大香线蕉最新版 | 亚洲男帅同性gay1069| 337p亚洲精品色噜噜狠狠| 国产在线精品一区二区三区不卡| 亚洲天堂精品视频| 日韩精品一区二| 色激情天天射综合网| 久久综合九色综合97婷婷| 99v久久综合狠狠综合久久| 日本亚洲天堂网| 亚洲欧美韩国综合色| 欧美一级一级性生活免费录像| 成人精品电影在线观看| 日本网站在线观看一区二区三区| 国产老女人精品毛片久久| 欧美日韩成人一区| 99久久免费精品高清特色大片| 日本aⅴ亚洲精品中文乱码| 亚洲男同1069视频| 国产肉丝袜一区二区| 欧美一区二区三区四区在线观看| 9久草视频在线视频精品| 精品一区二区av| 丝袜美腿高跟呻吟高潮一区| 日韩美女精品在线| 久久精品欧美日韩精品| 欧美久久久久久久久| www.综合网.com| 国产一区二区三区精品视频| 日韩av电影天堂| 亚洲综合色在线| 亚洲精品国产a久久久久久 | 日韩理论片网站| 国产毛片精品一区| 91麻豆免费看片| 一区二区三区国产精华| 国产精品成人免费| 中文字幕高清不卡| 国产情人综合久久777777| www日韩大片| 精品剧情在线观看| 欧美刺激午夜性久久久久久久| 337p亚洲精品色噜噜噜| 2024国产精品| 国产九九视频一区二区三区| 久久精品二区亚洲w码| 日本伊人精品一区二区三区观看方式| 一区二区三国产精华液| 亚洲综合999| 亚洲电影第三页| 亚洲成精国产精品女| 无码av免费一区二区三区试看 | 久久色.com| 国产亚洲自拍一区| 久久久三级国产网站| 久久精品一区二区三区不卡| 欧美国产一区二区| 777精品伊人久久久久大香线蕉| 国产xxx精品视频大全| 精品一区中文字幕| 国产精品一区在线观看你懂的| 国产精品一级片| www.日本不卡| 93久久精品日日躁夜夜躁欧美| 91原创在线视频| 在线观看av一区| 日韩精品中文字幕在线不卡尤物 | 国产成人免费在线视频| 国产一区二区精品久久91| 国产在线精品免费av| 国产.精品.日韩.另类.中文.在线.播放| 国产suv精品一区二区6| 成人免费毛片嘿嘿连载视频| 色噜噜狠狠成人网p站| 91精品国产综合久久福利软件 | 色婷婷av一区| 91精品国产黑色紧身裤美女| 国产亚洲精品bt天堂精选| 亚洲欧美日韩电影| 成人免费视频国产在线观看| 成人免费观看视频| 欧美亚洲国产bt| 欧美亚洲免费在线一区| 精品乱人伦一区二区三区| 亚洲国产精华液网站w| 亚洲国产美国国产综合一区二区| 奇米777欧美一区二区| 日韩欧美国产小视频| 欧美国产乱子伦 | 成人免费看黄yyy456| 欧美久久久久久久久久| 久久精品男人天堂av| 亚洲成av人**亚洲成av**| 国产+成+人+亚洲欧洲自线| 欧美丰满一区二区免费视频| 国产欧美va欧美不卡在线| 亚洲一区二区三区四区中文字幕| 另类人妖一区二区av| 色婷婷国产精品综合在线观看| 精品奇米国产一区二区三区| 一区二区三区精品视频| 国产成人午夜片在线观看高清观看| 91无套直看片红桃| 欧美卡1卡2卡| 亚洲欧美偷拍另类a∨色屁股| 久久成人羞羞网站| 91国在线观看| 国产精品久久久久三级| 久久er精品视频| 欧美男男青年gay1069videost| 国产精品美女久久久久aⅴ国产馆 国产精品美女久久久久av爽李琼 国产精品美女久久久久高潮 | 美女国产一区二区| 日本乱码高清不卡字幕| 国产精品五月天| 国产乱码字幕精品高清av| 欧美一区二区三区系列电影| 国产精品久久毛片| 蜜臀va亚洲va欧美va天堂| 欧美日韩一级大片网址| 亚洲美女淫视频| 成人福利视频在线| 国产精品区一区二区三区| 韩国理伦片一区二区三区在线播放| 欧美日韩一区二区三区视频| 最新国产成人在线观看| 粉嫩一区二区三区性色av| 欧美精品一区二区三区蜜桃视频 | 国产欧美一区二区在线观看| 欧美色手机在线观看| 亚洲精品国产无套在线观| 国产精品一级二级三级|