MathGroup Archive 2013

[Date Index] [Thread Index] [Author Index]

Search the Archive

Re: can't get InputField to work inside a While command

  • To: mathgroup at smc.vnet.net
  • Subject: [mg130792] Re: can't get InputField to work inside a While command
  • From: David Bailey <dave at removedbailey.co.uk>
  • Date: Wed, 15 May 2013 02:54:52 -0400 (EDT)
  • Delivered-to: l-mathgroup@mail-archive0.wolfram.com
  • Delivered-to: l-mathgroup@wolfram.com
  • Delivered-to: mathgroup-outx@smc.vnet.net
  • Delivered-to: mathgroup-newsendx@smc.vnet.net
  • References: <kmso9j$h67$1@smc.vnet.net>

On 14/05/2013 08:14, Dushan Mitrovich wrote:> I need to be able to input 
parameters for an a-priori indeterminate
 > number of cases.  The way I've been trying to do this is by using a
 > While statement containing InputFields, one of which asks if there are
 > to be more cases to deal with.  If not, the previously True logical
 > 'test' for While is reset to False.
 >
 > But apparently InputField is not even recognized as part of the 'body'
 > inside a While.  By itself InputField works as expected, but not in this
 > reduced example:
 >
 >     cntr = 0;
 >     While[cntr<3, cntr++; InputField[xx]]
 >
 > which only produces
 >
 >     1
 >     2
 >     3
 >
 > What am I missing?  Or am I going about this the wrong way?
 >
 > - Dushan
 >     [ reverse the middle word of address to reply ]
 >
You need to realise the InputField construction generates a box only 
when it is output to a notebook (analogous to a Graphics object) - it 
doesn't evaluate to anything other than itself. This code will create a 
list of InputField objects, each attached to a different element of a 
list, and the result will be returned to your notebook as a column of 
boxes so you can change the various components and observe the result by 
evaluating the variable data.

nin=7;
data=ConstantArray[0,nin];
Column[Table[With[{k=k},InputField[Dynamic[data[[k]]]]],{k,1,7}]]

This may, or may not be what you really want. You may want to place the 
InputField objects in a separate, pop-up notebook with a close button to 
close the window before the program continues to execute. This is 
possible using CreateDialog.

David Bailey
http://www.dbaileyconsultancy.co.uk



  • Prev by Date: Re: Work on Basic Mathematica Stephen!
  • Next by Date: Re: Work on Basic Mathematica Stephen!
  • Previous by thread: can't get InputField to work inside a While command
  • Next by thread: Re: can't get InputField to work inside a While command