Programming C, C++, Java, PHP, Ruby, Turing, VB
Computer Science Canada 
Programming C, C++, Java, PHP, Ruby, Turing, VB  

Username:   Password: 
 RegisterRegister   
 GUI Text Field Help
Index -> Programming, Turing -> Turing Help
View previous topic Printable versionDownload TopicSubscribe to this topicPrivate MessagesRefresh page View next topic
Author Message
jamonathin




PostPosted: Mon Jan 23, 2006 11:45 am   Post subject: GUI Text Field Help

Hey all, for some reason i cant get my textfields to work right. I set up an example program of what is wrong.

There are 2 textfields, the user puts a value into one of them, and hits the button, which is supposed to double the inputed value and put it into the other text field. Only this code doesn't work Confused

code:
import GUI

var xValue, yValue : real := 1
var box1, box2, button : int

procedure fieldEntered1 (text : string)
    GUI.SetSelection (box1, 0, 0)
    GUI.SetActive (box1)
end fieldEntered1

procedure fieldEntered2 (text : string)
    GUI.SetSelection (box2, 0, 0)
    GUI.SetActive (box2)
end fieldEntered2

proc redoFields
    box1 := GUI.CreateTextField (100, 100, 100, intstr (round (xValue)), fieldEntered1)
    box2 := GUI.CreateTextField (100, 200, 100, intstr (round (yValue)), fieldEntered2)
end redoFields

procedure buttonHit
    if strint (GUI.GetText (box1)) = 1 then
        xValue := yValue * 2
    elsif strint (GUI.GetText (box2)) = 1 then
        yValue := xValue / 2
    end if
    GUI.Dispose (box1)
    GUI.Dispose (box2)
    redoFields
end buttonHit

redoFields
button := GUI.CreateButton (300, 100, 0, "button", buttonHit)

loop
    exit when GUI.ProcessEvent
end loop


any help is appreciated
Sponsor
Sponsor
Sponsor
sponsor
Clayton




PostPosted: Tue Jan 24, 2006 2:13 am   Post subject: (No subject)

i got the code to work according to what you said you wanted it to do so here it is hope it helps
code:

import GUI

var xValue, yValue : int := 1
var box1, box2, button : int

procedure fieldEntered1 (text : string)
    GUI.SetSelection (box1, 0, 0)
    GUI.SetActive (box1)
end fieldEntered1

procedure fieldEntered2 (text : string)
    GUI.SetSelection (box2, 0, 0)
    GUI.SetActive (box2)
end fieldEntered2
proc fields
    box1 := GUI.CreateTextField (100, 100, 100, intstr (round (xValue)), fieldEntered1)
    box2 := GUI.CreateTextField (100, 200, 100, intstr (round (xValue * 2)), fieldEntered2)
end fields
procedure buttonHit
    xValue := strint (GUI.GetText (box1))
    GUI.Dispose (box1)
    GUI.Dispose (box2)
    fields
end buttonHit
fields
button := GUI.CreateButton (300, 100, 0, "button", buttonHit)

loop
    exit when GUI.ProcessEvent
end loop

there you go
jamonathin




PostPosted: Tue Jan 24, 2006 2:29 pm   Post subject: (No subject)

Ok that works, but my dilema is, what if I enter the information in the top field? Lets look at it this way, its a way to convert money, lets say canadian to US. Now, what if i have $20 US, and i want this button to convert it into canadian, or what if i have $15 CDN and i want the button to convert it to american.

Where the top field would represent american, and the bottom field would represent canadian. Confused
jamonathin




PostPosted: Wed Jan 25, 2006 12:21 pm   Post subject: (No subject)

I have it now, so thanks n e ways for ur help, anyone wonderin how, heres the code . .

code:
import GUI

var xValue, yValue, xOld, yOld : int := 0
var box1, box2, button : int

procedure fieldEntered1 (text : string)
    GUI.SetSelection (box1, 0, 0)
    GUI.SetActive (box1)
end fieldEntered1

procedure fieldEntered2 (text : string)
    GUI.SetSelection (box2, 0, 0)
    GUI.SetActive (box2)
end fieldEntered2
proc fields
    box1 := GUI.CreateTextField (100, 100, 100, intstr (round (xValue)), fieldEntered1)
    box2 := GUI.CreateTextField (100, 200, 100, intstr (round (yValue)), fieldEntered2)
end fields
procedure buttonHit
    xValue := strint (GUI.GetText (box1))
    yValue := strint (GUI.GetText (box2))
    if xValue = xOld then
        xValue := round (yValue / 2)
    elsif yValue = yOld then
        yValue := xValue * 2
    else
        xValue := 0
        yValue := 0
    end if
    xOld := xValue
    yOld := yValue
    GUI.Dispose (box1)
    GUI.Dispose (box2)
    fields
end buttonHit
fields
button := GUI.CreateButton (300, 100, 0, "button", buttonHit)

loop
    exit when GUI.ProcessEvent
end loop
Clayton




PostPosted: Wed Jan 25, 2006 3:26 pm   Post subject: (No subject)

glad you fixed that up, i didnt know that you wanted to be able to input into both fields but kool gj
Display posts from previous:   
   Index -> Programming, Turing -> Turing Help
View previous topic Tell A FriendPrintable versionDownload TopicSubscribe to this topicPrivate MessagesRefresh page View next topic

Page 1 of 1  [ 5 Posts ]
Jump to:   


Style:  
Search: