Q-Acheckbook — File Browser

Q-Acheckbookv0.1 / Q-Acheckbookv0.1 / Q-Acheckbook.mrc

Q-Acheckbook.mrc — 8.98 KB — Download this file

;Q-Acheckbook v0.1 by Queen-Amidala
;Written 11/30/03
;http://www.planet-naboo.com
;queenie@planet-naboo.com
;Last updated 12/15/04


dialog q-acb {
  title "Q-Acheckbook v0.1 by Queen-Amidala"
  size -1 -1 249 162
  option dbu
  text "Current Balance:", 4, 148 8 42 8
  edit "", 5, 190 5 50 10, read
  button "Add", 1, 9 5 25 10
  button "Delete", 2, 36 5 25 10
  button "Edit", 3, 63 5 25 10
  button "Start Balance", 21, 9 145 37 12
  list 9, 9 30 23 109, size
  list 10, 31 30 30 109, size
  list 11, 60 30 84 109, size
  list 12, 143 30 31 109, size
  list 13, 173 30 31 109, size
  list 14, 203 30 37 109, size
  text "Check", 15, 10 23 16 7
  text "Date", 16, 32 23 13 7
  text "Entry Details", 17, 61 23 32 7
  text "Credit", 18, 144 23 16 7
  text "Debit", 19, 174 23 13 7
  text "Balance", 20, 204 23 20 7
  icon 7, 225 142 15 15,  " $+ $scriptdirqaicon.jpg", 0, noborder
}

on *:LOAD:{ 
  set %starting.balance $$?="Enter Your Starting Balance in the Format 10.00 With No Dollar Signs ( $+ $chr(36) $+ ) $+ :"
}


;MAIN INIT
on *:dialog:q-acb:init:*: { 
  did -a q-acb 5 $currentbalance
  reProp
  dummyproof_main $dname
}


;Selects all same rows in each column
on *:dialog:q-acb:sclick:9: {
  did -c $dname 10,11,12,13,14 $did(q-acb,9,1).sel
  dummyproof_main $dname
}
on *:dialog:q-acb:sclick:10: {
  did -c $dname 9,11,12,13,14 $did(q-acb,10,1).sel
  dummyproof_main $dname
}
on *:dialog:q-acb:sclick:11: {
  did -c $dname 9,10,12,13,14 $did(q-acb,11,1).sel
  dummyproof_main $dname
}
on *:dialog:q-acb:sclick:12: {
  did -c $dname 9,10,11,13,14 $did(q-acb,12,1).sel
  dummyproof_main $dname
}
on *:dialog:q-acb:sclick:13: {
  did -c $dname 9,10,11,12,14 $did(q-acb,13,1).sel
  dummyproof_main $dname
}
on *:dialog:q-acb:sclick:14: {
  did -c $dname 9,10,11,12,13 $did(q-acb,14,1).sel
  dummyproof_main $dname
}



;Add Button
on *:dialog:q-acb:sclick:1:{
  dialog -md q-acbadd q-acbadd
}

;Delete Button
on *:dialog:q-acb:sclick:2: {
  write -dl $+ $did(q-acb,9).sel " $+ $scriptdircb.txt" 
  did -ar q-acb 5 $currentbalance
  reProp
}

;Edit Button
on *:dialog:q-acb:sclick:3:{
  if ($did(q-acb,9).sel) {  
    dialog -md q-acbedit q-acbedit
  }
}

;Starting Balance Button
on *:dialog:q-acb:sclick:21:{
  set %starting.balance $$?="Enter Your NEW Starting Balance in the Format 10.00 With No Dollar Signs ( $+ $chr(36) $+ ) $+ :"
  did -ar q-acb 5 $currentbalance
}

;View File Button
on *:dialog:q-acb:sclick:6: {
  run " $+ $scriptdircb.txt"
}



;ADD ENTRY DIALOG CODE
dialog q-acbadd {
  title "Q-ACB Add Entry"
  size -1 -1 206 59
  option dbu
  box "Add A New Entry To Your Checkbook", 1, 5 4 197 51
  text "Check", 8, 9 15 16 7
  text "Date", 9, 31 15 13 7
  text "Entry Details", 10, 56 15 32 7
  text "Amount", 11, 162 15 20 7
  edit "", 2, 9 22 22 10, autohs
  edit "", 3, 31 22 24 10, autohs
  edit "", 4, 55 22 106 10, autohs
  edit "", 5, 161 22 34 10, autohs
  radio "Debit", 6, 161 33 23 10
  radio "Credit", 7, 161 42 25 10
  button "OK", 12, 9 38 37 12
  button "Cancel", 13, 49 38 37 12, cancel
}


