March 26, 2023

PowerBuilder Manual Book Part 5

PowerBuilder Manual Book Part 5

PowerBuilder Curriculum Part 5

7. Date and time

(1), Day

Function:
Get the Number (Integer Value Between 1 And 31) In the Date Type Data.

Syntax:
Day ( Date )

parameter:
Date: the Date Value To Get the Number

Return Value:
Return Value: Integer
When the Function executes successfully, it returns the Number (Integer Value Between 1 And 31).
If the Value Of the Date parameter Is Null, the Day() Function returns Null

(2), DayName

Function:
Gets the Day Of the week For the specified Date (eg, Sunday, Monday…).

Syntax:
DayName ( Date )

parameter:
Date: Date Type Value Or variable

Return Value:
Return Value: String.
When the Function executes successfully, it returns the Day Of the week Of the specified Date (For example, Sunday, Monday…).
If the Value Of the Date parameter Is Null, the DayName() Function returns Null.

(3), DayNumber

Function:
The Date Type Data obtained Is The Day Of The week (expressed By an Integer Between 1 And 7, Sunday Is 1, Monday Is 2, …).

Syntax:
DayNumber ( Date )

parameter:
Date: Date Type Value Or variable

Return Value:
Return Value: Integer.
When The Function Is successfully executed, it returns The Number Of The specified Date In a week (expressed In 1~7, Sunday Is 1, Monday Is 2, …).
If The Value Of The Date parameter Is Null, The DayNumber() Function returns Null.

(4), Days After

Function:
Get the Number Of days Between two dates.

Syntax:
DaysAfter ( date1, date2 )

parameter:
date1: Date Type, specify the starting Date
date2: Date Type, specify the End Date

Return Value:
Return Value: Long.
When the Function executes successfully, it gets the Number Of days Between the two dates.
If the Date Of date2 Is before date1, Then the DaysAfter() Function returns a negative Value.
If the Value Of Any parameter Is Null, the DaysAfter() Function returns Null

(5), Hour

Function:
Get the Hour In the Time Value, Using 24-Hour Format

Syntax:
Hour ( Time )

parameter:
Time: the Value Of Time Type

Return Value:
Return Value: Integer.
When the Function Is successfully executed, the Hour In the Time parameter (Between 00 And 23) Is obtained.
If the Value Of the Time parameter Is Null, the Hour() Function returns Null.

(6), Minute

Function:
Get the Minute In the Time Value, the valid Value Is Between 00 And 59.

Syntax:
Minute ( Time )

parameter:
Time: the Value Of Time Type

Return Value:
Return Value: Integer.
When the Function Is successfully executed, the Minute In the Time parameter (Between 00 And 59) Is obtained.
If the Value Of the Time parameter Is Null, the Minute() Function returns Null

(7), Month

Function:
Get the Month In the Date Value, the valid Value Is Between 1 And 12

Syntax:
Month ( Date )

parameter:
Date: Value Of Date Type

Return Value:
Return Value: Integer.
When the Function Is successfully executed, the Month (Between 1 And 12) In the Date parameter Is obtained.
If the Value Of the Date parameter Is Null, the Month() Function returns Null.

(8), Now

Function:
Get the current System Time Of the client

Syntax:
Now()

Return Value:
Return Value: Time.
This Function returns the client's current system time.

(9), RelativeDate

Function:
Get the Number Of days before Or after the specified Date

Syntax:
RelativeDate(Date,n)

parameter:
Date: Date Type, specify the base Date
n: Integer Type, specify the Number Of days

Return Value:
Return Value: Date.
When the Value Of n Is greater than 0, Return the Date Of the nth Day after the Date specified By the parameter Date;
When the Value Of n Is less than 0, returns the Date n days before the Date specified By the parameter Date.
If the Value Of Any parameter Is Null, the RelativeDate() Function returns Null

(10), RelativeTime

Function:
Get the Number Of seconds before Or after the specified Time, Using 24-Hour Format

Syntax:
RelativeTime ( Time, n )

parameter:
Time: Time Type, specify the reference Time
n: Long Type, specify the Number Of seconds

Return Value:
Return Value: Time.
When the Value Of n Is greater than 0, Return the nth Second after the Time specified By the parameter Time;
When the Value Of n Is less than 0, returns the nth Second before the Time specified By the parameter Time.
If the Value Of Any parameter Is Null, the RelativeTime() Function returns Null

