返回列表 回复 发帖

AU3-一卡通辅助登记工具

  1. #cs ----------------------------------------------------------------------------

  2. AutoIt Version: 3.1.1.0
  3. Author:         myName

  4. Script Function:
  5. Template AutoIt script.

  6. #ce ----------------------------------------------------------------------------

  7. ; Script Start - Add your code below here

  8. #NoTrayIcon
  9. #include <GuiConstants.au3>
  10. #include <Date.au3>
  11. Dim $inifile_path=@ScriptDir&"\848570.ini",$yktmdb,$ykt_ini
  12. $ykt_wdl="未登陆主机"
  13. $t="*"
  14. $yktmdb = IniRead($inifile_path,"初始纪录","一卡通安装路径","")
  15. $ykt_ini = IniRead($inifile_path,"初始纪录","初始化","")
  16. $dbname="848570.mdb"
  17. $tblname1="newsfz"
  18. $tblname2="sfzsm"
  19. $tblname3="yxjl"
  20. $fldname1="new_xm"
  21. $fldname2="new_hm"
  22. $fldname3="id"
  23. $fldname4="seatNo"
  24. $jl="0"
  25. $jls2="1"
  26. If Not FileExists($inifile_path) Then
  27. MsgBox(64,"错误信息","当前目录下未发现标准数据库配置文件,确定后开始自动创建")
  28. FileInstall("848570.ini", @ScriptDir&"\848570.ini")
  29. EndIf
  30. If Not FileExists($yktmdb) Then
  31. $yktmdb = FileOpenDialog("查找一卡通数据库文件",@ScriptDir,"配置文件(*.mdb)",1,"bardb.MDB")
  32. IniWrite($inifile_path, "初始纪录", "一卡通安装路径", $yktmdb)
  33. EndIf
  34. If $ykt_ini="0" Then
  35. MsgBox(65,"错误信息","程序未初始化,请保证一卡通上网人员纪录中未登陆主机数目为一(并且是临时卡)!确定后自动初始化!")
  36. $addfld = ObjCreate("ADODB.Connection")
  37. $RS =ObjCreate("ADODB.Recordset")
  38. $addfld.Open("Provider=Microsoft.Jet.OLEDB.4.0; Data Source=" & $yktmdb)
  39. $RS.ActiveConnection = $addfld
  40. $sql="Select "&$t&" into newseat from seat where ip = '未登陆主机'"
  41. $rs.open($sql)
  42. $addfld.Close
  43. IniWrite($inifile_path,"初始纪录","初始化","1")
  44. EndIf
  45. #region GUI
  46. GuiCreate("一卡通辅助登陆程序 ", 255, 255);;;创建窗口标题 宽度及高度
  47. GuiCtrlCreateLabel("注:本程序为一卡通辅助,请勿非法用途", 10, 10)
  48. GUICtrlCreateGroup ("基本操作", 10, 25, 235, 120)
  49. GUICtrlCreateLabel("请输入姓名:", 20, 45)
  50. GUICtrlCreateLabel("请输入身份证号码:", 20, 90)
  51. $Input1 = GUICtrlCreateInput("", 20, 65, 129, 21)
  52. GUICtrlSetLimit ( -1, 10)   ;;;限制最多输入十位
  53. $Input2 = GUICtrlCreateInput("",20,105,129,21)
  54. GUICtrlSetLimit ( -1, 18)  ;;;限制最多输入十八位
  55. $Button1 = GUICtrlCreateButton("写身份证号码", 156,50, 78, 21)
  56. $Button2 = GUICtrlCreateButton("有身份证号码", 156,80, 78, 21)
  57. $Button3 = GUICtrlCreateButton("无身份证号码", 156,110, 78, 21)
  58. GUICtrlCreateGroup ("",-99,-99,1,1)
  59. GUICtrlCreateGroup ("生成临时卡", 10, 150, 235, 80)
  60. GuiCtrlCreateLabel("请在此输入押金数目", 20,170)
  61. $input4 = GUICtrlCreateInput("10", 140, 165, 40, 21)
  62. GUICtrlSetColor($input4,0xff0000)    ; 红色
  63. $Button4 = GUICtrlCreateButton("生成临时卡上机", 20,195, 100, 21)
  64. GUICtrlCreateGroup ("",-99,-99,1,1)
  65. $input3 = GUICtrlCreateList('',130,198,105,25,$ES_AUTOVSCROLL+$WS_VSCROLL)
  66. GuiCtrlCreateLabel("2007年1月2日      BY:~无泪悟爱iNg", 20, 235)
  67. GUISetState ()
  68. While 1
  69.    $Msg = GuiGetMsg()
  70.    Select
  71. Case $msg = $GUI_EVENT_CLOSE
  72.   Exit
  73.     Case $msg = $button1          ;;;点"写身份证"按钮则
  74.      $idINPUT1 = GUICTRLREAD($INPUT1)   ;;读取第一个输入框的内容,赋到$idINPUT1
  75.               $idINPUT2 = GUICTRLREAD($INPUT2)
  76.       xiesfz_mdb()
  77. Case $msg = $button2
  78.               $idINPUT1 = GUICTRLREAD($INPUT1)   ;;读取第一个输入框的内容,赋到$idINPUT1
  79.               $idINPUT2 = GUICTRLREAD($INPUT2)
  80.      WinActivate ("通卡上网登记","")
  81.               ControlSetText("通卡上网登记","","ThunderRT6TextBox10",$idINPUT1)
  82.               ControlSetText("通卡上网登记","","ThunderRT6TextBox9",$idINPUT2)
  83.               xiesfz_mdb()
  84.     Case $msg =$button3
  85.      $addfld = ObjCreate("ADODB.Connection")
  86.               $RS =ObjCreate("ADODB.Recordset")
  87.               $addfld.Open("Provider=Microsoft.Jet.OLEDB.4.0;Data Source="&@ScriptDir&"\848570.mdb")
  88.      $RS.ActiveConnection = $addfld
  89.      $RS.Open   ("Select "&$T & " From " & $tblname3 )
  90.      $yxjl = $RS.Fields(0).Value
  91.      $sfz_yxjl = $yxjl + 1
  92.      $addfld.Close
  93.               $addfld.Open("Provider=Microsoft.Jet.OLEDB.4.0;Data Source="&@ScriptDir&"\848570.mdb")
  94.      $RS.ActiveConnection = $addfld
  95.      $RS.Open   ("Select "&$T & " From " & $tblname2 )
  96.      $id_jl = $RS.Fields(0).Value
  97.      $sfz_sm = $id_jl + 1
  98.      $addfld.Close
  99.   If $sfz_yxjl = $sfz_sm Then
  100.               $addfld = ObjCreate("ADODB.Connection")
  101.               $RS =ObjCreate("ADODB.Recordset")
  102.               $addfld.Open("Provider=Microsoft.Jet.OLEDB.4.0;Data Source="&@ScriptDir&"\848570.mdb")
  103.     $sql6='UPDATE yxjl SET yxjl = 0'
  104.      $addfld.Execute($sql6)
  105.      $addfld.Close     
  106.      $addfld.Open("Provider=Microsoft.Jet.OLEDB.4.0;Data Source="&@ScriptDir&"\848570.mdb")
  107.      $RS.ActiveConnection = $addfld
  108.      $ssql6='Select new_xm,new_hm from newsfz where id = "'&$jls2&'"'
  109.         $RS.Open($ssql6)
  110.         $ykt_lsxm = $RS.Fields(0).Value
  111.         $ykt_lssfz= $RS.Fields(1).Value
  112.         $sql4='UPDATE yxjl SET yxjl = "'&$jls2&'"'
  113.         $addfld.Execute($sql4)
  114.               $addfld.Close
  115.      WinActivate ("通卡上网登记","")
  116.               ControlSetText("通卡上网登记","","ThunderRT6TextBox10",$ykt_lsxm)
  117.               ControlSetText("通卡上网登记","","ThunderRT6TextBox9",$ykt_lssfz)
  118.     EndIf
  119.   If $sfz_yxjl < $sfz_sm Then
  120.               $addfld = ObjCreate("ADODB.Connection")
  121.               $RS =ObjCreate("ADODB.Recordset")
  122.      $addfld.Open("Provider=Microsoft.Jet.OLEDB.4.0;Data Source="&@ScriptDir&"\848570.mdb")
  123.      $RS.ActiveConnection = $addfld
  124.      $sql6='Select new_xm,new_hm from newsfz where id = "'&$sfz_yxjl&'"'
  125.         $RS.Open($sql6)
  126.         $ykt_lsxm = $RS.Fields(0).Value
  127.         $ykt_lssfz= $RS.Fields(1).Value
  128.         $sql4='UPDATE yxjl SET yxjl = "'&$sfz_yxjl&'"'
  129.         $addfld.Execute($sql4)
  130.               $addfld.Close
  131.      WinActivate ("通卡上网登记","")
  132.               ControlSetText("通卡上网登记","","ThunderRT6TextBox10",$ykt_lsxm)
  133.               ControlSetText("通卡上网登记","","ThunderRT6TextBox9",$ykt_lssfz)
  134.     EndIf
  135.     Case $msg = $button4
  136.      GUICtrlSetData ( $input3, "" )
  137.      $ykt_lsk1=3206*100000000
  138.               $ykt_lsk2=@MDAY*1000000
  139.               $ykt_lsk3=@HOUR*10000
  140.               $ykt_lsk4=@MIN*100+@SEC
  141.      $ykt_lsk5=@MON*100000000
  142.               $ykt_lsk=$ykt_lsk1+$ykt_lsk2+$ykt_lsk3+$ykt_lsk4
  143.      $ykt_time=$ykt_lsk5+$ykt_lsk2+$ykt_lsk3+$ykt_lsk4
  144.      $seat_no=(Random(1000000000,9999999999, 1) )
  145.      $idINPUT4 = GUICTRLREAD($INPUT4)
  146.      $ykt_monyls = $idINPUT4*2
  147.      $ykt_mony = $idINPUT4 - $ykt_monyls
  148.      $ykt_data=_Now()  
  149.      GUICtrlSetColor($input3,0xff0000)    ; 红色
  150.      GUICtrlSetFont ($input3,12)
  151.      GUICtrlSetData ( $input3, $ykt_lsk )
  152.      $addfld = ObjCreate("ADODB.Connection")
  153.               $RS =ObjCreate("ADODB.Recordset")
  154.               $addfld.Open("Provider=Microsoft.Jet.OLEDB.4.0;Data Source="&@ScriptDir&"\848570.mdb")
  155.      $RS.ActiveConnection = $addfld
  156.      $RS.Open   ("Select "&$T & " From " & $tblname3 )
  157.      $yxjl = $RS.Fields(0).Value
  158.      $sfz_yxjl = $yxjl + 1
  159.      $addfld.Close
  160.               $addfld.Open("Provider=Microsoft.Jet.OLEDB.4.0;Data Source="&@ScriptDir&"\848570.mdb")
  161.      $RS.ActiveConnection = $addfld
  162.      $RS.Open   ("Select "&$T & " From " & $tblname2 )
  163.      $id_jl = $RS.Fields(0).Value
  164.      $sfz_sm = $id_jl + 1
  165.      $addfld.Close
  166.   If $sfz_yxjl = $sfz_sm Then
  167.               $addfld = ObjCreate("ADODB.Connection")
  168.               $RS =ObjCreate("ADODB.Recordset")
  169.               $addfld.Open("Provider=Microsoft.Jet.OLEDB.4.0;Data Source="&@ScriptDir&"\848570.mdb")
  170.     $sql6='UPDATE yxjl SET yxjl = 0'
  171.      $addfld.Execute($sql6)
  172.      $addfld.Close     
  173.      $addfld.Open("Provider=Microsoft.Jet.OLEDB.4.0;Data Source="&@ScriptDir&"\848570.mdb")
  174.      $RS.ActiveConnection = $addfld
  175.      $ssql6='Select new_xm,new_hm from newsfz where id = "'&$jls2&'"'
  176.         $RS.Open($ssql6)
  177.         $ykt_lsxm = $RS.Fields(0).Value
  178.         $ykt_lssfz= $RS.Fields(1).Value
  179.         $sql4='UPDATE yxjl SET yxjl = "'&$jls2&'"'
  180.         $addfld.Execute($sql4)
  181.               $addfld.Close   
  182.          $addfld.Open("Provider=Microsoft.Jet.OLEDB.4.0;Data Source="&@ScriptDir&"\848570.mdb")
  183.         $sql5='Insert Into newlog Values ("'&$ykt_lsk&'","'& $ykt_time &'","'&$idINPUT4&'")'
  184.         $addfld.Execute($sql5)
  185.               $addfld.Close
  186.         xgykt_mdb()
  187.     EndIf
  188.   If $sfz_yxjl < $sfz_sm Then
  189.               $addfld = ObjCreate("ADODB.Connection")
  190.               $RS =ObjCreate("ADODB.Recordset")   
  191.      $addfld.Open("Provider=Microsoft.Jet.OLEDB.4.0;Data Source="&@ScriptDir&"\848570.mdb")
  192.      $RS.ActiveConnection = $addfld
  193.      $sql6='Select new_xm,new_hm from newsfz where id = "'&$sfz_yxjl&'"'
  194.         $RS.Open($sql6)
  195.         $ykt_lsxm = $RS.Fields(0).Value
  196.         $ykt_lssfz= $RS.Fields(1).Value
  197.         $sql4='UPDATE yxjl SET yxjl = "'&$sfz_yxjl&'"'
  198.         $addfld.Execute($sql4)
  199.               $addfld.Close
  200.         $addfld.Open("Provider=Microsoft.Jet.OLEDB.4.0;Data Source="&@ScriptDir&"\848570.mdb")
  201.         $sql5='Insert Into newlog Values ("'&$ykt_lsk&'","'& $ykt_time &'","'&$idINPUT4&'")'
  202.         $addfld.Execute($sql5)
  203.               $addfld.Close
  204.      xgykt_mdb()
  205.    EndIf
  206. EndSelect     
  207.   WEnd   
  208.      
  209.    
  210.    Func xgykt_mdb()  ;修改一卡通MDB中的NEWSEAT并复制修改好后的数据到SEAT
  211.               $addfld = ObjCreate("ADODB.Connection")
  212.               $RS =ObjCreate("ADODB.Recordset")     
  213.                  $addfld.Open("Provider=Microsoft.Jet.OLEDB.4.0; Data Source=" & $yktmdb)
  214.      $RS.ActiveConnection = $addfld
  215.      $yktls_sql1='UPDATE newseat SET seatno = "'&$seat_no&'"'
  216.                  $yktls_sql2='UPDATE newseat SET startTime = "'&$ykt_data&'"'
  217.                  $yktls_sql3='UPDATE newseat SET endTime = "'&$ykt_data&'"'
  218.                  $yktls_sql4='UPDATE newseat SET totalfare = "'&$ykt_mony&'"'
  219.      $yktls_sql5='UPDATE newseat SET prefare = "'&$idINPUT4&'"'
  220.                  $yktls_sql6='UPDATE newseat SET OnCardNo = "'&$seat_no&'"'
  221.                  $yktls_sql7='UPDATE newseat SET name = "'&$ykt_lsxm&'"'
  222.                  $yktls_sql8='UPDATE newseat SET LabelNub = "'&$ykt_lsk&'"'
  223.      $yktls_sql9='UPDATE newseat SET CertificateNo = "'&$ykt_lssfz&'"'
  224.         $addfld.Execute($yktls_sql1)     
  225.         $addfld.Execute($yktls_sql2)
  226.         $addfld.Execute($yktls_sql3)
  227.         $addfld.Execute($yktls_sql4)
  228.         $addfld.Execute($yktls_sql5)
  229.         $addfld.Execute($yktls_sql6)
  230.         $addfld.Execute($yktls_sql7)
  231.         $addfld.Execute($yktls_sql8)
  232.         $addfld.Execute($yktls_sql9)
  233.                  $yktls_sql10="insert into seat Select "&$t&" from newseat"
  234.         $addfld.Execute($yktls_sql10)
  235.               $addfld.Close
  236.      EndFunc
  237.        Func xiesfz_mdb() ;将输入的身份证写入数据库848570.MDB
  238.               $addfld = ObjCreate("ADODB.Connection")
  239.               $RS =ObjCreate("ADODB.Recordset")      
  240.               $addfld.Open("Provider=Microsoft.Jet.OLEDB.4.0;Data Source="&@ScriptDir&"\848570.mdb")
  241.      $RS.ActiveConnection = $addfld
  242.      $RS.Open   ("Select "&$T & " From " & $tblname2 )
  243.      $id_jl = $RS.Fields(0).Value
  244.      $sfz_sm = $id_jl + 1
  245.      $sql1='Insert Into newsfz Values ("'&$sfz_sm&'","'& $idINPUT1 &'","'& $idINPUT2 &'")'
  246.      $sql2='UPDATE sfzsm SET sfzsm = "'&$sfz_sm&'"'
  247.               $addfld.Execute($sql1)
  248.      $addfld.Execute($sql2)
  249.      $addfld.Close
  250.      EndFunc
复制代码
感谢Baidu,Google,Dreams8给我这次机会!
还要感谢我的爸爸妈妈!
HOHO
来个图看看


附件: 您所在的用户组无法下载或查看附件
感谢Baidu,Google,Dreams8给我这次机会!
还要感谢我的爸爸妈妈!
HOHO
楼主辛苦了!这么多代码,我什么时候才能学会呀!
AU3好太厉害了!
谢谢楼主。
这些代码是初学者的最好的老师。
顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶~谢谢楼主~
返回列表