Supported types

Array functions

Table 216. 

Function

Support Level

Coding Examples

LowerBound

Supported

Int b[-5 to 2,5],a[5],c[]

li_lower = LowerBound(b,2)

li_lower = LowerBound(b,1)

li_lower = LowerBound(a)

li_lower = LowerBound(a,1)

li_lower = LowerBound(c)

UpperBound

Supported

Int b[-15 to -5,5],a[5],c[]

li_upper = UpperBound(b,2)

li_upper = UpperBound(b,1)

li_upper = UpperBound(a)

li_upper = UpperBound(a,1)

li_upper = UpperBound(c)


Blob functions

Table 217. 

Function

Support Level

Coding Examples

Blob

Supported

blob lb_data = blob("convert string to blob")

string ls_data

lb_data = blob(ls_data)

BlobEdit

Supported

ulong ll_var

blob lb_data

ll_var = BlobEdit(lb_data, 1, "String")

ll_var = BlobEdit(lb_data, 3, 12345)

ll_var = BlobEdit(lb_data, 9, 2004-12-03)

ll_var = BlobEdit(lb_data, 1, blob("blob"))

Note: The data argument cannot be Any data type.

BlobMid

Supported

blob lb_data,lb_subdata

lb_subdata = BlobMid(lb_data,3)

lb_subdata = BlobMid(lb_data,5)

Len

Supported

long ll_len

blob lb_data,lb_subdata

ll_len = len(lb_data)

ll_len = len(lb_subdata)

Lenw

Supported

long ll_len

blob lb_data,lb_subdata

ll_len = LenW(lb_data)

ll_len = LenW(lb_subdata)

String

Supported

blob lb_data,lb_subdata

string ls_data

ls_data = string(lb_data)

ls_data = string(lb_subdata)


Byte functions

Table 218. 

Function

Support Level

Coding Examples

Byte

Supported

 

GetByte

Supported

 

SetByte

Supported

 

GetByteArray

Supported

 

Data type checking and conversion functions

Table 219. 

Function

Support Level

Coding Examples

Asc

Supported

li_test = Asc ('adfsd')
li_test = Asc ('~nern')
li_test = Asc (ls_test)
li_test = Asc (wf_getstring()) //wf_getstring() is a function that has a string return value

Char

Supported

ls_test1 = Char (65)
ls_test1 = Char (65)
ls_test1 = Char ("~n~~djfksdl")

Dec

Supported

ldec_test = Dec ("1.234567") //Return the string as a decimal
ldec_test = Dec ("1234567")
ldec_test = Dec (dw_1.object.data[1,2])

Double

Supported

ldb_test = Double("78.7956") //Return the string as a double

Integer

Supported

li_test = Integer ("93") //Return the string as an integer

Long

Supported

ll_test = long ("99.88") //Return the string as a long
ll_test = long (16119,26930) //Convert the two UnsignedIntegers into a long

Real

Supported

lr_test = Real ("88.56") //Return the string as a real

Date

Supported

ld_test = Date (ldt_test) //ldt-test is a datetime variable
ld_test = Date (now())
ld_test = Date (ls_test) //ls_test is a string variable
ld_test = Date (2003, 4, 1)

Note: if the argument contains an invalid date, Date returns NULL in PowerBuilder, whereas in the Web application, it returns an empty string ("").

DateTime

Supported

ldt_test = Datetime (ld_test)
ldt_test = Datetime (ld_test, lt_test) 

Note: After conversion, the microsecond portion in the time argument will be omitted.

IsDate

Supported

If IsDate ("Jan 32, 1993") = TRUE Then... //Determines whether the string is a valid date

IsNull

Supported

Integer a, b...

lb_value = isnull (a+b) //If the value of expression a+b is null, lb_value is set as True; otherwise, False

IsNumber

Supported

If IsNumber("23.45") Then ...

//Return True since the value of the string is a number

Note: PowerBuilder does not support 1E123 (more than two digits after E). Functions such as IsNumber ("1E123") in PowerBuilder return FALSE, but after conversion, IsNumber returns TRUE.

IsTime

Supported

IsTime (timevalue)

If IsTime ("23:11") Then ...  //hh:mm
If IsTime ("23:11:33") Then ... //hh:mm:ss
If IsTime ("23:11:33.123456") Then ... //hh:mm:ss.xxxxxx

String

Supported

String (data {, format})