;ADD Init
on *:dialog:q-acbadd:init:*: {
  dummyproof_add $dname
}


;Dummyproofing
on *:dialog:q-acbadd:sclick:6,7: {
  dummyproof_add $dname
}
on *:dialog:q-acbadd:edit:2,3,4,5: {
  dummyproof_add $dname
}


;ADD: Ok,Add Button
on *:dialog:q-acbadd:sclick:12: {
  if ($did(q-acbadd,5)) && ($did(q-acbadd,6) || $did(q-acbadd,7)) {

    ;If the Check # Box has a value...
    if ($did(q-acbadd,2)) {

      ;If "Debit" is selected...
      if ($did(q-acbadd,6).state == 1) { 
        write " $+ $scriptdircb.txt" $did(q-acbadd,2) $+ $chr(94) $+ $did(q-acbadd,3) $+ $chr(94) $+ $did(q-acbadd,4) $+ $chr(94) $+ 0 $+ $chr(94) $+ $did(q-acbadd,5)                              
        reProp      
        did -ar q-acb 5 $currentbalance      
        dialog -x q-acbadd q-acbadd
      }

      ;If "Credit" is selected...
      else { 
        write " $+ $scriptdircb.txt" $did(q-acbadd,2) $+ $chr(94) $+ $did(q-acbadd,3) $+ $chr(94) $+ $did(q-acbadd,4) $+ $chr(94) $+ $did(q-acbadd,5) $+ $chr(94) $+ 0
        reProp   
        did -ar q-acb 5 $currentbalance          
        dialog -x q-acbadd q-acbadd   
      }
    }



    ;If the Check # Box has NO value...
    else {
      ;If "Debit" is selected...
      if ($did(q-acbadd,6).state == 1) { 
        write " $+ $scriptdircb.txt" n/a $+ $chr(94) $+ $did(q-acbadd,3) $+ $chr(94) $+ $did(q-acbadd,4) $+ $chr(94) $+ 0 $+ $chr(94) $+ $did(q-acbadd,5)  
        reProp      
        did -ar q-acb 5 $currentbalance         
        dialog -x q-acbadd q-acbadd
      }
      ;If "Credit" is selected...
      else { 
        write " $+ $scriptdircb.txt" n/a $+ $chr(94) $+ $did(q-acbadd,3) $+ $chr(94) $+ $did(q-acbadd,4) $+ $chr(94) $+ $did(q-acbadd,5) $+ $chr(94) $+ 0
        reProp
        did -ar q-acb 5 $currentbalance        
        dialog -x q-acbadd q-acbadd
      }
    }
  }
}



;ADD: Cancel Button
on *:dialog:q-acbadd:sclick:13: {
  dialog -x q-acbadd q-acbadd
}



;EDIT ENTRY DIALOG CODE
dialog q-acbedit {
  title "Q-ACB Edit Entry"
  size -1 -1 206 59
  option dbu
  box "Edit A Previous Entry To Your Checkbook", 1, 5 4 197 51
  text "Check", 8, 9 15 16 7
  text "Date", 9, 31 15 13 7
  text "Entry Details", 10, 56 15 32 7
  text "Amount", 11, 162 15 20 7
  edit "", 2, 9 22 22 10, autohs
  edit "", 3, 31 22 24 10, autohs
  edit "", 4, 55 22 106 10, autohs
  edit "", 5, 161 22 34 10, autohs
  radio "Debit", 6, 161 33 23 10
  radio "Credit", 7, 161 42 25 10
  button "Save Change", 12, 9 38 37 12
  button "Cancel", 13, 49 38 37 12, cancel
}