(11), Second

Function:
Get the Second In the Time Value, the valid Value Is Between 00 And 59

Syntax:
Second ( Time )

parameter:
Time: the Value Of Time Type

Return Value:
Return Value: Integer.
When the Function Is successfully executed, the Second In the Time parameter (Between 00 And 59) Is obtained.
If the Value Of the Time parameter Is Null, the Second() Function returns Null

(12), Today

Function:
Get the current System Date And, In some cases, the current System Time

Syntax:
Today()

Return Value:
Return Value: Date.
This Function returns the current System Date.
Usage When the Today() Function Is called separately, the Function always returns the current System Date
However, although the Return Value Type Of the Today() Function Is Date, When the Function Is used as a parameter Of some functions And the parameter requires a Value Of DateTime Type, the Today() Function can also Return the current System Date While returning the current Date. System Time.
For another example, the Today() Function Is used as the parameter Of the SetItem() Function Of the Data window Control, And the Data Type Of the Data window column specified In the Function parameter Is DateTime, Then the current System Date And Time will be Set To the specified Item Of the Data window at the same Time.

(13), Year

Function:
Get the Year In the Date Value (valid Value ranges From 1000 To 3000).

Syntax:
Year(Date)

parameter:
Date: Value Of Date Type

Return Value:
Return Value: Integer.
When the Function executes successfully, it gets the Year In the Date parameter (Using four digits), And returns 1900 When an Error occurs. If the Value Of the Date parameter Is Null, the Year() Function returns Null.
Usage When an Application converts a String With a two-digit Year Into a Date
PowerBuilder selects the century according To the following rules:
If the Year Value Is Between 00 And 49, PowerBuilder treats the century (First two digits) Of the Year as 20;
If the Year Value Is Between 50 And 99, PowerBuilder treats the century (First two digits) Of the Year as 19.
For example, the String "20-10-25" Is converted To 2020-10-25 By PowerBuilder;
the String "98-10-25" Is converted To 1998-10-25 By PowerBuilder.
Therefore, If an Application needs To specify a Date before 1950, it should use four digits For the Year To avoid ambiguity.
PowerBuilder can Handle years From 1000 To 3000

8. Timing

(1), CPU

Function:
Elapsed Time In milliseconds since the current Application started To consume CPU

Syntax:
CPU()

Return Value:
Return Value: Long
Returns the Elapsed CPU Time since the current Application was started, In milliseconds

(2), Idle

Function:
This Function resets the Timer after each user activity (For example, pressing the keyboard, moving the mouse, etc.), And triggers the Idle Event Of the Application Object after n seconds.

Syntax:
Idle ( n )

parameter:
n: Specifies the Idle Time Interval In seconds.
When the Value Of This parameter Is Set To 0, the Idle detection Is stopped And the Idle Event Of the Application Object Is no longer triggered

