Tips

 

タブコントロール上に配置したコントロールの関数を実行する

方法 タブコントロール上に配置したコントロール、すなわちタブコントロール上のタブページに配置されたデータウィンドウなどコントロールの関数を実行する場合は以下の構文を利用します。 tabcontrol.tabpage.co […]

  • PowerBuilder
  • プログラミングテクニック

シングルラインエディットをスクリプトで入力不可にする

方法 シングルラインエディットの入力を不可にするには、シングルラインエディットの Enabled プロパティもしくは DisplayOnly プロパティを設定します。 Enabled プロパティを False に設定する […]

  • プログラミングテクニック

文字列としてダブルクォーテーションを使用する

方法 ダブルクォーテーション ("") で括られた文字列リテラル内でダブルクォーテーションを使用するには、エスケープ文字である「ティルダ “~”」を付与します。 【例】 ls_ […]

  • プログラミングテクニック

データウィンドウの現在の状態をファイルに保存する

方法 データウィンドウの現在の状態を保存するには SaveAs 関数で PSR ファイルへ出力します。 PSR ファイルはファイル拡張子 PSR を持つ特殊なファイルで Powersoft レポートファイル形式でデータを […]

  • プログラミングテクニック

印刷ページ数を取得する

方法 スクリプトで印刷ページ数を取得するには Describe 関数内で Evaluate 関数を使用して、データウィンドウ式関数である PageCount を呼び出します。 データウィンドウ式関数では PageCoun […]

  • プログラミングテクニック

複数行入力可能なエディットカラムで半角文字列を改行する

方法 複数行の入力が可能な高さのあるエディットカラムで、カラムの横幅を超える英数字が入力された場合に改行されない動作は「ワードラップ機能」によるものです。 この機能は無効にすることができないため、任意の文字数ごとに改行や […]

  • プログラミングテクニック

データウィンドウの行をドラッグ&ドロップで移動する

方法 Clicked イベント、DragWithin イベント、DragDrop イベントを利用することで、単一データウィンドウ内においてドラッグ&ドロップにより行を移動させることが可能です。 【例】クリックした行を移動 […]

  • プログラミングテクニック

アプリケーションの二重起動を抑制する

方法 PowerBuilder で作成されたアプリケーションの二重起動を抑制する方法として、アプリケーションがすでに起動されている場合は新たに起動せずに、そのアプリケーションをアクティブにする方法があります。 Power […]

  • プログラミングテクニック

データウィンドウで SQL 文の IN 句に複数の条件を指定する

方法 データウィンドウによる検索で SELECT 文に IN 句を使用して複数の条件を指定するには、検索引数の型を配列 (String array、Number array 等) に設定して IN 句の条件に指定し、スク […]

  • プログラミングテクニック

実行ファイルをマシンコードで作成する利点

