Using the Singleton Pattern to keep the values of the previous variables?

Is it possible using ExtendScript to retain the previous property, same value once it has been updated by the user? I know after effects update images expressions, but I believe that the values of script must be able to persist. This kind of thing is possible with ExtendScript?

I think something like this should be achievable using a singleton as a model, but so far I've succumbed. Here's what I've tried so far:

instance of the var;

Check the value of the current instance

Alert (GetInstance () .value);

Check if the instance has a value, if this is not the case assign one, otherwise return the current value

function getInstance() {}

{if(!instance)}

instance = createInstance();

}

return instance;

} //End getInstance

Create the new object with a value and return it

function createInstance() {}

var object = new Object (mySel.property("Effects") ("Transform") .property .property (1));

Returns the object;

} //End createInstance

Or, if singletons are the wrong approach is there any type of storage mechanism that can be called in ExtendScript to write values?

Thank you!

I don't know (which means no there are not), but maybe your problem could be simplified.

Your best chance would be to want to want to know if the property is changed at all, in which case you can use p.isModified.

But if you want to know if it has been modified since the last change, then its a different story. Properties objects cannot be instantiated on their own, they are related to the actual properties in layers and cannot be "frozen".

Brutal way:

If the property is suspected of having a set of keys, you would be better of caching the stream of values in a table;

Otherwise be cached keys (still many things to do... times, values, tweens) and the expression, but then comparing two States can be uncomfortable.

.. for every p in your effect.

I hope that you will get a better answer

Xavier.

Tags: After Effects

