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

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? unit_public_1.pas

?? delphi開發(fā)的中國移動大客戶管理系統(tǒng),后臺數(shù)據(jù)庫為oracle
?? PAS
?? 第 1 頁 / 共 5 頁
字號:
  Result.Clear;
  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.Add(inet_ntoa(pptr^[I]^));
    Inc(I);
  end;
  WSACleanup;
end;

function GetLastIP:string;
//獲取本機(jī)動態(tài)IP地址,一般使用于撥號上網(wǎng), arhtur by zengzc 2001.11
var
  WSAData:TWSAData;
  HostName:array[0..MAX_COMPUTERNAME_LENGTH] of Char;
  HostEnt:PHostEnt;
  LastIP:PInAddr;
  IPList:^PInAddr; 
begin
  result:='';
  if 0=WSAStartup(MAKEWORD(1,1), WSAData) then
  try
    if 0=gethostname(HostName, MAX_COMPUTERNAME_LENGTH+1) then
    begin
      HostEnt:=gethostbyname(HostName);
      if HostEnt<>nil then
      begin
        IPList:=Pointer(HostEnt^.h_addr_list);
        repeat
          LastIP:=IPList^;
          INC(IPList);
        until IPList^=nil;
        if LastIP<>nil then
          result:=inet_ntoa(LastIP^);
      end;
    end;
  finally
    WSACleanup;
  end; 
end;

function GF_UserEnter_Log(EntryModule : String ;  //操作人員登陸時候的模塊名稱
                          EntryEvt    : String ;  //操作人員登陸時候操作的模塊的某一個按鈕或者事件的名稱
                          Login_Seq   : Integer ;  //登陸唯一序列號,如果傳入?yún)?shù)為-1,則登入;否則為退出登陸
                          Wk_no       : String;   //操作人員登陸工號
                          MEMO:String              //具體的操作事件的說明
                          ):Integer;              //系統(tǒng)返回登陸序列號(登陸成功返回新的序列號>0 , 退出登陸成功返回0),失敗返回 -9
{
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@     設(shè)計時間      : 2002.1.21                                                 @
@     初始設(shè)計者    : 曾忠誠                                                    @
@     模塊名稱      :                                                           @
@     模塊功能      : 本模塊主要用于把大客戶系統(tǒng)的操作歷史寫入數(shù)據(jù)庫            @
@     輸入          :操作模塊,觸發(fā)事件,登陸序列號,操作工號,操作說明        @
@     注意          :                                                          @
@      對于多窗體的(MDI)的模式中需要注意的是當(dāng)用戶還沒有退出該窗體的時候,    @
@      不要重復(fù)登記該操作歷史,需要把該窗體提到最前面顯示出來,不進(jìn)行操作登記   @
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
}
Var
   QueryUserLogin  : TQuery ;   //用于生成序列號
   Query_oper_Log  : TQuery ;
   New_Seq         : Integer;
   Str             : String ;
   Bgn_time: string;//開始時間