ls_test = string (1993-05-17, "mm/dd/yyyy") //Convert a date to string
ls_test = string (07:12:28, "hh:mm:ss") //Convert a time to string
ls_test = string (44.56, "$#,##0.00") //Convert a numeric to string
ls_test = string ("gf", "@*@") //Convert a string to formatted string

Notes:

  1. String(data, format) cannot be used in DataWindow property expression.

  2. When a format is specified in the String function, make sure that the format is one of the supported types for EditMask. The string argument cannot contain special case conversion formats such as "!!!", "aaa"

  3. The format argument cannot be [currency].

Time

Supported

lt_test = time ("23:00")

Note: After conversion, the microsecond portion of the time will be omitted.

LongLong

Unsupported

 

Date, Day and Time functions

Table 220. 

Function

Support Level

Coding Examples

Day

Supported

li_test = Day(2003-04-01)

li_test = Day(ld_today)

li_test = Day(today())

DayName

Supported

ls_test = DayName(2003-04-01)

ls_test = DayName(ld_today)

ls_test = DayName(today())

DayNumber

Supported

li_test = DayNumber(2003-04-01)

li_test = DayNumber (ld_today)

li_test = DayNumber (today())

DaysAfter

Supported

ll_test = DaysAfter(2003-04-01, 2003-04-01)

ll_test = DaysAfter(ld_test1, today())

Hour

Supported

Hour(time) li_test = Hour(21:00:00)

li_test = Hour(lt_test)

li_test = Hour(Now())

Minute

Supported

li_test = Minute (21:00:00)

li_test = Minute (lt_test)

li_test = Minute (Now())

Month

Supported

li_test = Month (2003-04-01)

li_test = Month (ld_today)

li_test = Month (today())

Now

Supported

ldt_test = Now()

RelativeDate

Supported

ld_test = RelativeDate (2003-04-01, 27)

ld_test = RelativeDate (ld_test1, li_after)

ld_test = RelativeDate (today(), li_after)

RelativeTime

Supported

lt_test = RelativeTime (21:00:00, 60)

lt_test = RelativeTime (ld_test1, li_after)

lt_test = RelativeTime (now(), li_after)

Second

Supported

li_test = Second (21:00:00)

li_test = Second (lt_test)

li_test = Second (Now())

SecondsAfter

Supported

ll_test = SecondsAfter (21:00:00, 09:00:00)

ll_test = SecondsAfter (lt_test1, now())

Today

Supported

ld_test = Today()

Year

Supported

li_test = Year (2003-04-01)

li_test = Year (ld_today)

li_test = Year (today())


DDE client functions and events

Table 221. 

Function

Support Level

Coding Examples

CloseChannel

Supported

CloseChannel(handle, Handle(w_sheet))

ExecRemote

Supported

 

GetDataDDE

Supported

string Str20

GetDataDDE(Str20)

GetDataDDEOrigin

Supported

string WhichAppl, WhatTopic, WhatLoc

GetDataDDEOrigin(WhichAppl, WhatTopic, WhatLoc)

GetRemote

Supported

 

OpenChannel

Supported

long handle

handle = OpenChannel("Excel", "REGION.XLS")

Note: It is recommended to determine whether the execution succeeds by its returning -1, -9 or a positive integer. Do not assume that it has failed because it returns a negative integer.

RespondRemote

Supported

IF GetDataDDE(Value) = 1 THEN

RespondRemote(TRUE)

SetRemote

Supported

 

StartHotLink

Supported

StartHotLink("Any", "MyPBApp", "Any")

StopHotLink

Supported

StopHotLink("Any", "MyPBApp", "Any")

HotLinkAlarm

Unsupported

 

File functions

Important Requirements

On the Web, the reference of the relative path is the Desktop directory, however in PowerBuilder, the reference of relative path is the target application's current directory.

Table 222. 

Function

Support Level

Coding Examples

ChangeDirectory

Supported

int li_return

li_return = ChangeDirectory(sle_path.text)

CreateDirectory

Supported

int li_return

li_return = CreateDirectory(sle_path.text)

DirectoryExists

Supported

if DirectoryExists(sle_path.text) then ls_tosting = "The directory exists!"

FileClose

Supported

li_return = FileClose(li_FileNum)

FileCopy

Supported

li_return = FileCopy(li_FileNum)

FileDelete

Supported

if FileDelete(sle_filename.text) then ls_tosting = "True:FileDelete"+sle_filename.text

FileEncoding

Unsupported

 

FileExists

Supported

if FileExists(sle_filename.text) then ls_tosting = "The file exists!"

FileOpen

Supported

integer li_FileNum

li_FileNum = FileOpen("D:\temp\new.txt", TextMode!, Write!, LockReadWrite!, Replace!, EncodingUTF8!)

FileLength

Supported

long ll_FileLen

ll_FileLen = FileLength(sle_filename.text)

FileLength64

Unsupported

 

FileMove

Supported

li_return = FileMove (sle_filename.text, sle_2.text)

FileRead

Supported

blob Emp_Id_Pic

li_bytes = FileRead (li_FileNum, Emp_Id_Pic)

FileReadEx

Supported

blob Emp_Id_Pic

li_bytes = FileReadEx (li_FileNum, Emp_Id_Pic)

FileSeek

Supported

ll_FileLen = FileSeek (li_FileNum, 14, FromCurrent!)

FileSeek (li_FileNum, -14, FromEnd!)

FileSeek64

Unsupported

 

FileWrite

Supported

blob Emp_Id_Pic

FileWrite (li_FileNum, "New Employees")

FileWrite (li_FileNum, emp_id_pic)

FileWriteEx

Supported

blob Emp_Id_Pic

FileWriteEx (li_FileNum, "New Employees")

FileWriteEx (li_FileNum, emp_id_pic)

GetCurrent​Directory

Supported

sle_1.text = GetCurrentDirectory()

Note: GetCurrentDirectory returns full path name of Desktop on the Web, and it returns the full path name of the current directory in PowerBuilder.

GetFileOpenName

Supported

li_return = GetFileOpenName (sle_po.text, sle_path.text, ls_file[], "TXT", "Text Files (*.TXT), *.TXT, Doc Files (*.DOC),*.DOC")

li_return = GetFileOpenName (sle_po.text, sle_path.text, sle_filename.text, "TXT", "Text Files (*.txt), *.txt" , sle_2.text)

GetFileSaveName

Supported

li_return = GetFileSaveName(sle_po.text, sle_path.text, ls_file[], "TXT", "Text Files (*.TXT),*.TXT, Doc Files (*.DOC),*.DOC")

li_return = GetFileSaveName(sle_po.text, sle_path.text, sle_filename.text, "TXT", "Text Files (*.txt), *.txt", sle_2.text)

GetFolder

Supported

li_return = GetFolder("Folder", sle_path.text)

RemoveDirectory

Supported

li_return = RemoveDirectory(sle_path.text)


International functions

Table 223. 

Function

Support Level

Coding Examples

Reverse

Supported

ls_return = Reverse(ls_test)

IsAllArabic

Unsupported

 

IsAllHebrew

Unsupported

 

IsAnyArabic

Unsupported

 

IsAnyHebrew

Unsupported

 

IsArabic

Unsupported

 

IsArabic​AndNumbers

Unsupported

 

IsHebrew

Unsupported

 

IsHebrew​AndNumbers

Unsupported

 

FromAnsi

Unsupported

 

FromUnicode

Unsupported

 

ToAnsi

Unsupported

 

ToUnicode

Unsupported

 

Miscellaneous functions

Table 224. 

Function

Support Level

Coding Examples

Beep

Supported

Beep(5)

ChooseColor

Supported

li_color = ChooseColor(red, custom [ ])

ClassName

Supported

ls_classname = ClassName(li_array)

Note: If the argument is a numeric data type, the function returns number.

DebugBreak

Supported

IF IsNull(auo_ext) THEN DebugBreak()

DraggedObject

Supported

DragObject poj_ctr

poj_ctr = DraggedObject()

GetFolder

Supported

integer li_result

li_result = GetFolder( "my targets", ls_path )

IntHigh

Supported

li_high = IntHigh(ll_value)

IntLow

Supported

li_low = IntLow(ll_value)

IsValid

Supported

IF IsValid(w_emp) = FALSE THEN

Open(w_emp)

KeyDown

Supported

KeyDown (keycode)

Notes In the Appeon deployed application, the function returns TRUE only when the key is being pressed and FALSE if not. However, the KeyDown function returns TRUE once the key is pressed and FALSE if not.

MessageBox

Supported

li_return = MessageBox('Title1','Text1',Information!,OK!,1)

PixelsToUnits

Supported

li_return = PixelsToUnits(35, XPixelsToUnits!)

RGB

Supported

ll_color = RGB(255, 255, 255)

The RGB value scope supported: 0~16777215

The custom color scope supported: 16777216~33554431

Note: If the color value is -2 or -1 (Transparent), the color display effect will be different in the Web from in the PowerBuilder application. If it is a color unsupported (the color value is less than -2), the color will be replaced with ButtonFace color.

SetNull

Supported

SetNull(ls_test)

SetPointer

Supported

SetPointer(Cross!)

Sleep

Supported

Sleep(5)

UnitsToPixels

Supported

li_return = UnitsToPixels(350, YUnitsToPixels!)

PopulateError

Unsupported

 

SignalError

Unsupported

 

Numeric functions

Table 225. 

Function

Support Level

Coding Examples

Abs

Supported

ldec_return = Abs(-15725.12)

ldec_return = Abs(ai_num)

ASin

Supported

ldb_ return = ASin(.84147)

ldb_ return = ASin(af_num)

ACos

Supported

ldb_ return = ACos(.84147)

ldb_ return = ACos(af_num)

ATan

Supported

ldb_ return =Atan(.84147)

ldb_ return = ATan(af_num)

Ceiling

Supported

li_ return = Ceiling(3558.5)

li_ return = Ceiling(af_num)

Cos

Supported

ldb_ return = Cos(10586.3)

ldb_ return = Cos(af_num)

Exp

Supported

ldb_ return = Exp(17438.15)

ldb_ return = Exp(af_num)

Fact

Supported

ldb_ return = Fact(14)

ldb_ return = Fact(af_num)

Int

Supported

li_ return = Int(8314.11)

li_ return = Int(af_num)

Log

Supported

ldb_ return = Log(7628)

ldb_ return = Log(af_num)

LogTen

Supported

ldb_ return = LogTen(30975.5)

ldb_ return = LogTen(af_num)

Max

Supported

ldec_ return = Max(1019,21120)

ldec_ return = Max(af_num,bf_num)

Min

Supported

ldec_ return = Min(1019,21120)

ldec_ return = Min(af_num,bf_num)

Mod

Supported

ldec_ return = Mod(32526,8261.15)

ldec_ return = Mod(af_num,bf_num)

Pi

Supported

ldb_ return = Pi(20852)

ldb_ return = Pi(af_num)

Rand

Supported

ldec_ return = Rand(14888)

ldec_ return = Rand(af_num)

Randomize

Supported

Randomize(0)

Round

Supported

ldec_ return = Round(6655.16973,3)

ldec_ return = Round(af_num,b_num)

Executing Round in SQL statements, decimals will be ignored on the Web.

Sign

Supported

li_ return = Sign(0)

li_ return = Sign(-543534)

li_ return = Sign(4563)

li_ return = Sign(af_num)

Sin

Supported

ldb_ return = Sin(-751)

ldb_ return = Sin(751)

ldb_ return = Sin(af_num)

Sqrt

Supported

ldb_ return = Sqrt(740752012)

ldb_ return = Sqrt(af_num)

Tan

Supported

ldb_ return = Tan(28713.4)

ldb_ return = Tan(af_num)

Truncate

Supported

ldec_ return = Truncate(21133.24473,3)

ldeci_ return = Truncate(af_num)


Print functions

Table 226. 

Function

Support Level

Coding Examples

Print

Supported

Print(Job, "SAP company", 5000)

Note: You can call Print in DataWindow to workaround the PrintDataWindow function.

PrintBitmap

Supported

PrintBitmap(li_job, "d:\PB\BITMAP1.BMP", &50,100, 0,0)

PrintCancel

Supported

PrintCancel(li_job)

PrintClose

Supported

PrintClose(li_job)

PrintDataWindow

Supported

PrintDataWindow(job, dw_EmpHeader)

PrintDefineFont

Supported

PrintDefineFont(li_job, 1, "Courier 10Cpi", -18, & 400, Default!, Decorative!, FALSE, FALSE)

Note: Using user-defined fonts that cannot be supported by the system is unsupported.

PrintLine

Supported

PrintLine(li_job,0,5,7500,5,10)

PrintOpen

Supported

Ulong li_job = PrintOpen("Phone List")

PrintOval

Supported

PrintOval(li_job, 4000, 3000, 1000, 1000, 10)

PrintPage

Supported

PrintPage(li_job)

PrintRect

Supported

PrintRect(li_job, 4000,3000, 1000,1000, 125)

PrintRoundRect

Supported

PrintRoundRect(li_job, 1000,1000, 6250,9000, &300,300, 125)

