CLOSE
【保存版】PowerBuilderで頻出の関数&メソッド100本ノック!実務で必須の基本テクニックをレベル別で解説

PowerBuilder を学び始めた初心者のみなさん!
「PowerBuilder のスクリプト( PowerScript )を書き始めたけど、どんな関数があるのか把握しきれない…」
「やりたいことは漠然とあるけど、どれのなにを使えばいいのか分からない…」そんな悩みはありませんか?

開発の効率を上げる近道の一つは、「頻出パターンを自分の引き出しとして持っておくこと」です。
本記事では、初心者の PowerBuilder エンジニアがまず覚えるべき超基本的な関数&メソッドから、知っていると「おっ…日が浅いのに、分かってるねぇ ( ¯ω¯ )ニヤリ 」と言われる少し応用的なものまで、厳選した 100 個の関数&メソッドを「100 本ノック」形式でご紹介します。
辞書代わりにブックマークして、日々の開発に役立ててください!

【レベル1:超基本編】アプリケーションの屋台骨 (1〜27)

まずは、PowerBuilder 開発において「共通言語」とも言える最重要項目からスタートしましょう。
ここでは、データベースと画面を繋ぐための基礎知識や、データの追加・削除といった、どんなプログラムにも必ず登場する基本動作を網羅しています。
「まずはここさえ押さえておけば、既存のソースコードが読めるようになる」という必須スキルばかりです。
PowerBuilder エンジニアとしての土台をしっかり固めていきましょう。それでは、最初の30本ノック、スタートです!

DB・基盤関連

SetTransObject

データウィンドウに DB 接続するためのトランザクションオブジェクト (例 : SQLCA)を紐付けます。

コントロール名 .SetTransObject (transaction)
transaction:使用するトランザクションオブジェクト名(省略不可)


Retrieve

DB からデータを検索し、データウィンドウに表示します。

コントロール名 .Retrieve (argument1, argument2,・・・)
argument:検索引数(省略可)


Update

データウィンドウ上の変更内容を DB に保存(反映)します。

コントロール名 . Update (accept, resetflg)
accept:更新する前にAcceptText(入力の確定)を実行するか否か(省略可)
resetflg:関数実行後に更新フラグをリセットするか否か(省略可)

外部オブジェクト関連

ConnectToNewObject

Excel などの外部オブジェクトを生成・接続します。

OLEObject 変数名 .ConnectToNewObject ( classname )
classname:オートメーションサーバまたは COM サーバを識別するプログラムによる識別子またはクラス ID(省略不可)


DisconnectObject

外部オブジェクトとの接続を解除します。

OLEObject 変数名 .DisconnectObject ( )

画面操作関連

Open

指定のウィンドウ画面を開きます。

Open (windowname)
 windowname:閉きたいウィンドウ名(省略不可)


Close

指定のウィンドウ画面を閉じます。

Close (windowname)
 windowname:閉じたいウィンドウ名(省略不可)


MessageBox

システムのメッセージボックスを表示します。

MessageBox (title,text,icon ,button,default)
 title:メッセージボックスのタイトル(省略不可)
 text:メッセージ内容(省略不可)
 icon:メッセージ内容に付随するアイコン(省略可)
 button:メッセージのボタン選択肢(省略可)
 default:ボタンの初期選択位置(左から1,2,3…の順)(省略可)


SetFocus

指定したコントロールにカーソル(フォーカス)を移動します。

オブジェクト名 .SetFocus ( )


Reset

データウィンドウ内のデータをすべて消去します。

コントロール名 .Reset ( )


Show

オブジェクトを非表示の状態から表示状態に変更します。

オブジェクト名 .Show ( )


Hide

表示されているオブジェクトを隠します。

オブジェクト名 .Hide ( )

データ操作関連

SetItem

データウィンドウのカラムに値を直接書き込みます。

