PBMon Documentation ------------------- By Mathias Bjorklund and Maarten Oretorp This is version 1.0 of the program pbmon or Phone Bill Monitor. The program helps you control your phone-bill. The program is placed in the public domain. When you start this program you can see how much the phone-call has cost you, and how much since you last reseted the variables named TOTAL. You also can se how long the call has lasted and some other stuff. To use this program you must first install you local phone-fees and then you run the program by feeding it with a string that holds the areacode to the person to whom you are calling. A window will appear that will look something like this: AreaCode: 013 @ The persons area-code to whom you are calling Markings: 1 @ Number of markings this call Sum: 0.28 @ Sum of this call StartingTime: 15.2934 @ The time the program was started Elapsed time: 0.0017 @ How long the call has lasted Total: 45.28 @ How much money you have spent since you last @ reseted the variable TOTAL. To end the program just press any key EXCEPT ON. The program can handle if you are talking over several different taxes, over two days and we hope that every other exceptional are taken care of. The program uses the time and the date commands to check what the fees are for the moment, so you must have set these up properly. These are the files in the directory. TOTAL @ Holds the total since last reset. PRICE @ Holds how much each marking costs. PERIODS @ Declares what fees are used for different times. INTERVAL @ Declares the length of the period between two @ markings. AREA @ Declares area classes. CST @ A custom menu, press cst to have the program @ and a little thing to reset TOTAL. PBMON @ THE PROGRAM!!!!! How To Install my local fees??? To learn how to install it properly look at this example that goes for Linkoeping in Sweden. PERIODS { { 0 8 1 5 4 } @ Time class 4 between 0.00 and 8.00 monday to friday (1-5) { 8 12 1 5 1 } @ Time class 1 between 8.00 and 12.00 - II - { 12 18 1 5 2 } { 18 22 1 5 3 } { 22 24 1 5 4 } { 0 24 6 7 4 } }@ Time class 4 between 0.00 and 24.00 saturday and sunday @ (6-7) AREA @ Defines as many areaclasses as there are lists in the list @ plus one (For those who are not included). For example "056" @ will be classed as number 5. { { "013" } @ Defines Areacode 013 as class 1. { "0120" } @ - II - 0120 as class 2. { "0142" "0122" "0494" "0141" "011" "0121" "0143" "0125" "0144" } { "0583" "0381" "0157" @ a.s.o. "0493" "0150" "0155" "0140" "0123" "0492" "0151" } } INTERVAL @ An array holding the time between two markings (in seconds). [[ 180 62 31 17 11 ] @ Time Class 1 (Number from variable PERIODS). [ 180 90 45 24 15 ] @ Time Class 2. [ 360 105 52 28 18 ] [ 360 120 60 32 21 ]] a a a r r r e e e a a a c c c l l l @ From the variable AREA. a a a s s s s s s 1 2 3 . . . We hope that this shouldn't cause any problems. If so send us a mail and we will try to answer your questions. Excuse us if the English is poor in this document, (It ain't our native language). The Source code is optimized to take as little memory as possible so the variablenames could be a bit strange.