[lnkForumImage]
TotalShareware - Download Free Software

Confronta i prezzi di migliaia di prodotti.
Asp Forum
 Home | Login | Register | Search 


 

Forums >

comp.lang.ruby

Passing the data from a tkEntry widgit to a variable

Mer Gilmartin

10/13/2006 1:47:00 PM

I'm a bit confused about this,
when you create a TkEntry Widgit on a frame
How exactly do you put the data entered into a variable?

I want it passed when the user clicks a button.

So I was looking at examples and it seemed to say that along
with passing the frame name, i should pass a textvariable linked
too a variable. But thats just throwing errors.

I was looking at examples that seem to bind the data but i was
having difficulty figuring out what they were passing.

Could I bother someone to explain it briefly. I want to be able to
understand it to make sure I can do this.


--
Posted via http://www.ruby-....

4 Answers

Mer Gilmartin

10/13/2006 3:02:00 PM

0

Ok.
Sample code for other newbies.

@mytext = TkVariable.new('hi this is a test')
testtwo = TkEntry.new(Frameone, 'textvariable'=> @mytext)
{
puts value
}

Value outputs whats been passed to the TkEntry widgit.
I think.

Binding I think will allow data into the widgit
so possibility into the variable. But I havent got that far yet.

--
Posted via http://www.ruby-....

Hidetoshi NAGAI

10/14/2006 1:16:00 AM

0

Mer Gilmartin

10/16/2006 2:54:00 PM

0

Hidetoshi NAGAI wrote:
> ----<sample 5>--------------------------------------
> @mytext = 'hi this is a test'
> testtwo = TkEntry.new(Frameone)
> testtwo.value = @mytext
> ev = TkVirtualEvent.new('Button-1', 'Return')
> testtwo.bind(ev){@mytext = testtwo.value; puts @mytext}
> ----------------------------------------------------
> and so on.

Trying your examples and think I understand them and what
they are doing. I have a much better idea of how to use
tkvirtual event anyway.

But The data in the entry box goes into the
variable as soon as I click on the entry box. Not when i click
on the button. Button-1 means left click so I see why this is
so.

How do I change the action to clicking on a button?
I was wondering if the button name instead of button-1 might do
it. But of course it doesnt.

--
Posted via http://www.ruby-....

Morton Goldberg

10/16/2006 10:20:00 PM

0

On Oct 16, 2006, at 10:53 AM, Mer Gilmartin wrote:

> Hidetoshi NAGAI wrote:
>> ----<sample 5>--------------------------------------
>> @mytext = 'hi this is a test'
>> testtwo = TkEntry.new(Frameone)
>> testtwo.value = @mytext
>> ev = TkVirtualEvent.new('Button-1', 'Return')
>> testtwo.bind(ev){@mytext = testtwo.value; puts @mytext}
>> ----------------------------------------------------
>> and so on.
>
> Trying your examples and think I understand them and what
> they are doing. I have a much better idea of how to use
> tkvirtual event anyway.
>
> But The data in the entry box goes into the
> variable as soon as I click on the entry box. Not when i click
> on the button. Button-1 means left click so I see why this is
> so.
>
> How do I change the action to clicking on a button?
> I was wondering if the button name instead of button-1 might do
> it. But of course it doesnt.

Bind 'ButtonRelease-1' and its action to your button widget.
Supposing your button is referenced by the variable 'my_btn', then
the following should work:

my_btn.bind('ButtonRelease-1'){@mytext = testtwo.value; puts
@mytext}

I prefer handling a 'ButtonRelease-1' event to a 'Button-1' (an alias
for 'ButtonPress-1') because it gives the user a chance withdraw from
committing to a widget action to by clicking off the widget in question.

If you need to bind more than one event to the button, then use a
virtual event as Nagai san demonstrated.

Regards, Morton