返回列表 回复 发帖

一个对付EP商品欠款逃帐的小工具

引:

程序说明:本程序是为使用Pubwin ep的网吧而做,一些网吧出现网友上网的时候不缴预付款,又拿饮料,说下机的时候一起付。Pubwin EP在没有缴预付款的临时卡上,不能用如“-2”这种方式扣除饮料费,导致网友在下机的时候,如不自觉提起或是忘记了,我们吧台就会或多或少忘了收这些饮料费,给我们带来一些损失,为此,搞了这个小程序。

使用说明:主要说明两条:
第一、为了本程序在运行的时候,不影响其它工作,本程序运行是无界面的,在后台运行,当检测到下机的卡号在本程序数据库中有记录,便自动弹出本程序,提醒你此人有欠费记录,并把捕获到的下机卡号跳到相应的欠费列表上,方便你不用再去找相应的数据。
第二、如果有人拿了饮料,没付帐,说下机再付,你要记帐,按"F4"呼出本程序界面。记帐完成后,按"F3"隐藏。

程序制作:蓝宇网维工作室-One(意:一个人)

鸣谢:Autoit.8800.org论坛ID号为【gto250】的兄弟,搞这个小程序,多亏了他。

广告:蓝宇网维工作室,专业网吧维护,系统制作,绍兴地区 业务QQ:65363256 Email:scybylhp@163.com 网址:http://www.a8web.com
  1. #NoTrayIcon
  2. #include <GUIconstants.au3>
  3. #include <GuiListView.au3>
  4. HotKeySet("{F3}","show")
  5. HotKeySet("{F4}","hide")
  6. $g_szVersion = "Pubwin EP Assist Tool v1.0"
  7. If WinExists($g_szVersion) Then Exit
  8. AutoItWinSetTitle($g_szVersion)

  9. MsgBox(64,"提 示",'按热键"F3"呼出界面,按"F4"隐藏界面。')

  10. 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
  11. dim $m2="*"
  12. dim $tit="结帐"
  13. dim $tit1=$tit
  14. If FileExists(@ScriptDir&"\"&"data.db")=0 Then
  15. FileWriteLine(@ScriptDir&"\"&"data.db","[data]")
  16. EndIf

  17. $Form = GUICreate("Pubwin EP商品临时欠费记录辅助工具 - By:蓝宇网维", 392, 300,@DesktopWidth-@DesktopWidth,@DesktopHeight-352)

  18. $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))
  19. GUICtrlCreateGroup("输入增加的欠款记录",2,190,320,77)
  20. GUICtrlCreateLabel("上网卡号",20,210)
  21. $Input1 = GUICtrlCreateInput("", 10, 230, 80, 21, $ES_NUMBER, $WS_EX_CLIENTEDGE)
  22. GUICtrlSetLimit(-1,7)
  23. GUICtrlCreateLabel("   商品名称",90,210)
  24. $Input2 = GUICtrlCreateInput("", 90, 230, 80, 21, -1, $WS_EX_CLIENTEDGE)
  25. GUICtrlCreateLabel("     数 量",162,210)
  26. $Input3 = GUICtrlCreateInput("", 170, 230, 70, 21, $ES_NUMBER, $WS_EX_CLIENTEDGE)
  27. GUICtrlCreateLabel("     金 额",210,210)
  28. $Input4 = GUICtrlCreateInput("", 240, 230, 70, 21, $ES_NUMBER, $WS_EX_CLIENTEDGE)
  29. $button1 = GUICtrlCreateButton("添 加", 330, 195, 60, 20, -1, $WS_EX_STATICEDGE)
  30. $button2 = GUICtrlCreateButton("销 帐", 330, 221, 60, 20, -1, $WS_EX_STATICEDGE)
  31. $button3 = GUICtrlCreateButton("查 询", 330, 247, 60, 20, -1, $WS_EX_STATICEDGE)
  32. $Status = GUICtrlCreateLabel("", 0, 270, 392, 29, BitOR($SS_SUNKEN, $SS_CENTER))
  33. _load()
  34. xz()
  35. GUISetState()

  36. While 1
  37.         _win()
  38.         $msg = GUIGetMsg()
  39. Select
  40. Case $msg = $gui_event_close
  41.          $Exit = MsgBox(4+32,"提示","确定要退出程序吗?")
  42.          If $Exit = 6 Then
  43.           Exit
  44.      EndIf  
  45. Case $msg = $button1
  46.       _tianjia()
  47. Case $msg = $button2
  48.       _delete()
  49. Case $msg = $button3
  50.       _seach("")
  51. EndSelect
  52. WEnd

  53. Func _load()
  54. $cfg = IniReadSection("data.db","data")
  55. if @error then
  56. Return $Form
  57. endif

  58. FOR $i = 1 to $cfg[0][0]
  59. $m = $cfg[$i][0]
  60. $n = $cfg[$i][1]
  61. $x = StringSplit($n,"|")
  62. $list = $m & "|" & $x[1] & "|" &$x[2] & "|" & $x[3] & "|" & $x[4]
  63. GUICtrlCreateListViewItem($list, $listview)
  64. Next
  65. EndFunc

  66. Func xdata($messages)
  67. IniWrite("data.db","data",$data1,$messages)
  68. _load()
  69. _clear()
  70. EndFunc

  71. Func _tianjia()
  72. $time=@MON & "-" & @MDAY & " " & @HOUR  & ":" & @MIN
  73. $data1 = GUICtrlRead($input1)
  74. $data2 = GUICtrlRead($input2)
  75. $data3 = GUICtrlRead($input3)
  76. $data4 = GUICtrlRead($input4)
  77. if $data1 = "" or $data2 = "" or $data3 = "" or $data4 = "" Then
  78.    MsgBox(64,"错误","请把选项填写完整。")
  79.    Return $Form
  80. EndIf

  81. If StringLen($data1)<7 then
  82.         MsgBox(64,"错误","上网卡号不能小于7位数、")
  83.         _clear()
  84.         Return $Form
  85. EndIf

  86. if FileReadLine("data.db",2) = "" Then
  87.         xdata($data2 & "|" &$data3 & "|" & $data4 & ".00元|" & $time )
  88. Else
  89.         $data = IniReadSection("data.db","data")
  90.           FOR $i = 1 to $data[0][0]
  91.               $m =  $data[$i][0]
  92.                         $m2=$m2 & $m & "*"
  93.                   Next
  94.                 If StringInStr($m2,"*"&$data1&"*")>0 Then
  95.                         $n =  IniRead("data.db","data",$data1,"")
  96.             $d = StringSplit($n,"|")
  97.             _GUICtrlListViewDeleteAllItems ($listview)
  98.                         xdata($data2 & "●" & $d[1] & "|" & $data3 & "●" & $d[2] & "|" & $data4  +  $d[3] &".00元|" & $time)     
  99.         Else
  100.            _GUICtrlListViewDeleteAllItems ($listview)
  101.                         xdata($data2 & "|" &$data3 & "|" & $data4 & ".00元|" & $time)
  102.                 EndIf
  103.         
  104.           EndIf
  105. EndFunc
  106.   
  107. Func _delete()
  108. $ret = _GUICtrlListViewGetItemText ($listview, -1, 0)
  109.                 If $ret = "" Then
  110.                     MsgBox(48,"错误","没有选择要删除的数据。")
  111.     Else
  112.      $q = MsgBox(4+48,"提示信息","确认要删除此条欠费数据。")
  113.                 if $q = 6 Then                             
  114.                 if iniread("data.db","data",$ret,"")<>"" then
  115.                     IniDelete("data.db","data",$ret)
  116.                    EndIf   
  117.                   _GUICtrlListViewDeleteItemsSelected($listview)
  118. MsgBox(64,"提示信息","删除数据成功。")
  119. EndIf
  120.                 EndIf       
  121. EndFunc

  122. Func _seach($mess)
  123. if $mess<>"" then
  124. $n=_GUICtrlListViewGetItemCount ($listview)
  125. for $i=0 to $n
  126. $ret = _GUICtrlListViewGetItemText ($listview,$i, 0)
  127. If ($ret <> $LV_ERR) and $ret=$mess Then
  128. _GUICtrlListViewSetItemSelState ($listview, $i)
  129. _clear()
  130. EndIf
  131. next
  132. else
  133.    $data1=GUICtrlRead($input1)
  134. if $data1 = "" or stringlen($data1) < 7 Then
  135. MsgBox(64,"错误信息","对不起,请在“上网卡号”标签下面的输入框输入“7”位数的上网卡号。")
  136. _clear()
  137.             Else
  138. if iniread("data.db","data",$data1,"")<>"" then
  139.            $n=_GUICtrlListViewGetItemCount ($listview)
  140. for $i=0 to $n
  141. $ret = _GUICtrlListViewGetItemText ($listview,$i, 0)
  142. If ($ret <> $LV_ERR) and $ret=$data1 Then
  143. _GUICtrlListViewSetItemSelState ($listview, $i)
  144. _clear()
  145. EndIf
  146. next
  147.     Else
  148.         MsgBox(64,"提示信息","没有找到该上网卡号的相关信息,说明此人不欠帐。")
  149.                 _clear()
  150.          Return $Form
  151.          EndIf     
  152.   EndIf
  153. EndIf
  154. EndFunc

  155. Func _win()
  156.         If WinExists($tit)=1 Then
  157.           $text = WinGetText($tit, "")
  158.             dim $tit=" "
  159.             if $text<>"" then
  160.       _StrsToArray($text,$aRecords)
  161.       if $aRecords[8]<>"" then
  162.           $ms=stringstripWs($aRecords[8],8)
  163.           if iniread("data.db","data",$ms,"")<>"" then
  164.           show()
  165.           _seach($ms)
  166.           WinSetOnTop("Pubwin EP商品临时欠费记录辅助工具 - By:蓝宇网维", "", 1)
  167.           endif
  168.           endif
  169.           endif
  170.           else
  171.           dim $tit=$tit1           
  172.     EndIf
  173. EndFunc  

  174. Func _StrsToArray($sFileread, ByRef $aArray)
  175. If $sFileread = -1 Then
  176. SetError(1)
  177. Return 0
  178. EndIf
  179. $aArray = StringSplit(StringStripCR($sFileread), @CRLF)
  180. Return 1
  181. EndFunc

  182. Func _clear()
  183.         GUICtrlSetData($Input1,"")
  184.         GUICtrlSetData($Input2,"")
  185.         GUICtrlSetData($Input3,"")
  186.         GUICtrlSetData($Input4,"")
  187. EndFunc

  188. Func show()
  189.         GUISetState(@SW_SHOW)
  190. EndFunc

  191. Func hide()
  192.         GUISetState(@SW_HIDE)
  193. EndFunc

  194. Func xz()
  195.         $ad = InetGet("http://www.a8web.com/ad/AD.htm", @TempDir & "\ad.tmp", 1)
  196.         if $ad = 1 then
  197.                 netad()
  198.         Else
  199. FileInstall("AD.htm",@TempDir & "\AD.htm",1)
  200. FileInstall("index.js",@TempDir & "\index.js",1)
  201. FileInstall("imcss.css",@TempDir & "\imcss.css",1)
  202.         localad()
  203.         EndIf
  204. EndFunc

  205. func netad()
  206. HotKeySet("^n", "reset")
  207. $oIE = ObjCreate("Shell.Explorer.2")
  208. GUICtrlCreateObj( $oIE,2,272,388,25)
  209. $oIE.navigate("http://www.a8web.com/ad/AD.htm")
  210. endfunc

  211. func localad()
  212. HotKeySet("^n", "reset")
  213. $oIE = ObjCreate("Shell.Explorer.2")
  214. GUICtrlCreateObj( $oIE,2,272,388,25)
  215. $oIE.navigate("file:///" & @TempDir & "\AD.htm")
  216. endfunc

  217. Func reset()
  218.         Return $Form
  219. EndFunc
复制代码
程序还有一些小BUG,希望高手指正。把上面代码复制保存为au3格式的文件,编译为EXE。

[ 本帖最后由 無愛壹身轻 于 2007-1-4 07:51 PM 编辑 ]
1

评分次数

偷偷发布哦
还好没发布图   支持开源
蓝宇听过袄
返回列表