Basically all you need to do is pass the reference of your quantity array to the textvariable option. The quantity array should have the same index as the corresponding part number. Note that this will overwrite the values in your quantity array, so if you want to keep the original values then you will need to copy them to a different array and use that array as the textvariable reference. Here's an example:
use Tk;
use Tk::LabEntry;
use strict;
use warnings;
my $top = MainWindow->new();
my @form = ();
my @partname = ("Widget One", "Widget Two", "Widget Thr");
my @quantity = (11 , 22 , 33 );
for(my$i=0; $i<@partname; $i++) {
$form[$i] = $top->LabEntry(-label => "$partname[$i]",
##### note the reference to the -textvariable, it is
##### a reference to your quantity array with the
##### index that corresponds to the part number
-textvariable => \$quantity[$i],
)->pack;
}
MainLoop;
##### here I just dump the values to stdout
for(my$i=0; $i<@partname; $i++) {
print "Part: $partname[$i], New Quantity: ", $quantity[$i],"\n";
$i++;
}
download this code and try it. Change the values from 11, 22, 33 to whatever you want, then exit and look at the values that are dumped, they should be the same as what you typed in.
--
hiseldl
What time is it? It's Camel Time!
-
Are you posting in the right place? Check out Where do I post X? to know for sure.
-
Posts may use any of the Perl Monks Approved HTML tags. Currently these include the following:
<code> <a> <b> <big>
<blockquote> <br /> <dd>
<dl> <dt> <em> <font>
<h1> <h2> <h3> <h4>
<h5> <h6> <hr /> <i>
<li> <nbsp> <ol> <p>
<small> <strike> <strong>
<sub> <sup> <table>
<td> <th> <tr> <tt>
<u> <ul>
-
Snippets of code should be wrapped in
<code> tags not
<pre> tags. In fact, <pre>
tags should generally be avoided. If they must
be used, extreme care should be
taken to ensure that their contents do not
have long lines (<70 chars), in order to prevent
horizontal scrolling (and possible janitor
intervention).
-
Want more info? How to link
or How to display code and escape characters
are good places to start.