コントロール名 .SetItem (row,column,value)
row:値を設定したい行番号(省略不可)
column:値を設定したい列名または列番号(省略不可)
value:設定したい値(省略不可)


GetRow

ユーザーが現在選択している行番号を取得します。

コントロール名 .GetRow ( )


SetRow

特定の行をカレント行(操作対象)に設定します。

コントロール名 .SetRow (row)
row:現行行とする行数(省略不可)


RowCount

データウィンドウにある現在の全行数をカウントします。

コントロール名 .RowCount ()


InsertRow

新しい空行を追加します。

コントロール名 .InsertRow (row)
row:スクロール先の行番号(省略不可)


DeleteRow

指定した行を削除します。

コントロール名 . DeleteRow (row)
row:削除する行番号(省略不可)

基本演算関連

IsNull

値が Null(空)かどうかを判定します。

IsNull (any)
any:null 値かどうかを調べたい変数または式の値(省略不可)


IsValid

オブジェクトのインスタンスが作成されているかどうかを確認します。

IsValid (objectvariable)
objectvariable:存在を確認したいオブジェクト名(省略不可)


Today

システムの現在日付を取得します。

Today ()


Now

システムの現在時刻を取得します。

Now ()


String

値を指定した書式の文字列に変換します。

String (data, {format})
data:文字列に変換したい値(数値、日付、時刻、DateTimeなど)(省略不可)
format:表示形式(マスク)を指定する文字列(省略可)


Integer

文字列などを整数型に変換します。

Integer ( stringorblob )
string:Integer 型に変換する文字列、または最初の値が整数値である Blob 型のデータ(省略不可)


Long

文字列などを長整数型に変換します。

Long ( string )
string:Long 型の数値として返す文字列(省略不可)


Dec

文字列などを数値( Decimal )型に変換します。

Dec ( string )
string:Decimal 型で返したい文字列(省略不可)


Trim

文字列の冒頭と末尾から半角スペースを除去します。

Trim ( string )
string:冒頭と末尾のスペースを取り除いて返す対象となる文字列(省略不可)

【レベル2:基本編】業務ロジックの実装 (28〜69)

基礎を固めた次は、いよいよ業務ロジックを作り込むような領域へ挑戦です。
ユーザーが入力したデータのチェック、大量のデータからの特定条件による絞り込み、そして複雑な日付や文字列の加工など、実務で頻出する「データの扱い方」を深く学んでいきます。
マスターすれば、仕様書通りの動きを自分の手でゼロから形にできるようになり、開発スピードもぐっと上がります。
より実践的なステップへ、いざ進みましょう!

DataWindow データ操作関連

Filter

設定した条件でデータウィンドウのデータを絞り込み表示します。

コントロール名 .Filter ()


SetFilter

データを絞り込むための条件式を設定します。

コントロール名 .SetFilter ( format )
format:フィルターの条件式(省略不可)


Find

特定の条件に一致するデータが何行目にあるか探します。

コントロール名 .Find ( expression, start, end )
expression:検索条件を指定する条件式(省略不可)
start:検索を開始する行番号(省略不可)
end:検索を終了する行番号(省略不可)


Sort

データウィンドウ上のデータを並び替えます。

コントロール名 .Sort ()


SetSort

データを並び替える優先順位を設定します。

コントロール名 .SetSort ( format )
format:並べ替えの条件を指定(省略不可)


GetChild

ドロップダウンデータウィンドウなどの子オブジェクトを取得します。

コントロール名 .GetChild ( name, dwchildvariable )
name:子データウィンドウを持つカラム名、またはコンポジット内のレポート名を指定(省略不可)
dwchildvariable:取得した参照を格納する DataWindowChild 型の変数を指定(省略不可)


ShareData

2つのデータウィンドウで同じデータを共有します。

コントロール名 .ShareData ( dw_secondary )
dw_secondary:共有先(データを受け取る側)のコントロール名(省略不可)


