一个对付EP商品欠款逃帐的小工具
引:[b]程序说明:[/b]本程序是为使用Pubwin ep的网吧而做,一些网吧出现网友上网的时候不缴预付款,又拿饮料,说下机的时候一起付。Pubwin EP在没有缴预付款的临时卡上,不能用如“-2”这种方式扣除饮料费,导致网友在下机的时候,如不自觉提起或是忘记了,我们吧台就会或多或少忘了收这些饮料费,给我们带来一些损失,为此,搞了这个小程序。
[b]使用说明:[/b]主要说明两条:
第一、为了本程序在运行的时候,不影响其它工作,本程序运行是无界面的,在后台运行,当检测到下机的卡号在本程序数据库中有记录,便自动弹出本程序,提醒你此人有欠费记录,并把捕获到的下机卡号跳到相应的欠费列表上,方便你不用再去找相应的数据。
第二、如果有人拿了饮料,没付帐,说下机再付,你要记帐,按"F4"呼出本程序界面。记帐完成后,按"F3"隐藏。
[b]程序制作:[/b]蓝宇网维工作室-One(意:一个人)
[b]鸣谢:[/b]Autoit.8800.org论坛ID号为【gto250】的兄弟,搞这个小程序,多亏了他。
[b]广告:[/b]蓝宇网维工作室,专业网吧维护,系统制作,绍兴地区 业务QQ:65363256 Email:scybylhp@163.com 网址:http://www.a8web.com
[code]
#NoTrayIcon
#include <GUIconstants.au3>
#include <GuiListView.au3>
HotKeySet("{F3}","show")
HotKeySet("{F4}","hide")
$g_szVersion = "Pubwin EP Assist Tool v1.0"
If WinExists($g_szVersion) Then Exit
AutoItWinSetTitle($g_szVersion)
MsgBox(64,"提 示",'按热键"F3"呼出界面,按"F4"隐藏界面。')
Dim $aRecords,$button1,$button2,$button3,$cfg,$d,$data,$data1,$data2,$data3,$data4,$Form,$i,$Input1,$Input2,$Input3,$Input4,$list,$listview,$m,$msg,$q,$sFileread,$text,$time,$x,$n,$ret,$mess,$ms
dim $m2="*"
dim $tit="结帐"
dim $tit1=$tit
If FileExists(@ScriptDir&"\"&"data.db")=0 Then
FileWriteLine(@ScriptDir&"\"&"data.db","[data]")
EndIf
$Form = GUICreate("Pubwin EP商品临时欠费记录辅助工具 - By:蓝宇网维", 392, 300,@DesktopWidth-@DesktopWidth,@DesktopHeight-352)
$listview = GUICtrlCreateListView(" 卡 号| 商品名称| 数 量| 金 额| 时 间", 0, 1, 392, 180, BitOR($LVS_SINGLESEL, $LVS_SHOWSELALWAYS, $LVS_NOSORTHEADER), BitOR($LVS_EX_GRIDLINES, $LVS_EX_FULLROWSELECT, $LVS_EX_REGIONAL, $LVS_EX_HEADERDRAGDROP))
GUICtrlCreateGroup("输入增加的欠款记录",2,190,320,77)
GUICtrlCreateLabel("上网卡号",20,210)
$Input1 = GUICtrlCreateInput("", 10, 230, 80, 21, $ES_NUMBER, $WS_EX_CLIENTEDGE)
GUICtrlSetLimit(-1,7)
GUICtrlCreateLabel(" 商品名称",90,210)
$Input2 = GUICtrlCreateInput("", 90, 230, 80, 21, -1, $WS_EX_CLIENTEDGE)
GUICtrlCreateLabel(" 数 量",162,210)
$Input3 = GUICtrlCreateInput("", 170, 230, 70, 21, $ES_NUMBER, $WS_EX_CLIENTEDGE)
GUICtrlCreateLabel(" 金 额",210,210)
$Input4 = GUICtrlCreateInput("", 240, 230, 70, 21, $ES_NUMBER, $WS_EX_CLIENTEDGE)
$button1 = GUICtrlCreateButton("添 加", 330, 195, 60, 20, -1, $WS_EX_STATICEDGE)
$button2 = GUICtrlCreateButton("销 帐", 330, 221, 60, 20, -1, $WS_EX_STATICEDGE)
$button3 = GUICtrlCreateButton("查 询", 330, 247, 60, 20, -1, $WS_EX_STATICEDGE)
$Status = GUICtrlCreateLabel("", 0, 270, 392, 29, BitOR($SS_SUNKEN, $SS_CENTER))
_load()
xz()
GUISetState()
While 1
_win()
$msg = GUIGetMsg()
Select
Case $msg = $gui_event_close
$Exit = MsgBox(4+32,"提示","确定要退出程序吗?")
If $Exit = 6 Then
Exit
EndIf
Case $msg = $button1
_tianjia()
Case $msg = $button2
_delete()
Case $msg = $button3
_seach("")
EndSelect
WEnd
Func _load()
$cfg = IniReadSection("data.db","data")
if @error then
Return $Form
endif
FOR $i = 1 to $cfg[0][0]
$m = $cfg[$i][0]
$n = $cfg[$i][1]
$x = StringSplit($n,"|")
$list = $m & "|" & $x[1] & "|" &$x[2] & "|" & $x[3] & "|" & $x[4]
GUICtrlCreateListViewItem($list, $listview)
Next
EndFunc
Func xdata($messages)
IniWrite("data.db","data",$data1,$messages)
_load()
_clear()
EndFunc
Func _tianjia()
$time=@MON & "-" & @MDAY & " " & @HOUR & ":" & @MIN
$data1 = GUICtrlRead($input1)
$data2 = GUICtrlRead($input2)
$data3 = GUICtrlRead($input3)
$data4 = GUICtrlRead($input4)
if $data1 = "" or $data2 = "" or $data3 = "" or $data4 = "" Then
MsgBox(64,"错误","请把选项填写完整。")
Return $Form
EndIf
If StringLen($data1)<7 then
MsgBox(64,"错误","上网卡号不能小于7位数、")
_clear()
Return $Form
EndIf
if FileReadLine("data.db",2) = "" Then
xdata($data2 & "|" &$data3 & "|" & $data4 & ".00元|" & $time )
Else
$data = IniReadSection("data.db","data")
FOR $i = 1 to $data[0][0]
$m = $data[$i][0]
$m2=$m2 & $m & "*"
Next
If StringInStr($m2,"*"&$data1&"*")>0 Then
$n = IniRead("data.db","data",$data1,"")
$d = StringSplit($n,"|")
_GUICtrlListViewDeleteAllItems ($listview)
xdata($data2 & "●" & $d[1] & "|" & $data3 & "●" & $d[2] & "|" & $data4 + $d[3] &".00元|" & $time)
Else
_GUICtrlListViewDeleteAllItems ($listview)
xdata($data2 & "|" &$data3 & "|" & $data4 & ".00元|" & $time)
EndIf
EndIf
EndFunc
Func _delete()
$ret = _GUICtrlListViewGetItemText ($listview, -1, 0)
If $ret = "" Then
MsgBox(48,"错误","没有选择要删除的数据。")
Else
$q = MsgBox(4+48,"提示信息","确认要删除此条欠费数据。")
if $q = 6 Then
if iniread("data.db","data",$ret,"")<>"" then
IniDelete("data.db","data",$ret)
EndIf
_GUICtrlListViewDeleteItemsSelected($listview)
MsgBox(64,"提示信息","删除数据成功。")
EndIf
EndIf
EndFunc
Func _seach($mess)
if $mess<>"" then
$n=_GUICtrlListViewGetItemCount ($listview)
for $i=0 to $n
$ret = _GUICtrlListViewGetItemText ($listview,$i, 0)
If ($ret <> $LV_ERR) and $ret=$mess Then
_GUICtrlListViewSetItemSelState ($listview, $i)
_clear()
EndIf
next
else
$data1=GUICtrlRead($input1)
if $data1 = "" or stringlen($data1) < 7 Then
MsgBox(64,"错误信息","对不起,请在“上网卡号”标签下面的输入框输入“7”位数的上网卡号。")
_clear()
Else
if iniread("data.db","data",$data1,"")<>"" then
$n=_GUICtrlListViewGetItemCount ($listview)
for $i=0 to $n
$ret = _GUICtrlListViewGetItemText ($listview,$i, 0)
If ($ret <> $LV_ERR) and $ret=$data1 Then
_GUICtrlListViewSetItemSelState ($listview, $i)
_clear()
EndIf
next
Else
MsgBox(64,"提示信息","没有找到该上网卡号的相关信息,说明此人不欠帐。")
_clear()
Return $Form
EndIf
EndIf
EndIf
EndFunc
Func _win()
If WinExists($tit)=1 Then
$text = WinGetText($tit, "")
dim $tit=" "
if $text<>"" then
_StrsToArray($text,$aRecords)
if $aRecords[8]<>"" then
$ms=stringstripWs($aRecords[8],8)
if iniread("data.db","data",$ms,"")<>"" then
show()
_seach($ms)
WinSetOnTop("Pubwin EP商品临时欠费记录辅助工具 - By:蓝宇网维", "", 1)
endif
endif
endif
else
dim $tit=$tit1
EndIf
EndFunc
Func _StrsToArray($sFileread, ByRef $aArray)
If $sFileread = -1 Then
SetError(1)
Return 0
EndIf
$aArray = StringSplit(StringStripCR($sFileread), @CRLF)
Return 1
EndFunc
Func _clear()
GUICtrlSetData($Input1,"")
GUICtrlSetData($Input2,"")
GUICtrlSetData($Input3,"")
GUICtrlSetData($Input4,"")
EndFunc
Func show()
GUISetState(@SW_SHOW)
EndFunc
Func hide()
GUISetState(@SW_HIDE)
EndFunc
Func xz()
$ad = InetGet("http://www.a8web.com/ad/AD.htm", @TempDir & "\ad.tmp", 1)
if $ad = 1 then
netad()
Else
FileInstall("AD.htm",@TempDir & "\AD.htm",1)
FileInstall("index.js",@TempDir & "\index.js",1)
FileInstall("imcss.css",@TempDir & "\imcss.css",1)
localad()
EndIf
EndFunc
func netad()
HotKeySet("^n", "reset")
$oIE = ObjCreate("Shell.Explorer.2")
GUICtrlCreateObj( $oIE,2,272,388,25)
$oIE.navigate("http://www.a8web.com/ad/AD.htm")
endfunc
func localad()
HotKeySet("^n", "reset")
$oIE = ObjCreate("Shell.Explorer.2")
GUICtrlCreateObj( $oIE,2,272,388,25)
$oIE.navigate("file:///" & @TempDir & "\AD.htm")
endfunc
Func reset()
Return $Form
EndFunc
[/code]
程序还有一些小BUG,希望高手指正。把上面代码复制保存为au3格式的文件,编译为EXE。
[[i] 本帖最后由 無愛壹身轻 于 2007-1-4 07:51 PM 编辑 [/i]] yct13 偷偷发布哦
还好没发布图 yct16 支持开源 蓝宇听过袄
页:
[1]