PrintScreen

Supported

PrintScreen(li_job,500,1000,5000,5000)

PrintSetFont

Supported

PrintSetFont(li_job, 2)

PrintSetSpacing

Supported

PrintSetSpacing(li_job, 1.5)

PrintSetup

Supported

PrintSetup()

PrintText

Supported

PrintText(li_job,"PowerBuilder", 3700, 10,3)

PrintWidth

Supported

Int W = PrintWidth(li_job,"PowerBuilder")

PrintX

Supported

Int LocX = PrintX(li_job)

PrintY

Supported

Int LocY = PrintY(li_job)

PrintSend

Unsupported

Note: This function is obsolete for PowerBuilder, so Appeon does not support it either


Printer functions

Table 227. 

Function

Support Level

Coding Examples

PrintGetPrinter

Supported

String ls_fullstring=PrintGetPrinter( )

PrintGetPrinters

Supported

String ls_prntrs = PrintGetPrinters( )

PrintSetPrinter

Supported

String ls_setprn PrintSetPrinter (ls_setprn)

PrintSetupPrinter

Supported

PrintSetupPrinter ()


Registry functions

Table 228. 

Function

Support Level

Coding Examples

RegistryDelete

Supported

RegistryDelete("HKEY_LOCAL_MACHINE\Software\MyApp.Settings\Fonts","Title")

RegistryGet

Supported

RegistryGet("HKEY_USERS\MyApp.Settings\Fonts", "NameOfEntryNum", RegULong!, ul_num)

Note:

The ValueType argument:

  • can be RegString!, RegExpandString!, ReguLong!, ReguLongBigEndian!, or RegMultiString!.

  • cannot be RegMultiString! when implementing this function on the client.

  • cannot be RegBinary!, RegMultiString! or RegLink! when implementing this function on the server.

RegistryKeys

Supported

li_rtn = RegistryKeys("HKEY_CLASSES_ROOT\MyApp", & ls_subkeylist)

RegistrySet

Supported

RegistrySet("HKEY_USERS\MyApp.Settings\Fonts", "NameOfEntryNum", RegULong!, ul_num)

Notes:

  1. The ValueType argument:

    • can be RegString!, RegExpandString!, ReguLong!, ReguLongBigEndian!, or RegMultiString!.

    • cannot be RegMultiString! when implementing this function on the client.

    • cannot be RegBinary!, RegMultiString! or RegLink! when implementing this function on the server.

  2. The ValueType argument must be used in the syntax.

RegistryValues

Supported

string

ls_valuearray[]

RegistryValues( "HKEY_LOCAL_MACHINE\Software\MyApp.Settings\Fonts", ls_valuearray)


When setting the value for a key and value name in the system registry, the value name will be converted into lowercase. Therefore, the functions are case insensitive.

Naming rules for the files, sections, registry keys used in the Registry and Profile functions:

  • Must start with an '_' (underscore), a '$' (dollar sign), or a letter.

  • Can include any combination of characters, numbers, '.' (point), '_' (underscore), '-' (dash), space, '\' (backslash) and '$' (dollar sign).

  • Cannot include single quotation marks, quotation marks, '&' (ampersand sign), or '/' (slash).

Functionality difference in different Registry Mode:

If the Registry Mode in AEM is set to "Use client machine Windows registry", the registry functions are supported the same way as in PowerBuilder.

If the Registry Mode in AEM is set to "Use Appeon registry emulation", Web applications cannot use RegistryGet and RegistryValues for accessing the Windows registry directly. The Registry functions are implemented as workarounds. They do not read from the actual Windows registry. Instead, Appeon creates a mock registry in the PowerServer database, which initially has no values. Therefore, you must first set a value using the RegistrySet function before trying to use RegistryGet and RegistryValues functions. In this case the registry functions are only supported to work with existing registry keys, and it is not supported to create new keys during application runtime.

String functions

String functions for PowerBuilder 9

Table 229. 

Functions

Support Level

Coding Examples

Asc

Supported

li_test = Asc('adfsd')

li_test = Asc('~nern')

li_test = Asc(ls_test)

li_test = Asc(wf_getstring())

Char

Supported

ls_test1 = Char(65)

ls_test1 = Char("~n~~djfksdl")

Fill

Supported

ls_fill = Fill('-+',10)

ls_fill = Fill('hello', 6)

FillW

Supported

ls_fill = FillW('-+',10)