RowsCopy

指定した行を別のデータウィンドウにコピーします。

コピー元のコントロール、データストア、または子データウィンドウ名 .RowsCopy ( startrow, endrow, copybuffer, dw_target, beforerow, targetbuffer )
startrow:コピーする先頭行の番号(省略不可)
endrow:コピーする最終行の番号(省略不可)
copybuffer:コピー元のバッファ(省略不可)
dw_target:コピー先のデータウィンドウ(またはデータストア)名(省略不可)
beforerow:コピー先のどの行の前に挿入するかを指定(省略不可)
targetbuffer:コピー先のバッファ(省略不可)


RowsDiscard

指定した行をバッファから完全に破棄します。

コントロール名 .RowsDiscard ( startrow, endrow, buffer )
startrow:破棄を開始する行番号(省略不可)
endrow:破棄を終了する行番号(省略不可)
buffer:どのバッファから破棄するかを指定(省略不可)


GetFullState

データウィンドウのすべての状態(データや定義)を Blob として取得します。

コントロール名 .GetFullState ( dwasblob )
dwasblob:戻されたデータウィンドウが代入される変数(省略不可)


SetFullState

GetFullState で取得した状態をデータウィンドウに復元します。

コントロール名 .SetFullState ( dwasblob )
dwasblob:データウィンドウ コントロールまたはデータストアに適用する状態情報が含まれている Blob(省略不可)


AcceptText

データウィンドウの項目に入力された未確定の値を確定させます。

コントロール名 .AcceptText ()

DataWindow 詳細データ取得関連

GetItemString

データウィンドウのカラムから文字列データを取得します。

コントロール名 .GetItemString (row, column {,buffer, originalvalue})
row:値を取得したい行番号(省略不可)
column:値を取得したい列名または列番号(省略不可)
buffer:どのバッファから取得するかを指定(省略可)
originalvalue:修正前の値を取得するかどうかを指定(省略可)


GetItemNumber

データウィンドウから数値(Double/Longなど)を取得します。

コントロール名 .GetItemNumber ( row, column {, buffer, originalvalue } )
row:行番号(省略不可)
column:列名または列番号(省略不可)
buffer:データの取得元であるデータウィンドウ バッファを識別する値(省略可)
originalvalue:row および column について、最初の値または現行値のいずれを取得するかを示すブール値(省略可)

(省略可)


GetItemDate

データウィンドウから日付(Date)型を取得します。

コントロール名 .GetItemDate ( row, column {, buffer, originalvalue } )
row:行番号(省略不可)
column:列名または列番号(省略不可)
buffer:データの取得元であるデータウィンドウ バッファを識別する値(省略可)
originalvalue:row および column について、最初の値または現行値のいずれを取得するかを示すブール値(省略可)


GetItemDateTime

データウィンドウから日時(DateTime)型を取得します。

コントロール名 .GetItemDateTime ( row, column {, buffer, originalvalue } )
row:行番号(省略不可)
column:列名または列番号(省略不可)
buffer:データの取得元であるデータウィンドウ バッファを識別する値(省略可)
originalvalue:row および column について、最初の値または現行値のいずれを取得するかを示すブール値(省略可)


GetItemDecimal

データウィンドウから Decimal 型を取得します。

コントロール名 .GetItemDecimal ( row, column {, buffer, originalvalue } )
row:行番号(省略不可)
column:列名または列番号(省略不可)
buffer:データの取得元であるデータウィンドウ バッファを識別する値(省略可)
originalvalue:row および column について、最初の値または現行値のいずれを取得するかを示すブール値(省略可)


GetItemTime

データウィンドウから時刻(Time)型を取得します。

コントロール名 .GetItemTime ( row, column {, buffer, originalvalue } )
row:行番号(省略不可)
column:列名または列番号(省略不可)
buffer:データの取得元であるデータウィンドウ バッファを識別する値(省略可)
originalvalue:row および column について、最初の値または現行値のいずれを取得するかを示すブール値(省略可)


