機房收費系統下機之動態顯示餘額和強制下機(1)

2021-09-29 19:20:26 字數 1575 閱讀 2031

優化

在做下機的時候,要考慮到強制下機的問題,如果我卡裡面只有30元,卻玩了40元的,那麼在下機餘額就是負的了,這時候再去充值就不合理了,所以我加了乙個動態顯示餘額和強制下機的功能,我的動態計算是15分鐘計算一次的,涉及到小數點,一分鐘扣除一次誤差可能比較大,所以就以15作為一次扣費單位

思路動態顯示

消費時間,消費金額和餘額不斷變化

消費時間每一分鐘都在變化

消費金額每15分鐘扣除一次

餘額每15分鐘扣除一次

強制下機

當餘額低於15分鐘的收費金額的時候,提示金額不足,強制下機

小知識點

1.timer事件如何能夠用15分鐘執行一次操作

vb中timer的間隔最大為65535ms,不能通過直接設定interval來使他15分鐘執行一次計算

需要用到下列**來實現每隔15分鐘timer響應一次:

private sub form_load()

timer1.interval = 60000 '每分鐘觸發一次

end sub

private sub timer2_timer()

static icount as integer

icount = icount + 1

if icount =15 then

icount = 0 』重新開始計時

'每15分鐘觸發一次的**

end if

end sub

2. 如何每隔15分鐘計費一次

alltime---總消費分鐘數

rate---一小時的費用

unitmoney---15分鐘的費用

unitmoney =1/4 * rate

消費分鐘數為15的倍數的(可以被整除):

消費金額=(alltime/15) * unitmoney

消費分鐘數不是15的倍數的:

消費金額=((fix(alltime/15)+1)) * unitmoney

fix(x)函式是乙個取整函式,就相當於直接去掉x後面的小數點

例如:fix(5.8)=5

fix(0)=0

fix(-1.2)=-1

3.餘額不足強制下機時呼叫下機**,將下機**進行封裝

if val(txtbalance.text) <= unitmoney then

msgbox "卡號:" & username & ",餘額不足,即將下機", 0 + 48, "提示"

'呼叫下機**

call offline(username)

exit sub

end if

'判斷餘額是否低於最低充值要求

if val(txtbalance.text) <= unitmoeny + 1 then

msgbox "卡號:" & username & ",餘額不足,請先充值!", 0 + 48, "提示"

end if

機房收費系統下機之動態顯示餘額和強制下機(2)

機房收費系統下機之動態顯示餘額和強制下機 2

機房收費系統下機之動態顯示餘額和強制下機 1 封裝下機 public function offline cardno as string dim mrcline as adodb.recordset dim mrcbasic as adodb.recordset dim mrccash as ado...

機房收費系統之動態重新整理下機

在網咖上網,卡里沒錢就要系統強制下機.怎麼辦?這是我用到timer1控制項,timer1重要的屬性是interval.但lnterval有範圍限制,不過我可以通過函式來調節大小.在這裡不用,你可以隨便什麼時候重新整理.我還用到動態陣列redim redim 在有些時候不知道需要多大的陣列,就可以使用...

機房收費系統 下機

有了上機的思路,下機當然也就很簡單了,不過總是要比別人多想一步,這樣你就能夠比別人更加的優秀。下機的流程圖 下機的注意事項 txtontime.text trim mrc3.fields 7 txtdowndate.text format now yyyy mm dd txtdowntime.tex...