Dynamic array naming

Here's a simple requirement...
var arrayName:String = "tabAy_"+commTrayNo;
var this[arrayName] = new Array();
..but the second line gives an error: Identifier expected.
How can I generate a valid identifier for my new array?

Oh, its not criticism on my part. I used to do things the way
that you describe... I guess if you want to take some advice its
that I'm pleased I changed!
In the end for me it's mainly preference, partly for the
reasons Dave outlined. I like to 'contain' different aspects of
whatever I work on. Two reasons mainly:
a. Like Dave said its easier to debug if things are
isolated... as well as being more object-oriented in the way its
built. Being object-oriented is an advantage by nature in that you
get the added benefit of isolating 'chunks' of what you do that you
could use in other applications if it has broader usefulness.
b. Perhaps more importantly and largely related to (a) it
helps me stay sane (that's a subjective viewpoint I guess) because
I can think about what I'm doing in a more abstract way. In your
example (as an example) I would build the MenuTabs as a class
(probably two classes - one to manage them and one for instances of
the tabs) and do unit testing on it/them. After that I wouldn't
think about it/them as code so much anymore... just how I interact
with it/them.
For me I didn't always code that way and it took me a while
to get to 'that stage'. And I still frequently code stuff on the
timeline often and then migrate it to classes when it starts to get
too big to think about in its totality. But overall it makes things
easier in the long run... at least it does for me!

Similar Messages

  • Populating a dynamic array with objects and managing it in runtime.

    So I'm another stuck firstyear. I'll try and make my question compact. I'm using Flash CS6 and have drawn an animated character on the stage that consists of separate parts that are animated and its head is a separate class/symbol entirely because it has not only animation, but a state switch timeline as well. This said Head extends the Main that is the character MovieClip.
    I am using a dynamic array to store and .push and .splice objects of another class that would collide with this said Head.
    I also discovered the super() function that is implicitly called as the constructor of the parent in any child class that extends the parent, in this case Head extends Main. The issue is that my collidable object array is populated within the main, within the function that spawns every next collidable object with a TimerEvent. This said function then gets called twice due to the super() call.
    I have tried putting this super() call into an impossible statement in my child class, but it doesn't change a thing, and it was said that this method is unsafe so I don't even know if it should be working.
    However what confuses me the most is when I trace() the .length of my collidable object array at the end of that function. As I said earlier, the original function both spawns an object after a period of Timer(1000) and adds it to the stage as well as adds the object onto the object array, but the super() constructor only duplicates the length call and a creates a copy of the object on the stage, but it does not add the second copy of the object onto the array. The trace() output goes on like so:
    1
    1
    2
    2
    3
    3
    4
    4
    etc.
    I wonder why and I'm really stumped by this.
    Here is the code in question:
    public class Main extends MovieClip {
                        public var nicesnowflake: fallingsnow;
                        var nicesnowflakespawntimer: Timer = new Timer(1000);
                        public var nicesnowflakearray: Array = new Array();
                        public function Main() {
                                  nicesnowflakespawntimer.addEventListener(TimerEvent.TIMER, nicesnowflakespawn);
                                  nicesnowflakespawntimer.start();
                        public function nicesnowflakespawn(event:TimerEvent) : void {
                                  nicesnowflake = new fallingsnow;
                                  nicesnowflake.x = Math.random()* stage.stageWidth;
                                  nicesnowflake.y = - stage.stageHeight + 100;
                                  nicesnowflakearray.push(nicesnowflake);
                                  stage.addChild(nicesnowflake);
                                  trace(nicesnowflakearray.length);
                                  for (var i:Number = 0; i < nicesnowflakearray.length; i++){
                                            nicesnowflakearray[i].addEventListener(Event.ENTER_FRAME, snowhit);
                        public function snowhit(event:Event) : void {
                                  if (nicesnowflakearray[0].y >= 460){
                                            if (nicesnowflakearray[0].y == stage.stageHeight) {
                                            nicesnowflakearray.splice(nicesnowflakearray.indexOf(nicesnowflake), 1);
                                  //if (this.hitTestObject(nicesnowflake)){
                                            //trace("hit");
    I am also fiddling with the collision, but I believe that it would sort itself out when I deal with the array pop and depop properly. However I'm pasting it anyway in case the issue is subtly hidden somewhere I'm not looking for it. And here is the child class:
    public class Head extends Main {
                        public function Head(){
                                  if (false){
                                            super();
                                  this.stop();
    So like what happens at the moment is that the array gets populated by the first object that spawns, but there is two objects on the stage, then when the objects reach stage.460y mark the array splices() the one object away and displays an error:
    "#1010: A term is undefined and has no properties.
              at Main/snowhit()"
    then when the next object spawns, it repeats the process. Why does it trace the array.length as "1, 1, 2, 2, 3, 3, 4, 4, 5, 5, etc" until the despawn point and then goes on to display an error and then starts from 1 again, because if the array length is more than one object at the time when the first object of the array gets spliced away, shouldn't it go on as usual, since there are other objects in the array?
    Thank you very much to whomever will read this through.

    There are multiple problems:
    1. You should add eventlisteners for your objects only once, but you add eventlisteners every time your timer runs to all of your snowflakes, again and again:
                                  for (var i:Number = 0; i < nicesnowflakearray.length; i++){
                                            nicesnowflakearray[i].addEventListener(Event.ENTER_FRAME, snowhit);
    change it to
    nicesnowflake.addEventListener(Event.ENTER_FRAME, snowhit);
    I don`t see why its even necessary to employ this snowflakearray, it would be much straight forward if you simply let the snowflakes take care of themselves.
    2. Then you have to change your enterframe function accordingly
    public function snowhit(event:Event) : void {
                                  if (e.currentTarget.y >= 460){
                                            if (e.currentTarget.y == stage.stageHeight) {
                                            e.currentTarget.removeEventlistener(Event.ENTER_FRAME, snowhit);
                                            removeChild(e.currentTarget);
    3.
                                  //if (this.hitTestObject(nicesnowflake)){
                                            //trace("hit");
    since "this" is a reference to the Main class (root) it surely won`t function as you intend it to.
                                  if (false){
                                            super();
    makes no sense to use a condition that can never be true

  • Dynamic file naming with File/FTP adapter

    Hi all,
    I have a requirement for writing files with names of the files based on a customer ID.... a dynamic name based on a value retrieved from the customer DB.
    I have already tried using the dynamic file naming suggestion in the bpel dev guide, it does not work. I followed the instructions, the process fails to compile and throws "part" and "undefined variables" errors etc.
    Has anyone succesfully used file/ftp adapter to write files with dynamic file names (using a varibale), not %SEQ% or %datetime% formats?
    Thanks,
    Hasan

    You can create a header variable that will allow you to set the outbound file name inside the process. This variable is a message type. From the type chooser select:
    Message Types
    Partner Links
    Outbound Partner Link
    Outbound wsdl
    Message Types
    Imported WSDL
    fileAdapterOutboundHeader.wsdl
    OutboundHeader_msg
    This variable will have a part filename.
    Set this part to whatever you wish your file to be named.
    Select the invoke to your outbound file/ftp partnerlink. Move to the adapters tab and select the header variable you created as the Input Header Variable.

  • Dynamic array

    how to implement dynamic array size in java...??
    say if i want to add the element in an array then how should i do it..??

    For dynamic array...Vector is the best one i
    est one i think....
    Sigh. Unless other code requires it (for example, JTable's DefaultTableModel),
    Arraylist is preferred over the legacy class Vector.
    And even then I wouldn't recommend ArrayList as the "best" list. What if the OP
    wanted to have a FIFO queue? Would you recommend ArrayList/Vector over
    LinkedList?

  • Creating a dynamic Array

    Thanks for reply.
    I want to create a dynamic array and for this I used ArrayList Collection and Vector Class. I am using JDK 1.4.1 . But , I have a problem in that. In ArrayList, I used the following code:
    ArrayList al = new ArrayList();
    while(rs.next())
    al.add(rs.getString("Enter_Year"));
    al.add(rs.getString("UG_Production_Mi_Te"));
    al.add(rs.getString("OC_Production_Mi_Te"));
    al.add(rs.getString("Total_Production_Mi_Te"));
    al.add(rs.getString("OBR_MM3"));
    al.add(rs.getString("OMS_Te"));
    al.add(rs.getString("Coal_Offtake_Mi_Te"));
    al.add(rs.getString("Supply_to_Steel_Plant_Th_Te"));
    al.add(rs.getString("Royalty_SalesTax_MP_Crs"));
    al.add(rs.getString("Royalty_SalesTax_CG_Crs"));
    al.add(rs.getString("Total_ManPower"));
    al.add(rs.getString("Fatality_Rate_per_Mi_Te_Output"));
    al.add(rs.getString("Total_Wellfare_Expenditure_Crs"));
    String rpt[][] = new String[al.size()][];
    rpt = al.toArray(rpt); // ArrayStoreExecption error
    String colheads[] = {"...........My Table's Column names are here....."};
    JTable table = new JTable(rpt,colheads);
    JScrollPane jsp = new JScrollPane(table);
    add(jsp);
    At the statement having comment line I received the error ArrayStoreException. The JTable accepts the 2 D array for storing the info and I think the toArray() method is not working there and can't convert the ArrayList elements into an Array. Similarily, Vector Class is also not converting the elements into an array object and showing the same error only.
    Please help me to convert it into an array object so that I can pass it into the JTable argument.

    That isn't a jdbc problem but rather a collection problem.
    You certainly can't convert a one dimensional collection into a two dimensional array automatically. And that is what you are creating with the while loop.
    Since you know the column names you also know the inner array size so you can start by creating a statically sized string array (not collection) in the loop and add that to the outer collection. That might solve the problem.

  • Dynamic file naming at Receiver

    Hello Friends,
    How to handle the dynamic file naming in XI at receiver side as  file naming convention sequence to be incremented for every 1 hour...
    my Client expecting to handle at mapping...How to do this...
    Could any one give me the program if we need to do it in java...
    and pls also give another approach if any
    Setup dynamically ,

    >>naming convention sequence to be incremented for every 1 hour
    You can set the file construction mode as "Add counter" in the receiver file adapter
    Thanx
    Aamir
    Edited by: Aamir Suhail on Aug 15, 2008 7:57 AM

  • Dynamic file naming for two or more files in same mappin

    Hello,
    I am working with Dynamic file naming on receiver files...
    Here two files are coming as output files...
    I am using JAva UDF to handle the two file name....
    But  one one file is formed and another is missing as its 505 file aleady existing error is coming in Receivr Communication channel monitoring...
    How to name different dynamic names for the two differenet files

    Hi Sunil,
    Go thru this blog:
    The specified item was not found.
    Use this Variable Substitution method as an alternative option:
    http://help.sap.com/saphelp_nw2004s/helpdata/en/bc/bb79d6061007419a081e58cbeaaf28/frameset.htm
    SAP NetWeaver XI: Variable Substitution with Adapter-Specific Message Attributes via DynamicConfigurationBean
    OR
    The specified item was not found.
    Regards,
    Vinod.

  • How to plot XY graph from 2 input of dynamic array ? ...

    I have 2 problem when I plot XY graph with 2 dynamic array :
    - I want to make the graph look like sweep chart. But it's seem not possible to use waveform graph?
    - The graph shoul move from left to right , then right to left, then left to right,.....
    Any one can give me some hints?  Thanks alot.
    Attachments:
    U1.PNG ‏21 KB
    XY radom value input.vi ‏147 KB

    I have to make Y change  from 0-10, then 10-0,.... Any one can help me to make it better?
    - How I shift the graph?
    Attachments:
    working_increse_decrease.vi ‏20 KB

  • Creating dynamic array

    Can anybody tell me how to create a dynamic array in Java??I dont want to fix size of array,it should take any number of values at runtime.Please tell me the syntax of using dynamic arrays.

    Hi,
    For creating an array of similar data elements, use
    ArrayList., but for storing elements which are in the
    form of object then use Vector...
    Best of Luck..
    R SWrong... the main different between ArrayList and Vector is that Vector was sychronized and ArrayList are not.

  • How can i maintain a dynamic array

    I want to maintain an dynamic array in my code . It shoud grow accroding to no of user inputs . 1 can entre 5 numbers and other 10 , then array size should grow orderly 5 and 10 like that . Array is int array.

    Read up on the Collections API. There is a tutorial on this site. At first blush, you want a List. If it will grow and you will not be removing and inserting constantly from the 'middle' of the list of items, then ArrayList is a logical choice as your List. Otherwise, use LinkedList. But definitely bone up on the tutorial. Understanding how Collections work is fundamental to any Java programming you will do.
    - Saish

  • Creating a dynamic array in Actionscript

    I am wondering how I would create a dynamic array in Acionscript, i.e. one that utilizes fields for mapping data like this:
    public var SMITH:Array = [
               {date:"29-Aug-05", close:45.87, profit:52},
               {date:"23-Aug-05", close:45.74, profit:32},
               {date:"21-Aug-05", close:45.77, profit:22},
               {date:"25-Aug-05", close:46.06, profit:51},
    but where you would just be reading in data without knowing what your data looks like.  In other words, I'd like to take something like a database table with X number of columns and have Actionsctipt map each row to an item in my array.  Something like this:
    for each row in table
    add {col1:value, col2:value, col3:value, ... colX:value} to Array
    So I won't know "date" or "close" or whatever at runtime, I'll just have X number of items for each element in the array. How would this be done?
    The reason I need this mapping feature is because I then want to map the table-like array as the data provider to charts, datagrids, etc.
    Thanks.

    If this post answers your question or helps, please mark it as such.
    You can download the lib for JSON in Flex here:
    http://code.google.com/p/as3corelib/downloads/list
    These pages describe using JSON and Flex, and databases:
    http://www.switchonthecode.com/tutorials/flex-php-tutorial-transmitting-data-using-json
    http://www.switchonthecode.com/tutorials/using-flex-php-and-json-to-modify-a-mysql-databas e
    http://www.switchonthecode.com/tutorials/flex-php-json-mysql-advanced-updating
    http://www.mikechambers.com/blog/2006/03/28/tutorial-using-json-with-flex-2-and-actionscri pt-3/

  • Store int values into dynamic array

    Hello all,
    I'm a newbie in JAVA whose want to store int values (coming from a resultset) into an dynamic array. I know that normally to create a "dynamic array" you'd better use a Vector, but it seems that I don't know how to use it correctly (throws me a exception as : Incompatible type for method. Can't convert int[] to java.lang.Object[]).
    Thanks in advance
    STF

    I want to use the copyInto method of the vector, but it throw me an exception as ')' expected
    I include a snip of my code below ;
    Vector v= new Vector();
    Vector vv=new Vector();
    String[] labels=new String[v.size()];
    Integer[] values=new Integer[vv.size()];
    cont=rs.getInt("COUNT(CASE_ID_)");
    vv.add(j,new Integer(cont));
    log=rs.getString("ORIG_SUBMITTER");
    v.add(j,new String(log));
    v.copyInto(String[] labels);
    vv.copyInto(Integer[] values);

  • Multidimensional dynamic arrays?

    Is there already (jdk 1.5) a dynamic array object for multiple dimensions? There is a dynamic ArrayList for 1-dimensional arrays. For multidemsional arrays, I just put ArrayList into ArrayList into ... as a workaround. But the retrievel of elements is rather clumsy - I would like to have something like MultiArrayList and get the element from a 2-dimensional MultiArrayList like
    myMultiArrayList.get(x, y);
    I havent' found such an object so far in the 1.5 javadocs. Is there any?

    Well, I'm thinking of something like
    MultiArrayList mal = new MultiArrayList(2); //2 = 2
    dimensions
    mal.set(value1, 0, 0); //set value1 at [0,0]Would you have one array of length 1 after that?
    And if I call, set(value, 100,100), do I end up with 100 arrays of length 100?
    What if I do this?
    MultiArrayList mal = new MultiArrayList(2);
    mal.set(value1, 0, 100);What do the arrays look like after that. Your idea seems very reasonable but you have specified how they will behave dynamically. I can think of several different ways off the top of my head.

  • Deleting dynamic arrays

    My main concern is worrying about having a memory leak due to a program crashing before it has the chance to reach the line of code in which technically releases its memory. What I do not understand is, if the program does crashes before it can release the memory of any dynamic arrays, wouldn't the memory leak still exist the next time you run the program and causing the leak to get worse each time?
    for example, if I had something like this...
    int main()
    int *a = new int[10];
    bool game = true;
    // then for some reason the program crashes somewhere along these lines...
    while(game) {
    do some code in which some reason cause the program to crash
    delete [] a;
    return 0;
    here in the example, if the program had crashed inside the while loop, wouldn't I have a memory leak which exist forever?

    BnTheMan wrote:
    The first instance is I wanted to know after reading some topics on the internet, I have heard that is is not a good Idea to set a pointer to know inside of a constructer class like this...
    should you do this, or does it depend on the compiler that you use, and what about if you are using XCode?
    Did you mean to type "not a good Idea to set a pointer to NULL"? That is what you code seems to say.
    They key part is memory management. People have been screwing that up for decades. You should initialize pointers to NULL or 0 (same thing) before using them. Then, when you are done with them, if they aren't NULL, you must release them. Even if you haven't allocated a pointer, you can always release it if it is NULL using free(), delete, or release - depending on what language you are using.
    If you allocate a pointer, then release its memory, you should re-set it back to NULL immediately if there is any chance that some other bit of code could try to release the memory. If you try to free a pointer twice, your app will crash.
    All this is true in any environment that doesn't have garbage collection. Don't think that garbage collection is the panacea it is made out to be. It is better to be able to manage your own memory when you need to. Plus, there are more system resources than just memory.
    2. The next thing I noticed was that it did not have any memory releasing code for when there is a problem with reading the file, such as if the file could not be opened. So I am wondering if something was to happen when opening the second MD2 file, in that it could not open the file because it was currupted, and I did something like this...
    MD2_Object::loadObject() {
    ifstream inFile;
    char buffer[64];
    inFile.open(myFile, istream::binary);
    if(!inFile) {
    ... the code I need to my question
    How can I tell the program that there was an error and that it needs to release the memory from the first dynamic array variable?
    (I added some { code } statements to format your code nicely. Reply to this post to see how I did it.)
    That is a good question, with several caveats. In your example, you are actually using static variables, not dynamic. All of your data is allocated on the stack. You didn't use any sort of malloc(), new, alloc, etc. Therefore, memory management is easy. When the current scope ends (usually the code between braces) anything allocated on the stack automatically goes away cleanly. Plus, since the stack is much more low level than dynamic memory, you can do stack allocations much more quickly.
    But, had used dynamic allocation, this would be an issue. It is a significant problem that is rarely handled correctly. If there is an error, you need to release any resources (such as memory) that you have allocated. There are a number of ways to handle this, depending on your language and how you want to do it.
    The first solution is to exploit the fact that, in C++, you can declare your variables anywhere you want. They don't have to be at the beginning of the scope. The best thing to do is don't allocate resources unless you know you can use them. If you fail halfway through, you would have to release all resources that you had allocated up to that point.
    Some other ideas are to use exceptions and wrap allocations in classes such as auto_ptr. Then, when you encounter an error, you throw and exception and you use the stack scoping rules, though static wrapper variables, to release dynamic data underneath.
    Yeah, it gets complicated. Maybe most more code that precisely shows what you are concerned with. Wrap your code between two lines of
    { code }
    { code }
    without the spaces and it will print out nicely. So far, it looks like you are doing everything correctly. Sometimes, instead of asking how to do something, you'll get better responses by just posting how you do it and, if there are any problems, people will pick it apart Harsh, but effective.

  • Dynamic arrays

    Hi all,
    I am controlling a two level stepper motor via  a USB 6009. I created the pulses using software timing by setting an array of elements to change between 0 and 5 V continuously as shown in the attachement. The probelm now is that i want to be able to control the number of degrees that the motor moves by so say 1 degree = 35 elements in the array. How do I do that using dynamic arrays? i'd like to be able to specify the number of degrees and hence the number of elements in the array of values 0 and 5. I am completely new to labView so any ideas or examples will be great.
    Thank you
    Myriam
    Attachments:
    PulseMotSelect.vi ‏79 KB

    Thank you very much for your prompt answer. I thought the built in signal generation functions require a clock and the USB does not have a clock on it. That is why I am using software timing. If it is still possibel to use the buillt in signal generation functions then where do i get them from on Labview if i want to create a square pulse? and yes i did create them all by hand becuase i didnt know where these functions are and if they would work with USB 6009 without the clock.
    With the code that I have sent you, the motor moves continuously once the usb is connected. The only way i can stop it is if i unplug the USB.  What i want to be able to do is to be able to conrol the motor so that it stops after a certain number of degrees specified by the user. This is what i wanted the dynamic array for. Another way that i thought of for doing that is using a timed loop to control the motor motion instead. So say it takes 1 sec to move 1 degree then 30 secs to move one degree and use that to control the degree of motion rather than the elements in the array. Would that still work? if not then how can i modify the array to do that? as it moves continuously with 1500 elements so how can i limit when it stops?
    Sorry if my problem is too complicated but i am new to labview so any help is welcome.
    Thank you in advnace for your help
    Myriam

Maybe you are looking for

  • Electronic version of CD?

    Is there an electronic copy available of my already purchased CD?  My wife's CD-ROM drive crashed before we could install the program on her computer.  But we had already installed it on mine.  Any help / ideas?

  • Mass upload of item details in WebUI using Paste in Tables!

    Hi, We would like to have an option of creating multiple items in a Quotation directly from a file. We are using the feature "Paste in Tables" available in CRM 7.0 EHP1. But when we copy the contents from the file and paste in WebUI, right now it wor

  • Source for ValitionTextField using useCharacterMasking on maxChars

    Hello, In order to limit the maxChars of my input, I used a regExpFilter var theName = new Spry.Widget.ValidationTextField("form_compte_name", "custom", {useCharacterMasking:true, regExpFilter:/^[a-zA-Z-àâäéèêëîïôöùûü']{0,20}$/i, validateOn:["blur"]}

  • Tinting certain portions of a photo

    I want to colorize only certain parts of a vintage photo.  Anybody out there know the simplest way for this effect in PhotoShop Elements 9?

  • Service Based Revenue Recognition - Prov Account Missing when using WBS

    Hi, I´ve activated RR functionality using service based and aceptance date. I've followed the intructions from the best practices documents and the notes: Note 820417 u2013 IMPLEMENTATION GUIDE FOR REVENUE RECOGNITION Note 1172799 u2013 NEW VERSION O