Array elements that respond as links

I have a small applet that I need help with.  It is a large gear that rotates CCW when you click the top button and CW when you click the bottom button.  Clicking the buttons also retrieves the next element in an array called 'title' and displays it next to the gear.  The elements of the array are titles of videos.  I need to be able to click on these titles (as hyperlinks) and have them open up a video window to display the video that corresponds to that title.
I am using flash CS5 and I am a beginner.  The applet can be seen at http://machinevids.net/selector.swf and the AS code is below.  Any help on this would be much appreciated.
// ------ IMPORT ----- \\
import mx.transitions.Tween;
import mx.transitions.easing.*;
//-------Initialize Variables-------\\
var title = new Array("HYPERDRIVE", "THE BETAFISH PROJECT", "LIFE'S BURDEN", "HOT TUB MASSACRE", "HYDRO DESPERATION", "ASSASSINS", "GOING UP", "BREAKING AND ENTERING");
var i:Number = 0;
var startR:Number = gear._rotation;
var endR:Number = 0;
var currentBtn = forward;
var displayText;
// ----- FUNCTIONS ----- \\
function moveGearFwd() {
    switch(startR) {
        case -355 >= startR <= 5:
            startR = 0;
            break;
        case 40 >= startR <= 50:
            startR = 45;
            break;
        case 85 >= startR <= 95:
            startR = 90;
            break;
        case 130 >= startR <= 140:
            startR = 135;
            break;
        case 175 >= startR <= 185:
            startR = 180;
            break;
        case 220 >= startR <= 230:
            startR = 225;
            break;
        case 265 >= startR <= 275:
            startR = 270;
            break;
        case 310 >= startR <= 320:
            startR = 315;
            break;
        default:
    endR = startR + 45;
    new Tween(gear,"_rotation",Strong.easeOut,startR,endR,1,true);
function moveGearBack() {
    switch(startR) {
        case 355 >= startR <= 5:
            startR = 0;
        case 40 >= startR <= 50:
            startR = 45;
        case 85 >= startR <= 95:
            startR = 90;
        case 130 >= startR <= 140:
            startR = 135;
        case 175 >= startR <= 185:
            startR = 180;
        case 220 >= startR <= 230:
            startR = 225;
        case 265 >= startR <= 275:
            startR = 270;
        case 310 >= startR <= 320:
            startR = 315;
        default:
            startR = 0;
    endR = startR -45;
    new Tween(gear,"_rotation",Strong.easeOut,startR,endR,1,true);
function fadeInButton() {
    new Tween(forward,"_alpha",Strong.easeIn,0,100,5,false);
    new Tween(backward,"_alpha",Strong.easeIn,0,100,5,false);
//-----BUTTONS----------\\
forward.onPress = function() {
    moveGearFwd(startR);
    forward._alpha = 0;
forward.onRelease = function  () {
    fadeInButton();
    i++;
    if (i == title.length) {
        i = 0;
        displayText.text = title[i];
    } else {
        displayText.text = title[i];
        currentTitle = title[i];
backward.onPress = function  () {
    moveGearBack(startR);
    currentBtn = backward;
//    backward._alpha = 0;
backward.onRelease = function  () {
    fadeInButton();
    if (i == 0) {
        i = (title.length - 1);
    } else {
        i--;
displayText.text = title[i];

I appreciate the feedback.  Sorry so long in getting back.  Lots of projects.  I perhaps didn't mention that I need to play these videos in an internal player that fits into the flash portion of the website page, which is not the entire page.  The flash portion of the page is about 1/4 the size of the overall page and that includes the selector wheel, the up and down buttons, titles and the player itself.  I can already get the videos to play in a new browser window.  I apologize for not saying that before.  http://machinevids.net/selector.swf.
Please tell me what else I need to provide.  I don't see any method for attaching files here so I don't know how I am going to get the .fla file uploaded.  For reference sake, here is the AS code contained within that file.
// ------ IMPORT ----- \\
import mx.transitions.Tween;
import mx.transitions.easing.*;
import fl.video.*;
/*var flvPlayer:FLVPlayback = new FLVPlayback();
addChild(flvPlayer);
//The next line assumes you have copied the skin file to the local directory
flvPlayer.skin = "./SteelExternalAll.swf"
flvPlayer.source = "http://www.markivee.com/machinevids/videos/assassins.flv";
//-------Initialize Variables-------\\
var title = new Array(hyperdrive, thebetafishproject, lifesburden, hottubmassacre, hydrodesperation, assassins, goingup, breakingandentering);
var i:Number = 0;
var startR:Number = gear._rotation;
var endR:Number = 0;
var currentBtn = forward;
title[i]._alpha = 100;
// ----- FUNCTIONS ----- \\
function moveGearFwd() {
    switch(startR) {
        case -355 >= startR <= 5:
            startR = 0;
            break;
        case 40 >= startR <= 50:
            startR = 45;
            break;
        case 85 >= startR <= 95:
            startR = 90;
            break;
        case 130 >= startR <= 140:
            startR = 135;
            break;
        case 175 >= startR <= 185:
            startR = 180;
            break;
        case 220 >= startR <= 230:
            startR = 225;
            break;
        case 265 >= startR <= 275:
            startR = 270;
            break;
        case 310 >= startR <= 320:
            startR = 315;
            break;
//        default:
    endR = startR + 45;
    new Tween(gear,"_rotation",Strong.easeOut,startR,endR,1,true);
function moveGearBack() {
    switch(startR) {
        case 355 >= startR <= 5:
            startR = 0;
        case 40 >= startR <= 50:
            startR = 45;
        case 85 >= startR <= 95:
            startR = 90;
        case 130 >= startR <= 140:
            startR = 135;
        case 175 >= startR <= 185:
            startR = 180;
        case 220 >= startR <= 230:
            startR = 225;
        case 265 >= startR <= 275:
            startR = 270;
        case 310 >= startR <= 320:
            startR = 315;
//        default:
//            startR = 0;
    endR = startR -45;
    new Tween(gear,"_rotation",Strong.easeOut,startR,endR,1,true);
function fadeInButton() {
    new Tween(forward,"_alpha",Strong.easeIn,0,100,5,false);
    new Tween(backward,"_alpha",Strong.easeIn,0,100,5,false);
//-----BUTTONS----------\\
forward.onPress = function() {
    startR = (startR + 45);
    if (startR >= 360){
        startR = 0;
    moveGearFwd(startR);
    trace(startR);
    forward._alpha = 0;
forward.onRelease = function  () {
    fadeInButton();
    title[i]._alpha = 0;
    if (i == title.length -1) {
        i = 0;
    }else{
        i++;
    title[i]._alpha = 100;
backward.onPress = function  () {
    startR = (startR - 45);
    if (startR <= -360){
        startR = 0;
    moveGearBack(startR);
    trace(startR);
    currentBtn = backward;
backward.onRelease = function  () {
    fadeInButton();
    title[i]._alpha = 0;
    if (i == 0) {
        i = (title.length - 1);
    } else {
        i--;
title[i]._alpha = 100;

Similar Messages

  • How to add a character at the end of an array element that meets certain criteria.

    Hi. I am using CF 9.2.1. I started learning CF yesterday, and I am trying to figure out a way to add a special character (like "?", "!"," &amp; ") to an array row if the first row element (say, element [1][1]) has a specific letter like " t" in the word it is holding. In this case the special character will be added at the end of the last row element (element [1][3]).
    Example: The take columns are: "Firstname", "Lastname", "Age".  If Firstname contains an "s" or "S" (in any order) then add "!" at the end of the row so that :
    Sam, Rubins, 26 !
    Nick, Palo, 32
    Robert, Williams, 28
    Oscar, Ramirez, 23 !
    I tried using the ReReplace, Refind and the #findoneof functions. I could probably loop through the array and return a value and store, while storing the value in a separate variable and using an if/Boolean function to compare that value and so on.... But I am sure there's an easier and more efficient way. Thanks in advance.
    <!--- #1 I will create a three column query named CityInfo--->
    <cfset CityInfo = QueryNew("City, State, LCode","VarChar, VarChar, Integer")>
    <cfset newRow = QueryAddRow(CityInfo, 2)>
    <cfset newRow = QueryAddRow(CityInfo, 3)>
    <cfset newRow = QueryAddRow(CityInfo, 4)>
    <cfset newRow = QueryAddRow(CityInfo, 5)>
    <cfset newRow = QueryAddRow(CityInfo, 6)>
    <!---Using the column names City, Sate and LCode I will now enter the information--->
    <cfset temp = QuerySetCell(CityInfo, "City", "Dallas", 1)>
    <cfset temp = QuerySetCell(CityInfo, "State", "TX", 1)>
    <cfset temp = QuerySetCell(CityInfo, "LCode", "214", 1)>
    <cfset temp = QuerySetCell(CityInfo, "City", "Fort Worth", 2)>
    <cfset temp = QuerySetCell(CityInfo, "State", "TX", 2)>
    <cfset temp = QuerySetCell(CityInfo, "LCode", "817", 2)>
    <cfset temp = QuerySetCell(CityInfo, "City", "San Antonio", 3)>
    <cfset temp = QuerySetCell(CityInfo, "State", "TX", 3)>
    <cfset temp = QuerySetCell(CityInfo, "LCode", "210", 3)>
    <cfset temp = QuerySetCell(CityInfo, "City", "L.A.", 4)>
    <cfset temp = QuerySetCell(CityInfo, "State", "CA", 4)>
    <cfset temp = QuerySetCell(CityInfo, "LCode", "213", 4)>
    <cfset temp = QuerySetCell(CityInfo, "City", "Austin", 5)>
    <cfset temp = QuerySetCell(CityInfo, "State", "TX", 5)>
    <cfset temp = QuerySetCell(CityInfo, "LCode", "512", 5)>
    <h4> Number1. City info TABLE contents:</h4>
    <cfoutput query = "CityInfo">
    #City# #State# #LCode#<br>
    </cfoutput> 
    <!--- #2 Now I focus on the array. I declare it first --->
    <cfset cityarray=arraynew(2)>
    <!--- Then I retrieve the data and populate the array --->
    <cfloop query="CityInfo">
    <cfset cityarray[CurrentRow][1]=City>
    <cfset cityarray[CurrentRow][2]=State>
    <cfset cityarray[CurrentRow][3]=LCode>
    </cfloop>
    <h4>Number2. City info ARRAY contents before appending:</h4>
    <cfloop index="Counter" from=1 to=5>
    <cfoutput>
    City: #cityarray[Counter][1]#,
    Estate: #cityarray[Counter][2]#,
    Code: #cityarray[Counter][3]#<br>
    </cfoutput>
    </cfloop>
    <!--- #3 I now add/append Irving to the array and change L.A. --->
    <cfset cityarray[6][1] = "Irving" />
    <cfset cityarray[6][2] = "Texas" />
    <cfset cityarray[6][3] = "972" />
    <cfset cityarray[4][1] = "Los Angeles" />
    <h4>Number3. City info Array contents after adding Irving, TX and updating L.A.:</h4>
    <cfloop index="Counter" from=1 to=6>
    <cfoutput>
    City: #cityarray[Counter][1]#,
    Estate: #cityarray[Counter][2]#,
    Code: #cityarray[Counter][3]#<br>
    </cfoutput>
    </cfloop>
    <br>
    <!--- #4 now I look for the 's' in order to add a '!' THIS IS WHERE MY PROBLEM BEGINS --->
    <h4>Number4. City info after searching for "s"</h4>
    <cfloop index="Counter" from=1 to=6>
    <cfoutput>
    City: #cityarray[Counter][1]#,
    Estate: #cityarray[Counter][2]#,
    Code: #cityarray[Counter][3]#,
    <!--- I know the findoneof function is not going to help me, but I hope it helps to give you an idea of what I am trying to do--->
    #findoneof("sS",cityarray[Counter][1])#
    <br>
    </cfoutput>
    </cfloop>

    It is much simpler than you think. Additions and modifications are in italics. Good luck!
    <h4>Number2. City info ARRAY contents before appending:</h4>
    <cfloop index="Counter" from="1" to="#CityInfo.recordcount#">
    <cfoutput>
    City: #cityarray[Counter][1]#,
    State: #cityarray[Counter][2]#,
    Code: #cityarray[Counter][3]#<br>
    </cfoutput>
    </cfloop>
    <!--- #3 I now add/append Irving to the array and change L.A. --->
    <cfset cityarray[6][1] = "Irving" />
    <cfset cityarray[6][2] = "Texas" />
    <cfset cityarray[6][3] = "972" />
    <cfset cityarray[4][1] = "Los Angeles" />
    <h4>Number3. City info Array contents after adding Irving, TX and updating L.A.:</h4>
    <cfloop  index="Counter" from="1" to="#arrayLen(cityarray)#">
    <cfoutput>
    City: #cityarray[Counter][1]#,
    State: #cityarray[Counter][2]#,
    Code: #cityarray[Counter][3]#<br>
    </cfoutput>
    </cfloop>
    <br>
    <!--- #4 now I look for the 's' in order to add a '!' THIS IS WHERE MY PROBLEM BEGINS --->
    <h4>Number4. City info after searching for "s"</h4>
    <cfloop index="Counter"  from="1" to="#arrayLen(cityarray)#">
        <cfset sPosition=findNoCase("s",cityarray[Counter][1])>
        <cfoutput>
        City: #cityarray[Counter][1]#,
      State: #cityarray[Counter][2]#,
        Code: #cityarray[Counter][3]#
        </cfoutput>
       <cfif sPosition GT 0><!--- Just display the exclamation mark--->
        <cfelse> <!--- Add whatever you like, or nothing, here--->
        (no 's')
        </cfif>
        <br>   
    </cfloop>

  • Arrays greater than 0 and taking only the elements that doesn't contain that

    Hi, I have 6 arrays.
    X-Axis, Y-Axis, PressRef, TempRef, PV, and VecorPress.
    I have created a spreadsheet for them using txt
    When I use colum 1 (X-Axis) Vs. column 2 (y-axis) to plot in an XY graph in excel, I want to delete all ELEMENTS that have the value ZERO on my X-axis.
    Meaning that all the elements of X-axis that are 0's.
    For example..
    I have X,Y,Z
    130     15   16
    130     15   17
    0         16   17
    131     16   17
    When I have it in my text. I only want to see this
    130     15   16
    130     15   17
    131     16   17
    I have a diagram picture of what i currently have and then i have a txt file that i currntly have. can someone help me?
    thank you
    Best regards,
    Krispiekream
    Attachments:
    Image2.jpg ‏76 KB
    New Text Document.txt ‏158 KB

    The OpenG functions can be found from the OpenG site. They save you the trouble of having the code some stuff up yourself.
    The "code it yourself approach" using a temporary 2D array looks like this:
    Note: As I said, there will be some memory thrashing as LabVIEW allocates memory for the growing 2D array. The alternate method I described would use "Initialize Array" to create a 2D array and then use Replace Subset to "insert" the rows into the 2D array. I will leave it as a learning exercise for you to code that up.
    Message Edited by smercurio_fc on 11-05-2007 05:15 PM
    Attachments:
    Example_BD.png ‏14 KB

  • I am new to pages and want to know how to link elements together to create one unified element that I can then duplicate several times on the same page?

    I am new to pages and want to know how to link elements together to create one unified element that I can then duplicate several times on the same page?

    I think you are talking about grouping objects.
    1. They must all be floating objects
    2. Command click on each in turn
    Menu > Arrange > Group
    Peter

  • I need sorting VI that returns the sorted array element's positions in the unsorted array

    I need a VI that will very quickly (n log n) sort a 1D array of doubles.  This VI should not only output the sorted array, but for each of the sorted array elements, it should also output that sorted array element's position in the unsorted array.  So for example if the input array were:
    unsorted_array
    4.1
    2.3
    7.0
    5.6
    10.2
    Then the output arrays would be:
    sorted_array
    2.3
    4.1
    5.6
    7.0
    10.2
    indices_array
    1 (the value 2.3 is located at position 1 in the unsorted_array)
    0 (the value 4.1 is located at position 0 in the unsorted_array)
    3 (the value 5.6 is located at position 3 in the unsorted_array)
    2 (the value 7.0 is located at position 2 in the unsorted_array)
    4 (the value 10.2 is located at position 4 in the unsorted_array)
    This way I could generate the sorted_array using just the indices_array and the unsorted_array.  Has anyone written a nifty piece of code to do this?  I did some research on (n log n) sorting algorithms but most of them use recursion which I don't know how to do in LabVIEW.  It would also be nice to have an algorithm like this that could sort an array of strings.
    cheers,
    Richard

    Try something like the attached example (LabVIEW 7.0). I think it does what you need.
    (To understand the code, it is important to know that arrays of clusters are sorted by the first element in the cluster).
    Sort array itself sorts also array of strings, so you could just substitute, keeping the rest of the code the same.
    Sort array uses a variation of quicksort, so it should have about NlogN complexity.
    (If you think you only need the array of indices to later generate the sorted array, it does not make much sense to even do it. To get the indices, you need to sort the array anyway. You should just sort the plain array directly.
    Message Edited by altenbach on 07-13-2005 03:47 PM
    LabVIEW Champion . Do more with less code and in less time .
    Attachments:
    SortAndIndex.vi ‏26 KB

  • The below vi is not giving me what I want. If I select 2 with maximum number of 3 then there are 3 array elements display that is correct but if I select 8 with the same maximum number of 3 then only 1 array element display. Why is that?

    The below vi is not giving me what I want. If I select 2 with maximum number of 3 then there are 3 array elements display that is correct but if I select 8 with the same maximum number of 3 then only 1 array element display. Why is that?
    Attachments:
    test2.vi ‏29 KB

    It's because in case 2 you hold the array build result from the previous loop iteration in a shift register...in case 8 you do not...
    You say that if you set the maximum number to three it will produce an array with three elements, that is not correct, it will run when the iteration index is 0,1,2 and 3...resulting in 4 elements. If you want 3 you need to decrement the maximum number to 2. The same goes for case 8.
    MTO

  • How do I programmat​ically modify array element sizes?

    Hi All,
    I have a quick question about modifying the size of array elements. Hopefully someone can help, because I am at a dead end!
    I am logging some intensities from a Fibre Array using a camera. For calibration of the system, I acquire an image from the camera, click points on the image to divide it into areas of interest. I overlay my image with a grid showing the regions of interst - for example a 4x6 array. I then have to select the fibres - or ROIs - I want to log from.
    I have a cluster type-def ( a number and a boolean) to specify the fibre number and to turn logging from that fibre on/off. I overlay an (transparent) array of this typedef over my image to correspond with the regions of interest. So here's my problem - I want to modify the dimensions of the array so each control matches my ROI. I can resize the elements by rightclicking on the elements on the frontpanel, but can't find a way to do it programmatically. The Array Property Node>>Array Element>>Bounds won't 'change to write'...thats the first thing I tried.
    Its really only important that the elements align with my ROIs - so programmatically adding in gaps/spacings would also work for me...but again I can't figure out how to do this! I've attached a screenshot of part of my image with array overlaid to show you all exactly what my problem is.
    Thanks in advance for you help,
    Dave
    PS I am running Labview 8.6 without the vision add on.
    Solved!
    Go to Solution.
    Attachments:
    Array_Overlay.png ‏419 KB

    Here's my cheat (and cheap?) way If you want to get fancy and center the numeric and boolean indicators, you could add spacers on the north and west sides, too.
    Attachments:
    ClusterSpacer.vi ‏13 KB

  • How can I display all results of a array element in a TS2.0 NumericArrayMeasurement in a single report line?

    TestStand2.0 generates for each result property ( data, limits, status...) of each array element in a NumericArrayTest an extra line in the test report.
    How can I change this to display all result properties of one array element in a single line?
    How can I reduce the spaces between the property name and its value in the report?
    How can I delete the message: "Measurement[x]" and display only the Measurement Alias (named in the Edit Limits menu)?
    This means I like to change my report from:
    Measurement[0] (ADC1):
    Data: 5000
    Status: Passed
    Measurement[1] (AD
    C2):
    To:
    ADC1: Data: 5000 Status: Passed
    ADC2: ...

    Hi,
    What you can do, is use the Override Callbacks for Modify the Report that is Generated.
    Also you can also change the report sequence 'reportgen_txt.seq' to achieve the desired affect. If you go for modifying the report sequence then copy this to the User folder and then make your changes.
    In the Resources Library you can find simple examples were the report has been modified by either using the Override Callbacks or by modifying the actual sequence.
    One other item in the Report Options you will have to set the 'Select a Report Generator for Producing the Report Body' control to use the Sequence instead of the DLL.
    Hope this helps
    Ray Farmer
    Regards
    Ray Farmer

  • Allocate array elements one at a time?

    Is there a way to allocate array elements one at a time?
    The following code will crash because the minimumLogIndices array is not allocated.
    // get all indices where cArray[i] > minimumLog
    int[] minimumLogIndices = null;
    for (int i=0; i < columns; i++)
      if ((cArray[i] > minimumLog))
        minimumLogIndices[i] = i;
    }I would like a statement like:
    minimumLogIndices[i] = new(i);but this is not allowed, of course.
    If I use ArrayList, then the elements can be added one at a time, but I cannot use int.
    null

    int[] minimumLogIndices = new int[columns];As described here:
    http://java.sun.com/docs/books/tutorial/java/nutsandbolts/arrays.html
    [Edit] The array will, however, have "holes" in it when cArray[i] <= minimumLog, but that's inevitable if you are using an array.

  • How to set the value of an array element (not the complete array) by using a reference?

    My situation is that I have an array of clusters on the front panel. Each element is used for a particular test setup, so if the array size is three, it means we have three identical test setups that can be used. The cluster contains two string controls and a button: 'device ID' string, 'start' button and 'status' string.
    In order to keep the diagrams simple, I would like to use a reference to the array as input into a subvi. This subvi will then modify a particular element in the array (i.e. set the 'status' string).
    The first problem I encounter is that I can not select an array element to write to by using the reference. I have tried setting the 'Selection s
    tart[]' and 'Selection size[]' properties and then querying the 'Array element' to get the proper element.
    If I do this, the VI always seems to write to the element which the user has selected (i.e. the element that contains the cursor) instead of the one I am trying to select. I also have not found any other possible use for the 'Selection' properties, so I wonder if I am doing something wrong.
    Of course I can use the 'value' property to get all elements, and then use the replace array element with an index value, but this defeats the purpose of leaving all other elements untouched.
    I had hoped to use this method specifically to avoid overwriting other array elements (such as happens with the replace array element) because the user might be modifying the second array element while I want to modify the first.
    My current solution is to split the array into two arrays: one control and one indicator (I guess that's really how it should be done ;-) but I'd still like to know ho
    w to change a single element in an array without affecting the others by using a reference in case I can use it elsewhere.

    > My situation is that I have an array of clusters on the front panel.
    > Each element is used for a particular test setup, so if the array size
    > is three, it means we have three identical test setups that can be
    > used. The cluster contains two string controls and a button: 'device
    > ID' string, 'start' button and 'status' string.
    >
    > In order to keep the diagrams simple, I would like to use a reference
    > to the array as input into a subvi. This subvi will then modify a
    > particular element in the array (i.e. set the 'status' string).
    >
    It isn't possible to get a reference to a particular element within an
    array. There is only one reference to the one control that represents
    all elements in the array.
    While it may seem better to use references to update
    an element within
    an array, it shouldn't really be necessary, and it can also lead to
    race conditions. If you write to an element that has the
    possibility of the user changing, whether you write with a local, a
    reference, or any other means, there is a race condition between the
    diagram and the user. LV will help with this to a certain extent,
    especially for controls that take awhile to edit like ones that use
    the keyboard. In these cases, if the user has already started entering
    text, it will not be overwritten by the new value unless the key focus
    is taken away from the control first. It is similar when moving a slider
    or other value changes using the mouse. LV will write to the other values,
    but will not rip the slider out of the user's hand.
    To completely avoid race conditions, you can split the array into user
    fields and indicators that are located underneath them. Or, if some
    controls act as both, you can do like Excel. You don't directly type
    into the cell. You choose w
    hich cell to edit, but you modify another
    location. When the edit is completed, it is incorporated into the
    display so that it is never lost.
    Greg McKaskle

  • Problem in assigning value to an array element

    hi all
    in the following prog i am not able to assign the value to the array element
    i am not getting why it is giving me error
    //my program is as follows
    public class ArrayTest
         static int [] intArray = new int[5];
         static int [] intArray1 = new int[1];
         intArray1[0] = 5; // this line gives error
         static char [] charArray = new char[5];
         public static void main(String args[])
              System.out.println(charArray);
              intArray1 = intArray;
    }thanx in advance as usual

    The problem is that you try to execute code outside a method. This can be only done in form of a variable declaration or as a static initilization block which will be executed once when the class is loaded:public class ArrayTest
         static int [] intArray = new int[5];
         static int [] intArray1 = new int[1];
         static char [] charArray = new char[5];
         static {
              intArray[0] = 5;
         public static void main(String args[])
              System.out.println(charArray);
              intArray1 = intArray;
    }

  • How to change the color of Numeric array elements (seperatel​y) programmat​ically using property node??

    For example, i have 3 numeric controls, controlling 3 numeric array elements (Numeric control is connected directly to indicator). Then if i change value in numeric control 1, then the array element No.1 of numeric array should turn red when value exceeds 5. Similarly when i change num control 2 then element 2 of array should turns red when value in num control 1 exceeds 10. Similarly for 3rd element. In other words, i want to control the property of array elements individually through seperate numeric control.
    I have done it for single numeric indicator.i.e. when i change numeric control's values then a single numeric indicator changes values and color (Numeric text BG property) but with array, the color of whole array changes but i want to change color of singles element of array.
    Please help thanks.  
    Solved!
    Go to Solution.

    ...or replace the numerics with clusters that have a numeric and a color box. make the background of the nmeric transparent and slide the color box behind the numeric. Use the color box to control the background color.
    Other alternatives would use a cluster instead of the array or if your req's are really weird "roll-your-own" with a Picture control.
    Ben
    Ben Rayner
    I am currently active on.. MainStream Preppers
    Rayner's Ridge is under construction

  • Dynamically controling the size (in pixels) of array elements?

    Hey Everyone,
    I am writing a large vi where front panel space is becoming a limitation.   One of the elements that I want to display is a 2-D array of boolean indicators (rectangular LEDs).  Is there any way to dynamically resize the elements in the array so that regardless of the number of elements, the entire array is always visible and has a constant footprint.  For example, say the array is 8 x 8 elements, and takes up 160x160 pixels on the front panel so each element is roughly 20x20 pixels.  Then the number of elements shifts to 4x4.  I want the display to stay 160x160 pixels, but the size of each element to double to 40x40 pixels.  Is this possible?
    Thanks all,
    Matt
    Solved!
    Go to Solution.

    So thank you for two great ideas/examples.  Definitely think I have a couple of very workable approaches.  I have a follow on question about using the intensity graph approach.
    First some background.  This indicator is going to show the progress of a sorting operation, 1-4 copies of 1-8 unique items are being sorted into 1-32 containers.  The items arrive at the sorter in random order, are identified, and then placed into the container where they are still needed.  The point of this indicator is to show the user, at a glance, how full each container is andwhich componenets are missing.  I want the elements (columns) to appear different for the unique items, which I know you can't do in an array of booleans.  So I had already dumped the boolean approach for an array of colorboxes, and it was the color boxes that I was trying to dynamically size. There is still a boolean array to keep track of if an item has arrived, but that array drives the array of colorboxes where each type of item is color coded by assigning a gray value to colorbox for false, and a particular color if true.  See attached, which works pretty well (detailed adjusts will make it just right).
    I think the intensity graph will look much nicer though, so here is the question:
    How do I map the different colors onto the intensity graph so it looks like the colorbox array without the lines?  The attached get vi puts out a different value for each yes/no, which is to say I already know how to take the boolean and convert the 1 state to a unique number, what I don't know how to do is map that number into a particular color on the intensity graph.
    Thanks guys.
    Super helpful as always!
    Matt
    Attachments:
    Puzzle_MM.vi ‏42 KB

  • Read part of an array element

    Hello All.
    As indicated in the title, I am trying to read part of an array element.
    What I'm doing is reading values from a LeCroy scope using a "write" than "read" I have returned the read values into an array but the issue is the scope returns a value "1, 52.33E-3"
    I simply want the element to be 52.33 that way I can use that for other calculations.
    For example my array is.
    "1, 34.334E-3"
    "1, 53.343E-3"
    "1, 143.232E-"
    And I want it to be
    34.334
    53.343
    143.232
    Thanks!
    Solved!
    Go to Solution.

    Another option is to use Spreadsheet String to Array and use the comma as the delimiter.  It can actually change your string into an array of numbers.  Then you just index out the number you want.
    There are only two ways to tell somebody thanks: Kudos and Marked Solutions
    Unofficial Forum Rules and Guidelines

  • A basic question/problem with array element as undefined

    Hello everybody,
    thank you for looking at my problem. I'm very new to scripting and javaScript and I've encountered a strange problem. I'm always trying to solve all my problem myself, with documentation (it help to learn) or in the last instance with help of google. But in this case I am stuck. I'm sure its something very simple and elementary.
    Here I have a code which simply loads a text file (txt), loads the content of the file in to a "var content". This text file contents a font family name, each name on a separate line, like:
    Albertus
    Antenna
    Antique
    Arial
    Arimo
    Avant
    Barber1
    Barber2
    Barber3
    Barber4
    Birch
    Blackoak ...etc
    Now, I loop trough the content variable, extract each letter and add it to the "fontList[i]" array. If the character is a line break the fontList[i] array adds another element (i = i + 1); That's how I separate every single name into its own array element;
    The problem which I am having is, when I loop trough the fontList array and $.writeln(fontList[i]) the result in the console is:
    undefinedAlbertus
    undefinedAntenna
    undefinedAntique
    undefinedArial ...etc.
    I seriously don't get it, where the undefined is coming from? As far as I have tested each digit being added into the array element, I can't see anything out of ordinary.
    Here is my code:
    #target illustrator
    var doc = app.documents.add();
    //open file
    var myFile = new File ("c:/ScriptFiles/installedFonts-Families.txt");
    var openFile = myFile.open("r");
    //check if open
    if(openFile == true){
        $.writeln("The file has loaded")}
    else {$.writeln("The file did not load, check the name or the path");}
    //load the file content into a variable
    var content = myFile.read();
    myFile.close();
    var ch;
    var x = 0;
    var fontList = [];
    for (var i = 0; i < content.length; i++) {
        ch = content.charAt (i);
            if((ch) !== (String.fromCharCode(10))) {
                fontList[x] += ch;
            else {
                x ++;
    for ( i = 0; i < fontList.length; i++) {
       $.writeln(fontList[i]);
    doc.close (SaveOptions.DONOTSAVECHANGES);
    Thank you for any help or explanation. If you have any advice on how to improve my practices or any hint, please feel free to say. Thank you

    CarlosCantos wrote an amazing script a while back (2013) that may help you in your endeavor. Below is his code, I had nothing to do with this other then give him praise and I hope it doesn't offend him since it was pasted on the forums here.
    This has helped me do something similar to what your doing.
    Thanks again CarlosCanto
    // script.name = fontList.jsx;
    // script.description = creates a document and makes a list of all fonts seen by Illustrator;
    // script.requirements = none; // runs on CS4 and newer;
    // script.parent = CarlosCanto // 02/17/2013;
    // script.elegant = false;
    #target illustrator
    var edgeSpacing = 10;
    var columnSpacing = 195;
    var docPreset = new DocumentPreset;
    docPreset.width = 800;
    docPreset.height = 600;
    var idoc = documents.addDocument(DocumentColorSpace.CMYK, docPreset);
    var x = edgeSpacing;
    var yyy = (idoc.height - edgeSpacing);
    var fontCount = textFonts.length;
    var col = 1;
    var ABcount = 1;
    for(var i=0; i<fontCount; i++) {
        sFontName = textFonts[i].name;
        var itext = idoc.textFrames.add();
        itext.textRange.characterAttributes.size = 12;
        itext.contents = sFontName;
        //$.writeln(yyy);
        itext.top = yyy;
        itext.left = x;
        itext.textRange.characterAttributes.textFont = textFonts.getByName(textFonts[i].name);
        // check wether the text frame will go off the bottom edge of the document
        if( (yyy-=(itext.height)) <= 20 ) {
            yyy = (idoc.height - edgeSpacing);
            x += columnSpacing;
            col++;
            if (col>4) {
                var ab = idoc.artboards[ABcount-1].artboardRect;
                var abtop = ab[1];
                var ableft = ab[0];
                var abright = ab[2];
                var abbottom = ab[3];
                var ntop = abtop;
                var nleft = abright+edgeSpacing;
                var nbottom = abbottom;
                var nright = abright-ableft+nleft;
                var abRect = [nleft, ntop, nright, nbottom];
                var newAb = idoc.artboards.add(abRect);
                x = nleft+edgeSpacing;
                ABcount++;
                col=1;
        //else yyy-=(itext.height);

Maybe you are looking for

  • How to find the value of a variable in other program

    How to find the value of a variable in other program say I am in a FM and this FM is being called in from other program and I want to know some of the variable details of the program from the FM itself. Imagine if this is a txn. and I need to know th

  • Why is HD video playback quality poor?

    When I play YouTube high-definition (720 or 1080) videos in Firefox in full screen mode, the play back is blurry compared to Internet Explorer; the same video, the same resolution - just a different browser. Why is this happening and what do I need t

  • Problem with Currency Symbol in IR export to CVS

    I have a number of queries that have been successfully generating csv files for years and have been adapted to provide the basis for the same information to be available as an interactive report with the option to download as csv. The old scripts set

  • My iphone 4 started shoing 2554 BE, no relief from sync or of on auto

    I just chaged the calander Gragerian from Budhist!! Done it. Thanks

  • Abysmal customer care.

    About 10am on Thursday, and engineer appeared in my back garden, knocked on the door and said he’d have to disconnect my phone for about 2 hours as they needed to work on a pole down the street.  I hadn't called them as my phone and Internet were abs