ls_fill = FillW('hello', 6)

LastPos

Supported

ll_return = LastPos('Appeon Appeon', 'Ap')

ll_return = LastPos('Appeon Appeon', 'Ap',4)

Left

Supported

ls_return = string(Left('z{uDPk7#k',9))

LeftW

Supported

ls_return = string(LeftW('z{uDPk7#k',9))

LeftTrim

Supported

ls_return = string(LeftTrim(' fdfsdf'))

ls_return = string(LeftTrim(' 34ttrtertgre'))

The second argument is unsupported, for example, the following script is unsupported:

ls_return = string(LeftTrim(' fdfsdf', true))

ls_return = string(LeftTrim(' 34ttrtertgre', true))

LeftTrimW

Supported

ls_return = string(LeftTrimW(' fdfsdf'))

ls_return = string(LeftTrimW(' 34ttrtertgre'))

Len

Supported

ls_return = string(Len('gfgdfgsdrgdfg'))

LenW

Supported

ls_return = string(LenW('gfgdfgsdrgdfg'))

Lower

Supported

ls_return = Lower(“You ARE Welcome!”)

Match

Supported

ls_return = string(Match('ABBBC,ABB*C'))

MatchW

Supported

ls_return = string(MatchW('ABBBC,ABB*C'))

Mid

Supported

ls_return = string(Mid('Appeon Appeon',5,2))

MidW

Supported

ls_return = string(MidW('Appeon Appeon',5,2))

Pos

Supported

ls_return = string(Pos('Appeon Appeon','on'))

ls_return = string(Pos('Appeon Appeon','peon',2))

PosW

Supported

ls_return = string(PosW('Appeon Appeon','on'))

ls_return = string(PosW('Appeon Appeon','peon',2))

Replace

Supported

ls_return = string(Replace('BABE RUTH', 1, 4, 'BABY'))

ReplaceW

Supported

ls_return = string(ReplaceW('BABE RUTH', 1, 4, 'BABY'))

Reverse

Supported

ls_return = string(Reverse('vDl%Qv'))

Right

Supported

ls_return = string(Right('Davis', 4))

RightW

Supported

ls_return = string(RightW('Davis', 4))

RightTrim

Supported

ls_return = string(RightTrim('fsdjd '))

ls_return = string(RightTrim('fsdfjdlfsd '))

The second argument is unsupported, for example, the following script is unsupported:

ls_return = string(RightTrim('fsdjd ', true))

ls_return = string(RightTrim('fsdfjdlfsd ', true))

RightTrimW

Supported

ls_return = string(RightTrimW('fsdjd '))

ls_return = string(RightTrimW('fsdfjdlfsd '))

Space

Supported

ls_return = string(Space(14))

Trim

Supported

ls_return = string(Trim(' uifusd '))

The second argument is unsupported, for example, the following script is unsupported:

ls_return = string(Trim(' uifusd ', true))

TrimW

Supported

ls_return = string(TrimW(' uifusd '))

WordCap

Supported

ls_return = string(WordCap('how do you do?'))

Upper

Supported

ls_return = string(Upper('how do you do?'))


String functions for PowerBuilder 10 or above

Table 230. 

Functions

Support Level

Coding Examples

AscA

Supported

li_test = AscA('adfsd')

li_test = AscA(ls_test)

Note: The function returns different value on the Web from that in PowerBuilder if the character encoding is non-SJIS.

Asc

Supported

li_test = Asc('~nern')

li_test = Asc(wf_getstring())

CharA

Supported

ls_test = CharA(65)

ls_test = CharA("~n~~djfksdl")

Note: The function returns different value on the Web from that in PowerBuilder if the character encoding is non-SJIS.

Char

Supported

ls_test = Char(65)

ls_test = Char("~n~~djfksdl")

Fill

Supported

ls_fill = Fill('-+',10)

ls_fill = Fill('hello', 6)

FillA

Supported

ls_fill = FillA('-+',10)

ls_fill = FillA('hello', 6)

Note: The function returns different value on the Web from that in PowerBuilder if the character encoding is non-SJIS.

FillW

Supported

ls_fill = FillW('-+',10)

ls_fill = FillW('hello', 6)

LastPos

Supported

ll_return = LastPos('Appeon Appeon', 'Ap')

ll_return = LastPos('Appeon Appeon', 'Ap',4)

Left

Supported

ls_return = string(Left('z{uDPk7#k',9))

LeftA

Supported