GetItemStatus

行やカラムが変更されたかどうかの状態を取得します。

コントロール名 .GetItemStatus ( row, column, buffer )
row:行番号(省略不可)
column:0 を指定すると「行全体の状態」、列名または番号を指定すると「そのセルの状態」を返す(省略不可)
buffer:データの取得元であるデータウィンドウ バッファを識別する値(省略不可)


SetItemStatus

行やカラムの変更状態を手動で変更します。

コントロール名 .SetItemStatus ( row, column, buffer, status )
row:0 なら行全体、列名/番号なら特定のセル(省略不可)
column:列名または列番号(省略不可)
buffer:対象のバッファ(省略不可)
status:設定したい状態(省略不可)

判定・日付関連

IsDate

文字列が正しい日付として認識できるか判定します。

IsDate ( datevalue )
datevalue:有効な日付かどうかを確認する値(省略不可)


IsTime

文字列が正しい時刻として認識できるか判定します。

IsTime ( timevalue )
timevalue:有効な時刻かどうかを確認する値(省略不可)


IsNumber

文字列が数値として認識できるか判定します。

IsNumber ( stringvalue )
stringvalue:PowerScript で有効な数値であるかどうかを調べる値(省略不可)


Year

日付から「年」を数値で取り出します。

Year ( datevalue )
datevalue:年の値を取り出す元となる、Date 型の値(省略不可)


Month

日付から「月」を数値で取り出します。

Month ( datevalue )
datevalue:月の値を取り出す元となる、Date 型の値(省略不可)


Day

日付から「日」を数値で取り出します。

Day ( datevalue )
datevalue:日の値を取り出す元となる、Date 型の値(省略不可)


Date

年月日から日付(Date)型を生成します。

Date ( stringvalue )
stringvalue:日付として返す、有効な日付の文字列の値(省略不可)


Time

文字列を Time 型のデータに変換します。

Time ( stringvalue )
stringvalue:Time 型のデータに変換する、有効な時刻(8 am、10:25 など)を持つ文字列。(時の値だけ省略不可)


DateTime

日付と時刻を組み合わせて日時型を生成します。

DateTime ( date {, time } )
date:有効な日付、または DateTime の戻り値に含める日付を最初の値として持つ値(省略不可)
time:有効な時刻、または DateTime の戻り値に含める日付を最初の値として持つ値(時刻を含める場は「時」の部分だけが省略不可)


RelativeDate

指定した日付の数日後や数日前の日付を算出します。

RelativeDate ( date, n )
date:基準となる Date 型の値(省略不可)
n:加算(または減算)する日数の値(省略不可)

文字列加工関連

Left

文字列の左端から指定した文字数を切り出します。

Left ( string, n )
string:対象の文字列(省略不可)
n:取り出す文字数(省略不可)


Right

文字列の右端から指定した文字数を切り出します。

Right ( string, n )
string:対象の文字列(省略不可)
n:取り出す文字数(省略不可)


Mid

文字列の指定した位置から文字を切り出します。

Mid ( string, start {, length } )
string:対象の文字列(省略不可)
start:取り出す文字列の最初の文字の位置(省略不可)
length:取り出す文字数(省略可)


Pos

文字列の中に特定の文字がどこにあるか探します。

Pos ( string1, string2 {, start } )
string1:検索対象の文字列(省略不可)
string2:探したい文字列(省略不可)
start:検索を開始する位置(省略可)


Len

文字列の文字数(長さ)を取得します。

Len ( string )
string:対象の文字列(省略不可)


Replace

指定した文字位置から、指定した文字数をほかの文字列で置換した文字列を返します。

Replace ( string1, start, n, string2 )
string1:元の文字列(省略不可)
start:置換を開始する位置(省略不可)
n:置換(削除)する文字数(省略不可)
string2:挿入する新しい文字列(省略不可)


