AU3-一卡通辅助登记工具
[code]#cs ----------------------------------------------------------------------------AutoIt Version: 3.1.1.0
Author: myName
Script Function:
Template AutoIt script.
#ce ----------------------------------------------------------------------------
; Script Start - Add your code below here
#NoTrayIcon
#include <GuiConstants.au3>
#include <Date.au3>
Dim $inifile_path=@ScriptDir&"\848570.ini",$yktmdb,$ykt_ini
$ykt_wdl="未登陆主机"
$t="*"
$yktmdb = IniRead($inifile_path,"初始纪录","一卡通安装路径","")
$ykt_ini = IniRead($inifile_path,"初始纪录","初始化","")
$dbname="848570.mdb"
$tblname1="newsfz"
$tblname2="sfzsm"
$tblname3="yxjl"
$fldname1="new_xm"
$fldname2="new_hm"
$fldname3="id"
$fldname4="seatNo"
$jl="0"
$jls2="1"
If Not FileExists($inifile_path) Then
MsgBox(64,"错误信息","当前目录下未发现标准数据库配置文件,确定后开始自动创建")
FileInstall("848570.ini", @ScriptDir&"\848570.ini")
EndIf
If Not FileExists($yktmdb) Then
$yktmdb = FileOpenDialog("查找一卡通数据库文件",@ScriptDir,"配置文件(*.mdb)",1,"bardb.MDB")
IniWrite($inifile_path, "初始纪录", "一卡通安装路径", $yktmdb)
EndIf
If $ykt_ini="0" Then
MsgBox(65,"错误信息","程序未初始化,请保证一卡通上网人员纪录中未登陆主机数目为一(并且是临时卡)!确定后自动初始化!")
$addfld = ObjCreate("ADODB.Connection")
$RS =ObjCreate("ADODB.Recordset")
$addfld.Open("Provider=Microsoft.Jet.OLEDB.4.0; Data Source=" & $yktmdb)
$RS.ActiveConnection = $addfld
$sql="Select "&$t&" into newseat from seat where ip = '未登陆主机'"
$rs.open($sql)
$addfld.Close
IniWrite($inifile_path,"初始纪录","初始化","1")
EndIf
#region GUI
GuiCreate("一卡通辅助登陆程序 ", 255, 255);;;创建窗口标题 宽度及高度
GuiCtrlCreateLabel("注:本程序为一卡通辅助,请勿非法用途", 10, 10)
GUICtrlCreateGroup ("基本操作", 10, 25, 235, 120)
GUICtrlCreateLabel("请输入姓名:", 20, 45)
GUICtrlCreateLabel("请输入身份证号码:", 20, 90)
$Input1 = GUICtrlCreateInput("", 20, 65, 129, 21)
GUICtrlSetLimit ( -1, 10) ;;;限制最多输入十位
$Input2 = GUICtrlCreateInput("",20,105,129,21)
GUICtrlSetLimit ( -1, 18) ;;;限制最多输入十八位
$Button1 = GUICtrlCreateButton("写身份证号码", 156,50, 78, 21)
$Button2 = GUICtrlCreateButton("有身份证号码", 156,80, 78, 21)
$Button3 = GUICtrlCreateButton("无身份证号码", 156,110, 78, 21)
GUICtrlCreateGroup ("",-99,-99,1,1)
GUICtrlCreateGroup ("生成临时卡", 10, 150, 235, 80)
GuiCtrlCreateLabel("请在此输入押金数目", 20,170)
$input4 = GUICtrlCreateInput("10", 140, 165, 40, 21)
GUICtrlSetColor($input4,0xff0000) ; 红色
$Button4 = GUICtrlCreateButton("生成临时卡上机", 20,195, 100, 21)
GUICtrlCreateGroup ("",-99,-99,1,1)
$input3 = GUICtrlCreateList('',130,198,105,25,$ES_AUTOVSCROLL+$WS_VSCROLL)
GuiCtrlCreateLabel("2007年1月2日 BY:~无泪悟爱iNg", 20, 235)
GUISetState ()
While 1
$Msg = GuiGetMsg()
Select
Case $msg = $GUI_EVENT_CLOSE
Exit
Case $msg = $button1 ;;;点"写身份证"按钮则
$idINPUT1 = GUICTRLREAD($INPUT1) ;;读取第一个输入框的内容,赋到$idINPUT1
$idINPUT2 = GUICTRLREAD($INPUT2)
xiesfz_mdb()
Case $msg = $button2
$idINPUT1 = GUICTRLREAD($INPUT1) ;;读取第一个输入框的内容,赋到$idINPUT1
$idINPUT2 = GUICTRLREAD($INPUT2)
WinActivate ("通卡上网登记","")
ControlSetText("通卡上网登记","","ThunderRT6TextBox10",$idINPUT1)
ControlSetText("通卡上网登记","","ThunderRT6TextBox9",$idINPUT2)
xiesfz_mdb()
Case $msg =$button3
$addfld = ObjCreate("ADODB.Connection")
$RS =ObjCreate("ADODB.Recordset")
$addfld.Open("Provider=Microsoft.Jet.OLEDB.4.0;Data Source="&@ScriptDir&"\848570.mdb")
$RS.ActiveConnection = $addfld
$RS.Open ("Select "&$T & " From " & $tblname3 )
$yxjl = $RS.Fields(0).Value
$sfz_yxjl = $yxjl + 1
$addfld.Close
$addfld.Open("Provider=Microsoft.Jet.OLEDB.4.0;Data Source="&@ScriptDir&"\848570.mdb")
$RS.ActiveConnection = $addfld
$RS.Open ("Select "&$T & " From " & $tblname2 )
$id_jl = $RS.Fields(0).Value
$sfz_sm = $id_jl + 1
$addfld.Close
If $sfz_yxjl = $sfz_sm Then
$addfld = ObjCreate("ADODB.Connection")
$RS =ObjCreate("ADODB.Recordset")
$addfld.Open("Provider=Microsoft.Jet.OLEDB.4.0;Data Source="&@ScriptDir&"\848570.mdb")
$sql6='UPDATE yxjl SET yxjl = 0'
$addfld.Execute($sql6)
$addfld.Close
$addfld.Open("Provider=Microsoft.Jet.OLEDB.4.0;Data Source="&@ScriptDir&"\848570.mdb")
$RS.ActiveConnection = $addfld
$ssql6='Select new_xm,new_hm from newsfz where id = "'&$jls2&'"'
$RS.Open($ssql6)
$ykt_lsxm = $RS.Fields(0).Value
$ykt_lssfz= $RS.Fields(1).Value
$sql4='UPDATE yxjl SET yxjl = "'&$jls2&'"'
$addfld.Execute($sql4)
$addfld.Close
WinActivate ("通卡上网登记","")
ControlSetText("通卡上网登记","","ThunderRT6TextBox10",$ykt_lsxm)
ControlSetText("通卡上网登记","","ThunderRT6TextBox9",$ykt_lssfz)
EndIf
If $sfz_yxjl < $sfz_sm Then
$addfld = ObjCreate("ADODB.Connection")
$RS =ObjCreate("ADODB.Recordset")
$addfld.Open("Provider=Microsoft.Jet.OLEDB.4.0;Data Source="&@ScriptDir&"\848570.mdb")
$RS.ActiveConnection = $addfld
$sql6='Select new_xm,new_hm from newsfz where id = "'&$sfz_yxjl&'"'
$RS.Open($sql6)
$ykt_lsxm = $RS.Fields(0).Value
$ykt_lssfz= $RS.Fields(1).Value
$sql4='UPDATE yxjl SET yxjl = "'&$sfz_yxjl&'"'
$addfld.Execute($sql4)
$addfld.Close
WinActivate ("通卡上网登记","")
ControlSetText("通卡上网登记","","ThunderRT6TextBox10",$ykt_lsxm)
ControlSetText("通卡上网登记","","ThunderRT6TextBox9",$ykt_lssfz)
EndIf
Case $msg = $button4
GUICtrlSetData ( $input3, "" )
$ykt_lsk1=3206*100000000
$ykt_lsk2=@MDAY*1000000
$ykt_lsk3=@HOUR*10000
$ykt_lsk4=@MIN*100+@SEC
$ykt_lsk5=@MON*100000000
$ykt_lsk=$ykt_lsk1+$ykt_lsk2+$ykt_lsk3+$ykt_lsk4
$ykt_time=$ykt_lsk5+$ykt_lsk2+$ykt_lsk3+$ykt_lsk4
$seat_no=(Random(1000000000,9999999999, 1) )
$idINPUT4 = GUICTRLREAD($INPUT4)
$ykt_monyls = $idINPUT4*2
$ykt_mony = $idINPUT4 - $ykt_monyls
$ykt_data=_Now()
GUICtrlSetColor($input3,0xff0000) ; 红色
GUICtrlSetFont ($input3,12)
GUICtrlSetData ( $input3, $ykt_lsk )
$addfld = ObjCreate("ADODB.Connection")
$RS =ObjCreate("ADODB.Recordset")
$addfld.Open("Provider=Microsoft.Jet.OLEDB.4.0;Data Source="&@ScriptDir&"\848570.mdb")
$RS.ActiveConnection = $addfld
$RS.Open ("Select "&$T & " From " & $tblname3 )
$yxjl = $RS.Fields(0).Value
$sfz_yxjl = $yxjl + 1
$addfld.Close
$addfld.Open("Provider=Microsoft.Jet.OLEDB.4.0;Data Source="&@ScriptDir&"\848570.mdb")
$RS.ActiveConnection = $addfld
$RS.Open ("Select "&$T & " From " & $tblname2 )
$id_jl = $RS.Fields(0).Value
$sfz_sm = $id_jl + 1
$addfld.Close
If $sfz_yxjl = $sfz_sm Then
$addfld = ObjCreate("ADODB.Connection")
$RS =ObjCreate("ADODB.Recordset")
$addfld.Open("Provider=Microsoft.Jet.OLEDB.4.0;Data Source="&@ScriptDir&"\848570.mdb")
$sql6='UPDATE yxjl SET yxjl = 0'
$addfld.Execute($sql6)
$addfld.Close
$addfld.Open("Provider=Microsoft.Jet.OLEDB.4.0;Data Source="&@ScriptDir&"\848570.mdb")
$RS.ActiveConnection = $addfld
$ssql6='Select new_xm,new_hm from newsfz where id = "'&$jls2&'"'
$RS.Open($ssql6)
$ykt_lsxm = $RS.Fields(0).Value
$ykt_lssfz= $RS.Fields(1).Value
$sql4='UPDATE yxjl SET yxjl = "'&$jls2&'"'
$addfld.Execute($sql4)
$addfld.Close
$addfld.Open("Provider=Microsoft.Jet.OLEDB.4.0;Data Source="&@ScriptDir&"\848570.mdb")
$sql5='Insert Into newlog Values ("'&$ykt_lsk&'","'& $ykt_time &'","'&$idINPUT4&'")'
$addfld.Execute($sql5)
$addfld.Close
xgykt_mdb()
EndIf
If $sfz_yxjl < $sfz_sm Then
$addfld = ObjCreate("ADODB.Connection")
$RS =ObjCreate("ADODB.Recordset")
$addfld.Open("Provider=Microsoft.Jet.OLEDB.4.0;Data Source="&@ScriptDir&"\848570.mdb")
$RS.ActiveConnection = $addfld
$sql6='Select new_xm,new_hm from newsfz where id = "'&$sfz_yxjl&'"'
$RS.Open($sql6)
$ykt_lsxm = $RS.Fields(0).Value
$ykt_lssfz= $RS.Fields(1).Value
$sql4='UPDATE yxjl SET yxjl = "'&$sfz_yxjl&'"'
$addfld.Execute($sql4)
$addfld.Close
$addfld.Open("Provider=Microsoft.Jet.OLEDB.4.0;Data Source="&@ScriptDir&"\848570.mdb")
$sql5='Insert Into newlog Values ("'&$ykt_lsk&'","'& $ykt_time &'","'&$idINPUT4&'")'
$addfld.Execute($sql5)
$addfld.Close
xgykt_mdb()
EndIf
EndSelect
WEnd
Func xgykt_mdb() ;修改一卡通MDB中的NEWSEAT并复制修改好后的数据到SEAT
$addfld = ObjCreate("ADODB.Connection")
$RS =ObjCreate("ADODB.Recordset")
$addfld.Open("Provider=Microsoft.Jet.OLEDB.4.0; Data Source=" & $yktmdb)
$RS.ActiveConnection = $addfld
$yktls_sql1='UPDATE newseat SET seatno = "'&$seat_no&'"'
$yktls_sql2='UPDATE newseat SET startTime = "'&$ykt_data&'"'
$yktls_sql3='UPDATE newseat SET endTime = "'&$ykt_data&'"'
$yktls_sql4='UPDATE newseat SET totalfare = "'&$ykt_mony&'"'
$yktls_sql5='UPDATE newseat SET prefare = "'&$idINPUT4&'"'
$yktls_sql6='UPDATE newseat SET OnCardNo = "'&$seat_no&'"'
$yktls_sql7='UPDATE newseat SET name = "'&$ykt_lsxm&'"'
$yktls_sql8='UPDATE newseat SET LabelNub = "'&$ykt_lsk&'"'
$yktls_sql9='UPDATE newseat SET CertificateNo = "'&$ykt_lssfz&'"'
$addfld.Execute($yktls_sql1)
$addfld.Execute($yktls_sql2)
$addfld.Execute($yktls_sql3)
$addfld.Execute($yktls_sql4)
$addfld.Execute($yktls_sql5)
$addfld.Execute($yktls_sql6)
$addfld.Execute($yktls_sql7)
$addfld.Execute($yktls_sql8)
$addfld.Execute($yktls_sql9)
$yktls_sql10="insert into seat Select "&$t&" from newseat"
$addfld.Execute($yktls_sql10)
$addfld.Close
EndFunc
Func xiesfz_mdb() ;将输入的身份证写入数据库848570.MDB
$addfld = ObjCreate("ADODB.Connection")
$RS =ObjCreate("ADODB.Recordset")
$addfld.Open("Provider=Microsoft.Jet.OLEDB.4.0;Data Source="&@ScriptDir&"\848570.mdb")
$RS.ActiveConnection = $addfld
$RS.Open ("Select "&$T & " From " & $tblname2 )
$id_jl = $RS.Fields(0).Value
$sfz_sm = $id_jl + 1
$sql1='Insert Into newsfz Values ("'&$sfz_sm&'","'& $idINPUT1 &'","'& $idINPUT2 &'")'
$sql2='UPDATE sfzsm SET sfzsm = "'&$sfz_sm&'"'
$addfld.Execute($sql1)
$addfld.Execute($sql2)
$addfld.Close
EndFunc[/code] 来个图看看
yct15
[attach]1005[/attach] 楼主辛苦了!这么多代码,我什么时候才能学会呀!
AU3好太厉害了!
谢谢楼主。
这些代码是初学者的最好的老师。 顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶~谢谢楼主~
页:
[1]