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

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

?? ucomm.pas

?? 網吧管理系統 網吧IC卡計費管理系統源碼
?? PAS
字號:
unit UComm;

interface

uses
  Windows,SysUtils,forms,TLHELP32,Registry,ADODB,dialogs;

function padl(s:string;len:integer):string;

function myexecSql(S: string): boolean ;

function waitcom:boolean;

Function CardInfo(var ICtype, ICno: string; var ICmoney: Currency; var ICdate: Tdatetime): integer ;

function ServerDateTime: TDatetime ;

function SetPCSystemTime(tDati: TDateTime): Boolean;

function GetCurrRate: integer ;

Function GetMoney: integer ;

Function ChgTable: integer ;

function SetPrivilege (sPrivilegeName: string; bEnabled: Boolean) : Boolean;  // 關機

function WinExit (iFlags: integer) : Boolean;  // 關機

procedure DisaControl ;  // 禁用功能

procedure EnabControl ;   // 激活功能

function ReadSyspara: string ;

function ChgMoneyTimes(nport:integer;no,info:pchar):integer;
function ChkCard(nport:integer):integer;

VAR
   COMPORT:INTEGER;
   USED:BOOLEAN;

implementation

uses uthread, sys_global, Dlldef, fmain, ShowUser ;


function padl(s:string;len:integer):string;
begin
   result:=TRIM(s);
   while length(result)<len do
      result:='0'+result;
end;
function ChkCard(nport:integer):integer;
var
   i:integer;
begin
   for i:=1 to 3 do begin
      result:=checkcard(nport);
      if result in [0,3] then
         exit;
   end;
end;

function ChgMoneyTimes(nport:integer;no,info:pchar):integer;
var
   i:integer;
begin
   for i:=1 to 3 do begin
      result:=ChgMoney(nport,no,info);
      if result=0 then
         exit;
   end;
end;

function myexecSql(S: string): boolean ;
begin
  result := false ;
  f_main.Qry_tmp1.Close ;
  f_main.Qry_tmp1.SQL.Clear ;
  f_main.Qry_tmp1.SQL.Add(s) ;
  try
    f_main.Qry_tmp1.ExecSQL ;
  except
    exit ;
  end;
  result := true ;
end;

function waitcom:boolean;
var
  t1:dword;
begin
  t1:=gettickcount();
  while USED AND (gettickcount()-t1<=2000) do  // 若COM被人使用,等待二秒
     application.ProcessMessages;
  result:=NOT USED;
end;

// 讀卡上的信息
Function CardInfo(var ICtype, ICno: string; var ICmoney: Currency; var ICdate: Tdatetime): integer ;
var
  p: array[0..32] of char;
  ICmoney1, ICdate1: string ;

  i:integer;
begin
  for i:=1 to 3 do begin
     result := getno(m_com,p);
     if result=0 then
        break;
  end;
  if result<>0 then
     exit;
  ICtype := copy(p,1,1) ;
  ICno := copy(p,2,5) ;
  ICmoney1 := copy(p,7,4)+'.'+copy(p,11,2) ;   // 記時卡可以考慮去掉小數點
  ICdate1 := copy(p,13,2)+'-'+copy(p,15,2)+'-'+copy(p,17,2)+' '+copy(p,19,2)+':'+copy(p,21,2);

  try
     if ictype<>'5' then
        ICmoney := strTofloat(ICmoney1);
     ICdate := strTodateTime(ICdate1) ;
  except
     result:=1;
  end;
end;


function  ServerDateTime: TDatetime ;  // 取得服務器的時間, 如2002-05-26 17:23:55
begin
  if m_stop='9' then begin
     result:=now;
     exit;
  end;
  with f_main.Qry_tmp1 do
  begin
    close;
    sql.text := 'select getdate()' ;
    try
      open;
    except
      try
        open;
      except
        m_Stop := '9' ;
        if f_main.mythread<>nil then                    // 9=提示請檢查電腦網絡
           f_main.mythread.isStop := true ;   // 中止這個線程
        result := now ;
        exit;
      end;
    end;
    Result := fields[0].AsDateTime ;   // 產生當前的時間
    close;
  end;
end;

// 設定系統的時間
function SetPCSystemTime(tDati: TDateTime): Boolean;
var
   tSetDati: TDateTime;
   vDatiBias: Variant;
   tTZI: TTimeZoneInformation;
   tST: TSystemTime;