begin
   QueryUserLogin := TQuery.Create(Application);
   Query_oper_Log := TQuery.Create(Application);
   QueryUserLogin.DatabaseName := 'db_vip';
   Query_oper_Log.DatabaseName := 'db_vip';
   If Login_Seq=-1 Then        //新增加一個操作歷史記錄
     Begin
       try
         With QueryUserLogin do
           Begin
             Close;
             SQL.Clear;
             SQL.Add('Select '+MP_OperateSeq+'.NextVal New_Seq From Dual');
             Open;
           End;
         New_Seq := QueryUserLogin.FieldByName('New_Seq').AsInteger;
         With QueryUserLogin do
           Begin
             Close;
             SQL.Clear;
             SQL.Add('select to_char(sysdate,''yyyy-mm-dd hh24:mm:ss'') bgn_time  from dual');
             Open;
           End;
         Bgn_Time:=QueryUserLogin.FieldByName('bgn_time').Asstring;
          With Query_oper_Log do
           Begin
             Close;
             Sql.Clear;
             Sql.Add('insert into '+MP_OperateTable+' (LOG_ID,MODU_NAME,LOG_EVENT,BGN_TIME,Wk_no,LOG_IP,LOG_MEMO)');
             Sql.Add(' Values('+inttostr(New_Seq)+','''+EntryModule+''','''+EntryEvt+''', ');
             Sql.Add(' '''+Bgn_Time+''','''+Wk_no+''','''+getIPs[0]+''','''+MEMO+''' )');
             Execsql;
           End;
           //不知道為什么關(guān)閉后在數(shù)據(jù)庫中無法存入,只有等到關(guān)閉窗口后才能存入
         Result  := New_Seq;     //登入登記成功 返回成功的代碼
         GF_SaveAndGetSeq(EntryModule+EntryEvt,New_Seq);  //把登陸時候的ID號進(jìn)行保存。
        except
          Result := -9 ;  //登入登記失敗
        End;
      End
   Else
      Begin
        try
         Login_Seq := GF_SaveAndGetSeq(EntryModule+EntryEvt,-1);  //請求得到某一個模塊的退出時間修改的id號
         With QueryUserLogin Do
           Begin
             Close;
             SQL.Clear;
             SQL.Add('Update '+MP_OperateTable+' set END_TIME=to_char(sysdate,''yyyy-mm-dd hh24:mm:ss'') where LOG_ID=:update_id');
             ParamByName('update_id').AsInteger := Login_Seq;
             Prepare;
             ExecSQL;
           End;
         Result := Login_Seq ;  //退出登陸登記成功,返回傳入的參數(shù)值
        except
         Result := -9 ;  //退出登陸登記失敗
        End;
      End;
   QueryUserLogin.Free;
   Query_oper_Log.Free;
end;

function GF_SaveAndGetSeq(Form_Name : String ; NewSeq : Integer ) : integer ;
  {輸入:  窗體的名稱,獲取歷史記錄登記的序列號
   處理: 對于新的序列號(NewSeq<>-1)寫入注冊表中\(zhòng)HKEY_LOCAL_MACHINE\SOFTWARE\Doone\VipSystem中,
          對于請求已經(jīng)進(jìn)行保存的需要得到序列號的時候(NewSeq=-1)根據(jù)FormName(窗體名稱)找到相對應(yīng)的登記序列號
   結(jié)果: 對于新的序列號的話,返回0 :保存成功  -9 : 返回失敗
          對于請求得到序列號的時候,返回 序列號(>0): 請求成功 -9:請求失敗
  }
var
  RegVar : TRegistry ;

begin

  RegVar := TRegistry.Create;
  RegVar.RootKey :=  HKEY_LOCAL_MACHINE ;
  RegVar.OpenKey(RegName,True);
  //把需要注冊的內(nèi)容寫入到指定的注冊表中,不存在的時候自動創(chuàng)建

  if NewSeq<>-1 then  //寫入信息
    try
     RegVar.WriteInteger(Form_Name,NewSeq);
     Result := 0;  //寫入成功
    except
     Result := -9; //寫入失敗
    End
  else  //讀出信息
    try
      Result := RegVar.ReadInteger(Form_Name);
    except
      Result := -9;  //讀取失敗
    End;
  RegVar.Free;
  
end;

Function CpuType : TCpuType; ASSEMBLER; 
//@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
//@                                                @
//@        用匯編來獲取CPU的型號                   @
//@     arthur by zengzc 2001.11.19                @
//@                                                @
//@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
Asm
   // 8086 CPU 檢測
   push ds
   pushf
   pop bx
   mov ax, 0fffh
   and ax, bx
   push ax
   popf
   pushf
   pop ax
   and ax, 0f000h
   cmp ax, 0f000h
   mov ax, cpu8086
   je @@End_CpuType
   // 80286 CPU檢測
   or bx, 0f000h
   push bx
   popf
   pushf
   pop ax
   and ax, 0f000h
   mov ax, cpu286
   jz @@End_CpuType
   // 386 CPU 檢測
   db 66h
   pushf
   db 66h
   pop ax
   db 66h
   mov cx, ax
   db 66h
   xor ax, 0h
   dw 0004h
   db 66h
   push ax
   db 66h
   popf
   db 66h
   pushf
   db 66h
   pop ax
   db 66h
   xor ax, cx
   mov ax, cpu386
   je @@End_CpuType
   // 486 CPU 檢測
   db 66h
   pushf
   db 66h
   pop ax
   db 66h
   mov cx, ax
   db 66h
   xor ax, 0h
   dw 0020h
   db 66h
   push ax
   db 66h
   popf
   db 66h
   pushf
   db 66h
   pop ax
   db 66h
   xor ax, cx
   mov ax, cpu486
   je @@End_CpuType
   // Pentium CPU 檢測
   db 66h
   mov ax, 1
   dw 0
   db 66h
   db 0Fh
   db 0a2h
   db 66h
   and ax, 0F00H
   dw 0
   db 66h
   shr ax, 8
   sub ax, 1
   @@End_CpuType:
   pop ds 

End; 

function GetWindowVersion : String;
//@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
//@                                                @
//@        獲取Windows系統(tǒng)版本號                   @
//@     arthur by zengzc 2001.11.19                @
//@                                                @
//@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
var
  VersionInfo: TOSVersionInfo;
begin
  VersionInfo.dwOSVersionInfoSize := Sizeof(TOSVersionInfo);
  GetVersionEx(VersionInfo);
  case VersionInfo.dwPlatformID of
   VER_PLATFORM_WIN32S:          Result := 'WIN32S ';
   VER_PLATFORM_WIN32_WINDOWS:   Result := 'WIN9X ';
   VER_PLATFORM_WIN32_NT:        Result := 'WINNT ';
  end;    //獲取到windows的版本號

  Result := Result + IntToStr(VersionInfo.dwMajorVersion)+'.'+IntToStr(VersionInfo.dwMinorVersion) ;    
  Result := Result + ' Build '+IntToStr(VersionInfo.dwBuildNumber)+'(內(nèi)部版本號)';
end;


function GetPhysicalMemory : String;
//@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
//@                                                @
//@        獲取系統(tǒng)的內(nèi)存的容量                    @
//@     arthur by zengzc 2001.11.19                @
//@                                                @
//@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
var
  MemoryStatus: TMemoryStatus;
begin
  MemoryStatus.dwLength := sizeof(MemoryStatus);
  GlobalMemoryStatus(MemoryStatus);
  Result := FloatToStr(MemoryStatus.dwTotalPhys/1024/1024)+' M';
end;



Procedure Obtain_A_Chart(
             Aparent:Twincontrol;
             Achart:TcustomAxisPanel;
             ATable:Tdataset;
             X,Y,ATitle:string;
             Aflag:integer=0);
var
 OldTimeSepa : Char;
begin
  case Aflag of
    0:
    begin
      with Tlineseries.Create(Aparent) do  //曲線圖
      begin
        ParentChart:=Achart;

        OldTimeSepa := TimeSeparator;
        TimeSeparator := '_';
        name:='series'+TimeToStr(time);
        TimeSeparator := OldTimeSepa ;

        title:=Atitle;
        DataSource:=Atable;
        XLabelsSource:=x;
        YValues.ValueSource:=y;
        CheckDatasource;
      end;
    end;

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美日韩国产中文| 欧美日韩亚州综合| 日韩专区欧美专区| 亚洲国产成人午夜在线一区| 欧美精品粉嫩高潮一区二区| 国产成人午夜精品影院观看视频 | 久久精品国产亚洲高清剧情介绍 | 成人av午夜电影| 婷婷中文字幕一区三区| 中日韩av电影| 精品国产乱码久久久久久夜甘婷婷 | 2欧美一区二区三区在线观看视频| 91啦中文在线观看| 国产不卡一区视频| 麻豆91在线看| 日韩高清一级片| 亚洲综合区在线| 国产精品国模大尺度视频| 日韩精品一区二区三区在线播放| 欧美日韩国产高清一区二区三区 | 欧美日韩国产小视频| 99久久精品国产麻豆演员表| 国产真实乱对白精彩久久| 久久久国产综合精品女国产盗摄| 五月婷婷激情综合| 91精品国产麻豆国产自产在线| 免费xxxx性欧美18vr| 亚洲激情第一区| 欧美激情综合五月色丁香小说| 精品国产乱码久久久久久夜甘婷婷| 欧美日韩午夜在线| 欧美在线不卡一区| 色欧美乱欧美15图片| 99精品视频一区二区三区| 国产一二三精品| 久久精品国产澳门| 美国三级日本三级久久99| 日韩有码一区二区三区| 午夜私人影院久久久久| 午夜精品久久久久久久久久久| 亚洲男同性恋视频| 一区二区三区在线免费观看| 一区二区在线观看免费| 一区二区高清在线| 亚洲国产成人精品视频| 亚洲综合男人的天堂| 亚洲小说欧美激情另类| 日韩精品电影在线观看| 美女性感视频久久| 国产一区二区不卡| 成人黄色电影在线| 99re热这里只有精品视频| 一本到不卡免费一区二区| 91精品福利视频| 精品婷婷伊人一区三区三| 91超碰这里只有精品国产| 日韩写真欧美这视频| 欧美成人精品二区三区99精品| 久久午夜电影网| 中国av一区二区三区| 日韩伦理电影网| 午夜欧美视频在线观看| 美女高潮久久久| 国产成人免费9x9x人网站视频| www.欧美.com| 欧美精品一二三| 精品国产一区a| 国产精品护士白丝一区av| 亚洲午夜av在线| 国产在线国偷精品产拍免费yy| www.久久久久久久久| 欧美日韩国产精品成人| 久久嫩草精品久久久精品一| 中文字幕亚洲一区二区va在线| 亚洲一区二区三区美女| 精品一区二区在线观看| 成人午夜碰碰视频| 欧美日韩国产综合久久| 久久久精品免费观看| 一区二区三区四区av| 韩国av一区二区三区在线观看| 99久久综合色| 日韩一级片在线观看| 国产精品盗摄一区二区三区| 天堂蜜桃一区二区三区| 国产精一品亚洲二区在线视频| 欧美色网站导航| 国产午夜精品久久久久久久 | 91精品婷婷国产综合久久性色| 国产午夜精品理论片a级大结局| 亚洲一区二区综合| 国产成人综合网站| 欧美日韩一级视频| 国产精品美女视频| 美女视频黄频大全不卡视频在线播放| 丁香激情综合五月| 日韩写真欧美这视频| 亚洲精品免费在线播放| 国产精品一区二区黑丝| 欧美日韩国产天堂| 中文字幕中文在线不卡住| 国产在线一区二区| 欧美精品一二三区| 一区二区免费看| av在线不卡网| 久久精品无码一区二区三区| 天天综合网天天综合色| 99久久伊人网影院| 久久精品亚洲麻豆av一区二区 | 日韩欧美激情在线| 一区二区在线观看av| 国产精品99久久久久久久vr| 欧美日韩久久一区二区| 亚洲欧美在线视频观看| 国产一区二区三区免费| 日韩视频国产视频| 婷婷久久综合九色综合绿巨人| av在线不卡免费看| 中文字幕欧美三区| 国产一区久久久| 欧美sm美女调教| 欧美aⅴ一区二区三区视频| 欧美日韩三级视频| 亚洲最新视频在线播放| 成人激情免费电影网址| 国产视频一区在线播放| 黄色精品一二区| 欧美mv和日韩mv的网站| 美国av一区二区| 日韩欧美国产麻豆| 日本最新不卡在线| 91精品国产福利在线观看| 亚洲成人综合网站| 欧美日韩在线播放一区| 亚洲五月六月丁香激情| 欧美午夜电影在线播放| 亚洲影视在线观看| 在线观看网站黄不卡| 亚洲线精品一区二区三区 | 337p亚洲精品色噜噜狠狠| 亚洲成人黄色影院| 欧美高清性hdvideosex| 天堂影院一区二区| 日韩精品一区二区三区三区免费| 美脚の诱脚舐め脚责91| 久久亚洲欧美国产精品乐播| 国产福利精品导航| 中文字幕欧美激情| 93久久精品日日躁夜夜躁欧美| 国产精品国产馆在线真实露脸| 99久久婷婷国产精品综合| 一区二区三区自拍| 欧美日韩久久一区二区| 麻豆91精品91久久久的内涵| 精品国产乱码久久久久久久久| 国产一区欧美一区| 中文字幕亚洲区| 欧美无人高清视频在线观看| 日韩高清电影一区| 国产亚洲欧洲一区高清在线观看| 国产永久精品大片wwwapp | 国产精品人人做人人爽人人添| 成人黄色网址在线观看| 一卡二卡欧美日韩| 欧美日韩免费观看一区二区三区| 日韩精品电影一区亚洲| 久久久精品综合| 日本乱码高清不卡字幕| 男女性色大片免费观看一区二区 | 欧美二区在线观看| 国产iv一区二区三区| 亚洲黄色小说网站| 精品国产乱码久久久久久老虎| www.成人在线| 蜜臀av性久久久久蜜臀av麻豆| 欧美激情自拍偷拍| 欧美日本视频在线| 国产91精品精华液一区二区三区 | 久久97超碰国产精品超碰| 国产天堂亚洲国产碰碰| 在线亚洲人成电影网站色www| 轻轻草成人在线| 亚洲丝袜制服诱惑| 日韩手机在线导航| 丰满亚洲少妇av| 亚洲一区电影777| 成人精品免费视频| 日本免费新一区视频| 国产欧美日韩麻豆91| 欧美日韩国产大片| 国产一区二区0| 亚洲一区二区在线播放相泽 | 亚洲激情一二三区| 日韩午夜中文字幕| caoporn国产精品| 精品一区二区在线观看| 亚洲日本乱码在线观看| 欧美一卡二卡在线观看| 色综合天天在线| 久久精品久久精品|