;EDIT: INIT
on *:dialog:q-acbedit:init:*: { 
  did -ar q-acbedit 2 $gettok($read($scriptdircb.txt,$did(q-acb,9).sel),1,94)
  did -ar q-acbedit 3 $gettok($read($scriptdircb.txt,$did(q-acb,9).sel),2,94)
  did -ar q-acbedit 4 $gettok($read($scriptdircb.txt,$did(q-acb,9).sel),3,94)
  if ($gettok($read($scriptdircb.txt,$did(q-acb,9).sel),5,94) == 0) {
    did -ar q-acbedit 5 $gettok($read($scriptdircb.txt,$did(q-acb,9).sel),4,94)
    did -c q-acbedit 7
  }
  else {
    did -ar q-acbedit 5 $gettok($read($scriptdircb.txt,$did(q-acb,9).sel),5,94)
    did -c q-acbedit 6
  }
}


;Dummyproofing
on *:dialog:q-acbedit:sclick:6,7: {
  dummyproof_edit $dname
}
on *:dialog:q-acbedit:edit:2,3,4,5: {
  dummyproof_edit $dname
}


;EDIT: Save Changes Button
on *:dialog:q-acbedit:sclick:12: {

  ;If "Debit" is selected...
  if ($did(q-acbedit,6).state == 1) { 
    write -l $+ $did(q-acb,9).sel " $+ $scriptdircb.txt" $did(q-acbedit,2) $+ $chr(94) $+ $did(q-acbedit,3) $+ $chr(94) $+ $did(q-acbedit,4) $+ $chr(94) $+ 0 $+ $chr(94) $+ $did(q-acbedit,5)                              
    reProp      
    did -ar q-acb 5 $currentbalance      
    dialog -x q-acbedit q-acbedit
  }

  ;If "Credit" is selected...
  else { 
    write -l $+ $did(q-acb,9).sel " $+ $scriptdircb.txt" $did(q-acbedit,2) $+ $chr(94) $+ $did(q-acbedit,3) $+ $chr(94) $+ $did(q-acbedit,4) $+ $chr(94) $+ $did(q-acbedit,5) $+ $chr(94) $+ 0
    reProp   
    did -ar q-acb 5 $currentbalance          
    dialog -x q-acbedit q-acbedit
  }
}


;EDIT: Cancel Button
on *:dialog:q-acbedit:sclick:13: {
  dialog -x q-acbedit q-acbedit
}



;Loads Columns 9,10,11,12,13
alias -l reProp {
  did -r q-acb 9,10,11,12,13
  var %i = 1
  while (%i <= $lines($scriptdircb.txt)) { 
    did -a q-acb 9 $gettok($read($scriptdircb.txt,%i),1,94)
    did -a q-acb 10 $gettok($read($scriptdircb.txt,%i),2,94)
    did -a q-acb 11 $gettok($read($scriptdircb.txt,%i),3,94)
    did -a q-acb 12 $gettok($read($scriptdircb.txt,%i),4,94)
    did -a q-acb 13 $gettok($read($scriptdircb.txt,%i),5,94)
    inc %i 
  }
}


alias -l dummyproof_main {
  did $iif($did($1,9).sel,-e,-b) $1 3,2
}
alias -l dummyproof_add {
  if ($did($1,3) && $did($1,4) && $did($1,5) && ($did($1,6) || $did($1,7))) {
    did -e $1 12
  }
  else { 
    did -b $1 12
  }
}

alias -l dummyproof_edit {
  if ($did($1,3) && $did($1,4) && $did($1,5) && ($did($1,6) || $did($1,7))) {
    did -e $1 12
  }
  else { 
    did -b $1 12
  }
}


alias -l currentbalance {
  var %current.balance = %starting.balance
  did -r q-acb 14
  var %loop = 1
  while (%loop <= $lines($scriptdircb.txt)) {
    var %current.balance = $calc(%current.balance $iif($gettok($read($scriptdircb.txt,%loop),5,94),- $ifmatch,+ $gettok($read($scriptdircb.txt,%loop),4,94)))
    if (. !isin %current.balance) { var %current.balance = %current.balance $+ .00 }
    elseif ($len($gettok(%current.balance,2,46)) == 1) { var %current.balance = %current.balance $+ 0 }
    did -a q-acb 14 %current.balance
    inc %loop
  }
  return %current.balance
}


alias q-acheckbook { $iif(!dialog(Q-Acb),dialog -md q-acb q-acb,halt) }



;Popup Menu to open dialog
menu status,nicklist,channel {
  $iif(!$dialog(Q-Acb),Q-Acheckbook v0.1)  : dialog -md Q-Acb Q-Acb
}

;I am SO not a 1337 scripter.
;http://www.planet-naboo.com
;queenie@planet-naboo.com