begin
   GetTimeZoneInformation(tTZI);
   vDatiBias := tTZI.Bias / 1440;
   tSetDati := tDati + vDatiBias;
   with tST do
   begin
     wYear := StrToInt(FormatDateTime('yyyy', tSetDati));
     wMonth := StrToInt(FormatDateTime('mm', tSetDati));
     wDay := StrToInt(FormatDateTime('dd', tSetDati));
     wHour := StrToInt(FormatDateTime('hh', tSetDati));
     wMinute := StrToInt(FormatDateTime('nn', tSetDati));
     wSecond := StrToInt(FormatDateTime('ss', tSetDati));
     wMilliseconds := 0;
   end;
   SetPCSystemTime := SetSystemTime(tST);
end;


function  GetCurrRate: integer ;
var
  CurRate: Currency ;  // 計算費率用的變量
begin
  m_Datetime := ServerDateTime ;   // 得到服務器當前的時間

  m_Date := formatdatetime('yyyy"-"mm"-"dd', m_Datetime) ; // 得到服務器當前的日期
  m_time := formatdatetime('hh":"nn":"ss', m_Datetime) ;
  m_time := copy(m_time,1,5);         // 得到服務器當前的時間

  CurRate := 0 ;
  result:=1;

  with f_main.Qry_tmp1 do
  begin
    close;
    sql.Clear ;
    sql.Text := 'select StartTime, PTK1, Jk1, Yk1  from Grate where Gid ='''+m_RTtype+''' order by StartTime' ;
    try
      open  ;
    except
      try
        open;
      except
        m_Stop:='9';
        exit;
      end;
    end;
    first ;

    if m_time < fieldbyname('StartTime').AsString then begin
       last ;
       if m_ICtype='1' then   // 普通卡
         CurRate := fieldbyname('PTK1').AsCurrency ;
       if m_ICtype='2' then   // 金卡
         CurRate := fieldbyname('JK1').AsCurrency ;
       if m_ICtype='3' then   // 銀卡
         CurRate := fieldbyname('YK1').AsCurrency ;
    end;

    while not eof do  begin
      if m_ICtype='1' then
        CurRate := fieldbyname('PTK1').AsCurrency ;
      if m_ICtype='2' then
        CurRate := fieldbyname('JK1').AsCurrency ;
      if m_ICtype='3' then
        CurRate := fieldbyname('YK1').AsCurrency ;
      next ;
      if m_time < fieldbyname('StartTime').AsString  then Break ;
    end;
    m_Rate := CurRate ;  //  產生當前的費率
  end;
  result := 0 ;
end;


Function GetMoney: integer ;  // 計算, 當前上機m_montime微秒 所需要的錢
var
  strTmp: string ;
  iPos: word ;
begin
  result:=1;

  if  (m_ICtype='1') or (m_ICtype='2') or (m_ICtype='3') then  // 普通,金,銀
  begin
    if GetCurrRate<>0 then  exit;

    m_ICmoney := m_ICmoney - m_Rate ;   // 新的剩余金額
  end;

  if  m_ICtype='5' then  // 規定會員卡上的金額為0
    m_ICmoney := 0;

  if (m_ICtype='4') then  // 計時卡
  begin
    m_Datetime := ServerDateTime ;     // 得到服務器當前的時間
    m_Date := formatdatetime('yyyy"-"mm"-"dd', m_Datetime) ; // 得到服務器當前的日期
    m_time := formatdatetime('hh":"nn":"ss', m_Datetime) ;
    m_time := copy(m_time,1,5);         // 得到服務器當前的時間
    m_ICmoney := m_ICmoney - (m_montime div 60000) ;  // 新的剩余時間
  end;

  if m_ICmoney <0 then m_ICmoney := 0 ;


  str(m_ICmoney:6:2,strTmp);


  strTmp := trim(strTmp) ;
  iPos := pos('.',strTmp) ;
  delete(strTmp,iPos,1);
  m_TimesMoney := padl(strTmp,6);  // 生成了將要寫到卡上的剩余金額

  result := 0 ;
end;


Function ChgTable: integer ;    // 將卡上的數據備份
begin
 result := 1 ;
   with f_main.adoquery1    //對消費明細進行剩余金額處理
        do
        begin
        close;
        sql.Clear ;
        sql.add('update addxfmx');
        sql.add('set xfmxsyje=:a1');
        sql.add('where xfmxrq01=:rq01');
        Parameters.parambyname('a1').value := m_icmoney ;
        Parameters.parambyname('rq01').value :=wqhdate  ;


          execsql;
        end;

  with f_main.Qry_tmp1 do
  begin
    close;
    sql.Clear ;
    sql.add('update Card');
    sql.add('set Ldatetime=:Ldatetime,');
    sql.add('SYSJ=:SYSJ, SYJE=:SYJE');
    sql.add('where ICno=:ICno');
    Parameters.parambyname('Ldatetime').value := m_DateTime ;
    Parameters.parambyname('ICno').value := strToint(m_ICno) ;
    if m_ICtype='4'
        then
         begin                              // 若為計時卡
         Parameters.parambyname('SYSJ').value := m_ICmoney ;  // 剩余時間
         Parameters.parambyname('SYJE').value := 0 ;
         end
        else
         begin
         Parameters.parambyname('SYSJ').value := 0 ;
         Parameters.parambyname('SYJE').value := m_ICmoney ;  // 剩余金額
         end;


    try
      execsql;

     except
      try
        execsql;
      except
        m_Stop := '9' ;  // 9=提示請檢查電腦網絡
        exit ;
      end;
    end;
    result := 0 ;
  end;
end;

function SetPrivilege (sPrivilegeName: string; bEnabled: Boolean) : Boolean;
var
  TPPrev,
  TP       : TTokenPrivileges;
  Token    : THandle;
  dwRetLen : DWORD;
begin
  result := False;

  OpenProcessToken(GetCurrentProcess, TOKEN_ADJUST_PRIVILEGES or TOKEN_QUERY, Token);

  TP.PrivilegeCount := 1;
  if LookupPrivilegeValue(nil, PChar (sPrivilegeName), TP.Privileges[0].LUID) then
  begin
    if bEnabled then
      TP.Privileges[0].Attributes := SE_PRIVILEGE_ENABLED
    else
      TP.Privileges[0].Attributes := 0;

    dwRetLen := 0;
    result := AdjustTokenPrivileges(Token, False, TP, SizeOf (TPPrev), TPPrev, dwRetLen) ;
  end;
  CloseHandle (Token)
end;


function WinExit (iFlags: integer) : Boolean;
begin
  result := true;

  if m_VerId = 1 then begin  // 如果是WINDOW98 則關機
     ExitWindowsEx(EWX_FORCE or EWX_SHUTDOWN,0);
     exit ;
  end;

  if SetPrivilege ('SeShutdownPrivilege', true) then
  begin
    if (not ExitWindowsEx(iFlags, 0)) then  //  對WINDOW NT 關機
    begin
      result := False
    end;
    SetPrivilege ('SeShutdownPrivilege', False)
  end
  else
  begin
    result := False
  end
end;

procedure DisaControl ;
var
  RegTmp: TRegistry ;
  str: string ;
  str1, str2: string ;
begin
  str := ExtractFilePath(application.ExeName);
  if str[length(str)] <> '\' then str := str + '\' ;
  str1 := str+'Explorer.exe';    // 引導程序
  str2 := str+'Internet.exe' ;   // 計費程序

  RegTmp := TRegistry.Create ;
  with RegTmp do
  begin
    RootKey := HKEY_LOCAL_MACHINE ;
    OpenKey('\SoftWare\Microsoft\WindowS\CurrentVersion\RunServices',true);
    WriteString('AcpiBIOS', str1);  // 自動啟動引導程序
    CloseKey ;

    OpenKey('\SoftWare\Microsoft\WindowS\CurrentVersion\Run',true);
    WriteString('Acpi', str2);  // 自動啟動計費程序
    CloseKey ;

    OpenKey('\SoftWare\Microsoft\WindowS\CurrentVersion\Network\Real Mode Net',true);
//WQH      WriteInteger('AutoLogon',0);          // 自動登錄

    WriteInteger('AutoLogon',1);          // 自動登錄
    closekey ;

    RootKey := HKEY_CURRENT_USER ;
    OpenKey('\SoftWare\Microsoft\WindowS\CurrentVersion\Policies\System',true);
    WriteInteger('DisableRegistryTools',1);   // 禁止使用注冊表編輯器器
    closeKey ;

    OpenKey('\SoftWare\Microsoft\WindowS\CurrentVersion\Policies\Explorer',true);
    WriteInteger('NoRun',0);               // 激活運行菜單
//BjCat    WriteInteger('NoRun',1);               // 激活運行菜單
    closeKey ;

//    OpenKey('\SoftWare\Microsoft\WindowS\CurrentVersion\Policies\WinOldApp',true);
//    WriteInteger('Disabled',1);         // 禁止dos方式
//    WriteInteger('NoRealMode',1);       // 禁止重啟電腦并切換到dos方式
//    closeKey ;

    RootKey := HKEY_CLASSES_ROOT ;
    OpenKey('\CLSID\{21EC2020-3AEA-1069-A2DD-08002B30309D}\InProcServer32',true);
    writestring('','shell32.dll-');  //控制面板屏蔽

    CloseKey ;
  end;
  RegTmp.Free ;
end;


procedure EnabControl ;
var
  RegTmp: TRegistry ;
begin
  RegTmp := TRegistry.Create ;

  with RegTmp do
  begin
    RootKey := HKEY_CURRENT_USER ;
    OpenKey('\SoftWare\Microsoft\WindowS\CurrentVersion\Policies\Explorer',true);
    WriteInteger('NoRun',0);               // 激活運行菜單
    WriteInteger('NoDeskTop',0);           // 激活桌面
    CloseKey ;


    OpenKey('\SoftWare\Microsoft\WindowS\CurrentVersion\Policies\System',true);
    WriteInteger('NoDispCPL',0);                 // 激活活動面板的顯示屬性
    RegTmp.DeleteValue('DisableRegistryTools');  // 激活注冊表編輯器器
    closeKey ;
 {
    OpenKey('\SoftWare\Microsoft\WindowS\CurrentVersion\Policies\WinOldApp',true);
    WriteInteger('Disabled',0);         // 激活dos方式
    WriteInteger('NoRealMode',0);       // 激活重啟電腦并切換到dos方式
    closeKey ;
}
    RootKey := HKEY_CLASSES_ROOT ;
    OpenKey('\CLSID\{21EC2020-3AEA-1069-A2DD-08002B30309D}\InProcServer32',true);
    writestring('','shell32.dll');
    CloseKey ;
  end;
  RegTmp.Free ;
end;

// 網絡連接不通時,得到系統標識
function ReadSyspara: string ;
var
  RegTmp1: TRegistry ;
begin
  RegTmp1 := TRegistry.Create ;
  with RegTmp1 do
  begin
    RootKey := HKEY_LOCAL_MACHINE ;
    OpenKey('\Software\Adel\syspara',true);
    result := readString('SYSID');
    CloseKey ;
  end;
  RegTmp1.Free ;
end;

end.

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
激情五月婷婷综合| 日韩三级中文字幕| 亚洲视频电影在线| 亚洲码国产岛国毛片在线| 一个色在线综合| 亚洲一区自拍偷拍| 综合久久久久综合| 91官网在线免费观看| 欧美亚洲国产一区二区三区va | 久久国产视频网| 国产一区二区0| 韩日av一区二区| 国产精品一区二区三区网站| 成人毛片视频在线观看| 在线观看免费视频综合| 理论片日本一区| 卡一卡二国产精品| 精品国产一区二区三区久久久蜜月| 久久国产精品色| 精品国产3级a| 日韩在线观看一区二区| 91一区二区在线| 日韩女优av电影| 国产成人精品一区二区三区四区| 精品日韩99亚洲| 日韩久久一区二区| 粉嫩欧美一区二区三区高清影视 | 日韩精品一区二区三区蜜臀| 美女在线视频一区| 欧美日韩视频专区在线播放| 亚洲va天堂va国产va久| 欧美女孩性生活视频| 国产精品一区二区久激情瑜伽| 亚洲欧美成人一区二区三区| 日韩欧美视频在线| 99re在线视频这里只有精品| 美女视频一区在线观看| 国产精品夫妻自拍| 欧美不卡视频一区| 91国在线观看| 福利91精品一区二区三区| 亚洲一区二区三区小说| 久久精品欧美一区二区三区不卡| 在线日韩av片| 一级做a爱片久久| 国产91色综合久久免费分享| 日韩电影免费在线| 欧美大胆一级视频| 亚洲午夜影视影院在线观看| 欧美写真视频网站| 天天影视色香欲综合网老头| 欧美日本精品一区二区三区| 麻豆久久久久久| 国产调教视频一区| 欧美亚洲日本国产| 毛片不卡一区二区| 日韩一区二区三区视频| 香蕉av福利精品导航| 91久久久免费一区二区| 一道本成人在线| 亚洲精品中文在线| 亚洲欧美日韩国产综合| 日韩一卡二卡三卡国产欧美| 不卡av在线免费观看| 国产成人亚洲综合a∨猫咪| 看片网站欧美日韩| 国产精品久久久久9999吃药| 欧美老肥妇做.爰bbww| 五月激情丁香一区二区三区| 亚洲毛片av在线| 美女视频黄a大片欧美| 日韩国产欧美在线视频| 国产无人区一区二区三区| 97精品视频在线观看自产线路二 | 国产成人免费视频精品含羞草妖精 | 亚洲国产成人在线| 久久伊人中文字幕| 久久久精品中文字幕麻豆发布| 在线不卡中文字幕| 日韩一级免费观看| 欧美日韩亚洲丝袜制服| 91激情五月电影| 欧美在线制服丝袜| 欧洲一区二区三区免费视频| 在线观看一区日韩| 在线一区二区观看| 欧美日韩视频在线第一区 | 日韩欧美电影一二三| 在线一区二区视频| 国产一区二区三区电影在线观看| 一区二区三区在线高清| 国产精品国产成人国产三级| 久久在线免费观看| 久久亚洲综合色| 91精品婷婷国产综合久久性色 | 国产三级精品三级| 日本大香伊一区二区三区| aaa欧美色吧激情视频| 国产一区二区精品久久99| 丝袜美腿亚洲一区二区图片| 亚洲激情在线播放| 中文字幕综合网| 亚洲一级二级在线| 午夜亚洲国产au精品一区二区| 中文成人综合网| 在线观看网站黄不卡| 欧美日韩电影一区| 欧美一级免费大片| 国产午夜一区二区三区| 国产免费久久精品| 亚洲免费观看在线观看| 午夜日韩在线电影| 国产精品一区在线| 色美美综合视频| 在线播放中文字幕一区| 精品美女在线观看| 1区2区3区精品视频| 婷婷开心激情综合| 国产福利一区二区三区视频| 色婷婷综合久久久中文一区二区| 欧美肥妇毛茸茸| 日本一区二区三区免费乱视频| 亚洲日穴在线视频| 韩国三级在线一区| 99精品视频在线播放观看| 日韩一区二区高清| 亚洲视频一二三区| 蜜桃av一区二区在线观看 | 老司机免费视频一区二区三区| 成人app在线观看| 91精品免费观看| 欧美日韩在线精品一区二区三区激情 | 久久久久久久久久看片| 精品一区二区三区在线观看| 日韩一级精品视频在线观看| 日韩av不卡在线观看| 91精品国产色综合久久| 日日夜夜一区二区| 欧美精品电影在线播放| 日韩精品一级二级| 91精品国产综合久久久蜜臀粉嫩 | 成人欧美一区二区三区| 国产精品久久久久久亚洲毛片| 亚洲尤物在线视频观看| 欧美性videosxxxxx| 不卡av在线免费观看| 亚洲超碰97人人做人人爱| 日韩免费看的电影| 99精品久久只有精品| 久久精品国产第一区二区三区| 中文字幕巨乱亚洲| 欧美一区二区观看视频| 国产成+人+日韩+欧美+亚洲| 午夜精品国产更新| 中文成人av在线| 精品播放一区二区| 欧美色爱综合网| 色噜噜狠狠一区二区三区果冻| 毛片av中文字幕一区二区| 成人欧美一区二区三区| 国产日产精品一区| 日韩午夜电影av| 欧美肥胖老妇做爰| 精品国产3级a| 日韩欧美电影一二三| 日韩久久免费av| 日韩一区二区电影| 国产精品美女久久久久久久| 亚洲自拍偷拍欧美| 免费久久99精品国产| av一区二区不卡| 成人国产亚洲欧美成人综合网| 国产成人精品亚洲日本在线桃色| 日韩av电影天堂| 久久午夜老司机| 日韩一区二区在线免费观看| 亚洲欧美乱综合| 欧美日产国产精品| 亚洲主播在线播放| 国产欧美一区二区精品性色| 精东粉嫩av免费一区二区三区| 欧美一区二区精品| 成人av资源在线观看| 亚洲一区二区三区三| 精品国产一区二区三区av性色| 91丨九色丨国产丨porny| 亚洲国产综合在线| 久久久久久久久久看片| 欧美午夜精品理论片a级按摩| 日韩精品欧美精品| 午夜精品福利在线| heyzo一本久久综合| 欧美日韩综合色| 久久新电视剧免费观看| 自拍av一区二区三区| 青青草伊人久久| 成人97人人超碰人人99| 欧美欧美欧美欧美| 亚洲靠逼com| 亚洲高清不卡在线|