LeftTrim

文字列の左端からスペースを削除します。

LeftTrim ( string {, removeallspaces } )
string:左端からスペースを削除する文字列(省略不可)
removeallspaces:全種類のスペースの削除を指定(省略可)


RightTrim

文字列の右端からスペースを除去します。

RightTrim ( string {, removeallspaces } )
string:右端からスペースを削除する文字列(省略不可)
removeallspaces:全種類のスペースの削除を指定(省略可)


Fill

指定した文字を指定回数繰り返した文字列を生成します。

Fill ( chars, n )
chars:繰り返したい文字列(省略不可)
n:作成したい総文字数(省略不可)


Lower

アルファベットをすべて小文字に変換します。

Lower ( string )
string:対象の文字列(省略不可)


Asc

文字を Unicode コード ポイントに変換します。

Asc ( string )
string:対象の文字列(省略不可)


Char

文字列の先頭の Unicode 文字を返します。Integer 型の値が指定された場合、Char 型に変換します。

Char ( n )
n:取得する文字が先頭にある文字列、Char 型に変換する整数、先頭に文字列か整数を含むデータ(省略不可)


Space

指定された長さのスペース(半角)で構成される文字列を返します。

Space ( n )
n:スペースの数(省略不可)

【レベル3:やや応用編】動的制御と外部連携 (70〜100)

最後は、ワンランク上のエンジニアを目指すための応用ステージ!
プログラムの実行中に画面のデザインを動的に書き換えたり、外部ファイルや最新の Web サービスと連携したりと、PowerBuilder の真のポテンシャルを引き出すテクニックが登場します。
難易度は少し上がりますが、ここを乗り越えれば、開発の幅も一段と広がること間違いナシ!それでは行ってみましょう!

動的制御関連

Describe

データウィンドウオブジェクト、その中のコントロールのプロパティ等を取得します。

コントロール名 .Describe ( propertylist )
propertylist:プロパティまたは Evaluate 関数の、空白で区切られたリストを表す値(省略不可)


Modify

データウィンドウオブジェクトの定義を変更し修正します。

コントロール名 .Modify ( modstring )
modstring:”名前.属性=値” という形式の文字列(省略不可)


Evaluate

Describe の中でだけ使用できる関数で、データウィンドウのデータを使用するスクリプト内でデータウィンドウ式を評価できます。

コントロール名 .Describe(“Evaluate(‘式’, 行番号)”)


SyntaxFromSQL

SQL SELECT 文に基づいて、データウィンドウのソースコードを生成します。

トランザクション名 .SyntaxFromSQL ( sqlselect, presentation, error )
sqlselect:接続されたトランザクションオブジェクト名(省略不可)
presentation:有効な SQL SELECT 文を表す文字列(省略不可)
error:データウィンドウ オブジェクトに設定するデフォルトの提示様式を表す文字列(省略不可)


Create

生成したソースを元にデータウィンドウオブジェクトを実体化します。

コントロール名 .Create ( syntax {, error } )
syntax:データウィンドウのソース構文を表す文字列(省略不可)
error:生成されたエラーを受け取る String 変数(省略可)


GetSQLSelect

データウィンドウに現在関連付けられた SELECT 文を取得します。

コントロール名 .GetSQLSelect ( )


SetSQLSelect

データウィンドウまたはデータストアに対して SELECT 文を動的に差し替えます。

コントロール名 .SetSQLSelect ( statement )
statement:新しい SELECT 文を表す文字列(省略不可)


SetSQLPreview

DB 発行直前の SQL を一時的に書き換えます。

コントロール名 .SetSQLPreview ( statement )
statement:実行直前に差し替える SQL 文を表す文字列(省略不可)


GroupCalc

データウィンドウのグループ集計を強制的に再計算させます。

コントロール名 .GroupCalc ( )

