Listing 1. Monetary Input Object Listing ************* * Deck "CanDo-Part3" * Time 23:05:29 * Date 08/11/93 ************* ************* * Card(s) in deck. * Card "CanDo-Part3" ************* * 1 Card(s), 1 were printed. ************* ************* * Natural order of Cards * Card "CanDo-Part3" ************* ************* * There are no Global routines in this deck. ************* ************* * Card "CanDo-Part3" AfterAttachment ; used to be AfterStartup SetPrintFont "topaz",8 SetPrintStyle BOLD ,2,3 PrintText "$",208,91 Transparent FALSE LoadBrush "RCF:CanDo/Brushes/SmallUpArrow.br","ClippedBrush" ShowBrush "ClippedBrush",315,89 ShowBrush "ClippedBrush",331,89 LoadBrush "RCF:CanDo/Brushes/SmallDownArrow.br","ClippedBrush" ShowBrush "ClippedBrush",315,97 ShowBrush "ClippedBrush",331,97 EndScript Window "UserWindow" Definition Origin 0,0 Size 640,200 Title "SimpleBudget v1.00 -1992 RKA Productions" NumberOfColors 4 WindowColors 3,1,0 ; Detail, Block, Background WindowObjects CLOSEBUTTON WindowFlags ACTIVATE SEPARATESCREEN TOFRONT EndScript OnCloseButton Quit EndScript EndObject TextField "Dollars" Definition Origin 225,91 Size 50,8 Justification RIGHT MaxFieldLength 6 InitialText "0" Border EMBOSSED ,1,2 ; BorderStyle, MainPen, ExtraPen EndScript OnRelease Nop ; Eliminate the trailing space in box Let DollarText = TextFrom("Dollars") SetText "Dollars","" SetText "Dollars",DollarText EndScript EndObject TextField "Cents" Definition Origin 281,91 Size 26,8 Justification LEFT MaxFieldLength 2 InitialText "00" Border EMBOSSED ,1,2 ; BorderStyle, MainPen, ExtraPen EndScript OnRelease SetText "Cents",FormatValue(TextFrom("Cents"),"00") EndScript EndObject AreaButton "DollarsUp" Definition Origin 313,89 Size 10,4 Border EMBOSSED ,2,1 ; BorderStyle, MainPen, ExtraPen Highlight COMPLEMENT ButtonFlags NONE EndScript OnClick Let Incr = 1 Loop Let DollarText = TextFrom("Dollars") Let CentText = TextFrom("Cents") If DollarText = "-1" AND CentText <> "00" SetText "Dollars","-0" ElseIf DollarText = "-0" SetText "Dollars","0" Else If DollarText = 99999 Nop Else SetText "Dollars",DollarText+Incr EndIf EndIf Let DollarText = TextFrom("Dollars") If DollarText <> 0 If DollarText MOD 10000 = 0 If DollarText = 90000 Let Incr = 1000 Else Let Incr = 10000 EndIf ElseIf DollarText MOD 1000 = 0 If DollarText = 99000 Let Incr = 100 Else Let Incr = 1000 EndIf ElseIf DollarText MOD 100 = 0 If DollarText = 99900 Let Incr = 10 Else Let Incr = 100 EndIf ElseIf DollarText MOD 10 = 0 If DollarText = 99990 Let Incr = 1 Else Let Incr = 10 EndIf Else Let Incr = 1 EndIf Else Let Incr = 1 EndIf Delay 0,0,5 Until ObjectState("DollarsUp") = OFF EndScript EndObject AreaButton "DollarsDown" Definition Origin 313,97 Size 10,4 Border EMBOSSED ,2,1 ; BorderStyle, MainPen, ExtraPen Highlight COMPLEMENT ButtonFlags NONE EndScript OnClick Let Incr = 1 Loop Let DollarText = TextFrom("Dollars") Let CentText = TextFrom("Cents") If DollarText = "0" AND CentText <> "00" SetText "Dollars","-0" Else If DollarText = -99999 Nop Else SetText "Dollars",DollarText-Incr EndIf EndIf Let DollarText = TextFrom("Dollars") If Integer(DollarText) <> 0 If DollarText MOD 10000 = 0 If DollarText = -90000 Let Incr = 1000 Else Let Incr = 10000 EndIf ElseIf DollarText MOD 1000 = 0 If DollarText = -99000 Let Incr = 100 Else Let Incr = 1000 EndIf ElseIf DollarText MOD 100 = 0 If DollarText = -99900 Let Incr = 10 Else Let Incr = 100 EndIf ElseIf DollarText MOD 10 = 0 If DollarText = -99990 Let Incr = 1 Else Let Incr = 10 EndIf Else Let Incr = 1 EndIf Else Let Incr = 1 EndIf Delay 0,0,5 Until ObjectState("DollarsDown") = OFF EndScript EndObject AreaButton "CentsUp" Definition Origin 329,89 Size 10,4 Border EMBOSSED ,2,1 ; BorderStyle, MainPen, ExtraPen Highlight COMPLEMENT ButtonFlags NONE EndScript OnClick Let FirstLoop = TRUE Loop If Char(ASCII(TextFrom("Dollars"))) = "-" If TextFrom("Cents") = "00" If TextFrom("Dollars") = "-1" SetText "Dollars","-0" Else SetText "Dollars",TextFrom("Dollars")+1 EndIf If FirstLoop = FALSE SetText "Cents","90" Else SetText "Cents","99" EndIf ElseIf TextFrom("Cents") MOD 10 = 0 And FirstLoop = FALSE If TextFrom("Cents") = "10" AND TextFrom("Dollars") = "-0" SetText "Dollars","0" EndIf SetText "Cents",FormatValue(TextFrom("Cents")-10,"00") Else If TextFrom("Cents") = "01" AND TextFrom("Dollars") = "-0" SetText "Dollars","0" EndIf SetText "Cents",FormatValue(TextFrom("Cents")-1,"00") EndIf Else If TextFrom("Cents") = "99" If TextFrom("Dollars") = "99999" Nop Else SetText "Cents","00" SetText "Dollars",TextFrom("Dollars")+1 EndIf ElseIf TextFrom("Cents") MOD 10 = 0 And FirstLoop = FALSE If TextFrom("Cents") = "90" If TextFrom("Dollars") = "99999" SetText "Cents","99" Else SetText "Dollars",TextFrom("Dollars")+1 SetText "Cents","00" EndIf Else SetText "Cents",FormatValue(TextFrom("Cents")+10,"00") EndIf Else SetText "Cents",FormatValue(TextFrom("Cents")+1,"00") EndIf EndIf Let FirstLoop = FALSE Delay 0,0,5 Until ObjectState("CentsUp") = OFF EndScript EndObject AreaButton "CentsDown" Definition Origin 329,97 Size 10,4 Border EMBOSSED ,2,1 ; BorderStyle, MainPen, ExtraPen Highlight COMPLEMENT ButtonFlags NONE EndScript OnClick Let FirstLoop = TRUE Loop Let DollarText = TextFrom("Dollars") Let CentText = TextFrom("Cents") If Char(ASCII(DollarText)) = "-" If CentText MOD 10 = 0 And FirstLoop = FALSE If CentText = "90" If DollarText = "-99999" SetText "Cents","99" Else SetText "Cents","00" SetText "Dollars",DollarText-1 EndIf Else SetText "Cents",FormatValue(CentText+10,"00") EndIf ElseIf CentText = "99" If DollarText = "-99999" Nop Else SetText "Cents","00" SetText "Dollars",DollarText-1 EndIf Else SetText "Cents",FormatValue(CentText+1,"00") EndIf Else If CentText MOD 10 = 0 AND FirstLoop = FALSE If CentText = "00" If DollarText = "0" SetText "Cents","10" SetText "Dollars","-0" Else SetText "Cents","90" SetText "Dollars",DollarText-1 EndIf Else SetText "Cents",FormatValue(CentText-10,"00") EndIf Else If CentText = "00" If DollarText = "0" SetText "Cents","01" SetText "Dollars","-0" Else SetText "Cents","99" SetText "Dollars",DollarText-1 EndIf Else SetText "Cents",FormatValue(CentText-1,"00") EndIf EndIf EndIf Let FirstLoop = FALSE Delay 0,0,5 Until ObjectState("CentsDown") = OFF EndScript EndObject TextButton "Amount_Clear" Definition Origin 356,90 Font "topaz",8 ; FontName, PointSize PrintStyle SHADOW ,2,3 ; Style, Pen1, Pen2 TextColors 1,0,NORMAL ; PenA, PenB, DrawMode Text "$CLR" Border EMBOSSED ,2,1 ; BorderStyle, MainPen, ExtraPen Highlight OUTLINE ButtonFlags NONE EndScript OnRelease SetText "Dollars","0" SetText "Cents","00" EndScript EndObject * End of Card "CanDo-Part3" *************