Pages

Showing posts with label Function. Show all posts
Showing posts with label Function. Show all posts

Friday, December 10, 2010

Set Local Computer Time with Powerbuilder

With External Function feature, we can set the Local Computer's time with Powerbuilder.

First, we need to declare the external function, called SetLocalTime from kernel32.dll

FUNCTION long SetLocalTime(ref str_SYSTEMTIME lpSystemTime ) LIBRARY "kernel32.dll" alias for "SetLocalTimeA"

To use the function, just pass a datetime variable when you call the function.

Example:

DataTime dtToday
dtToday = DateTime(Today(),Now())
SetLocalTime(dtToday)

»»  READMORE...

Monday, November 1, 2010

Powerbuilder Window Function

On my last post about Powerbuilder function, I have mention that there are 2 types of function in Powerbuilder. Now, I will try to explain another function called Window Function.

The main different between Window Function and function, is Window Function must be declared in Window Object, and it should be related with windows object inside.

The way to declare the Window function is almost the same when you declare the function. But for the first step, you need to open your window first, where you want to put the window function inside. Click Declare at drop down menu, then select Windows Functions sub menu.



Specify the name of the function, the arguments, the return value and specify where the function can be used: Public (in any script in the application), Private (only in scripts for events in the object in which the function is defined), or Protected (only in scripts for the object in which the function is defined and its descendants).


Type the script, then save and name wf_datechecked. The script will compare the 2 variables (one is the argument, one is the today's date)

// sample window function, named wf_datechecked
// argument or parameter is dtDateTransaction
// will return TRUE if comparation between dtDateTransaction is smaller than dtToday
// will return FALSE if comparation between dtDateTransaction is bigger or equal than dtToday


DateTime dtToday

dtToday = DateTime(Today(),Now())

If dtDateTransaction >= dtToday THEN
   RETURN FALSE
ELSE
   RETURN TRUE
END IF


To call the function, type script below (on Clicked event of b_checked, for example)
Assumed that you have datawindow called dw_1, and has column inside name dateofbirth.

Boolean bValidDate

bValidDate = wf_datechecked(dw_1.GetItemDateTime(row,"dateofbirth"))

IF bValidDate THEN
   Messagebox("Information","The Date is valid")
ELSE
   Messagebox("Information!","The Date is invalid. You must input the date smaller than today")
END IF
»»  READMORE...

Thursday, October 28, 2010

Powerbuilder Function

In every modern programming languages, there is a feature call FUNCTION, as well as Powerbuilder.

FUNCTION is a collection of scripts or statment which it can be re-used. Normally, FUNCTION has a return value.

In Powerbuilder, there are 2 types of FUNCTION: Function and Window Function. The different is FUNCTION can be use anywhere in object that has capabilities to call function, but Window Function just can called in the window itself.

In this article, I will show you the steps how to declare the function in Powerbuilder. I'm using Powerbuilder version 6.5 and I'm sure it will be the same for all versions above

In the main toolbar, click Function painter.


Click New to create a new Function


Type the name of the function, in the example: f_yearafter
Also specify the type of return variable, in this example: date
Function can has many parameters. Parameters can used to passing some value(s) into function, so later can be used to process or calculate something in the script of function. Beside the name of parameters, you must specify the type of parameters, and the Pass By. There are 3 types of Pass by: value, reference, and readonly. Use reference if you want to change the value parameter then inside the function script.
Click OK to create.


Now you can type the script inside the.
In this example, we create a function call f_yearafter. The function will return a date type value, which it is the date result after some year added.

Once the function created, you can't change or rename the function name, but you can still change the return value, the parameter, etc. Please pay the attention, changing all of that value, will affect into the script inside the function. You can click the function painter icon in the toolbar, to edit the function



To call the function, just add the script like this:

Date dReturnFunction

//add 2 years for the date
dReturnFunction = f_yearafter("01/01/2008",2) // will return "01/01/2010"

»»  READMORE...