ファイル・外部連携関連

FileOpen

テキストや CSV ファイルを開きます。

FileOpen ( filename {, filemode {, fileaccess {, filelock {, writemode {, encoding }}}}} )
filename:開くファイル名(省略不可)
filemode:ファイルの読み込みと書き込みをどこまで行うかを指定(省略可)
fileaccess:ファイルを読み込み専用で開くのか、書き込み専用で開くのかを指定(省略可)
filelock:開いたファイルに、ほかのエンドユーザもアクセスできるかどうかを指定(省略可)
writemode:ファイル内の既存のデータを上書きするかどうかを指定(省略可)
encoding:作成するファイルの文字エンコーディングを指定(省略可)


FileReadEx

ファイルからデータを読み込みます。

FileReadEx ( file#, blob {, length } )
FileReadEx ( file#, string )
file#:ファイルが開かれたときにファイルに割り当てられた値(省略不可)
blob または string:データを格納する変数(省略不可)
length:取得するバイト数(省略可)


FileWriteEx

ファイルへデータを書き込みます。

FileWriteEx ( file#, blob {, length } )
FileWriteEx ( file#, string )
file#:ファイルが開かれたときにファイルに割り当てられた値(省略不可)
blob または string:ファイルに書き出したいデータを格納する変数(省略不可)
length:書き出されるバイト数(省略可)


FileClose

ファイルを閉じます。

FileClose ( file# )
file#:閉じるファイルに割り当てられた値(省略不可)


FileDelete

指定したファイルを削除します。

FileDelete ( filename )
filename:削除するファイル名(省略不可)


FileExists

指定したファイルが存在するかどうかを確認します。

FileExists ( filename )
filename:確認するファイル名(省略不可)


FileCopy

ファイルを別の場所へコピーします。

FileCopy ( sourcefile, targetfile {, replace } )
sourcefile:コピー元のファイル名(省略不可)
targetfile:コピー先のファイル名(省略不可)
replace:コピー先のファイルを上書きするか、しないかを指定(省略可)


GetFileOpenName

「ファイルを開く」ダイアログを表示します。

GetFileOpenName ( title, pathname, filename OR filename[ ] {, extension {, filter { , initdir { , aFlag } } } } )
title:ダイアログボックスのタイトル(省略不可)
pathname:選択されたパスが格納される変数(省略不可)
filename OR filename:選択されたファイル名が格納される変数(省略不可)
extension:1 文字以上 3 文字以下の標準のファイル拡張子を指定(省略可)
filter:リストボックス内に含めるファイルの説明、および表示するファイルを選択するために使用するファイル マスクを指定(省略可)
initdir:初期ディレクトリ名(省略可)
aFlag:ダイアログボックスで使用できるオプションを表す値を指定(省略可)


GetFileSaveName

「名前を付けて保存」ダイアログを表示します。

GetFileSaveName ( title, pathname, filename OR filename [ ] {, extension {, filter { , initdir { , aFlag } } } } )
title:ダイアログボックスのタイトル(省略不可)
pathname:選択されたパスが格納される変数(省略不可)
filename OR filename:選択されたファイル名が格納される変数(省略不可)
extension:1 文字以上 3 文字以下の標準のファイル拡張子を指定(省略可)
filter:リストボックス内に含めるファイルの説明、および表示するファイルを選択するために使用するファイル マスクを指定(省略可)
initdir:初期ディレクトリ名(省略可)
aFlag:ダイアログボックスで使用できるオプションを表す値を指定(省略可)


LibraryExport

PBL 内のオブジェクトをソースコード形式で抽出します。

LibraryExport ( libraryname, objectname, objecttype )
libraryname:オブジェクトをエクスポートする PBL 名(省略不可)
objectname:オブジェクト名(省略不可)
objecttype:エクスポートするオブジェクトの型を指定(省略不可)


Run

指定されたアプリケーションプログラムを実行します。

Run (string {, windowstate } )
string:実行するプログラムのファイル名を表す文字列(省略不可)
windowstate:アプリケーションを実行した際、プログラムのどの状態で実行するかを指定(省略可)


GetEnvironment

OS のバージョン、CPU、画面解像度などの実行環境情報を取得します。

GetEnvironment ( environmentinfo )
environmentinfo:環境に関する情報を格納しているEnvironment_object 名(省略不可)


Handle

PowerBuilder オブジェクトの Windows のハンドルを取得します。

Handle ( objectname {, previous } )
objectname:ハンドルを取得するオブジェクト名(省略不可)
previous:アプリケーションの既存のインスタンスのハンドルを取得するかどうかを指定(省略可)


ProfileString

INI ファイルから設定値を読み取ります。

ProfileString ( filename, section, key, default )
filename:プロファイル名(省略不可)
section:セクション名(省略不可)
key:section で値を取り出したい項目名(省略不可)
default:キーが見つからない場合に返す値(省略不可)


HyperLinkToURL

指定した URL をブラウザで開きます。

HyperlinkToURL ( url )
url:デフォルトの Web ブラウザで開く URL(省略不可)


TriggerEvent

指定したイベントを即座に実行します。

オブジェクト名 .TriggerEvent ( event {, word, long } )
event:実行したいイベント名(省略不可)
word:イベントに渡すパラメータ1(省略可)
long:イベントに渡すパラメータ2(省略可)

マルチバイト関連・特殊

LenA

文字列のバイト数を返します。

LenA (stringorblob)
stringorblob:バイト数を確認したい文字列または Blob 型データ(省略不可)


LeftA
もしくは
RightA

文字列の先頭 (LeftA) もしくは末尾 (RightA) から、指定したバイト数分を取り出します。

LeftA (string, n) もしくは RightA (string, n)
string:元の文字列(省略不可)
n:取り出すバイト数(省略不可)


MidA

任意のバイト位置から、指定したバイト数分を取り出します。

MidA (string, start, {length})
string:元の文字列(省略不可)
start:抽出を開始するバイト位置(1から開始)(省略不可)
length:取り出すバイト数(省略可)


PosA

特定の文字列が最初に出現する位置をバイト数で返します。

PosA (string1, string2, {start})
string1:検索対象の文字列(省略不可)
string2:探したい文字列(省略不可)
start:検索を開始するバイト位置(デフォルトは 1)(省略可)


ReplaceA

指定したバイト範囲を別の文字列に入れ替えます。

ReplaceA (string1, start, n, string2)
string1:元の文字列(省略不可)
start:置換を開始するバイト位置(省略不可)
n:置換(削除)するバイト数(省略不可)
string2:新しく挿入する文字列(省略不可)


LastPosA

文字列を後ろから検索し、一致した位置をバイト数で返します。

LastPosA ( string1, string2 {, start } )
string1:検索対象の文字列(省略不可)
string2:探したい文字列(省略不可)
start:後ろから数えて検索を開始するバイト位置(省略可)

まとめ

いかがでしたでしょうか?
怒涛の勢いで 100 本を紹介してきましたが、「これはあのプロジェクトで使えそう!」「こんな方法があるんだ」といった発見があれば幸いです。

今回ご紹介した内容は、サクッと学習していただけるようにポイントを絞った簡易的な解説となっています。
ここで紹介しきれなかった構文の詳細情報や、補足情報がまだまだたくさん存在しています。
「もっと詳しく知りたい!」「もっと具体的な使用例を確認したい!」という時は、ぜひ PowerBuilder のヘルプも併せてご参照ください。ヘルプ情報を読み解く習慣をつけることで、エンジニアとしての調査能力もさらに飛躍するはず!

この 100 本ノックを一つのきっかけに、より高度でスマートなシステム構築に挑戦していきましょう!

x instagram facebook youtube