方法 実行ファイルをマシンコード (EXE + DLL) で作成した場合、P コード (EXE + PBD) で作成した場合と比べて、以下の点でパフォーマンス上のメリットがあります。 変数のアクセス 演算操作 (代入文、 […]

  • プログラミングテクニック

ツリービューコントロールのピクチャを変更する

方法 ツリービューコントロールのピクチャを変更するには、PictureIndex 関数や SelectedPictureIndex 関数、OverlayPictureIndex 関数、StatePictureIndex […]

  • プログラミングテクニック

データウィンドウ内のカラムのフォーカス移動を Enter キーで行う

方法 データウィンドウ内で Tab キーではなく Enter キーでカラムのフォーカスを移動させる場合、データウィンドウ内の [pbm_dwnprocessenter] をイベント ID にもつユーザーイベントを定義し、 […]

  • プログラミングテクニック

データウィンドウで Shift キーや Ctrl キーを使って複数行を選択する

方法 データウィンドウで Shift キーを押しながら連続した行を選択したり、Ctrl キーで任意の複数行を選択したりする場合は RowFocusChanging イベント内で KeyDown 関数を呼び出してキーの押下 […]

  • プログラミングテクニック

小数点以下を指定桁で切り上げる

方法 PowerBuilder には四捨五入の Round 関数がありますが、切り上げの関数はありません。 小数点以下を指定した桁で切り上げるには、Ceiling 関数を利用する方法があります。 Ceiling 関数は、 […]

  • プログラミングテクニック

カラム ID から DWObject を取得する

方法 ドット表記を使用する場合、カラム ID から動的に DWObject を取得することはできません。 そのため下記のように CHOOSE CASE 文などで ID を判定して取得します。 【例】 カラム値設定処理 l […]

  • プログラミングテクニック

メニューオブジェクトのツールバーにテキストを表示する

方法 メニューオブジェクトのツールバーに文字を表示するには、Application オブジェクトの「ツールバーのテキスト」プロパティを有効にします。 ツールバーのテキストは、メニュー項目の「項目テキスト」プロパティ (t […]

  • プログラミングテクニック

複数のアプリケーションから同じ PBD を利用する

方法 複数のアプリケーションから同一の PBD を参照することが可能です。 ただし注意点として、いずれかのアプリケーションでグローバル外部関数を使用している場合、すべてのアプリケーションでグローバル外部関数の宣言を同じよ […]

  • プログラミングテクニック

ディスプレイの解像度を取得する

方法 ディスプレイの解像度は GetEnvironment 関数で取得することができます。 GetEnvironment 関数で取得した Environment オブジェクトの ScreenWidth プロパティ、Scr […]

  • プログラミングテクニック

アイコンや画像を実行ファイルに含める

方法 PBR ファイル(リソースファイル)を利用することでアイコンファイルや画像ファイルを実行ファイルに含めることができ、配布が不要になります。 PBR ファイルの作成方法は、IDE のメニュー [ファイル &#8211 […]

  • プログラミングテクニック

PBL 内のオブジェクトの更新日時をスクリプトで取得する

方法 オブジェクトの更新日時は PowerBuilder の組み込み関数 LibraryDirectory または LibraryDirectoryEx を使用して取得できます。取得できる情報はオブジェクト名、更新日付及 […]

  • プログラミングテクニック

計算フィールドの値を SaveAs で出力する

方法 計算フィールドは PDF などイメージとして出力する場合を除き、SaveAs 関数では出力できません。 このため、データソースにダミーのカラム (計算カラム) を追加し、計算フィールドの結果をそのカラムへ格納して出 […]

  • プログラミングテクニック

メニューオブジェクトのツールバーに境界線を挿入する

方法 メニューオブジェクトのツールバー上で表示されるメニュー項目間に境界線を挿入するには、メニューペインタでメニュー項目を選択後、プロパティの [ツールバー] タブにある「項目の間隔」を 1 以上に設定します。 境界線は […]

  • プログラミングテクニック

ループ処理で順番にデータウィンドウのカラム値を取得する

方法 データウィンドウに取り込まれたデータは Object.Data プロパティに 2 次元配列のように格納され、このプロパティから行と列を指定して取得することができます。 dw_1.object.data[行, 列] […]

  • プログラミングテクニック

ストアドプロシージャから出力パラメーターを取得する

方法 PowerBuilder のスクリプト上でストアドプロシージャを呼び出し、出力パラメーターを取得するには、EXECUTE 文でストアドプロシージャを実行し FETCH 文を利用します。 出力パラメータの値は FET […]

  • プログラミングテクニック

配列を使用後に初期化する

方法 配列の変数を初期化するには、同じデータ型のダミーの配列を宣言してそれを初期化したい配列に代入します。 【例】 integer li_index long ll_value[], ll_dummy[] FOR li_ […]

  • プログラミングテクニック

色を数値で指定する

方法 PowerBuilder では色は 16 進表現で「FFFFFF」を long 型の数値で表しています。 先頭から 1 byte ごとに青、緑、赤です。 この値は下記のように計算できます。 ■ 青の要素 (0~25 […]

  • プログラミングテクニック

データウィンドウに配置したコントロールやカラムを破棄する

方法 データウィンドウ上のヘッダーオブジェクトやカラムオブジェクトをスクリプトで削除するには Modify 関数でオブジェクトに対し destroy を指定します。 【例】 // データウィンドウコントロール dw_1 […]

  • プログラミングテクニック

複数のウィンドウを表示している場合に他のウィンドウを非アクティブにする

方法 1つのアプリケーションで複数のウィンドウを表示している状態で、いずれかのウィンドウからメッセージボックスを表示しているとき、MessageBox を呼び出したウィンドウはアクティブにできませんが、他に表示されている […]

  • プログラミングテクニック

アプリケーションから複数のDBに接続する

方法 アプリケーションから同時に複数のデータベースに対して接続し処理を行うにはデータベースの接続ごとにトランザクションオブジェクトを 1 つずつ用意して処理を行います。グローバルオブジェクトの SQLCA とは別に独自に […]

  • プログラミングテクニック

F4 キーによるドロップダウンリストの展開を抑制する

方法 ドロップダウンリストコントロールにフォーカスがある場合、F4 キーを押下することでリストが表示されます。このリストの展開は ShowList プロパティで制御できます。Key イベントで押下されたキーを判定し、F4 […]

  • プログラミングテクニック
PowerBuilder マイグレーション
PowerBuilder 2019 R3 日本語版リリース 紹介動画