Not forgetting:
Wonder of the When-Be-Splat 

http://redhanded.hobix.com/bits/wonderOfTheWhenBeFlat.html

        Hugh
On Wed, 10 Jun 2009, Bradley Grzesiak wrote:

> case statements can be pretty neat:
> 
> case foo
> when 'bar'
>   puts 'bar!'
> when :baz, 'baz'
>   puts 'baz!
> when 2000..2009
>   puts 'the aughts!'
> when /^regex(\/
>   puts "matching: #{$1}"
> else
>   puts "the naughts!"
> end
> 
> 
> On Wed, Jun 10, 2009 at 5:45 AM, dave <[email protected]> wrote:
> 
> > This post is more for completeness and so hopefully help someone someday.
> >
> >
> > i now have my code working as i want it to so am posting it here.
> > and as you can see i have had to rework it from my original post.
> >
> >
> > please note ...
> > that I have had to use a case statement inside the keypress do block.
> >
> >
> > created a define block for the if tests and the actual test has changed to
> > check on the length of the text as apposed to nil or false as before.
> >
> >
> > would've liked to have the :enter & "\n" in 1 when clause to have saved the
> >
> > define but i couldn't figure it out (after using some like values -
> > semi-comma
> > & comma, space).
> >
> >
> > hope this helps someone in future,
> >
> >
> > Dave.
> >
> >
> >
> > #require "sqlite3_calls"
> >
> >
> > Shoes.app do
> > # extend Dbase
> >
> > def what_has_data
> > if @custno.text.length > 0
> > alert 'cust number has a value !'
> > # rows = rec_to_find('customers', 'cust_nos', @custno)
> > else
> > if @custname.text.length > 0
> > alert 'cust name has a value !'
> > end
> > end
> >
> > end
> >
> > stack :top =>5, :height => 90 do
> > title "Find Customer Info", :align => 'center'
> > end
> >
> >
> > flow :top => 100 do
> > para strong "Customer nos"
> > @custno = edit_line :width => 50
> >
> >
> > para strong 'customer name'
> > @custname = edit_line :width => 270
> >
> > keypress do |key|
> > case key
> > when :enter
> > what_has_data
> >
> > when "\n"
> > what_has_data
> >
> >
> > end
> > end
> >
> > end
> >
> > stack :top => 250 do
> > para strong 'data return shown here!'
> > end
> >
> >
> > end
> >
> >
> >
> > On Wednesday 10 June 2009 09:53:01 pm dave wrote:
> > > Doh!!! as homer would say.
> > >
> > > am too close to the code to see it.
> > >
> > > many thanks, now onto other issues :).
> > >
> > > On Wednesday 10 June 2009 09:26:14 pm jonty wrote:
> > > > Hi Dave
> > > >
> > > > Just a small help for you
> > > >
> > > > your code contains if x=y.......end
> > > >
> > > > this will set the variable x to being y before testing it!
> > > >
> > > > you need to use the comparison operator == (2 equals)
> > > > as in: if x == y .... end
> > > >
> > > > dave wrote:
> > > > > I have a shoes program (below this message) where what i want to do
> > is
> > > > > to allow the user to enter data into 1 of 2 edit_lines.
> > > > >
> > > > >
> > > > > From the user pressing enter i then check which edit_line has
> > > > > something in it
> > > > > and setup parameters for a SQL statement that 's in a class called
> > > > > dbase that's inside a module called sqlite3_calls.
> > > > >
> > > > >
> > > > > this tho is of no importance yet as i cannot capture the enter key!
> > > > >
> > > > >
> > > > > Note I'm only wanting to get 1 of the two edit_lines working then get
> > > > > the other done once i working based on the solution for the 1st one.
> > > > >
> > > > >
> > > > > Currently what happens is that the program runs but when I alt+/ to
> > > > > see the debug window after my shoes screen appears i see a comment
> > > > > saying pressed enter! when in fact i haven't press a dam thing except
> > .
> > > > >
> > > > >
> > > > > did a search on keypress and edit_line and keypress but nothing i saw
> > > > > really gave me any hints.
> > > > >
> > > > >
> > > > > Dave.
> > > > >
> > > > >
> > > > > code as it stands is below.....
> > > > >
> > > > >
> > > > > require "sqlite3_calls.rb"
> > > > >
> > > > >
> > > > > Shoes.app do
> > > > > # extend Dbase #for the purposes isolation I've commented out this
> > line
> > > > >
> > > > > stack :top =>5, :height => 90 do
> > > > > title "Find Customer Info", :align => 'center'
> > > > > end
> > > > >
> > > > >
> > > > > flow :top => 100, height => 70 do
> > > > > para strong "Customer nos"
> > > > > @custno = edit_line :width => 50 :focus
> > > > >
> > > > >
> > > > > para strong 'customer name'
> > > > > @custname = edit_line :width => 270
> > > > > end
> > > > > if keypress = :enter or keypress = "\n"
> > > > > debug 'pressed enter !'
> > > > > if @custno != nil
> > > > > para 'cust number has a value !'
> > > > > # rows = rec_to_find('customers', 'cust_nos', @custno) # please
> > ignore
> > > > > else
> > > > > if @custname != nil
> > > > > para 'cust name has a value !'
> > > > >
> > > > > end
> > > > >
> > > > > end
> > > > > end
> > > > >
> > > > >
> > > > > flow :top => 550 do
> > > > > para strong 'data return shown here!'
> > > > > end
> > > > >
> > > > >
> > > > > end
> > > > >
> > -----------------------------------------------------------------------
> > > > >-
> > > > >
> > > > >
> > > > > No virus found in this incoming message.
> > > > > Checked by AVG - www.avg.com
> > > > > Version: 8.5.339 / Virus Database: 270.12.60/2166 - Release Date:
> > > > > 06/09/09 18:08:00
> >
> >
> >
> >
> 
> 
> -- 
> Bradley Grzesiak
> [email protected]
> http://toleoandbeyond.blogspot.com
> 
> * You have received an email from my personal account. Please do not divulge
> this address to any website (eg: evite, shutterfly, etc). I have another
> address for such uses; please ask me for it.
> 

Reply via email to