Thanks you for all the help...but i need just a bit more
Author |
Message |
Bruski
|
Posted: Sat Jun 14, 2003 11:16 am Post subject: Thanks you for all the help...but i need just a bit more |
|
|
hey sorry for posting before demanding some things , i guess i was a bit stressed out at the moment, however ive solved most of my problems except for 2 that i cant seem to get around...they fairly simple i belive but i dont know the answer to them...I was just wondering if after you press the quit button the window closes instead of just ending the run. and the other question is how can i change the background of my checkboxes so that they are white, thank you hope im not asking too much...
heres the code
code: |
import GUI
View.Set ("graphics:650;300,nobuttonbar")
%Declare identifiers
var nameTextField, addressTextField, cityTextField, provinceTextField, postalTextField, costTextField, yes2,no2, yes1,no1, fillClearButton,statusButton, refreshButton, quitButton : int
var total, tax, cost, subTotal, GSTtot, PSTtot, discount, membership : real
var tot := ""
var sub := ""
var gst := ""
var pst := ""
var dis := ""
var mem := ""
var pos := ""
var fill := true
const gstTax:=0.07
const pstTax:=0.08
var draw : boolean := false
tax := 0.15
var memFee:=0
var disTotal:=0.1
%procedures for fields and buttons
procedure NameEntered (text : string)
GUI.SetSelection (addressTextField, 0, 0)
GUI.SetActive (addressTextField)
end NameEntered
procedure AddressEntered (text : string)
GUI.SetSelection (cityTextField, 0, 0)
GUI.SetActive (cityTextField)
end AddressEntered
procedure CityEntered (text : string)
GUI.SetSelection (provinceTextField, 0, 0)
GUI.SetActive (provinceTextField)
end CityEntered
procedure ProvinceEntered (text : string)
GUI.SetSelection (postalTextField, 0, 0)
GUI.SetActive (postalTextField)
end ProvinceEntered
procedure PostalEntered (text : string)
GUI.SetSelection (costTextField, 0, 0)
GUI.SetActive (costTextField)
end PostalEntered
procedure CheckBoxPressed (filled : boolean)
if yes1= GUI.GetEventWidgetID then
memFee:=0
disTotal:=0.1
elsif yes2= GUI.GetEventWidgetID then
memFee:=5
disTotal:=0.1
else
memFee:=0
disTotal:=0
end if
end CheckBoxPressed
procedure RefreshPressed
Draw.FillBox (0, 0, maxx, maxy, GUI.GetBackgroundColour)
GUI.Refresh
end RefreshPressed
procedure CostCD (text : string)
total := strreal (text) + strreal (text) * tax - strreal (text)* disTotal +memFee
tot := realstr (total, 10)
subTotal :=strreal (text)
sub := realstr (subTotal, 10)
GSTtot :=strreal (text) * gstTax
gst := realstr (GSTtot, 10)
PSTtot :=strreal (text) * pstTax
pst := realstr (PSTtot, 10)
discount:=strreal (text)*disTotal
dis:=realstr (discount, 10)
membership:=memFee
mem:=realstr (membership, 10)
end CostCD
procedure emptyf (text : string)
tot:= ""
sub:= ""
gst:= ""
pst:= ""
dis:= ""
mem:= ""
pos:= ""
end emptyf
procedure caculate ()
draw := true
end caculate
GUI.SetBackgroundColor (yellow)
%declare fields & labels
nameTextField := GUI.CreateTextFieldFull (155, 250, 155, "", NameEntered, GUI.INDENT, 0, 0)
var nameLabel := GUI.CreateLabelFull (145, 250, "Name:", 0, 0, GUI.RIGHT, 0)
addressTextField := GUI.CreateTextFieldFull (155, 220, 155, "", AddressEntered, GUI.INDENT, 0, 0)
var addressLabel := GUI.CreateLabelFull (145, 220, "Address:", 0, 0, GUI.RIGHT, 0)
cityTextField := GUI.CreateTextFieldFull (155, 190, 155, "", CityEntered, GUI.INDENT, 0, 0)
var cityLabel := GUI.CreateLabelFull (145, 190, "City:", 0, 0, GUI.RIGHT, 0)
provinceTextField := GUI.CreateTextFieldFull (155, 160, 45, "", ProvinceEntered, GUI.INDENT, 0, 0)
var provinceLabel := GUI.CreateLabelFull (145, 160, "Province:", 0, 0, GUI.RIGHT, 0)
postalTextField := GUI.CreateTextFieldFull (265, 160, 45, "", ProvinceEntered, GUI.INDENT, 0, 0)
var postalLabel := GUI.CreateLabelFull (257, 160, "Zip Code:", 0, 0, GUI.RIGHT, 0)
costTextField := GUI.CreateTextFieldFull (155, 100, 155, "", CostCD, GUI.INDENT, 0, 0)
var costLabel := GUI.CreateLabelFull (145, 100, "Number of CDs:", 0, 0, GUI.RIGHT, 0)
var taxtf := GUI.CreateTextFieldFull (420, 130, 155, "", emptyf, GUI.INDENT, 0, 0)
var gtax := GUI.CreateLabelFull (410, 130, "Total: $", 0, 0,GUI.RIGHT, 0)
var subTotalf := GUI.CreateTextFieldFull (420, 250, 155, "", emptyf, GUI.INDENT, 0, 0)
var gsub := GUI.CreateLabelFull (410, 250, "Subtotal: $", 0, 0,GUI.RIGHT, 0)
var gstf := GUI.CreateTextFieldFull (420, 160, 55, "", emptyf, GUI.INDENT, 0, 0)
var ggst := GUI.CreateLabelFull (410, 160, "GST: $", 0, 0,GUI.RIGHT, 0)
var pstf := GUI.CreateTextFieldFull (520, 160, 55, "", emptyf, GUI.INDENT, 0, 0)
var gpst := GUI.CreateLabelFull (515, 160, "PST: $", 0, 0,GUI.RIGHT, 0)
var disf := GUI.CreateTextFieldFull (420, 190, 155, "", emptyf, GUI.INDENT, 0, 0)
var gdis := GUI.CreateLabelFull (410, 190, "Discount: $", 0, 0,GUI.RIGHT, 0)
var memf := GUI.CreateTextFieldFull (420, 220, 155, "", emptyf, GUI.INDENT, 0, 0)
var gmem := GUI.CreateLabelFull (410, 220, "Mem Fee: $", 0, 0,GUI.RIGHT, 0)
%checkboxes for membership
yes2 := GUI.CreateCheckBox (223, maxy - 177, "Yes?",CheckBoxPressed)
no2 := GUI.CreateCheckBox (270, maxy - 177, "No?",CheckBoxPressed)
var buymember := GUI.CreateLabelFull (210, maxy - 177, "If no, purchase a membership?", 0, 0,GUI.RIGHT, 0)
yes1 := GUI.CreateCheckBox (223, maxy - 157, "Yes?",CheckBoxPressed)
no1 := GUI.CreateCheckBox (270, maxy - 157, "No?",CheckBoxPressed)
var member := GUI.CreateLabelFull (210, maxy - 157, "Do you have a D3 membership card?", 0, 0,GUI.RIGHT, 0)
%line dividing buttons and fields
var line := GUI.CreateLine (0, maxy - 225, maxx, maxy - 225, 0)
%buttons
var quitBtn : int := GUI.CreateButton (150, 40, 100, "Quit", GUI.Quit)
var calcb : int := GUI.CreateButton (260, 40, 100, "Calculate", caculate)
var clearScrn : int := GUI.CreateButton (370, 40, 100, "Clear Screen", RefreshPressed)
loop
if draw then
GUI.SetText (taxtf, tot)
GUI.SetText (subTotalf, sub)
GUI.SetText (gstf, gst)
GUI.SetText (pstf, pst)
GUI.SetText (disf, dis)
GUI.SetText (memf, mem)
draw := false
end if
exit when GUI.ProcessEvent
end loop
|
|
|
|
|
|
|
Sponsor Sponsor
|
|
|
Tony
|
Posted: Sat Jun 14, 2003 11:43 am Post subject: (No subject) |
|
|
Well we dont really need to see your source code for those guestions.
To exit the program after pressing quit button, you place quit command after your exit when GUI.ProcessEvent loop.
as for modifing background color of checkboxes... I'm afraid you'd have to go and modify the GUI module. |
Tony's programming blog. DWITE - a programming contest. |
|
|
|
|
Prince
|
Posted: Sat Jun 14, 2003 11:49 am Post subject: (No subject) |
|
|
if u want the window to close after u press the quit button put Window.Close(winID) after the last loop... im not sure about the check boxes but i think they jus go with the back ground colour so if u want thos white ur gonna hafta change the whole back ground to white (dont hold me to that tho) |
|
|
|
|
|
nate
|
Posted: Sat Jun 14, 2003 12:37 pm Post subject: (No subject) |
|
|
I know how 2 change the color!
i think its just
GUI.SetBackGroundColor (color)
this will only change the check boxes color! (hopefully cause it worked for me!) |
|
|
|
|
|
Bruski
|
Posted: Sat Jun 14, 2003 1:13 pm Post subject: (No subject) |
|
|
what do i put for the (winID) thinggy |
|
|
|
|
|
Bruski
|
Posted: Sat Jun 14, 2003 1:14 pm Post subject: (No subject) |
|
|
sadly text box color change didnt work...changes whole text to white |
|
|
|
|
|
Prince
|
Posted: Sat Jun 14, 2003 2:55 pm Post subject: (No subject) |
|
|
for the Window.Close to work u hafta open a window first so wher u hav View.Set at the top, change it to:
code: |
var win1 : int := Window.Open ("graphics:650;300,nobuttonbar")
|
then at the bottom, after the last loop put Window.Close (win1) and voila, uve just closed ur window 8) |
|
|
|
|
|
Andy
|
Posted: Sat Jun 14, 2003 4:00 pm Post subject: (No subject) |
|
|
man ppl, if u have GUI problems, type GUI and press f10 |
|
|
|
|
|
Sponsor Sponsor
|
|
|
Homer_simpson
|
Posted: Sat Jun 14, 2003 5:48 pm Post subject: (No subject) |
|
|
Type GUI then press F9 not F10 |
|
|
|
|
|
Bruski
|
Posted: Sat Jun 14, 2003 9:34 pm Post subject: (No subject) |
|
|
lol thx....but how bout the text box question...ive solved the other one ...i just looked at an example...and the other one thats ticking me off is a clear button...so when the person presses clear, text boxes are cleared...any suggestions thx |
|
|
|
|
|
nate
|
Posted: Sat Jun 14, 2003 9:52 pm Post subject: it does work |
|
|
here is the code with the red text boxes!
**give me bits***
code: | import GUI
View.Set ("graphics:650;300,nobuttonbar")
%Declare identifiers
var nameTextField, addressTextField, cityTextField, provinceTextField, postalTextField, costTextField, yes2,no2, yes1,no1, fillClearButton,statusButton, refreshButton, quitButton : int
var total, tax, cost, subTotal, GSTtot, PSTtot, discount, membership : real
var tot := ""
var sub := ""
var gst := ""
var pst := ""
var dis := ""
var mem := ""
var pos := ""
var fill := true
const gstTax:=0.07
const pstTax:=0.08
var draw : boolean := false
tax := 0.15
var memFee:=0
var disTotal:=0.1
%procedures for fields and buttons
procedure NameEntered (text : string)
GUI.SetSelection (addressTextField, 0, 0)
GUI.SetActive (addressTextField)
end NameEntered
procedure AddressEntered (text : string)
GUI.SetSelection (cityTextField, 0, 0)
GUI.SetActive (cityTextField)
end AddressEntered
procedure CityEntered (text : string)
GUI.SetSelection (provinceTextField, 0, 0)
GUI.SetActive (provinceTextField)
end CityEntered
procedure ProvinceEntered (text : string)
GUI.SetSelection (postalTextField, 0, 0)
GUI.SetActive (postalTextField)
end ProvinceEntered
procedure PostalEntered (text : string)
GUI.SetSelection (costTextField, 0, 0)
GUI.SetActive (costTextField)
end PostalEntered
procedure CheckBoxPressed (filled : boolean)
if yes1= GUI.GetEventWidgetID then
memFee:=0
disTotal:=0.1
elsif yes2= GUI.GetEventWidgetID then
memFee:=5
disTotal:=0.1
else
memFee:=0
disTotal:=0
end if
end CheckBoxPressed
procedure RefreshPressed
Draw.FillBox (0, 0, maxx, maxy, GUI.GetBackgroundColour)
GUI.Refresh
end RefreshPressed
procedure CostCD (text : string)
total := strreal (text) + strreal (text) * tax - strreal (text)* disTotal +memFee
tot := realstr (total, 10)
subTotal :=strreal (text)
sub := realstr (subTotal, 10)
GSTtot :=strreal (text) * gstTax
gst := realstr (GSTtot, 10)
PSTtot :=strreal (text) * pstTax
pst := realstr (PSTtot, 10)
discount:=strreal (text)*disTotal
dis:=realstr (discount, 10)
membership:=memFee
mem:=realstr (membership, 10)
end CostCD
procedure emptyf (text : string)
tot:= ""
sub:= ""
gst:= ""
pst:= ""
dis:= ""
mem:= ""
pos:= ""
end emptyf
procedure caculate ()
draw := true
end caculate
colorback (yellow)
GUI.SetBackgroundColor (brightred)
cls
%declare fields & labels
nameTextField := GUI.CreateTextFieldFull (155, 250, 155, "", NameEntered, GUI.INDENT, 0, 0)
var nameLabel := GUI.CreateLabelFull (145, 250, "Name:", 0, 0, GUI.RIGHT, 0)
addressTextField := GUI.CreateTextFieldFull (155, 220, 155, "", AddressEntered, GUI.INDENT, 0, 0)
var addressLabel := GUI.CreateLabelFull (145, 220, "Address:", 0, 0, GUI.RIGHT, 0)
cityTextField := GUI.CreateTextFieldFull (155, 190, 155, "", CityEntered, GUI.INDENT, 0, 0)
var cityLabel := GUI.CreateLabelFull (145, 190, "City:", 0, 0, GUI.RIGHT, 0)
provinceTextField := GUI.CreateTextFieldFull (155, 160, 45, "", ProvinceEntered, GUI.INDENT, 0, 0)
var provinceLabel := GUI.CreateLabelFull (145, 160, "Province:", 0, 0, GUI.RIGHT, 0)
postalTextField := GUI.CreateTextFieldFull (265, 160, 45, "", ProvinceEntered, GUI.INDENT, 0, 0)
var postalLabel := GUI.CreateLabelFull (257, 160, "Zip Code:", 0, 0, GUI.RIGHT, 0)
costTextField := GUI.CreateTextFieldFull (155, 100, 155, "", CostCD, GUI.INDENT, 0, 0)
var costLabel := GUI.CreateLabelFull (145, 100, "Number of CDs:", 0, 0, GUI.RIGHT, 0)
var taxtf := GUI.CreateTextFieldFull (420, 130, 155, "", emptyf, GUI.INDENT, 0, 0)
var gtax := GUI.CreateLabelFull (410, 130, "Total: $", 0, 0,GUI.RIGHT, 0)
var subTotalf := GUI.CreateTextFieldFull (420, 250, 155, "", emptyf, GUI.INDENT, 0, 0)
var gsub := GUI.CreateLabelFull (410, 250, "Subtotal: $", 0, 0,GUI.RIGHT, 0)
var gstf := GUI.CreateTextFieldFull (420, 160, 55, "", emptyf, GUI.INDENT, 0, 0)
var ggst := GUI.CreateLabelFull (410, 160, "GST: $", 0, 0,GUI.RIGHT, 0)
var pstf := GUI.CreateTextFieldFull (520, 160, 55, "", emptyf, GUI.INDENT, 0, 0)
var gpst := GUI.CreateLabelFull (515, 160, "PST: $", 0, 0,GUI.RIGHT, 0)
var disf := GUI.CreateTextFieldFull (420, 190, 155, "", emptyf, GUI.INDENT, 0, 0)
var gdis := GUI.CreateLabelFull (410, 190, "Discount: $", 0, 0,GUI.RIGHT, 0)
var memf := GUI.CreateTextFieldFull (420, 220, 155, "", emptyf, GUI.INDENT, 0, 0)
var gmem := GUI.CreateLabelFull (410, 220, "Mem Fee: $", 0, 0,GUI.RIGHT, 0)
%checkboxes for membership
yes2 := GUI.CreateCheckBox (223, maxy - 177, "Yes?",CheckBoxPressed)
no2 := GUI.CreateCheckBox (270, maxy - 177, "No?",CheckBoxPressed)
var buymember := GUI.CreateLabelFull (210, maxy - 177, "If no, purchase a membership?", 0, 0,GUI.RIGHT, 0)
yes1 := GUI.CreateCheckBox (223, maxy - 157, "Yes?",CheckBoxPressed)
no1 := GUI.CreateCheckBox (270, maxy - 157, "No?",CheckBoxPressed)
var member := GUI.CreateLabelFull (210, maxy - 157, "Do you have a D3 membership card?", 0, 0,GUI.RIGHT, 0)
%line dividing buttons and fields
var line := GUI.CreateLine (0, maxy - 225, maxx, maxy - 225, 0)
%buttons
var quitBtn : int := GUI.CreateButton (150, 40, 100, "Quit", GUI.Quit)
var calcb : int := GUI.CreateButton (260, 40, 100, "Calculate", caculate)
var clearScrn : int := GUI.CreateButton (370, 40, 100, "Clear Screen", RefreshPressed)
loop
if draw then
GUI.SetText (taxtf, tot)
GUI.SetText (subTotalf, sub)
GUI.SetText (gstf, gst)
GUI.SetText (pstf, pst)
GUI.SetText (disf, dis)
GUI.SetText (memf, mem)
draw := false
end if
exit when GUI.ProcessEvent
end loop |
|
|
|
|
|
|
naoki
|
Posted: Sat Jun 14, 2003 9:54 pm Post subject: (No subject) |
|
|
i dunno. u could use the repeat function and repeat blanks constantly but without delay. or you could just draw another box over it and re-locate the position to the beginning of the text box |
|
|
|
|
|
Bruski
|
Posted: Sat Jun 14, 2003 10:56 pm Post subject: (No subject) |
|
|
oooo....love you guys...thanks...the clear button is still puzzling me...if i draw each box again...my teacher will say thats redundant code ...ima work on it...if anyone can help i would really appreciate it |
|
|
|
|
|
Asok
|
Posted: Sun Jun 15, 2003 1:09 am Post subject: (No subject) |
|
|
Locked for having an invalid subject title.
Please read over the rules moderating subjects.
Locked. |
|
|
|
|
|
|
|