Similar Questions

  • How to swap two values without using the third variable using the procedure

    How to exchange the two values without using the third variable using the procedure?

    In a procedure using two mode we pass two values A = x and B = y, and let us pass parameters to receive the output has A = y and B = x without using the third variable

    Published by: Millar on August 19, 2012 11:23

    Your question doesn't seem wise. As written, there is no reason to a third variable, just

    CREATE OR REPLACE PROCEDURE(
      x IN number,
      y IN number,
      a OUT number,
      b OUT number
    )
    AS
    BEGIN
      a := y;
      b := x;
    END;
    

    If it's an interview question, I suspect that the intention was that you had two settings IN OUT and you wanted to swap the values without the help of a third variable.

    Justin

  • How to use the global variable in the table target?

    Hello

    I am trying to load several files into a single interface. the data is loaded successfully. 92. the files are there. for this I used variables and package.

    My requrement is 92 files of data loaded into the target table. I want to know what data from file.

    to this I added a column (filename) to the existing target table.

    If I used joints (not same condition), its totally wrong. all file names are coming.

    Please see the following screenshots.

    err27.jpg

    exit; target table.

    err26.jpg

    in fact in the target table. first 10 lines are coming from file.i.e first _ACCOUNT_LIMIT_511.TXT. but all the files names are coming.

    I'm confuse. After the first data file inserted then insert second data file. in that all file names are coming. Please help me.

    I thought that the global variable is preferable to identify the data came from which file.

    to do this, the global variable is used in the target table. I don't always have my exit.

    Please help me.

    Thanks in advance.

    err25.jpg

    Hello

    You can use the same way, how you use the project variable, just you have to do a thin is #GLOBAL.variable_name for example: #GLOBAL. SMART_AL_FILE_NAME_S

    Note: Make sure you that while you use one variable overall in interface, indicator should be staged as you chose above the screen

    hope this helps you

    Kind regards

    Phanikanth

  • Variable adjustment of linking VO using the session variable

    Hello
    I need get/set variable binding VO using the class ApplicationModuleImple or ViewObjectImple. Does anyone know how to do?

    I have a VO based on the query like "select name from users where password =: password". " I had a variable binding him also. now I want to put it to a session scope variable. I can do using ADFContext.getCurrent () .getSession ().get('username');? but somehow, I am not able to obtain the knowledge that is to say where to put the variable binding. Help, please.

    User, please tell us your version of jdve!

    You write a public method in your VO, who has the number of parameters you need (username and password), set the variables in this method binding by using the bind variable setters, expose the method in the interface of the client of the vo. So you see the method in the control of data when you open the VO drag. the method on a page and drop it to count. Then you have the input fields to bind variables and the Send button to execute the method in the VO.

    Timo

  • SQL use the previous value of subselect in the subselect, the right way?

    Hi all!

    Today is Friday and I got a problem.

    I try to use the value of the previous Subselect statement in a subselect statement but could not find the right way to do this , need help and advice

    Error: [1]: ORA-00904: "PARENT_ID": invalid identifier

    Error on line 5

    SELECT INITCAP(aapt.pow) , aapt.woj ,
    (SELECT id FROM adm_address aad where aad.name = INITCAP(aapt.woj) AND aad.address_type ='N') as parent_id,
    
    
    (SELECT id FROM adm_address aad where aad.name = INITCAP(aapt.pow) AND aad.address_type ='D' AND aad.adm_addres_id = parent_id) as id
    
    
    FROM AMD_ADDRESS_PL_TMP aapt  GROUP BY pow,woj
    
    

    Guaraanteed of helpful answers!

    Thank you!

    Hello

    You can't do that. You should probably use a hierarchical query instead of your scalar subqueries to extract lines children and parents and then join the AMD_ADDRESS_PL_TMP table.

    Moreover, why the clause GROUP BY here?

  • value of the field using the local variable

    Hola
    the result of java program of UN lo forefront in una variable of instance of Quebec manera puedo use ese valor pero para fill a campo en UN formulario utilizando UN external jsp. variable instance llega hasta el flow pantalla are lo probe con una actividad automatica.

    Gracias

    Hola,

    Hay back options. UNA you save ese valor algun object BPM UN atributo dentro y esa instance del object BPM para usar the actividad interactiva.

    The otra opcion are using the variable attributes. If you actividad interactiva is associated with an instance of United Nations object BPM tiene y no quieres us UN campo an ese object puedes usar esta variable para mandarle mas al JSP information.

    Values as pongas en esta variable is mantienen como atributos del HttpRequest object. En you flow of docking tendrias than declarar una variable of type [Any\] Any\, y básicamente're como a hash map con llave y valor:

    Any[Any] atributos;
    atributos["salidaProgramaJava"] = "salida programa";
    

    Tienes as hacer el mapeo arguments the actividad interactiva y despues en el JSP hay to get el valor of several formas, using scripting, using tags from jstl, etc.. For example:

    " />
    
  • Using the string Variable name to ChnFind

    Overview - I find crossing points of zero on a set of data so that I can calculate the phase shift of channel to another in my data.

    Small image - I start by finding the zero 1 cross in the data, once I found I want to use the index to find the next and so on

    Problem

    The posted script comes from looking for the 1st pass by zero before moving on to the next channel. The problem is that I can't find out do my group and channel changes with loops.

    Option Explicit  ' force explicit declaration of all variables in a script.
    Dim intCount, intChan ' loop variables
    Dim z

    IntCount = 2 GroupCount-1 ' groups
    Call GROUPDEFAULTSET (intCount) ' change the current group
    IntChan = 1 to ChnNoMax ' Browse channels
    Z = ChnFind ("Ch(""[intCount]/[intchan]"")<0") 'this="" does="" not="" work,="" but="" i'm="" not="" sure="" how="" to="" fix="">
    MsgBox (z)
    next

    I don't know I'm missing something obvious.

    MK

    Hi Michael,

    You need not global variables to simplify this, but I would certainly use object variables to simplify.  When indexing of groups or channels, it is easier to use the variable of index with the Data.Root.ChannelGroups collect or Group.Channels collection directly.  I also prefer to store the group object and the channel object in a variable.  For example, you can then use Channel.DataType to add exactly the same string data to the new group coming from the old group.  You can also easily get the name, unit and all sorts of other properties directly from the object variable.  I prefer to use a separate group object variable to reduce congestion in the colde, although it adds 2 lines to your example of code snippet.

    Set FromGroup = Data.Root.ChannelGroups (intCount)
    Set FromChannel = FromGroup.Channels (intChan)
    Define participatory = Data.Root.ChannelGroups ("Index" & FromGroup.Name)
    The rise in the value = ToGroup.Channels.Add (FromChannel.Name & "Rising", DataTypeChnFloat64)
    Fall in the value = ToGroup.Channels.Add (FromChannel.Name & "Falling", DataTypeChnFloat64)

    Brad Turpin

    Tiara Product Support Engineer

    National Instruments

  • using the App: variable scrollbar help and problems

    It is a large amount of code, but please bare with me please.  I would really appreciate the help!

    If I write a financial application where the user enters the initial investment, the compound interest rate period and duration of investment and it calculates the value.  Here is my code: each "screen" that appears on the emulator is its own class:

    package com.rim.samples.Finance;
    
    import net.rim.device.api.ui.UiApplication;
    
    public class FinanceApplication extends UiApplication
    {
        //VARIABLES FOR THE INVESTMENT GROWTH
        public double initialInvestment;
        public double interest;
        public int compoundPeriod;
        public int investmentLength;
    
        public static void main(String[] args)
        {
            FinanceApplication firstApplication  = new FinanceApplication();
            firstApplication.enterEventDispatcher();
        }
    
        public FinanceApplication()
        {
            //OPENING SCREEN FOR INVESTMENT GROWTH
            pushScreen(new Screen1());
        }
    
    }
    
    //SCREEN 1 INPUTS *INITIAL INVESTMENT*
    
    package com.rim.samples.Finance;
    
    import net.rim.device.api.ui.Color;
    import net.rim.device.api.ui.DrawStyle;
    import net.rim.device.api.ui.Field;
    import net.rim.device.api.ui.FieldChangeListener;
    import net.rim.device.api.ui.Font;
    import net.rim.device.api.ui.Manager;
    import net.rim.device.api.ui.MenuItem;
    import net.rim.device.api.ui.UiApplication;
    import net.rim.device.api.ui.XYEdges;
    import net.rim.device.api.ui.component.BasicEditField;
    import net.rim.device.api.ui.component.ButtonField;
    import net.rim.device.api.ui.component.Dialog;
    import net.rim.device.api.ui.component.LabelField;
    import net.rim.device.api.ui.component.Menu;
    import net.rim.device.api.ui.component.SeparatorField;
    import net.rim.device.api.ui.container.HorizontalFieldManager;
    import net.rim.device.api.ui.container.MainScreen;
    import net.rim.device.api.ui.container.VerticalFieldManager;
    import net.rim.device.api.ui.decor.Border;
    import net.rim.device.api.ui.decor.BorderFactory;
    
    public class Screen1 extends MainScreen implements FieldChangeListener
    {
    
        //DECLARE MENU BUTTONS
        protected void makeMenu(Menu menu, int instance)
        {
    
            menu.add(_close);
        }
        private MenuItem _close = new MenuItem("Close", 110, 10)
        {
            public void run()
            {
                onClose();
            }
        };
        public boolean onClose()
        {
            Dialog.alert("Goodbye!");
            System.exit(0);
            return true;
        }
    
        //SCREEN 1 METHOD
        Screen1()
        {
    
            HorizontalFieldManager _fieldManagerTop = new HorizontalFieldManager(Manager.VERTICAL_SCROLL | Manager.VERTICAL_SCROLLBAR);
            VerticalFieldManager _fieldManagerMiddle = new VerticalFieldManager(Manager.VERTICAL_SCROLL | Manager.VERTICAL_SCROLLBAR);
            HorizontalFieldManager _fieldManagerBottom = new HorizontalFieldManager(Manager.VERTICAL_SCROLL | Manager.VERTICAL_SCROLLBAR);
            HorizontalFieldManager _fieldManagerButton = new HorizontalFieldManager(Manager.VERTICAL_SCROLL | Manager.VERTICAL_SCROLLBAR);
    
            //SET TITLE: FINANCIAL APPLICATION
            LabelField title = new LabelField ("Financial Application", LabelField.USE_ALL_WIDTH | DrawStyle.HCENTER);
            Font titleFont = this.getFont().derive(Font.BOLD | Font.ITALIC);
            title.setFont(titleFont);
            setTitle(title);
    
            //SET PAGE & INFO TEXT
            LabelField _page = new LabelField("Homepage ~ Initial Investment", LabelField.USE_ALL_WIDTH | DrawStyle.HCENTER);
            LabelField _info = new LabelField("\nThis application acts as a an investment or growth calculator.  The user inputs the amount of money he or she would like to invest originally, input the interest, the compound period, the regular monthly deposit into the investment, and the time her or she will have the investment and this application will calculate how much the investment will be worth.\n\n Please enter initial amount of money you are depositing into the investment.\n$XX.xx", LabelField.USE_ALL_WIDTH);
    
            //INPUT FIELDS TESTING!!!!
    
            //INPUT FIELD W/ BORDER
            BasicEditField _input = new BasicEditField();
    
            XYEdges padding = new XYEdges(10, 10, 10, 10);
            int color = Color.DARKGREEN;
            int lineStyle = Border.STYLE_SOLID;
            Border inputBorder = BorderFactory.createRoundedBorder(padding, color, lineStyle);
            _input.setBorder(inputBorder);
    
            //ADD FIELDS AND SEPARATORS
            add(_fieldManagerTop);
            add(new SeparatorField());
            add(_fieldManagerMiddle);
            add(new SeparatorField());
            add(_fieldManagerBottom);
            add(new SeparatorField());
            add(_fieldManagerButton);
    
            //ADD PAGE, INFO, INPUT
            _fieldManagerTop.add(_page);
            _fieldManagerMiddle.add(_info);
            _fieldManagerBottom.add(_input);
    
            //CREATE BUTTON TO NEXT PAGE
            ButtonField pressButton = new ButtonField("NEXT");
            pressButton.setChangeListener(this);
            _fieldManagerButton.add(pressButton);
    
        }
    
        //BUTTON FIELD CHANGE: ACTIONS
        public void fieldChanged(Field field, int context)
        {
            // PROBLEM IS HERE, I WANT WHATEVER IS TYPED INTO _input TO BE SET AS THE VARIABLE initialInvestmentFinanceApplication.initialInvestment=_input;
    
            UiApplication.getUiApplication().popScreen(this);
            UiApplication.getUiApplication().pushScreen(new Screen2());
    
        }
    
    }
    
    //SCREEN 2 INPUTS *INTEREST*
    
    package com.rim.samples.Finance;
    
    import net.rim.device.api.ui.Color;
    import net.rim.device.api.ui.DrawStyle;
    import net.rim.device.api.ui.Field;
    import net.rim.device.api.ui.FieldChangeListener;
    import net.rim.device.api.ui.Font;
    import net.rim.device.api.ui.MenuItem;
    import net.rim.device.api.ui.UiApplication;
    import net.rim.device.api.ui.XYEdges;
    import net.rim.device.api.ui.component.BasicEditField;
    import net.rim.device.api.ui.component.ButtonField;
    import net.rim.device.api.ui.component.Dialog;
    import net.rim.device.api.ui.component.LabelField;
    import net.rim.device.api.ui.component.Menu;
    import net.rim.device.api.ui.component.SeparatorField;
    import net.rim.device.api.ui.container.HorizontalFieldManager;
    import net.rim.device.api.ui.container.MainScreen;
    import net.rim.device.api.ui.container.VerticalFieldManager;
    import net.rim.device.api.ui.decor.Border;
    import net.rim.device.api.ui.decor.BorderFactory;
    
    public class Screen2 extends MainScreen implements FieldChangeListener
    {
        //DECLARE MENU BUTTONS
        protected void makeMenu(Menu menu, int instance)
        {
            menu.add(_home);
            menu.add(_close);
        }
    
        private MenuItem _home = new MenuItem("Home Page", 110, 10)
        {
                public void run()
                {
                    onHome();
                }
        };
    
        public boolean onHome()
        {
            Dialog.alert("Homepage Selected");
            UiApplication.getUiApplication().popScreen(this);
            UiApplication.getUiApplication().pushScreen(new Screen1());
            return true;
        }
    
        private MenuItem _close = new MenuItem("Close", 110, 10)
        {
            public void run()
            {
                onClose();
            }
        };
    
        public boolean onClose()
        {
            Dialog.alert("Goodbye!");
            System.exit(0);
            return true;
        }
    
        //SCREEN 2 METHOD
        Screen2()
        {
            HorizontalFieldManager _fieldManagerTop = new HorizontalFieldManager();
            VerticalFieldManager _fieldManagerMiddle = new VerticalFieldManager();
            HorizontalFieldManager _fieldManagerBottom = new HorizontalFieldManager();
            HorizontalFieldManager _fieldManagerButton = new HorizontalFieldManager();
    
            //SET TITLE: FINANCIAL APPLICATION
            LabelField title = new LabelField ("Financial Application", LabelField.USE_ALL_WIDTH | DrawStyle.HCENTER);
            Font titleFont = this.getFont().derive(Font.BOLD | Font.ITALIC);
            title.setFont(titleFont);
            setTitle(title);
    
            //SET PAGE & INFO TEXT
            LabelField _page = new LabelField("Page Two ~ Interest", LabelField.USE_ALL_WIDTH | DrawStyle.HCENTER);
            LabelField _info = new LabelField("\nNow please enter the interest that will be put on this investment", LabelField.USE_ALL_WIDTH);
    
            //INPUT FIELD W/ BORDER
            BasicEditField _input = new BasicEditField();
            XYEdges padding = new XYEdges(10, 10, 10, 10);
            int color = Color.DARKGREEN;
            int lineStyle = Border.STYLE_SOLID;
            Border inputBorder = BorderFactory.createRoundedBorder(padding, color, lineStyle);
            _input.setBorder(inputBorder);
    
            //ADD FIELDS AND SEPARATORS
            add(_fieldManagerTop);
            add(new SeparatorField());
            add(_fieldManagerMiddle);
            add(new SeparatorField());
            add(_fieldManagerBottom);
            add(new SeparatorField());
            add(_fieldManagerButton);
    
            //ADD PAGE, INFO, INPUT
            _fieldManagerTop.add(_page);
            _fieldManagerMiddle.add(_info);
            _fieldManagerBottom.add(_input);
    
            //CREATE BUTTON TO NEXT PAGE
            ButtonField pressButton = new ButtonField("NEXT");
            pressButton.setChangeListener(this);
            _fieldManagerButton.add(pressButton);
    
        }
    
        //BUTTON FIELD CHANGE: ACTIONS
        public void fieldChanged(Field field, int context)
        {
            UiApplication.getUiApplication().popScreen(this);
            UiApplication.getUiApplication().pushScreen(new Screen3());
        }
    }
    
    //SCREEN 3 INPUTS *COMPOUND PERIOD*
    
    package com.rim.samples.Finance;
    
    import net.rim.device.api.ui.Color;
    import net.rim.device.api.ui.DrawStyle;
    import net.rim.device.api.ui.Field;
    import net.rim.device.api.ui.FieldChangeListener;
    import net.rim.device.api.ui.Font;
    import net.rim.device.api.ui.MenuItem;
    import net.rim.device.api.ui.UiApplication;
    import net.rim.device.api.ui.XYEdges;
    import net.rim.device.api.ui.component.BasicEditField;
    import net.rim.device.api.ui.component.ButtonField;
    import net.rim.device.api.ui.component.Dialog;
    import net.rim.device.api.ui.component.LabelField;
    import net.rim.device.api.ui.component.Menu;
    import net.rim.device.api.ui.component.ObjectChoiceField;
    import net.rim.device.api.ui.component.SeparatorField;
    import net.rim.device.api.ui.container.HorizontalFieldManager;
    import net.rim.device.api.ui.container.MainScreen;
    import net.rim.device.api.ui.container.VerticalFieldManager;
    import net.rim.device.api.ui.decor.Border;
    import net.rim.device.api.ui.decor.BorderFactory;
    
    public class Screen3 extends MainScreen implements FieldChangeListener
    {
        //DECLARE MENU BUTTONS
        protected void makeMenu(Menu menu, int instance)
        {
            menu.add(_home);
            menu.add(_close);
        }
    
        private MenuItem _home = new MenuItem("Home Page", 110, 10)
        {
                public void run()
                {
                    onHome();
                }
        };
    
        public boolean onHome()
        {
            Dialog.alert("Homepage Selected");
            UiApplication.getUiApplication().popScreen(this);
            UiApplication.getUiApplication().pushScreen(new Screen1());
            return true;
        }
    
        private MenuItem _close = new MenuItem("Close", 110, 10)
        {
            public void run()
            {
                onClose();
            }
        };
    
        public boolean onClose()
        {
            Dialog.alert("Goodbye!");
            System.exit(0);
            return true;
        }
    
        //SCREEN 3 METHOD
        Screen3()
        {
    
            HorizontalFieldManager _fieldManagerTop = new HorizontalFieldManager();
            VerticalFieldManager _fieldManagerMiddle = new VerticalFieldManager();
            HorizontalFieldManager _fieldManagerBottom = new HorizontalFieldManager();
            HorizontalFieldManager _fieldManagerButton = new HorizontalFieldManager();
    
            //SET TITLE: FINANCIAL APPLICATION
            LabelField title = new LabelField ("Financial Application", LabelField.USE_ALL_WIDTH | DrawStyle.HCENTER);
            Font titleFont = this.getFont().derive(Font.BOLD | Font.ITALIC);
            title.setFont(titleFont);
            setTitle(title);
    
            //SET PAGE & INFO TEXT
            LabelField _page = new LabelField("Page Three ~ Compound Period", LabelField.USE_ALL_WIDTH | DrawStyle.HCENTER);;
            LabelField _info = new LabelField("\nNow please enter the compound period.\npress spacebar to go through the choices:", LabelField.USE_ALL_WIDTH);;
    
            //ADD FIELDS AND SEPARATORS
            add(_fieldManagerTop);
            add(new SeparatorField());
            add(_fieldManagerMiddle);
            add(new SeparatorField());
            add(_fieldManagerBottom);
            add(new SeparatorField());
            add(_fieldManagerButton);
    
            //OBJECT CHOICE FIELD
            String choicestrs[] = {"Weekly", "Bi-Weekly", "Monthly", "Quarterly", "Annually"};
            ObjectChoiceField choice = new ObjectChoiceField("Compound Period: ", choicestrs, 0);
    
            //ADD PAGE, INFO, OBJECT CHOIE TO FIELD
            _fieldManagerTop.add(_page);
            _fieldManagerMiddle.add(_info);
            _fieldManagerBottom.add(choice);
    
            //CREATE BUTTON TO NEXT PAGE
            ButtonField press2Button = new ButtonField("NEXT");
            press2Button.setChangeListener(this);
            _fieldManagerButton.add(press2Button);
    
        }
    
        //BUTTON FIELD CHANGE: ACTIONS
        public void fieldChanged(Field field, int context)
        {
            UiApplication.getUiApplication().popScreen(this);
            UiApplication.getUiApplication().pushScreen(new Screen4());
        }
    }
    
    //SCREEN 4 INPUTS *LENGTH OF INVESTMENT*
    
    package com.rim.samples.Finance;
    
    import net.rim.device.api.ui.Color;
    import net.rim.device.api.ui.DrawStyle;
    import net.rim.device.api.ui.Field;
    import net.rim.device.api.ui.FieldChangeListener;
    import net.rim.device.api.ui.Font;
    import net.rim.device.api.ui.MenuItem;
    import net.rim.device.api.ui.UiApplication;
    import net.rim.device.api.ui.XYEdges;
    import net.rim.device.api.ui.component.BasicEditField;
    import net.rim.device.api.ui.component.ButtonField;
    import net.rim.device.api.ui.component.Dialog;
    import net.rim.device.api.ui.component.LabelField;
    import net.rim.device.api.ui.component.Menu;
    import net.rim.device.api.ui.component.SeparatorField;
    import net.rim.device.api.ui.container.HorizontalFieldManager;
    import net.rim.device.api.ui.container.MainScreen;
    import net.rim.device.api.ui.container.VerticalFieldManager;
    import net.rim.device.api.ui.decor.Border;
    import net.rim.device.api.ui.decor.BorderFactory;
    
    public class Screen4 extends MainScreen implements FieldChangeListener
    {
        //DECLARE MENU BUTTONS
        protected void makeMenu(Menu menu, int instance)
        {
            menu.add(_home);
            menu.add(_close);
        }
    
        private MenuItem _home = new MenuItem("Home Page", 110, 10)
        {
                public void run()
                {
                    onHome();
                }
        };
    
        public boolean onHome()
        {
            Dialog.alert("Homepage Selected");
            UiApplication.getUiApplication().popScreen(this);
            UiApplication.getUiApplication().pushScreen(new Screen1());
            return true;
        }
    
        private MenuItem _close = new MenuItem("Close", 110, 10)
        {
            public void run()
            {
                onClose();
            }
        };
    
        public boolean onClose()
        {
            Dialog.alert("Goodbye!");
            System.exit(0);
            return true;
        }
    
        //SCREEN 4 METHOD
        Screen4()
        {
            HorizontalFieldManager _fieldManagerTop = new HorizontalFieldManager();
            VerticalFieldManager _fieldManagerMiddle = new VerticalFieldManager();
            HorizontalFieldManager _fieldManagerBottom = new HorizontalFieldManager();
            HorizontalFieldManager _fieldManagerButton = new HorizontalFieldManager();
    
            //SET TITLE: FINANCIAL APPLICATION
            LabelField title = new LabelField ("Financial Application", LabelField.USE_ALL_WIDTH | DrawStyle.HCENTER);
            Font titleFont = this.getFont().derive(Font.BOLD | Font.ITALIC);
            title.setFont(titleFont);
            setTitle(title);
    
            //SET PAGE & INFO TEXT
            LabelField _page = new LabelField("Page Four ~ Investment Length", LabelField.USE_ALL_WIDTH | DrawStyle.HCENTER);
            LabelField _info = new LabelField("\nNow please enter how long you will have this investment for?\nPlease enter the amount in months:", LabelField.USE_ALL_WIDTH);
    
            //INPUT FIELD W/ BORDER
            BasicEditField _input = new BasicEditField();
            XYEdges padding = new XYEdges(10, 10, 10, 10);
            int color = Color.DARKGREEN;
            int lineStyle = Border.STYLE_SOLID;
            Border inputBorder = BorderFactory.createRoundedBorder(padding, color, lineStyle);
            _input.setBorder(inputBorder);
    
            //ADD FIELDS AND SEPARATORS
            add(_fieldManagerTop);
            add(new SeparatorField());
            add(_fieldManagerMiddle);
            add(new SeparatorField());
            add(_fieldManagerBottom);
            add(new SeparatorField());
            add(_fieldManagerButton);
    
            //ADD PAGE, INFO, INPUT
            _fieldManagerTop.add(_page);
            _fieldManagerMiddle.add(_info);
            _fieldManagerBottom.add(_input);
    
            //CREATE BUTTON TO NEXT PAGE
            ButtonField pressButton = new ButtonField("NEXT");
            pressButton.setChangeListener(this);
            _fieldManagerButton.add(pressButton);
    
        }
    
        //BUTTON FIELD CHANGE: ACTIONS
        public void fieldChanged(Field field, int context)
        {
            UiApplication.getUiApplication().popScreen(this);
            UiApplication.getUiApplication().pushScreen(new InvestmentWorth());
        }
    }
    
    //INVESTMENT WORTH
    
    package com.rim.samples.Finance;
    
    import net.rim.device.api.ui.Color;
    import net.rim.device.api.ui.DrawStyle;
    import net.rim.device.api.ui.Field;
    import net.rim.device.api.ui.FieldChangeListener;
    import net.rim.device.api.ui.Font;
    import net.rim.device.api.ui.Manager;
    import net.rim.device.api.ui.MenuItem;
    import net.rim.device.api.ui.UiApplication;
    import net.rim.device.api.ui.XYEdges;
    import net.rim.device.api.ui.component.ButtonField;
    import net.rim.device.api.ui.component.Dialog;
    import net.rim.device.api.ui.component.LabelField;
    import net.rim.device.api.ui.component.Menu;
    import net.rim.device.api.ui.component.SeparatorField;
    import net.rim.device.api.ui.container.HorizontalFieldManager;
    import net.rim.device.api.ui.container.MainScreen;
    import net.rim.device.api.ui.container.VerticalFieldManager;
    import net.rim.device.api.ui.decor.Border;
    import net.rim.device.api.ui.decor.BorderFactory;
    
    public class InvestmentWorth extends MainScreen
    {
    
        //DECLARE MENU BUTTONS
        protected void makeMenu(Menu menu, int instance)
        {
    
            menu.add(_close);
        }
        private MenuItem _close = new MenuItem("Close", 110, 10)
        {
            public void run()
            {
                onClose();
            }
        };
        public boolean onClose()
        {
            Dialog.alert("Goodbye!");
            System.exit(0);
            return true;
        }
    
        //SCREEN 1 METHOD
        InvestmentWorth()
        {
    
            HorizontalFieldManager _fieldManagerTop = new HorizontalFieldManager(Manager.VERTICAL_SCROLL | Manager.VERTICAL_SCROLLBAR);
            VerticalFieldManager _fieldManagerMiddle = new VerticalFieldManager(Manager.VERTICAL_SCROLL | Manager.VERTICAL_SCROLLBAR);
            HorizontalFieldManager _fieldManagerBottom = new HorizontalFieldManager(Manager.VERTICAL_SCROLL | Manager.VERTICAL_SCROLLBAR);
    
            //SET TITLE: FINANCIAL APPLICATION
            LabelField title = new LabelField ("Financial Application", LabelField.USE_ALL_WIDTH | DrawStyle.HCENTER);
            Font titleFont = this.getFont().derive(Font.BOLD | Font.ITALIC);
            title.setFont(titleFont);
            setTitle(title);
    
            //SET PAGE & INFO TEXT
            LabelField _page = new LabelField("Homepage ~ Initial Investment", LabelField.USE_ALL_WIDTH | DrawStyle.HCENTER);
            LabelField _info = new LabelField("\nHere is the worth of your investment:\n", LabelField.USE_ALL_WIDTH);
    
            //INPUT FIELD W/ BORDER
            LabelField _worth = new LabelField();
            XYEdges padding = new XYEdges(10, 10, 10, 10);
            int color = Color.BLACK;
            int lineStyle = Border.STYLE_SOLID;
            Border inputBorder = BorderFactory.createRoundedBorder(padding, color, lineStyle);
            _worth.setBorder(inputBorder);
    
            //ADD FIELDS AND SEPARATORS
            add(_fieldManagerTop);
            add(new SeparatorField());
            add(_fieldManagerMiddle);
            add(new SeparatorField());
            add(_fieldManagerBottom);
    
            //ADD PAGE, INFO, INPUT
            _fieldManagerTop.add(_page);
            _fieldManagerMiddle.add(_info);
            _fieldManagerBottom.add(_worth);
    
        }
    
    }
    

    So when I run on the emulator, on Blackbery 8520 SDK emulator, it doesn't let me scroll upwards on the first screen to see the rest of the text, it's like the cursor on the button sticks or editing field base so it wont allow to exceed upwards the button or basic edit field , but I can scroll between them.

    Second problem is trying to address (as defined in the first class) variables to different edit fields so when something is typed in (double), it is placed in the variable to use in the rest of the program.  I want to make sure the basic edit fields only allow "double" number entered, otherwise it displays a message 'incorrect type '.   Please help me with this, or give me some advice.

    I would REALLY appreciate it.

    LabelFields will display several lines later the OS, so maybe this isn't a problem.  However, LabelFields are by default not active, so you can't scroll on them.  RichTextFields are active by default.  So either change your LabelFields for et focusable (style LabelField.FOCUSABLE) pr change to RichTextField, as the previous poster suggested.

    I do not understand your second question, what are the numbers 'double '?

    However, I was watching the styles FILTER_ that you can use to BasicEditField or watch extending TextFilter to check the characters that they are entered.  I suspect TextFilter is the right way to go, but I've never done anything like this.  But having a good overview in this field and classes that extends.

  • definition of variables in packages and using the same variables in charge Plans as a case statement in Odi

    Hello

    I am trying to use a global variable 'Global.test' in my ODI "pkg_test" package and step declaration type as a variable that is defined with the value 1 when my package evaluates the condition successfully run and with 0 if the fails.now condition I will carry out the same "pkg_test" package in my load "LP_TEST" and using the variable 'Global.test' Plan as a case statement in terms of load "LP_TEST".

    It's workload Odi is unable to understand the value of the variable 'Global.test', which is defined in my pkg 'pkg_test' and my case statement is put down in my care Plan.

    Thank you

    Hi Santosh Pradhan,

    What kind of story do you have in your variable?

    If you have not selected any antecedent, the scope of the variable is limited to the session. As the execution of the package is a session in its own (independent of the workload performance), the value of the variable is not accessible after his execution.

    You can also try assigning / updating of the value of the variable directly from your plan, instead of in the package:

    It will be useful.

    Best regards

    JeromeFr

  • Iterate through rows in the object using the pageflowscope variable view

    I'm looking for a way to browse multiple lines of a view object and the transaction using a variable that is stored in a variable pageflowscope programmatically.

    I have two view objects that have a relationship of the master / detail.  The jsf page ADF Master table secondary table created by the control of data objects. The requirement is to have a single button that when pressed will update all the selected record of the master detail records.  One of the operations that must be done is a value that is stored in a variable PageFlowScope.

    The approach adopted to accomplish this was based on the following video:

    ADF Insider Essentials: Iteration through rows in a view object programmatically

    Author: Grant Ronald

    Link: http://download.oracle.com/otn_hosted_doc/jdeveloper/11gdemos/ADF_Insider_Essentials/IterateRows/IterateRows.html

    I created the Classes of line of sight for the two display objects and developed the method for updating the lines (code below).  The method that takes no parameters, has been added as a tool bar button to the page and works as expected when you use a hardcoded value.  I would add a second update statement in the while loop to update another column, but using the value of the variable PageFlowScope is stored a previous view in the taskflow.

    I thought I'd be able to use AdfFacesContext.getCurrentInstance () .getPageFlowScope().get("objectid") to get the value but I get a warning in the source editor, 'this guy or a variable 'AdfFacesContext' not found. "

    How can I do this?

    JDeveloper Studio Edition Version 11.1.2.4.0

    METHOD CODE:

    /**

    * Method to update the tool work order status

    */

    public void checkInTools() {}

    All lines wor (RowSet) = getWOToolAsg ();

    While (wor.hasNext ()) {}

    CurrentRow = (WOToolAsgVORowImpl) wor.next () WOToolAsgVORowImpl;

    currentRow.setToolActive("Y");

    Add code here to get OpNmb of pagescope variable and update record in table - type String

    }

    }

    Thank you.

    Scott

    You must import the class to use.

    Import oracle.adf.view.rich.context.AdfFacesContext;

    AdfFacesContext (Java QAnywhere for Oracle ADF Faces)

  • Use the bind variable in example of a clause giving questions

    create or replace procedure pr_mbk (p_val in number)
    is
    CROR type is ref cursor;
    REF CROR;
    type numbertype is the table of index number of pls_integer;
    numtype numbertype.
    v_str varchar2 (2000): = 'select empno from emp sample(:val) ";
    Start
    Open ref for v_str using p_val;
    Close ref;
    end;
    /

    Successfully compiled.

    But when I run the same

    Exec pr_mbk (10);

    ERROR on line 1:
    ORA-00933: SQL not correctly completed command.
    ORA-06512: at "SCOTT. PR_MBK', line 9
    ORA-06512: at line 1

    My question is can use us Bind variables within a sample clause.

    Receive your answer.

    Thank you
    Madhu K.

    I guess that SAMPLE is considered as a special case, and is not considered as something that takes a 'value' in the same way as values in where clause or values in the query itself.
    Let's face it, the SAMPLE is not the standard SQL syntax and is probably something Oracle implements in a separate thread for processing SQL itself i.e. engine Oracle saying to herself... "I will remember this bit of the sample until I questioned the data using the SQL engine, so I'll take a suitable sample of the results," but it's the SQL engine treats the binding of values and the Oracle process that awaits the results taste, knows nothing of the binding values in it's special EXAMPLE of keyword.

  • I don't get to use the global variable. Take a look in my form, please.

    Hello.

    I'm ashamed. I'm not able to use a base on the LiveCyle feature: Global Variable / object.

    I have a textfield for the user to put your name. Then, the user must click at the base. His name and value must be of value to a global variable, then I would use this value in any form.

    This look at my example I would use this value.

    https://Acrobat.com/#d=k0YlC1MXEdVTh1g2TXAJxw

    What is the error? I tried to put as a global variable, but it does not work.

    PS: Call of the value using textfield (TextField.rawValue = TextField2.rawValue), it works fine, but I prefer to use the variable

    Thank you very much.

    Hi Rafael,.

    I'm good thanks

    I do not know if I understood the question, but I think you're asking if it is possible to have a field that displays the value of a global variable (i.e. the 'view' you refer to), which is updated automatically via scripts of calculation or similar to but not dependent on another event, such as 'click '.

    In my view, using a linked across the object world is the only way, and you are right - it is certainly easier.

    Please let me know if I've not understood the question

    Thank you

    Tim

  • If I buy the update, can I still use the previous version?

    I'm sure that this question is answered on the Adobe site or in the forums somewhere, but I can't find the answer.  I hope someone can point me to the official policy of Adobe.

    I think the upgrade of CS4 CS5 versions, and one of the considerations that would affect my decision would be able to use the old version on my 2nd computer (a laptop).  Is this allowed?   Currently I have to disable Photoshop on my desktop PC and activate it on my laptop so for use during a trip, and I always forget to do, so I find myself not not using Photoshop on my laptop at all.

    You can do what you want.*

    The license covers use on both computers.

    * I always advise people to keep the old version in any case up to are completely happy with the news.

  • How can I use the Session variable in the repeat region

    I have a session variable assigned to the #(numérotation automatique dans access db) of the posts ID. The variable is set to the recordset object that is displayed first (sort by message ID descending). I would like to find a way to make the variable to assign to all records, if the variable is passed to the delete page. If I use a URL parameter to send the message ID, then someone could change the number in a browser and delete messages not intended for the user.
    If you want to see the example in action goto link at the bottom of the message. Save it and reply links are URL parameters response uses the variable MM_Username to enter the name of the sender for a URL parameter is OK, but click on save and then change the value of msdID in the browser for a different number and you can record and display another message not intended for your login id. The link delete uses a session variable that I posted in the Recordset as the auto access number msdID and the good msdID # do not are they assigned.
    What to hide the URL parameters, it would be simple, but how can I do?
    Thank you
    MikeL7
    PAGE WITH SESSION VARIALBE to DELETE PAGE (save and the response are URL parameters)
    http://www.gohbcc.com/callcenter/EmployeeMessagesVIEW2.asp
    USER name: admin PASSWORD: 1234

    links from other pages of my site will bring to:
    http://www.gohbcc.com/callcenter/EmployeeMessagesVIEW.asp it's the settings of all THE URL enter 2 after VIEW to use session variables

    Your message forced me to find a way to make it work, I put the code to create the variable just before the repeating table in the region and went on to form buttons that post the variable and labeled buttons and it works perfectly. Thank you

  • Use the session variable in insert record

    Help, please!

    I need to add a record to a table; one of the fields in the table is the user_id. When I try to use the insert record server behavior, there is no way to select the session user_id variable! How this is done?

    > I need to add a record to a table. one of the fields in the table is the
    > user_id. When I try to use the insert record server behavior, there is no
    > way
    > to select the session user_id variable! How this is done?

    Use a hidden form variable and assign the value of the session.

Maybe you are looking for