usage
Using the Idle() Function, the Application can construct its own screen saver To avoid leakage Of security Data.
after the Timer has been started Using the Idle() Function, If the Idle() Function Is called again With a non-zero parameter, the Function resets the Time Interval, but does Not Start a new Timer.
after the Idle() Function starts the Timer, If the Application Is Not operated within the specified Time Interval (calculated From the user's latest operation), then the Idle event of the application object is triggered
In This Event, you can Write a Series Of codes such as closing the window And logging out Of the Database, And Then use the Restart() Function To Restart the Application For the purpose Of confidentiality.
the System automatically resets the Timer (i.e. restarts timing) When Any Of the following occurs:
n the user moves the mouse Or clicks the mouse In Any window Of the Application (the click Event Is First triggered When the mouse Is double-clicked)
n When a window Of the Application Is the current window, the user presses Any Key Or keys
n When the Application's window is minimized, the user clicks or moves the mouse over the application's Icon
n When the Application's window is minimized and the application is the current application (the application name is highlighted), the user presses any key
n the redrawing operation Of the editing Control (referring To the editing Control floating On the current row/column Of the Data window) caused When the Visible Data window retrieves Data

Return Value:
Return Value: Integer.
When the Function executes successfully, it returns 1, And the Timer Is started at This Time.
If the Timer cannot be started Or the Timer Is Not started And the Value Of n Is specified as 0, the Function returns -1.
If the Value Of Any parameter Is Null, the Idle() Function returns Null.

(3), Timer

Function:
Trigger the Timer Event Of the specified window repeatedly within the specified Time Interval

Syntax:
Timer ( Interval {, windowname } )

parameter:
Interval: Specifies the Time Interval Between triggering the Timer Event twice, And the valid Value Is Between 0 And 65. If the Value Of This parameter Is specified as 0, Then turn off the Timer And no longer Trigger the Timer Event Of the specified window
windowname: window Name, specify which window's Timer event will be triggered when the time interval expires. When this parameter is omitted, the Timer event of the current window is triggered

Return Value:
Return Value: Integer.
the Function returns 1 On success And -1 On Error.
If the Value Of Any parameter Is Null, the Timer() Function returns Null.

usage:
usage Use the Timer() Function To periodically Trigger the Timer Event Of the specified window, so that every Time the Time Interval passes, the Application can complete some periodic work, such as drawing simple animations.
When the Interval parameter Of Timer() Is Set To a non-zero Value, Start the Timer And Start timing;
When the Interval parameter Of This Function Is Set To 0, turn off the Timer And terminate the timing task.
It should be noted that In the Microsoft Windows System, the minimum Time Interval that This Function can Time Is 0.055 seconds (about 1/18 seconds), If the Value Of the Interval parameter Is Set To less than 0.055, Then the Timer will be triggered every 0.055 seconds a Timer Event Of a window. Microsoft

9. Registration

(1), RegistryDelete

Function:
Delete a key Or a value of a key In the Windows system registry

Syntax:
RegistryDelete ( key, valuename )

parameter:
key: string type, specify the key name, the key will be deleted Or a value of the key will be deleted
valuename: string type, specify the name of the value to be deleted.
If you want to Delete the key, its value, And All subkeys under it, specify this parameter as an empty string

return value:
The return value is Integer.
The function returns 1 on success And -1 on error.

usage
In Order to uniquely identify a key, In the key parameter, parent keys at All levels can be specified sequentially From the root key, And each key is separated By a backslash ().

(2), RegistryGet

Function:
Get the Value Of the specified Key From the System registry.

Syntax:
RegistryGet(Key, valuename, valuetype, valuevariable)

parameter:
Key: String Type, specify the Key Name
valuename: String Type, specifies the Name Of the Value To be accessed. Each Key can have one unnamed Value And multiple named Values. To Access an unnamed Value, specify the parameter as an empty String ("")
valuetype: RegistryValueType Enumeration Type, specifies the Data Type Of the Value. Please refer To usage For valid Values
valuevariable: the variable used To Save the Key Value, its Data Type should Match the Type specified By the valuetype parameter

Return Value:
Return Value: Integer.
the Function returns 1 On success And -1 On Error.
If the Data Type Of valuevariable does Not Match the Type specified By the valuetype parameter, a runtime Error will be raised.
the possible Values Of usage valuetype are:
RegString! a null-terminated String
RegExpandString! a null-terminated String
which includes the non-extended Application Of environment Variables
RegBinary! Binary Data
ReguLong! 32-bit Data
ReguLongBigEndian! 32-bit big Data
RegLink!Unicode symbol chain
RegMultiString! Dynamic array Of strings
In Order To uniquely identify a certain Key, In the Key parameter, you can specify Parent keys at All levels starting From the root Key, And Each Key Is separated By a backslash ().

(3), RegistryKeys

Function:
Get the valid subkeys For the specified Key From the System registry.

Syntax:
RegistryKeys ( Key, subkeys )

parameter:
Key: String Type, specify the Key Name
subkeys: String array variable, used To Save each subkey

Return Value:
Return Value: Integer.
the Function returns 1 On success And -1 On Error.

usage
You can use fixed-length arrays Or Dynamic arrays In the subkeys parameter.
When Using a Dynamic array, the Upper bound Of the array reflects the Number Of subkeys available.
When Using a fixed-length array, the Number Of elements In the array must be large enough To accommodate All subkeys. However, there Is no way To know the actual Number Of subkeys In advance before obtaining the subkeys.
In Order To uniquely identify a certain Key, In the Key parameter, You can specify Parent keys at All levels starting From the root Key, And each Key Is separated By a backslash ().

(4), RegistrySet

Function:
Set Or Create a specified Key In the System registry

Syntax:
RegistrySet ( Key, valuename, valuetype, Value )

parameter:
Key: String Type, specify the Key Name
valuename: String Type, specifies the Name Of the Value To be accessed. Each Key can have one unnamed Value And multiple named Values.
To Access an unnamed Value, specify the parameter as an empty String (""). If the specified Value Name does Not exist In the registry, This Function will Create a new Value Name
valuetype: RegistryValueType Enumeration Type, specifying the Data Type Of the Value. Please refer To usage For valid Values
Value: the Value To be Set, its Data Type should Match the Type specified By the valuetype parameter

Return Value:
the Return Value Is Integer.
the Function returns 1 On success And -1 On Error.
If the Data Type Of valuevariable does Not Match the Type specified By the valuetype parameter, a runtime Error will be raised.

usage
the possible Values Of valuetype are:
RegString! a null-terminated String
RegExpandString! a null-terminated String
which includes the non-extended Application Of environment Variables
RegBinary! Binary Data
ReguLong! 32-bit Data
ReguLongBigEndian! 32-bit big Data
RegLink!Unicode symbol chain
RegMultiString! Dynamic array Of strings
In Order To uniquely identify a certain Key, In the Key parameter, you can specify Parent keys at All levels starting From the root Key, And Each Key Is separated By a backslash ().

(5), RegistryValues

Function:
Gets an array Of Value names associated With the specified Key. This Function has no effect On Windows 3.1.

Syntax:
RegistryValues ( Key, valuename )

parameter:
Key: String Type, specify the Key Name
valuename: String array variable, used To Save the Value Name

Return Value:
Return Value: Integer.
the Function returns 1 On success And -1 On Error.

usage
You can use fixed-length arrays Or Dynamic arrays In the valuename parameter.
When Using a Dynamic array, the Upper bound Of the array reflects the Number Of Value names that can be obtained.
When Using a fixed-length array, the Number Of elements In the array must be large enough To accommodate All Value names. However, there Is no way To know the actual Number Of Value names In advance before getting the Value names.
In Order To uniquely identify a certain Key, In the Key parameter, You can specify Parent keys at All levels starting From the root Key, And each Key Is separated By a backslash ().

10. Documents

(1), FileOpen

Function:
Open the specified file In the specified read-write mode, And return the handle of the file at the same time.

Syntax:
FileOpen(filename{,filemode{,fileaccess{,filelock{,writemode, {creator,filetype}}}}})

parameter:
filename: string type, specify the name of the file to be opened, which can include the path
filemode: FileMode enumeration type, optional, specifies the file opening method. Valid Values are: (LineMode! - default, line mode) (StreamMode! - stream mode)
fileaccess: FileAccess enumeration type, optional, specifies the file access method. Valid Values are: (Read! - default value, read-only mode, the opened file can only be read;
) (Write! - write-only mode, the opened file can only be written)
filelock: filelock Enumeration Type, optional, specifies the file locking method. Valid Values are:
n LockReadWrite! - the Default Value, only the user who opened the file can Access the file, And Other users are denied Access To the file;
n LockRead! - only the user who opened the file can Read the file, but Any Other user can Write the file;
n LockWrite! - only the user who opened the file can Write the file, but Any Other user can Read the file;
n Shared! - All users can Read And Write the file
writemode: writemode Enumeration Type, optional, when the fileaccess parameter Is specified as Write!, This parameter specifies how To add Data when the specified file already Exists.
Valid Values are:
Append! - Default Value, add Data To the End Of the original file;
Replace! - Overwrite existing Data
creator: optional, For Macintosh machines, use a four-character String To specify the creator Of the file. After specifying This parameter, the FileType parameter must be specified at the same Time
FileType: optional, For Macintosh machines, use a four-character String To specify the file Type

Return Value:
Return Value: Integer.
when the Function executes successfully, it returns the Handle Of the opened file, And the subsequent file operation Function uses This Handle To complete the operation On the file.
the Function returns -1 On Error.
If the Value Of Any parameter Is Null, Then the FileOpen() Function returns Null.

usage
when the file Is opened In Line mode, each Time the FileRead() Function Is executed To Read a Line Of Data;
each Time the FileWrite() Function Is executed, This Function automatically adds a carriage Return (CR) And Line feed (LF) Character at the End Of the written strin
(This Is the Case when the Application Is Running In the Windows System, And only a newline Character Is added under UNIX).
when the file Is opened In stream mode, Execute the FileRead() Function once To Read 32,765 bytes Of Data. If there Is Not so much remaining Data, the FileRead() Function will Read All the remaining Data;
when the FileWrite() Function Is executed once, a maximum Of 32,765 bytes Of Data can be written, And carriage Return And Line feed characters are Not added.
when a file Is opened For writing Using the FileOpen() Function, If the specified file does Not exist, the FileOpen() Function creates the file.

(2), FileWrite

Function:
Write Data To the specified file.

Syntax:
FileWrite (fileno, variable)

parameter:
fileno: Integer Type, specifies the file Handle (obtained By the FileOpen() Function)
variable: String Or Blob Type, its Value will be written To the file specified By the fileno parameter

Return Value:
Return Value: Integer.
the Function returns the Number Of characters Or bytes written To the file when the Function executes successfully, And returns -1 when an Error occurs.
If the Value Of Any parameter Is Null, the FileWrite() Function returns Null.

usage
the FileWrite() Function starts writing the specified Data From the current file Pointer, And after writing, adjusts the file Pointer To the Next byte Position Of the Data just written.
when the file Is opened With the writemode parameter Set To Replace!, the file Pointer Is initially at the beginning Of the file;
when a file Is opened With the writemode parameter Set To Append!, the file Pointer Is initially at the End Of the file.
when the file Is opened In Line mode, when the FileWrite() Function Is executed, the Function automatically adds a carriage Return And Line feed after each Data written, And moves the file Pointer To the carriage Return And Line feed.
when the file Is opened In streaming mode, the FileWrite() Function can Write up To 32,765 bytes at a Time. If the Length Of the Data In the variable parameter exceeds 32,765 bytes, the FileWrite() Function only writes the First 32,765 characters To the file And returns 32,765.

(3), FileRead

Function:
Read Data From the specified file.

Syntax:
FileRead ( fileno, variable )

parameter:
fileno: Integer Type, specifies the file Handle (obtained By the FileOpen() Function)
variable: String Or Blob variable, used To Save the Read Data

Return Value:
Return Value: Integer.
When the Function executes successfully, it returns the Number Of characters Or bytes Read;
If the end-of-file (EOF) Is Read before Any characters are Read, the FileRead() Function returns -100;
When the specified file Is opened In Line mode, the FileRead() Function returns 0 If a carriage Return (CR) Or Line feed (LF) Character Is encountered before Any characters are Read.
If Other errors occur, the FileRead() Function returns -1. If the Value Of Any parameter Is Null, Then the FileRead() Function returns Null.

usage
When the specified file Is opened In Line mode, the FileRead() Function reads Data one Line at a Time
And Save it To the parameter variable, Then skip the End Of the Line (carriage Return Line feed, the operating System Is different, the characters used are different), And Move the file Pointer To the beginning Of the Next Line.
When the file Is opened In Stream mode, the FileRead() Function either reads Until the End Of the file, Or reads 32,765 bytes Of Data, whichever Is shorter.

(4), FileClose

Function:
Closes a file previously opened With the FileOpen() Function.

Syntax:
FileClose( fileno )

parameter:
fileno: Integer, specifies the file Handle Of the file To be closed, which Is obtained when the file Is opened Using the FileOpen() Function

Return Value:
Return Value: Integer.
the Function returns 1 On success And -1 On Error.
If the Value Of the fileno parameter Is Null, Then the FileClose() Function returns Null.

(5), FileExists

Function:
Checks whether the specified file Exists.

Syntax:
FileExists ( Filename )

parameter:
Filename: String Type, specifies the Filename Of the file To Check For existence, which can include a path

Return Value:
Return Value: Boolean.
Returns True If the specified file Exists, False If it does Not exist.
If the Value Of the Filename parameter Is Null, Then the FileExists() Function Returns Null.

usage
If the file specified By the Filename parameter Is locked By another Application, the FileExists() Function will also Return False.

(6), FileDelete

Function:
Delete the specified file.

Syntax:
FileDelete ( filename )

parameter:
filename: string type, specify the file name of the file to be deleted, which can include the path

return value:
Return value: Boolean.
The function returns TRUE on success And FALSE on error.
If the value of the filename parameter is Null, then the FileDelete() function returns Null.

(7), FileLength

Function:
Get the Length Of the specified file (In bytes)

Syntax:
FileLength ( Filename )

parameter:
Filename: String Type, specify the file Name Of the file whose Length Is To be obtained, which can include the path

Return Value:
Return Value: Long.
When the Function executes successfully, it returns the Length Of the specified file (In bytes).
If the specified file does Not exist, the Function returns -1.
If the Value Of the Filename parameter Is Null, Then the FileLength() Function returns Null.

(8), FileSeek

Function:
Move the file Pointer To the specified Position. When reading And writing files, the corresponding Function will automatically Move the file Pointer.

Syntax:
FileSeek ( fileno, Position, origin )

parameter:
fileno: Integer Type, specifies the file Handle (obtained By the FileOpen() Function)
Position: Long Type, specifying the new Position offset relative To the Position specified By the origin parameter, In bytes
origin: SeekType Enumeration Type, specifying Where To Start moving the file Pointer, that Is, the benchmark For Pointer movement. Valid Values are:
FromBeginning! - the Default, moves the Pointer From the beginning Of the file;
FromCurrent! - Move the file Pointer From the current Position;
FromEnd! - moves the file Pointer From the End Of the file

Return Value:
Return Value: Long.
When the Function executes successfully, it returns the Pointer Position after the Pointer moves.
If the Value Of Any parameter Is Null, the FileSeek() Function returns Null.

(9), GetFileOpenName

Function:
Displays a file Open dialog that lets the user Select a file To Open.

Syntax:
GetFileOpenName(Title, Pathname, Filename{, extension{, Filter}})

parameter:
Title: String Type, specifies the Title Of the dialog box
Pathname: String Type variable, used To Save the file path And file Name returned By the dialog box
Filename: String Type variable, used To Save the file Name returned By the dialog box
extension: String Type, optional, use 1 To 3 characters To specify the Default extension file Name
Filter: String Type, optional, its Value Is a file Name Mask, specifying the conditions that the file Name displayed In the list box Of the dialog box For the user To Select satisfies (such as ., *.TXT, *.EXE, etc.)

Return Value:
Return Value: Integer.
the Function returns 1 when the Function executes successfully;
the Function returns 0 when the user clicks the "Cancel" button On the dialog box;
And -1 when an Error occurs.
If the Value Of Any parameter Is Null, Then the GetFileOpenName() Function returns Null.

usage
the Format Of the Filter parameter Is: description, . ext the Default Value Is: "All Files (.*), *.*" Among them, description explains the meaning Of the extension, such as "all files", "text files" And so On.
You can specify the Type Of file Name displayed In the Open file dialog box according To your needs.
when multiple file types need To be specified, use commas To separate each Type
For example: "PIF file, *.PIF, batch file, *.BAT" It should be noted that This Function only obtains a file Name, but does Not Open the file. To Open a file, You still need To use the FileOpen() Function.

(10), GetFileSaveName

Function:
Displays the Save File dialog box, allowing the user To Select a File To Save To.

Syntax:
GetFileSaveName(Title, Pathname, Filename{, extension{, Filter}})

parameter:
Title: String Type, specifies the Title Of the dialog box
Pathname: String Type variable, used To Save the File path And File Name returned By the dialog box
Filename: String Type variable, used To Save the File Name returned By the dialog box
extension: String Type, optional, use 1 To 3 characters To specify the Default extension File Name
Filter: String Type, optional, its Value Is a File Name Mask, specifying the conditions that the File Name displayed In the list box Of the dialog box For the user To Select satisfies (such as ., *.TXT, *.EXE, etc.)

Return Value:
Return Value: Integer.
the Function returns 1 when the Function executes successfully;
the Function returns 0 when the user clicks the "Cancel" button On the dialog box;
And -1 when an Error occurs.
If the Value Of Any parameter Is Null, Then the GetFileSaveName() Function returns Null.

usage
the Format Of the Filter parameter Is: description, . ext the Default Value Is: "All Files (.*), *.*" Among them, description explains the meaning Of the extension, such as "all files", "text files" And so On.
You can specify the Type Of File Name displayed In the Open File dialog box according To your needs. when multiple File types need To be specified, use commas To separate each Type
For example: "PIF file, *.PIF, batch file, *.BAT" It should be noted that This Function only obtains a File Name, but does Not Open the File. To Open a File, You still need To use the FileOpen() Function.

PowerBuilder Manual Book Part 6 ClickHere

Good Luck!

Subscribe
Notify of
guest
0 Comments
Inline Feedbacks
View all comments
0
Would love your thoughts, please comment.x
()
x