ls_return = string(LeftA('z{uDPk7#k',9))

Note: The function returns different value on the Web from that in PowerBuilder if the character encoding is non-SJIS.

LeftW

Supported

ls_return = string(LeftW('z{uDPk7#k',9))

LeftTrim

Supported

ls_return = string(LeftTrim(' fdfsdf'))

ls_return = string(LeftTrim(' 34ttrtertgre'))

The second argument is unsupported, for example, the following script is unsupported:

ls_return = string(LeftTrim(' fdfsdf', true))

ls_return = string(LeftTrim(' 34ttrtertgre', true))

LeftTrimW

Supported

ls_return = string (LeftTrimW (' fdfsdf'))

ls_return = string (LeftTrimW (' 34ttrtertgre'))

Len

Supported

ls_return = string (Len ('gfgdfgsdrgdfg'))

LenA

Supported

ls_return = string(LenA('gfgdfgsdrgdfg'))

Note: The function returns different value on the Web from that in PowerBuilder if the character encoding is non-SJIS.

LenW

Supported

ls_return = string(LenW('gfgdfgsdrgdfg'))

Lower

Supported

ls_return = Lower(“You ARE Welcome!”)

Match

Supported

ls_return = string(Match('ABBBC,ABB*C'))

MatchW

Supported

ls_return = string(MatchW('ABBBC,ABB*C'))

Mid

Supported

ls_return = string(Mid('Appeon Appeon',5,2))

MidA

Supported

ls_return = string(MidA('Appeon Appeon',5,2))

Note: The function returns different value on the Web from that in PowerBuilder if the character encoding is non-SJIS.

MidW

Supported

ls_return = string(MidW('Appeon Appeon',5,2))

Pos

Supported

ls_return = string(Pos('Appeon Appeon','on'))

ls_return = string(Pos('Appeon Appeon','peon',2))

PosA

Supported

ls_return = string(PosA('Appeon Appeon','on'))

ls_return = string(PosA('Appeon Appeon','peon',2))

Note: The function returns different value on the Web from that in PowerBuilder if the character encoding is non-SJIS.

PosW

Supported

ls_return = string(PosW('Appeon Appeon','on'))

ls_return = string(PosW('Appeon Appeon','peon',2))

Replace

Supported

ls_return = string(Replace('BABE RUTH', 1, 4, 'BABY'))

ReplaceA

Supported

ls_return = string(ReplaceA('BABE RUTH', 1, 4, 'BABY'))

Note: The function returns different value on the Web from that in PowerBuilder if the character encoding is non-SJIS.

ReplaceW

Supported

ls_return = string(ReplaceW('BABE RUTH', 1, 4, 'BABY'))

Reverse

Supported

ls_return = string(Reverse('vDl%Qv'))

Right

Supported

ls_return = string(Right('Davis', 4))

RightA

Supported

ls_return = string(RightA('Davis', 4))

Note: The function returns different value on the Web from that in PowerBuilder if the character encoding is non-SJIS.

RightW

Supported

ls_return = string(RightW('Davis', 4))

RightTrim

Supported

ls_return = string(RightTrim('fsdjd '))

ls_return = string(RightTrim('fsdfjdlfsd '))

The second argument is unsupported, for example, the following script is unsupported:

ls_return = string(RightTrim('fsdjd ', true))

ls_return = string(RightTrim('fsdfjdlfsd ', true))

RightTrimW

Supported

ls_return = string(RightTrimW('fsdjd '))

ls_return = string(RightTrimW('fsdfjdlfsd '))

Space

Supported

ls_return = string(Space(14))

Trim

Supported

ls_return = string(Trim(' uifusd '))

The second argument is unsupported, for example, the following script is unsupported:

ls_return = string(Trim(' uifusd ', true))

TrimW

Supported

ls_return = string(TrimW(' uifusd '))

WordCap

Supported

ls_return = string(WordCap('how do you do?'))

Upper

Supported

ls_return = string(Upper('how do you do?'))


System and environment functions

Table 231. 

Function

Support Level

Coding Examples

Clipboard

Supported

string ls_CoName

ls_CoName = Clipboard()

CommandParm

Supported

String ls_command_line

ls_command_line = CommandParm()

GetEnvironment

Supported

environment env

integer rtn

rtn = GetEnvironment(env)

GetFocus

Supported

Lobj_control = GetFocus()

GetApplication

Supported

application app

app = GetApplication()

Handle

Supported

