#Region ;**** Directives created by AutoIt3Wrapper_GUI ****
#AutoIt3Wrapper_icon=calculator.ico
#AutoIt3Wrapper_outfile=Bill Calculator.exe
#AutoIt3Wrapper_Res_Fileversion=1.2.0.0
#AutoIt3Wrapper_Res_Language=1033
#AutoIt3Wrapper_Res_requestedExecutionLevel=asInvoker
://////=__=
://////=__=
#AutoIt3Wrapper_Add_Constants=n
#AutoIt3Wrapper_AU3Check_Parameters=-w 1 -w 2 -w 3 -w 4 -w 5 -w 6
#EndRegion ;**** Directives created by AutoIt3Wrapper_GUI ****
#include <GUIConstantsEx.au3>
#include <GuiListView.au3>
#include <Date.au3>
AutoItSetOption("TrayIconDebug", 1)
$exist = FileExists(@ScriptDir & "\billconfig.ini")
If $exist <> 1 Then
IniWrite(@ScriptDir & "\billconfig.ini", "Setup", 1, "0")
EndIf
$setup = Int(IniRead(@ScriptDir & "\billconfig.ini", "Setup", 1, "0"))
If $setup = 0 Then
_addbill
()
EndIf
_Main
()
Func _addbill
()
$setup = Int(IniRead(@ScriptDir & "\billconfig.ini", "Setup", 1, "0"))
If $setup = 0 Then
IniWrite(@ScriptDir & "\billconfig.ini", "Setup", 1, "1")
EndIf
$addbill = GUICreate("Add Bills", 200, 300)
GUICtrlCreateLabel("Name", 2, 10)
$name = GUICtrlCreateInput("", 34, 8, 125, 20)
GUICtrlCreateLabel("Amount", 6, 230)
$amnt = GUICtrlCreateInput("", 48, 228, 60, 20)
$add = GUICtrlCreateButton("Add", 75, 260, 50)
$variable = GUICtrlCreateCheckbox("", 150, 220, 20, 20)
GUICtrlCreateLabel("Is variable?", 130, 242)
GUICtrlCreateLabel("Last billed in M/d/yyyy format", 10, 160, 142, 18)
$lastbilled = GUICtrlCreateInput("", 10, 176, 80, 20)
GUICtrlCreateGroup("", 2, 143, 161, 66)
GUICtrlCreateGroup("Frequency", 2, 30, 181, 104)
GUIStartGroup()
$monthrad = GUICtrlCreateRadio("Monthly", 4, 43)
GUICtrlCreateLabel("Day of Month", 80, 46.5, 80, 18)
$monthdate = GUICtrlCreateInput("", 150, 41, 20, 20)
$dayrad = GUICtrlCreateRadio("Every", 4, 66)
$days = GUICtrlCreateInput("", 49, 67, 20, 20)
GUICtrlCreateLabel("Days", 72, 71, 40, 18)
$weekrad = GUICtrlCreateRadio("Weekly", 4, 89, 60, 20)
$biweekrad = GUICtrlCreateRadio("BiWeekly", 4, 112, 65, 18)
GUISetState()
While 1
$msg = GUIGetMsg($addbill)
Select
Case $msg = $GUI_EVENT_CLOSE
GUIDelete($addbill)
_View
()
Case $msg = $add
$mrstate = GUICtrlRead($monthrad)
$drstate = GUICtrlRead($dayrad)
$wrstate = GUICtrlRead($weekrad)
$brstate = GUICtrlRead($biweekrad)
Select
Case $mrstate = $GUI_CHECKED
$getname = GUICtrlRead($name)
$getmonth = GUICtrlRead($monthdate)
$getamnt = GUICtrlRead($amnt)
$getdaylp = GUICtrlRead($lastbilled)
If $getname = "" Or $getmonth = "" Or $getamnt = "" Or $getdaylp = "" Then
If $getname = "" Then
$blank = "Bill Name"
ElseIf $getmonth = "" Then
$blank = "Day of Month"
ElseIf $getamnt = "" Then
$blank = "Amount"
ElseIf $getdaylp = "" Then
$blank = "Last Billed"
EndIf
MsgBox(48, "Error", "All fields need to be filled." & @CRLF & $blank & " was left empty")
Else
IniWrite(@ScriptDir & "\billconfig.ini", $getname, 1, "Monthly")
IniWrite(@ScriptDir & "\billconfig.ini", $getname, 2, $getmonth)
IniWrite(@ScriptDir & "\billconfig.ini", $getname, 3, $getamnt)
IniWrite(@ScriptDir & "\billconfig.ini", $getname, 4, $getdaylp)
$check = GUICtrlRead($variable)
If $check = $GUI_CHECKED Then
IniWrite(@ScriptDir & "\billconfig.ini", $getname, 5, "1")
ElseIf $check = $GUI_UNCHECKED Then
IniWrite(@ScriptDir & "\billconfig.ini", $getname, 5, "0")
EndIf
GUIDelete($addbill)
_View
()
EndIf
Case $drstate = $GUI_CHECKED
$getname = GUICtrlRead($name)
$getday = GUICtrlRead($days)
$getamnt = GUICtrlRead($amnt)
$getdaylp = GUICtrlRead($lastbilled)
If $getname = "" Or $getday = "" Or $getamnt = "" Or $getdaylp = "" Then
If $getname = "" Then
$blank = "Bill Name"
ElseIf $getday = "" Then
$blank = "Number of Days"
ElseIf $getamnt = "" Then
$blank = "Amount"
ElseIf $getdaylp = "" Then
$blank = "Last Billed"
EndIf
MsgBox(48, "Error", "All fields need to be filled." & @CRLF & $blank & " was left empty")
Else
IniWrite(@ScriptDir & "\billconfig.ini", $getname, 1, "Day")
IniWrite(@ScriptDir & "\billconfig.ini", $getname, 2, $getday)
IniWrite(@ScriptDir & "\billconfig.ini", $getname, 3, $getamnt)
IniWrite(@ScriptDir & "\billconfig.ini", $getname, 4, $getdaylp)
$check = GUICtrlRead($variable)
If $check = $GUI_CHECKED Then
IniWrite(@ScriptDir & "\billconfig.ini", $getname, 5, "1")
ElseIf $check = $GUI_UNCHECKED Then
IniWrite(@ScriptDir & "\billconfig.ini", $getname, 5, "0")
EndIf
GUIDelete($addbill)
_View
()
EndIf
Case $wrstate = $GUI_CHECKED
$getname = GUICtrlRead($name)
$getamnt = GUICtrlRead($amnt)
$getdaylp = GUICtrlRead($lastbilled)
If $getname = "" Or $getamnt = "" Or $getdaylp = "" Then
If $getname = "" Then
$blank = "Bill Name"
ElseIf $getamnt = "" Then
$blank = "Amount"
ElseIf $getdaylp = "" Then
$blank = "Last Billed"
EndIf
MsgBox(48, "Error", "All fields need to be filled." & @CRLF & $blank & " was left empty")
Else
IniWrite(@ScriptDir & "\billconfig.ini", $getname, 1, "Week")
IniWrite(@ScriptDir & "\billconfig.ini", $getname, 3, $getamnt)
IniWrite(@ScriptDir & "\billconfig.ini", $getname, 4, $getdaylp)
$check = GUICtrlRead($variable)
If $check = $GUI_CHECKED Then
IniWrite(@ScriptDir & "\billconfig.ini", $getname, 5, "1")
ElseIf $check = $GUI_UNCHECKED Then
IniWrite(@ScriptDir & "\billconfig.ini", $getname, 5, "0")
EndIf
GUIDelete($addbill)
_View
()
EndIf
Case $brstate = $GUI_CHECKED
$getname = GUICtrlRead($name)
$getamnt = GUICtrlRead($amnt)
$getdaylp = GUICtrlRead($lastbilled)
If $getname = "" Or $getamnt = "" Or $getdaylp = "" Then
If $getname = "" Then
$blank = "Bill Name"
ElseIf $getamnt = "" Then
$blank = "Amount"
ElseIf $getdaylp = "" Then
$blank = "Last Billed"
EndIf
MsgBox(48, "Error", "All fields need to be filled." & @CRLF & $blank & " was left empty")
Else
IniWrite(@ScriptDir & "\billconfig.ini", $getname, 1, "BiWeek")
IniWrite(@ScriptDir & "\billconfig.ini", $getname, 3, $getamnt)
IniWrite(@ScriptDir & "\billconfig.ini", $getname, 4, $getdaylp)
$check = GUICtrlRead($variable)
If $check = $GUI_CHECKED Then
IniWrite(@ScriptDir & "\billconfig.ini", $getname, 5, "1")
ElseIf $check = $GUI_UNCHECKED Then
IniWrite(@ScriptDir & "\billconfig.ini", $getname, 5, "0")
EndIf
GUIDelete($addbill)
_View
()
EndIf
Case Else
MsgBox(48, "Error", "No frequency chosen")
EndSelect
EndSelect
WEnd
EndFunc ;==>_addbill
Func _Main
()
$main = GUICreate("Main", 165, 100)
$view = GUICtrlCreateButton("View Bills", 20, 35)
$calc = GUICtrlCreateButton("Calculate", 85, 35, 60)
GUISetState()
While 1
$msg = GUIGetMsg()
Select
Case $msg = $calc
GUIDelete($main)
_Calculate
()
Case $msg = $view
GUIDelete($main)
_View
()
Case $msg = $GUI_EVENT_CLOSE
Exit
EndSelect
WEnd
EndFunc ;==>_Main
Func _Calculate
()
$amtspent=0
$extradep=0
$cost = 0
$calgui = GUICreate("Money after Expenses", 250, 300)
GUICtrlCreateLabel("Last pay date", 2, 4)
$nextpay = GUICtrlCreateInput("", 80, 2, 90, 20)
GUICtrlCreateLabel("In format M/d/yyyy", 80, 22)
GUICtrlCreateLabel("Available Funds", 2, 44)
$funds=IniRead(@ScriptDir & "\billconfig.ini", "Setup", 4, "0")
$pay = GUICtrlCreateInput($funds, 80, 40, 50, 20)
$spent=GUICtrlCreateButton("Withdrawal",175,30,70,20)
$deposit=GUICtrlCreateButton("Deposit",175,5,70,20)
$ListView = GUICtrlCreateListView("Bill |Amount |Date Due", 10, 66, 230, 100)
$calc = GUICtrlCreateButton("Calculate", 150, 270)
$paid = GUICtrlCreateButton("Paid", 30, 270, 50)
$bills = IniReadSectionNames(@ScriptDir & "\billconfig.ini")
$nextpaydate = GUICtrlCreateLabel("", 120, 170, 100, 24)
$leftover = GUICtrlCreateLabel("", 120, 200, 100, 24)
$bill = GUICtrlCreateLabel("", 120, 230, 100, 24)
GUICtrlCreateGroup("Pay Frequency", 2, 170, 100, 98)
GUIStartGroup()
$dayrad = GUICtrlCreateRadio("Daily", 4, 185)
$weekrad = GUICtrlCreateRadio("Weekly", 4, 205)
$biweekrad = GUICtrlCreateRadio("BiWeekly", 4, 225)
$monthrad = GUICtrlCreateRadio("Monthly", 4, 245)
$curpay = IniRead(@ScriptDir & "\billconfig.ini", "Setup", 2, "")
$payfrequency = IniRead(@ScriptDir & "\billconfig.ini", "Setup", 3, "")
$dateadd = ""
If $curpay <> "" Then
GUICtrlSetData($nextpay, $curpay)
EndIf
If $payfrequency <> "" Then
If $payfrequency = "1" Then GUICtrlSetState($dayrad, $GUI_CHECKED)
If $payfrequency = "2" Then GUICtrlSetState($weekrad, $GUI_CHECKED)
If $payfrequency = "3" Then GUICtrlSetState($biweekrad, $GUI_CHECKED)
If $payfrequency = "4" Then GUICtrlSetState($monthrad, $GUI_CHECKED)
EndIf
GUISetState()
While 1
$msg = GUIGetMsg()
Select
Case $msg = $GUI_EVENT_CLOSE
GUIDelete($calgui)
_Main
()
Case $msg = $paid
$select = _GUICtrlListView_GetItemText($ListView, Int(_GUICtrlListView_GetSelectedIndices($ListView)), 0)
$paiddate = _GUICtrlListView_GetItemText($ListView, Int(_GUICtrlListView_GetSelectedIndices($ListView)), 2)
$funds2 = GUICtrlRead($pay)
;$lastpaid = IniRead(@ScriptDir & "\billconfig.ini", $select, 4, "")
$duefrequency = IniRead(@ScriptDir & "\billconfig.ini", $select, 1, "")
$amntdue = IniRead(@ScriptDir & "\billconfig.ini", $select, 3, "")
$splitpaid = StringSplit($paiddate, "/")
If $duefrequency = "Monthly" Then
$newpay = _DateAdd("M", 1, $splitpaid[3] & "/" & $splitpaid[1] & "/" & $splitpaid[2])
$newdue = _DateTimeFormat($newpay, 2)
IniWrite(@ScriptDir & "\billconfig.ini", $select, 4, $newdue)
$funds2 -= $amntdue
GUICtrlSetData($pay, $funds2)
_GUICtrlListView_DeleteItemsSelected($ListView)
$cost -= $amntdue
GUICtrlSetData($bill, "Total Bills " & $cost)
ElseIf $duefrequency = "Day" Then
$newpay = _DateAdd("D", 1, $splitpaid[3] & "/" & $splitpaid[1] & "/" & $splitpaid[2])
$newdue = _DateTimeFormat($newpay, 2)
IniWrite(@ScriptDir & "\billconfig.ini", $select, 4, $newdue)
$funds2 -= $amntdue
GUICtrlSetData($pay, $funds2)
_GUICtrlListView_DeleteItemsSelected($ListView)
$cost -= $amntdue
GUICtrlSetData($bill, "Total Bills " & $cost)
ElseIf $duefrequency = "Week" Then
$newpay = _DateAdd("D", 7, $splitpaid[3] & "/" & $splitpaid[1] & "/" & $splitpaid[2])
$newdue = _DateTimeFormat($newpay, 2)
IniWrite(@ScriptDir & "\billconfig.ini", $select, 4, $newdue)
$funds2 -= $amntdue
GUICtrlSetData($pay, $funds2)
_GUICtrlListView_DeleteItemsSelected($ListView)
$cost -= $amntdue
GUICtrlSetData($bill, "Total Bills " & $cost)
ElseIf $duefrequency = "BiWeek" Then
$newpay = _DateAdd("D", 14, $splitpaid[3] & "/" & $splitpaid[1] & "/" & $splitpaid[2])
$newdue = _DateTimeFormat($newpay, 2)
IniWrite(@ScriptDir & "\billconfig.ini", $select, 4, $newdue)
$funds2 -= $amntdue
GUICtrlSetData($pay, $funds2)
_GUICtrlListView_DeleteItemsSelected($ListView)
$cost -= $amntdue
GUICtrlSetData($bill, "Total Bills " & $cost)
EndIf
Case $msg = $calc
_GUICtrlListView_DeleteAllItems($ListView)
$getnextpay = GUICtrlRead($nextpay)
$funds = GUICtrlRead($pay)
IniWrite(@ScriptDir & "\billconfig.ini", "Setup", 4, $funds)
$cost = 0
If $getnextpay <> "" Then
$mrstate = GUICtrlRead($monthrad)
$drstate = GUICtrlRead($dayrad)
$wrstate = GUICtrlRead($weekrad)
$brstate = GUICtrlRead($biweekrad)
Select
Case $mrstate = $GUI_CHECKED
$split = StringSplit($getnextpay, "/")
$payperiod = _DateAdd("M", 1, $split[3] & "/" & $split[1] & "/" & $split[2])
IniWrite(@ScriptDir & "\billconfig.ini", "Setup", 3, "4")
Case $drstate = $GUI_CHECKED
$split = StringSplit($getnextpay, "/")
$payperiod = _DateAdd("D", 1, $split[3] & "/" & $split[1] & "/" & $split[2])
IniWrite(@ScriptDir & "\billconfig.ini", "Setup", 3, "1")
Case $wrstate = $GUI_CHECKED
$split = StringSplit($getnextpay, "/")
$payperiod = _DateAdd("D", 7, $split[3] & "/" & $split[1] & "/" & $split[2])
IniWrite(@ScriptDir & "\billconfig.ini", "Setup", 3, "2")
Case $brstate = $GUI_CHECKED
$split = StringSplit($getnextpay, "/")
$payperiod = _DateAdd("D", 14, $split[3] & "/" & $split[1] & "/" & $split[2])
IniWrite(@ScriptDir & "\billconfig.ini", "Setup", 3, "3")
Case Else
MsgBox(48, "Error", "Must check a pay frequency")
EndSelect
Else
MsgBox(48, "Error", "Must enter pay date")
EndIf
IniWrite(@ScriptDir & "\billconfig.ini", "Setup", 2, $getnextpay)
For $i = 1 To UBound($bills) - 1
If $bills[$i] <> "Setup" Then
$change = IniRead(@ScriptDir & "\billconfig.ini", $bills[$i], 5, "0")
$frequency = IniRead(@ScriptDir & "\billconfig.ini", $bills[$i], 1, "Week")
If $frequency = "Week" Then
$dateadd = "D"
$due = IniRead(@ScriptDir & "\billconfig.ini", $bills[$i], 4, "")
If $due = "" Then
$curday = _DateToDayOfWeek(@YEAR, @MON, @MDAY)
$newday = 6 - Int($curday)
$friday = _DateAdd("D", $newday, @YEAR & "/" & @MON & "/" & @MDAY)
$defaultdue = _DateTimeFormat($friday, 2)
$due = IniRead(@ScriptDir & "\billconfig.ini", $bills[$i], 2, $defaultdue)
EndIf
$payperiod2 = _DateTimeFormat($payperiod, 2)
$duesplit = StringSplit($due, "/")
If StringLen($duesplit[1]) = 1 Then $duesplit[1] = 0 & $duesplit[1]
If StringLen($duesplit[2]) = 1 Then $duesplit[2] = 0 & $duesplit[2]
$check1 = $duesplit[3] & $duesplit[1] & $duesplit[2]
$nextpaysplit = StringSplit($getnextpay, "/")
If StringLen($nextpaysplit[1]) = 1 Then $nextpaysplit[1] = 0 & $nextpaysplit[1]
If StringLen($nextpaysplit[2]) = 1 Then $nextpaysplit[2] = 0 & $nextpaysplit[2]
$check2 = $nextpaysplit[3] & $nextpaysplit[1] & $nextpaysplit[2]
If $check1 < $check2 Then
$split = StringSplit($due, "/")
$newdue = _DateAdd("D", 7, $split[3] & "/" & $split[1] & "/" & $split[2])
$due = _DateTimeFormat($newdue, 2)
EndIf
$duesplit = StringSplit($due, "/")
If StringLen($duesplit[1]) = 1 Then $duesplit[1] = 0 & $duesplit[1]
If StringLen($duesplit[2]) = 1 Then $duesplit[2] = 0 & $duesplit[2]
$check1 = $duesplit[3] & $duesplit[1] & $duesplit[2]
$nextpaysplit = StringSplit($payperiod2, "/")
If StringLen($nextpaysplit[1]) = 1 Then $nextpaysplit[1] = 0 & $nextpaysplit[1]
If StringLen($nextpaysplit[2]) = 1 Then $nextpaysplit[2] = 0 & $nextpaysplit[2]
$check2 = $nextpaysplit[3] & $nextpaysplit[1] & $nextpaysplit[2]
If $check1 < $check2 Then
$amt = IniRead(@ScriptDir & "\billconfig.ini", $bills[$i], 3, "0.00")
$amt2 = $amt
If $change = "1" Then
$yesno = MsgBox(36, $bills[$i], "Has this bill amount changed?")
If $yesno = 6 Then
$amt = InputBox($bills[$i], "Enter new amount", $amt, "", 100, 200)
IniWrite(@ScriptDir & "\billconfig.ini", $bills[$i], 3, $amt)
If @error = 1 Then
$amt = $amt2
EndIf
EndIf
EndIf
GUICtrlCreateListViewItem($bills[$i] & "|" & $amt & "|" & $due, $ListView)
IniWrite(@ScriptDir & "\billconfig.ini", $bills[$i], 4, $due)
$funds -= $amt
$cost += $amt
EndIf
ElseIf $frequency = "Monthly" Then
$dateadd = "M"
$due = IniRead(@ScriptDir & "\billconfig.ini", $bills[$i], 4, "")
If $due = "" Then
$curday = _DateToDayOfWeek(@YEAR, @MON, @MDAY)
$newday = 6 - Int($curday)
$friday = _DateAdd("D", $newday, @YEAR & "/" & @MON & "/" & @MDAY)
$defaultdue = _DateTimeFormat($friday, 2)
$due2 = IniRead(@ScriptDir & "\billconfig.ini", $bills[$i], 2, $defaultdue)
$due = @MON & "/" & $due2 & "/" & @YEAR
EndIf
$payperiod2 = _DateTimeFormat($payperiod, 2)
$duesplit = StringSplit($due, "/")
If StringLen($duesplit[1]) = 1 Then $duesplit[1] = 0 & $duesplit[1]
If StringLen($duesplit[2]) = 1 Then $duesplit[2] = 0 & $duesplit[2]
$check1 = $duesplit[3] & $duesplit[1] & $duesplit[2]
$nextpaysplit = StringSplit($getnextpay, "/")
If StringLen($nextpaysplit[1]) = 1 Then $nextpaysplit[1] = 0 & $nextpaysplit[1]
If StringLen($nextpaysplit[2]) = 1 Then $nextpaysplit[2] = 0 & $nextpaysplit[2]
$check2 = $nextpaysplit[3] & $nextpaysplit[1] & $nextpaysplit[2]
If $check1 < $check2 Then
$split = StringSplit($due, "/")
$newdue = _DateAdd("M", 1, $split[3] & "/" & $split[1] & "/" & $split[2])
$due = _DateTimeFormat($newdue, 2)
EndIf
$duesplit = StringSplit($due, "/")
If StringLen($duesplit[1]) = 1 Then $duesplit[1] = 0 & $duesplit[1]
If StringLen($duesplit[2]) = 1 Then $duesplit[2] = 0 & $duesplit[2]
$check1 = $duesplit[3] & $duesplit[1] & $duesplit[2]
$nextpaysplit = StringSplit($payperiod2, "/")
If StringLen($nextpaysplit[1]) = 1 Then $nextpaysplit[1] = 0 & $nextpaysplit[1]
If StringLen($nextpaysplit[2]) = 1 Then $nextpaysplit[2] = 0 & $nextpaysplit[2]
$check2 = $nextpaysplit[3] & $nextpaysplit[1] & $nextpaysplit[2]
If $check1 < $check2 Then
$amt = IniRead(@ScriptDir & "\billconfig.ini", $bills[$i], 3, "0.00")
$amt2 = $amt
If $change = "1" Then
$yesno = MsgBox(36, $bills[$i], "Has this bill amount changed?")
If $yesno = 6 Then
$amt = InputBox($bills[$i], "Enter new amount", $amt, "", 100, 200)
IniWrite(@ScriptDir & "\billconfig.ini", $bills[$i], 3, $amt)
If @error = 1 Then
$amt = $amt2
EndIf
EndIf
EndIf
GUICtrlCreateListViewItem($bills[$i] & "|" & $amt & "|" & $due, $ListView)
IniWrite(@ScriptDir & "\billconfig.ini", $bills[$i], 4, $due)
$funds -= $amt
$cost += $amt
EndIf
ElseIf $frequency = "BiWeek" Then
$dateadd = "D"
$due = IniRead(@ScriptDir & "\billconfig.ini", $bills[$i], 4, "")
If $due = "" Then
$curday = _DateToDayOfWeek(@YEAR, @MON, @MDAY)
$newday = 6 - Int($curday)
$newday += 7
$friday = _DateAdd("D", $newday, @YEAR & "/" & @MON & "/" & @MDAY)
$defaultdue = _DateTimeFormat($friday, 2)
$lastpay = IniRead(@ScriptDir & "\billconfig.ini", $bills[$i], 4, $defaultdue)
$format = StringSplit($lastpay, "/")
$dueunformat = _DateAdd("D", 14, $format[3] & "/" & $format[1] & "/" & $format[2])
$due = _DateTimeFormat($dueunformat, 2)
EndIf
$payperiod2 = _DateTimeFormat($payperiod, 2)
$duesplit = StringSplit($due, "/")
If StringLen($duesplit[1]) = 1 Then $duesplit[1] = 0 & $duesplit[1]
If StringLen($duesplit[2]) = 1 Then $duesplit[2] = 0 & $duesplit[2]
$check1 = $duesplit[3] & $duesplit[1] & $duesplit[2]
$nextpaysplit = StringSplit($getnextpay, "/")
If StringLen($nextpaysplit[1]) = 1 Then $nextpaysplit[1] = 0 & $nextpaysplit[1]
If StringLen($nextpaysplit[2]) = 1 Then $nextpaysplit[2] = 0 & $nextpaysplit[2]
$check2 = $nextpaysplit[3] & $nextpaysplit[1] & $nextpaysplit[2]
If $check1 < $check2 Then
$split = StringSplit($due, "/")
$newdue = _DateAdd("D", 14, $split[3] & "/" & $split[1] & "/" & $split[2])
$due = _DateTimeFormat($newdue, 2)
EndIf
$duesplit = StringSplit($due, "/")
If StringLen($duesplit[1]) = 1 Then $duesplit[1] = 0 & $duesplit[1]
If StringLen($duesplit[2]) = 1 Then $duesplit[2] = 0 & $duesplit[2]
$check1 = $duesplit[3] & $duesplit[1] & $duesplit[2]
$nextpaysplit = StringSplit($payperiod2, "/")
If StringLen($nextpaysplit[1]) = 1 Then $nextpaysplit[1] = 0 & $nextpaysplit[1]
If StringLen($nextpaysplit[2]) = 1 Then $nextpaysplit[2] = 0 & $nextpaysplit[2]
$check2 = $nextpaysplit[3] & $nextpaysplit[1] & $nextpaysplit[2]
If $check1 < $check2 Then
$amt = IniRead(@ScriptDir & "\billconfig.ini", $bills[$i], 3, "0.00")
$amt2 = $amt
If $change = "1" Then
$yesno = MsgBox(36, $bills[$i], "Has this bill amount changed?")
If $yesno = 6 Then
$amt = InputBox($bills[$i], "Enter new amount", $amt, "", 100, 200)
IniWrite(@ScriptDir & "\billconfig.ini", $bills[$i], 3, $amt)
If @error = 1 Then
$amt = $amt2
EndIf
EndIf
EndIf
GUICtrlCreateListViewItem($bills[$i] & "|" & $amt & "|" & $due, $ListView)
IniWrite(@ScriptDir & "\billconfig.ini", $bills[$i], 4, $due)
$funds -= $amt
$cost += $amt
EndIf
ElseIf $frequency = "Day" Then
$dateadd = "D"
$due = IniRead(@ScriptDir & "\billconfig.ini", $bills[$i], 4, "")
If $due = "" Then
$curday = _DateToDayOfWeek(@YEAR, @MON, @MDAY)
$newday = 6 - Int($curday)
$friday = _DateAdd("D", $newday, @YEAR & "/" & @MON & "/" & @MDAY)
$defaultdue = _DateTimeFormat($friday, 2)
$lastpay = IniRead(@ScriptDir & "\billconfig.ini", $bills[$i], 4, $defaultdue)
$addday = IniRead(@ScriptDir & "\billconfig.ini", $bills[$i], 2, $newday)
$format = StringSplit($lastpay, "/")
$dueunformat = _DateAdd("D", $addday, $format[3] & "/" & $format[1] & "/" & $format[2])
$due = _DateTimeFormat($dueunformat, 2)
EndIf
$payperiod2 = _DateTimeFormat($payperiod, 2)
$duesplit = StringSplit($due, "/")
If StringLen($duesplit[1]) = 1 Then $duesplit[1] = 0 & $duesplit[1]
If StringLen($duesplit[2]) = 1 Then $duesplit[2] = 0 & $duesplit[2]
$check1 = $duesplit[3] & $duesplit[1] & $duesplit[2]
$nextpaysplit = StringSplit($getnextpay, "/")
If StringLen($nextpaysplit[1]) = 1 Then $nextpaysplit[1] = 0 & $nextpaysplit[1]
If StringLen($nextpaysplit[2]) = 1 Then $nextpaysplit[2] = 0 & $nextpaysplit[2]
$check2 = $nextpaysplit[3] & $nextpaysplit[1] & $nextpaysplit[2]
If $check1 < $check2 Then
$split = StringSplit($due, "/")
$newdue = _DateAdd("D", 1, $split[3] & "/" & $split[1] & "/" & $split[2])
$due = _DateTimeFormat($newdue, 2)
EndIf
$duesplit = StringSplit($due, "/")
If StringLen($duesplit[1]) = 1 Then $duesplit[1] = 0 & $duesplit[1]
If StringLen($duesplit[2]) = 1 Then $duesplit[2] = 0 & $duesplit[2]
$check1 = $duesplit[3] & $duesplit[1] & $duesplit[2]
$nextpaysplit = StringSplit($payperiod2, "/")
If StringLen($nextpaysplit[1]) = 1 Then $nextpaysplit[1] = 0 & $nextpaysplit[1]
If StringLen($nextpaysplit[2]) = 1 Then $nextpaysplit[2] = 0 & $nextpaysplit[2]
$check2 = $nextpaysplit[3] & $nextpaysplit[1] & $nextpaysplit[2]
If $check1 < $check2 Then
$amt = IniRead(@ScriptDir & "\billconfig.ini", $bills[$i], 3, "0.00")
$amt2 = $amt
If $change = "1" Then
$yesno = MsgBox(36, $bills[$i], "Has this bill amount changed?"&@CRLF
&$amt)
If $yesno = 6 Then
$amt = InputBox($bills[$i], "Enter new amount", $amt, "", 100, 100)
IniWrite(@ScriptDir & "\billconfig.ini", $bills[$i], 3, $amt)
If @error = 1 Then
$amt = $amt2
EndIf
EndIf
EndIf
GUICtrlCreateListViewItem($bills[$i] & "|" & $amt & "|" & $due, $ListView)
IniWrite(@ScriptDir & "\billconfig.ini", $bills[$i], 4, $due)
$funds -= $amt
$cost += $amt
EndIf
EndIf
EndIf
;add multiple here
If $bills[$i] <> "Setup" Then
Do
If $dateadd = "D" And $frequency = "Week" Then
$duesplit = StringSplit($due, "/")
$due = _DateAdd("D", 7, $duesplit[3] & "/" & $duesplit[1] & "/" & $duesplit[2])
$due = _DateTimeFormat($due, 2)
$duesplit = StringSplit($due, "/")
If StringLen($duesplit[1]) = 1 Then $duesplit[1] = 0 & $duesplit[1]
If StringLen($duesplit[2]) = 1 Then $duesplit[2] = 0 & $duesplit[2]
$check1 = $duesplit[3] & $duesplit[1] & $duesplit[2]
$nextpaysplit = StringSplit($getnextpay, "/")
If StringLen($nextpaysplit[1]) = 1 Then $nextpaysplit[1] = 0 & $nextpaysplit[1]
If StringLen($nextpaysplit[2]) = 1 Then $nextpaysplit[2] = 0 & $nextpaysplit[2]
$check2 = $nextpaysplit[3] & $nextpaysplit[1] & $nextpaysplit[2]
If $check1 < $check2 Then
$split = StringSplit($due, "/")
$newdue = _DateAdd("D", 7, $split[3] & "/" & $split[1] & "/" & $split[2])
$due = _DateTimeFormat($newdue, 2)
EndIf
$duesplit = StringSplit($due, "/")
If StringLen($duesplit[1]) = 1 Then $duesplit[1] = 0 & $duesplit[1]
If StringLen($duesplit[2]) = 1 Then $duesplit[2] = 0 & $duesplit[2]
$check1 = $duesplit[3] & $duesplit[1] & $duesplit[2]
$nextpaysplit = StringSplit($payperiod2, "/")
If StringLen($nextpaysplit[1]) = 1 Then $nextpaysplit[1] = 0 & $nextpaysplit[1]
If StringLen($nextpaysplit[2]) = 1 Then $nextpaysplit[2] = 0 & $nextpaysplit[2]
$check2 = $nextpaysplit[3] & $nextpaysplit[1] & $nextpaysplit[2]
If $check1 < $check2 Then
$amt = IniRead(@ScriptDir & "\billconfig.ini", $bills[$i], 3, "0.00")
$amt2 = $amt
GUICtrlCreateListViewItem($bills[$i] & "|" & $amt & "|" & $due, $ListView)
$funds -= $amt
$cost += $amt
EndIf
ElseIf $dateadd = "D" And $frequency = "BiWeek" Then
$duesplit = StringSplit($due, "/")
$due = _DateAdd("D", 14, $duesplit[3] & "/" & $duesplit[1] & "/" & $duesplit[2])
$due = _DateTimeFormat($due, 2)
$duesplit = StringSplit($due, "/")
If StringLen($duesplit[1]) = 1 Then $duesplit[1] = 0 & $duesplit[1]
If StringLen($duesplit[2]) = 1 Then $duesplit[2] = 0 & $duesplit[2]
$check1 = $duesplit[3] & $duesplit[1] & $duesplit[2]
$nextpaysplit = StringSplit($getnextpay, "/")
If StringLen($nextpaysplit[1]) = 1 Then $nextpaysplit[1] = 0 & $nextpaysplit[1]
If StringLen($nextpaysplit[2]) = 1 Then $nextpaysplit[2] = 0 & $nextpaysplit[2]
$check2 = $nextpaysplit[3] & $nextpaysplit[1] & $nextpaysplit[2]
If $check1 < $check2 Then
$split = StringSplit($due, "/")
$newdue = _DateAdd("D", 14, $split[3] & "/" & $split[1] & "/" & $split[2])
$due = _DateTimeFormat($newdue, 2)
EndIf
$duesplit = StringSplit($due, "/")
If StringLen($duesplit[1]) = 1 Then $duesplit[1] = 0 & $duesplit[1]
If StringLen($duesplit[2]) = 1 Then $duesplit[2] = 0 & $duesplit[2]
$check1 = $duesplit[3] & $duesplit[1] & $duesplit[2]
$nextpaysplit = StringSplit($payperiod2, "/")
If StringLen($nextpaysplit[1]) = 1 Then $nextpaysplit[1] = 0 & $nextpaysplit[1]
If StringLen($nextpaysplit[2]) = 1 Then $nextpaysplit[2] = 0 & $nextpaysplit[2]
$check2 = $nextpaysplit[3] & $nextpaysplit[1] & $nextpaysplit[2]
If $check1 < $check2 Then
$amt = IniRead(@ScriptDir & "\billconfig.ini", $bills[$i], 3, "0.00")
$amt2 = $amt
GUICtrlCreateListViewItem($bills[$i] & "|" & $amt & "|" & $due, $ListView)
$funds -= $amt
$cost += $amt
EndIf
ElseIf $dateadd = "M" And $frequency = "Monthly" Then
$duesplit = StringSplit($due, "/")
$due = _DateAdd("M", 1, $duesplit[3] & "/" & $duesplit[1] & "/" & $duesplit[2])
$due = _DateTimeFormat($due, 2)
$duesplit = StringSplit($due, "/")
If StringLen($duesplit[1]) = 1 Then $duesplit[1] = 0 & $duesplit[1]
If StringLen($duesplit[2]) = 1 Then $duesplit[2] = 0 & $duesplit[2]
$check1 = $duesplit[3] & $duesplit[1] & $duesplit[2]
$nextpaysplit = StringSplit($getnextpay, "/")
If StringLen($nextpaysplit[1]) = 1 Then $nextpaysplit[1] = 0 & $nextpaysplit[1]
If StringLen($nextpaysplit[2]) = 1 Then $nextpaysplit[2] = 0 & $nextpaysplit[2]
$check2 = $nextpaysplit[3] & $nextpaysplit[1] & $nextpaysplit[2]
If $check1 < $check2 Then
$split = StringSplit($due, "/")
$newdue = _DateAdd("M", 1, $split[3] & "/" & $split[1] & "/" & $split[2])
$due = _DateTimeFormat($newdue, 2)
EndIf
$duesplit = StringSplit($due, "/")
If StringLen($duesplit[1]) = 1 Then $duesplit[1] = 0 & $duesplit[1]
If StringLen($duesplit[2]) = 1 Then $duesplit[2] = 0 & $duesplit[2]
$check1 = $duesplit[3] & $duesplit[1] & $duesplit[2]
$nextpaysplit = StringSplit($payperiod2, "/")
If StringLen($nextpaysplit[1]) = 1 Then $nextpaysplit[1] = 0 & $nextpaysplit[1]
If StringLen($nextpaysplit[2]) = 1 Then $nextpaysplit[2] = 0 & $nextpaysplit[2]
$check2 = $nextpaysplit[3] & $nextpaysplit[1] & $nextpaysplit[2]
If $check1 < $check2 Then
$amt = IniRead(@ScriptDir & "\billconfig.ini", $bills[$i], 3, "0.00")
$amt2 = $amt
GUICtrlCreateListViewItem($bills[$i] & "|" & $amt & "|" & $due, $ListView)
$funds -= $amt
$cost += $amt
EndIf
ElseIf $dateadd = "D" And $frequency = "Day" Then
$duesplit = StringSplit($due, "/")
$due = _DateAdd("D", 1, $duesplit[3] & "/" & $duesplit[1] & "/" & $duesplit[2])
$due = _DateTimeFormat($due, 2)
$duesplit = StringSplit($due, "/")
If StringLen($duesplit[1]) = 1 Then $duesplit[1] = 0 & $duesplit[1]
If StringLen($duesplit[2]) = 1 Then $duesplit[2] = 0 & $duesplit[2]
$check1 = $duesplit[3] & $duesplit[1] & $duesplit[2]
$nextpaysplit = StringSplit($getnextpay, "/")
If StringLen($nextpaysplit[1]) = 1 Then $nextpaysplit[1] = 0 & $nextpaysplit[1]
If StringLen($nextpaysplit[2]) = 1 Then $nextpaysplit[2] = 0 & $nextpaysplit[2]
$check2 = $nextpaysplit[3] & $nextpaysplit[1] & $nextpaysplit[2]
If $check1 < $check2 Then
$split = StringSplit($due, "/")
$newdue = _DateAdd("D", 1, $split[3] & "/" & $split[1] & "/" & $split[2])
$due = _DateTimeFormat($newdue, 2)
EndIf
$duesplit = StringSplit($due, "/")
If StringLen($duesplit[1]) = 1 Then $duesplit[1] = 0 & $duesplit[1]
If StringLen($duesplit[2]) = 1 Then $duesplit[2] = 0 & $duesplit[2]
$check1 = $duesplit[3] & $duesplit[1] & $duesplit[2]
$nextpaysplit = StringSplit($payperiod2, "/")
If StringLen($nextpaysplit[1]) = 1 Then $nextpaysplit[1] = 0 & $nextpaysplit[1]
If StringLen($nextpaysplit[2]) = 1 Then $nextpaysplit[2] = 0 & $nextpaysplit[2]
$check2 = $nextpaysplit[3] & $nextpaysplit[1] & $nextpaysplit[2]
If $check1 < $check2 Then
$amt = IniRead(@ScriptDir & "\billconfig.ini", $bills[$i], 3, "0.00")
$amt2 = $amt
GUICtrlCreateListViewItem($bills[$i] & "|" & $amt & "|" & $due, $ListView)
$funds -= $amt
$cost += $amt
EndIf
EndIf
Until $check1 > $check2
EndIf
Next
$funds = Round($funds, 2)
$split = StringSplit($payperiod, "/")
GUICtrlSetData($nextpaydate, "Next pay date is " & @CRLF & $split[2] & "/" & $split[3] & "/" & $split[1])
GUICtrlSetData($leftover, " Left-over funds " & @CRLF & $funds)
GUICtrlSetData($bill, "Total Bills " & @CRLF & $cost)
Case $msg=$spent
$amtspent=Int(InputBox("Other Spendings","Enter Withdrawal",0,"",50,75))
$funds=GUICtrlRead($pay)
$funds-=$amtspent
GUICtrlSetData($pay,$funds)
Case $msg=$deposit
$extradep=Int(InputBox("Additional Deposit","Enter Deposit",0,"",50,75))
$funds=GUICtrlRead($pay)
$funds+=$extradep
GUICtrlSetData($pay,$funds)
EndSelect
WEnd
EndFunc ;==>_Calculate
Func _View
()
$billgui = GUICreate("Bill List", 250, 300)
$ListView = GUICtrlCreateListView("Bill |Amount |Date Due", 2, 2, 246, 230)
$bills = IniReadSectionNames(@ScriptDir & "\billconfig.ini")
$total = 0
For $i = 1 To UBound($bills) - 1
If $bills[$i] <> "Setup" Then
$amt = IniRead(@ScriptDir & "\billconfig.ini", $bills[$i], 3, "0.00")
$due = IniRead(@ScriptDir & "\billconfig.ini", $bills[$i], 4, "")
GUICtrlCreateListViewItem($bills[$i] & "|" & $amt & "|" & $due, $ListView)
$total += $amt
EndIf
Next
GUICtrlCreateLabel("Total: ", 5, 235)
$totlbl = GUICtrlCreateLabel($total, 100, 235)
$add = GUICtrlCreateButton("Add", 40, 260, 40)
$delete = GUICtrlCreateButton("Remove", 100, 260)
$edit = GUICtrlCreateButton("Edit", 167, 260, 40)
GUISetState()
While 1
$msg = GUIGetMsg()
Select
Case $msg = $GUI_EVENT_CLOSE
GUIDelete($billgui)
_Main
()
Case $msg = $add
GUIDelete($billgui)
_addbill
()
Case $msg = $delete
$select = _GUICtrlListView_GetItemText($ListView, Int(_GUICtrlListView_GetSelectedIndices($ListView)), 0)
IniDelete(@ScriptDir & "\billconfig.ini", $select)
_GUICtrlListView_DeleteItemsSelected($ListView)
$total -= $amt
GUICtrlSetData($totlbl, $total)
$bills = IniReadSectionNames(@ScriptDir & "\billconfig.ini")
If $bills[0] = 1 Then
IniWrite(@ScriptDir & "\billconfig.ini", "Setup", 1, "0")
EndIf
Case $msg = $edit
$select = _GUICtrlListView_GetItemText($ListView, Int(_GUICtrlListView_GetSelectedIndices($ListView)), 0)
GUIDelete($billgui)
_Edit
($select)
EndSelect
WEnd
EndFunc ;==>_View
Func _Edit
($select)
$editgui = GUICreate("Edit", 200, 300)
GUICtrlCreateLabel("Name", 2, 10)
$name = GUICtrlCreateInput($select, 34, 8, 125, 20)
GUICtrlCreateLabel("Amount", 6, 230)
$amnt = GUICtrlCreateInput("", 48, 228, 60, 20)
$amt2 = IniRead(@ScriptDir & "\billconfig.ini", $select, 3, "0.00")
GUICtrlSetData($amnt, $amt2)
$add = GUICtrlCreateButton("Save", 75, 260, 50)
$variable = GUICtrlCreateCheckbox("", 150, 220, 20, 20)
$variable2 = IniRead(@ScriptDir & "\billconfig.ini", $select, 5, "0")
If $variable2 = "1" Then
GUICtrlSetState($variable, $GUI_CHECKED)
EndIf
GUICtrlCreateLabel("Is variable?", 130, 242)
GUICtrlCreateLabel("Last billed in M/d/yyyy format", 10, 160, 142, 18)
$lastbilled = GUICtrlCreateInput("", 10, 176, 80, 20)
GUICtrlCreateGroup("", 2, 143, 161, 66)
GUICtrlCreateGroup("Frequency", 2, 30, 181, 104)
GUIStartGroup()
$monthrad = GUICtrlCreateRadio("Monthly", 4, 43)
GUICtrlCreateLabel("Day of Month", 80, 46.5, 80, 18)
$monthdate = GUICtrlCreateInput("", 150, 41, 20, 20)
$dayrad = GUICtrlCreateRadio("Every", 4, 66)
$days = GUICtrlCreateInput("", 49, 67, 20, 20)
GUICtrlCreateLabel("Days", 72, 71, 40, 18)
$weekrad = GUICtrlCreateRadio("Weekly", 4, 89, 60, 20)
$biweekrad = GUICtrlCreateRadio("BiWeekly", 4, 112, 65, 18)
$radio = IniRead(@ScriptDir & "\billconfig.ini", $select, 1, "Month")
If $radio = "Monthly" Then
GUICtrlSetState($monthrad, $GUI_CHECKED)
$monthdate2 = IniRead(@ScriptDir & "\billconfig.ini", $select, 2, "1")
$daylpaid2 = IniRead(@ScriptDir & "\billconfig.ini", $select, 4, "")
GUICtrlSetData($lastbilled, $daylpaid2)
GUICtrlSetData($monthdate, $monthdate2)
ElseIf $radio = "BiWeek" Then
GUICtrlSetState($biweekrad, $GUI_CHECKED)
$bwlpaid2 = IniRead(@ScriptDir & "\billconfig.ini", $select, 4, "")
GUICtrlSetData($lastbilled, $bwlpaid2)
ElseIf $radio = "Week" Then
GUICtrlSetState($weekrad, $GUI_CHECKED)
$daylpaid2 = IniRead(@ScriptDir & "\billconfig.ini", $select, 4, "")
GUICtrlSetData($lastbilled, $daylpaid2)
ElseIf $radio = "Day" Then
GUICtrlSetState($dayrad, $GUI_CHECKED)
$days2 = IniRead(@ScriptDir & "\billconfig.ini", $select, 2, "30")
$daylpaid2 = IniRead(@ScriptDir & "\billconfig.ini", $select, 4, "")
GUICtrlSetData($days, $days2)
GUICtrlSetData($lastbilled, $daylpaid2)
EndIf
GUISetState()
While 1
$msg = GUIGetMsg($editgui)
Select
Case $msg = $GUI_EVENT_CLOSE
GUIDelete($editgui)
_View
()
Case $msg = $add
$mrstate = GUICtrlRead($monthrad)
$drstate = GUICtrlRead($dayrad)
$wrstate = GUICtrlRead($weekrad)
$brstate = GUICtrlRead($biweekrad)
Select
Case $mrstate = $GUI_CHECKED
$getname = GUICtrlRead($name)
$getmonth = GUICtrlRead($monthdate)
$getamnt = GUICtrlRead($amnt)
$getdaylp = GUICtrlRead($lastbilled)
If $getname = "" Or $getmonth = "" Or $getamnt = "" Or $getdaylp = "" Then
If $getname = "" Then
$blank = "Bill Name"
ElseIf $getmonth = "" Then
$blank = "Day of Month"
ElseIf $getamnt = "" Then
$blank = "Amount"
ElseIf $getdaylp = "" Then
$blank = "Last Billed"
EndIf
MsgBox(48, "Error", "All fields need to be filled." & @CRLF & $blank & " was left empty")
Else
IniWrite(@ScriptDir & "\billconfig.ini", $getname, 1, "Monthly")
IniWrite(@ScriptDir & "\billconfig.ini", $getname, 2, $getmonth)
IniWrite(@ScriptDir & "\billconfig.ini", $getname, 3, $getamnt)
IniWrite(@ScriptDir & "\billconfig.ini", $getname, 4, $getdaylp)
$check = GUICtrlRead($variable)
If $check = $GUI_CHECKED Then
IniWrite(@ScriptDir & "\billconfig.ini", $getname, 5, "1")
ElseIf $check = $GUI_UNCHECKED Then
IniWrite(@ScriptDir & "\billconfig.ini", $getname, 5, "0")
EndIf
GUIDelete($editgui)
_View
()
EndIf
Case $drstate = $GUI_CHECKED
$getname = GUICtrlRead($name)
$getday = GUICtrlRead($days)
$getamnt = GUICtrlRead($amnt)
$getdaylp = GUICtrlRead($lastbilled)
If $getname = "" Or $getday = "" Or $getamnt = "" Or $getdaylp = "" Then
If $getname = "" Then
$blank = "Bill Name"
ElseIf $getday = "" Then
$blank = "Number of Days"
ElseIf $getamnt = "" Then
$blank = "Amount"
ElseIf $getdaylp = "" Then
$blank = "Last Billed"
EndIf
MsgBox(48, "Error", "All fields need to be filled." & @CRLF & $blank & " was left empty")
Else
IniWrite(@ScriptDir & "\billconfig.ini", $getname, 1, "Day")
IniWrite(@ScriptDir & "\billconfig.ini", $getname, 2, $getday)
IniWrite(@ScriptDir & "\billconfig.ini", $getname, 3, $getamnt)
IniWrite(@ScriptDir & "\billconfig.ini", $getname, 4, $getdaylp)
$check = GUICtrlRead($variable)
If $check = $GUI_CHECKED Then
IniWrite(@ScriptDir & "\billconfig.ini", $getname, 5, "1")
ElseIf $check = $GUI_UNCHECKED Then
IniWrite(@ScriptDir & "\billconfig.ini", $getname, 5, "0")
EndIf
GUIDelete($editgui)
_View
()
EndIf
Case $wrstate = $GUI_CHECKED
$getname = GUICtrlRead($name)
$getamnt = GUICtrlRead($amnt)
$getdaylp = GUICtrlRead($lastbilled)
If $getname = "" Or $getamnt = "" Or $getdaylp = "" Then
If $getname = "" Then
$blank = "Bill Name"
ElseIf $getamnt = "" Then
$blank = "Amount"
ElseIf $getdaylp = "" Then
$blank = "Last Billed"
EndIf
MsgBox(48, "Error", "All fields need to be filled." & @CRLF & $blank & " was left empty")
Else
IniWrite(@ScriptDir & "\billconfig.ini", $getname, 1, "Week")
IniWrite(@ScriptDir & "\billconfig.ini", $getname, 3, $getamnt)
IniWrite(@ScriptDir & "\billconfig.ini", $getname, 4, $getdaylp)
$check = GUICtrlRead($variable)
If $check = $GUI_CHECKED Then
IniWrite(@ScriptDir & "\billconfig.ini", $getname, 5, "1")
ElseIf $check = $GUI_UNCHECKED Then
IniWrite(@ScriptDir & "\billconfig.ini", $getname, 5, "0")
EndIf
GUIDelete($editgui)
_View
()
EndIf
Case $brstate = $GUI_CHECKED
$getname = GUICtrlRead($name)
$getamnt = GUICtrlRead($amnt)
$getdaylp = GUICtrlRead($lastbilled)
If $getname = "" Or $getamnt = "" Or $getdaylp = "" Then
If $getname = "" Then
$blank = "Bill Name"
ElseIf $getamnt = "" Then
$blank = "Amount"
ElseIf $getdaylp = "" Then
$blank = "Last Billed"
EndIf
MsgBox(48, "Error", "All fields need to be filled." & @CRLF & $blank & " was left empty")
Else
IniWrite(@ScriptDir & "\billconfig.ini", $getname, 1, "BiWeek")
IniWrite(@ScriptDir & "\billconfig.ini", $getname, 3, $getamnt)
IniWrite(@ScriptDir & "\billconfig.ini", $getname, 4, $getdaylp)
$check = GUICtrlRead($variable)
If $check = $GUI_CHECKED Then
IniWrite(@ScriptDir & "\billconfig.ini", $getname, 5, "1")
ElseIf $check = $GUI_UNCHECKED Then
IniWrite(@ScriptDir & "\billconfig.ini", $getname, 5, "0")
EndIf
GUIDelete($editgui)
_View
()
EndIf
Case Else
MsgBox(48, "Error", "No frequency chosen")
EndSelect
EndSelect
WEnd
EndFunc ;==>_Edit
I know it's a false positive because our outlook here at work detects any compiled autoit script as virus and it uses bitdefender as well.