Sum the odd and even numbers, respectively, from 1 to a given upperbound
Hi Friends, I try to implement one simple program "Sum the odd and even numbers, respectively, from 1 to a given upperbound.
"
I created one flow
In the Section I get the UpperBound Value using one text box.
In the action tab of property control I added three action on Value change in text box.
Post Value - to post this value to clipboard.
Run Activity- to run the activity to acheive our functionalities
Refresh-This Section - to display the output in below 2 text boxes(Not yet created , I will create later). On refresh only we can access the clipboard page property. So we refresh this section.
In Run Activity I called one activity named CalculateUpperBoundValue.
Lets see how to acheive this logic using activity.
This is the activity I created.
In first step I used Page-New , this step is to hold all the values while we process the data. I gave page name as PageOne , after we give here the Step Page name we should give page and class name in Pages and class tab.
Next Page-Copy, In this step I copied all the values from pyWorkPage to PageOne
U can ask , I am not gave pyWorkPage in any place, The answer is if we are not give any page name in CopyFrom then in compile time it takes the page of previous step.
We can test this with tracer. I comment all the steps below 2 and see what happend.
You can see In second step the step page is pyWorkPage so automatically in PageFrom it takes pyWorkPage.
We are copying all the value in pyWorkPage to PageOne.
In Step 3 , I added Property-Set to declare properties with default value.
Here U can see I used Local Variable, if we used Local Variable we can use this value in all this places in this activity not outside this activity.
In the fourth step, I used Loop to achieve the while loop in above program.
I added a child for 4 th step to add all the even numbers and odd numbers. In 4.1 I added a when condition to check whether the current value is odd or even number.
(<CURRENT>) - it is similar to i in for loop
On first iteration, (<Current>) value will be 1 in sencond iteration (<Current>) value will be 2 and in 3rd iteration (<Current>) value will be 3 ans so on.
If the current value is Even means we no need to execute 4.2(Used for odd value calculation). So In the end of 4.1 , I wrote condition to jump to Step named SKIP by using Always(Built in) when condition.
In 4.2 I added a property set to calculate odd value sum.
In 4.3 we add a step , in that step I added a precondition , there we use Always to exit the Iteration.
In the last step I added one Page-Copy to copy all the manipulated data in PageOne to pyWorkPage.
To see the result, We refer the SumEven property and SumOdd property from clipboard to Section.
I drag and drop one dynamic layout.
then refer that two property in this dynamic layout.
I refered those two property and make them read only.
Now our UI look like this,
We no need to see the SumEven and SumOdd if there is no value in UpperBoundValue, so we can add Visibility for that dynamic layout.
Now once again , run the flow or refresh .
SumEven = 2+4+6+8+10 =30
SumOdd = 1+3+5+7+9 =25
If u have any doubt ask in comment :)
Hi Bharat,
ReplyDeleteI implemented the same scenarios but my out put is coming like
EvenSum:02468101214
OddSum:0123456789111121314
Hi Property we are using should be of type Integer, If we used string property then it will assume the values as string value. So value will not add it will append.
DeleteThanks bro
Deleteafter creating the property as integer its working as expected.
Welcome bro.
DeleteWhat is the 4th step of Property-set method
ReplyDeleteProperty name i can see local.Flag and what is the Property value field
Sorry, We are not using the Local.Flag anywhere in our activity, So we can set that to null value ( "" ). It has no use.
DeleteUnfortunately I not have this code in my system now.
What is the 4.1 step of Jump step
ReplyDelete4.1 Transition when condition is always jump to later step SKIP
DeleteBrilliant One mate :)
ReplyDelete