Note: the Handle property is partially supported

  • Supported syntax: Handle (objectname)

  • Unsupported syntax: Handle (objectname, previous)

Post

Supported

Post(Handle(w_date), 277, 3, 0)

Note: the message# argument cannot be a user defined message number.

ProfileInt

Supported

ProfileInt ("C:\PROFILE.INI", "PB", "maximized", 3)

ProfileString

Supported

ProfileString ("C:\PROFILE.INI", "Employee","Name", "None")

Run

Supported

run("notepad")

run("notepad.exe")

run("C:\winnt\system32\notepad")

run("C:\winnt\system32\notepad.exe")

Send

Supported

Send(Handle(w_emp), 277, 2, 0)

Note: the message# argument cannot be a user defined message number.

SetProfileString

Supported

SetProfileString("C:\PROFILE.INI", "Position", "Title", "MGR")

Yield

Supported

Yield()

Restart

Unsupported

 

SignalError

Unsupported

 

Naming rules for the files, sections, registry keys used in the Registry and Profile functions:

  • Must start with an '_' (underscore) or an '$' (dollar sign) or a letter.

  • Can include any combination of characters, numbers, '.' (point), '_' (underscore), '-' (dash), space, '\' (backslash) and '$' (dollar sign).

  • Cannot include single quotation mark, quotation mark, '&' (ampersand sign), or '/' (slash).

  • Files with the same name cannot be used in Profile functions.

Timing functions

Table 232. 

Function

Support Level

Coding Examples

CPU

Supported

long ll_start

ll_start = Cpu()

Idle

Supported

Idle(300)

Timer

Supported

Timer(10, w_main)

Start

Unsupported

 

Window functions

Table 233. 

Function

Support Level

Coding Examples

Close

Supported

close (w_commandbutton)
close (parent)

CloseWithReturn

Supported

CloseWithReturn (parent, "return value")

Notes:

  1. In PowerBuilder, the return value is Null when there are two Nulls in the parameter. In this case, the return value in JavaScript is not Null.

  2. On the Web, if the returnvalue parameter is NULL, the return value will be stored in the PowerObjectParm property of the Message object.

Open

Supported

Open (w_main, parent)

OpenSheet

Supported

OpenSheet (w_main, w_parent)
OpenSheet (lw_main, "w_main", w_frame, 2, Cascaded!)

Notes:

  1. When opening the same local window variables more than once within the same function, the result is unpredictable. Avoid using the OpenSheet window function in the following manner:

    w_11 ww
    opensheet (ww, "w_11", w_2, 2, Cascaded!)
    opensheet (ww, "w_11", w_2, 0, Cascaded!)
  2. The following syntax is supported:

    OpenSheet (sheetrefvar{, windowtype}, mdiframe{, position {, arrangeopen}})
  3. Appeon supports appending a window list to a menu item on the Web.

  4. The ArrangeOpen argument can be Cascaded!, Layered!, Original!. If the argument is Cascaded!, the size of the sheet on the Web is different from that in PowerBuilder.

  5. In Windows 7, the upper part of the window (sheet) that is opened by using OpenSheet or OpenSheetWithParm may be overlapped by the MDI frame window. If this happens, you can work it around by using the Post function with OpenSheet or OpenSheetWithParm as shown below:

    post opensheet (w_main, w_mdi, ...)

OpenSheetAsDocument

Unsupported

 

OpenSheetDocked

Unsupported

 

OpenSheetInTabGroup

Unsupported

 

OpenSheet​WithParm

Supported

String ls_str 
OpenSheetWithParm (w_main, ls_str, w_parent)

Note: The window type in the function cannot be MDI or MDIHelp.

The following syntax is supported:

OpenSheetWithParm (sheetrefvar, parameter{, windowtype}, mdiframe{, position{, arrangeopen}} )

Appeon supports appending a window list to a menu item on the Web.

OpenSheetWithParmAsDocument

Unsupported

 

OpenSheetWithParmDocked

Unsupported

 

OpenSheetWithParmInTabGroup

Unsupported

 

OpenWithParm

Supported

OpenWithParm (w_main, w_parent)

Notes:

  1. The window type in the function cannot be MDI or MDIHelp.

  2. On the Web, if the parameter argument is NULL, the argument will be stored in the PowerObjectParm property of the Message object.

*Note that Open, OpenSheet, OpenWithParm and OpenSheetWithParm support windowtype strings as parameters (see PowerBuilder syntax).