Tips

 

変換確定時に Enter キー入力時の処理を行わないようにする

方法 Key イベントで KeyDown 関数を使用して Enter キー入力時の処理を行っている場合、IME による漢字変換の確定時にもその処理が実行されてしまいます。 これを回避するためには KeyDown 関数では […]

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

埋め込み SQL で FROM 句がない SELECT 文を発行する

方法 Microsoft SQL Server などの DBMS を利用する際、FROM 句が省略された SELECT 文をスクリプトから発行して結果集合を取得する場合は、動的 SQL 構文を使用します。 埋め込み SQ […]

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

タブコントロール内のクリックされたタブページを取得する

方法 クリックされたタブページの番号は、タブコントロールの clicked イベントで取得できます。タブページをクリックするとタブコントロールの clicked イベントで引数としてユーザーがクリックしたタブページのイン […]

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

ツリービューコントロールで選択された項目の値を取得する

方法 ツリービューコントロールの項目が選択された際に、その項目の値 (label) を取得するには、SelectionChanged イベントで GetItem 関数を呼び出します。 ツリービューコントロールの Sele […]

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

ドロップダウンリストボックスの展開、折り畳み時にイベントを発生させる

方法 PowerBuilder 標準のドロップダウンリストボックスにはリストボックスが展開される際や折り畳まれる際のイベントは用意されていませんが、イベント ID を利用することで定義できます。展開されたときのイベント […]

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

データウィンドウのデータソースとなる SELECT 文を取得する

方法 データウィンドウのデータソースとなる SQL SELECT 文を取得するには、GetSQLSelect 関数を利用します。 【例】 string ls_syntax // SELECT 文を取得 ls_syntax […]

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

埋め込み SQL の DELETE 文で削除された行数を確認する

方法 トランザクションオブジェクトの SQLNRows プロパティをチェックすることで DELETE で実際に削除された行数が確認できます。 【例】 // テーブル t_test から id カラムの値が 10 のデータ […]

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

ライブラリ (PBL) 内のオブジェクトを一覧で取得する

方法 ライブラリ (PBL) 内のオブジェクトを一覧で取得するには LibraryDirectoryEx 関数を利用します。 オブジェクト名、最終更新日、オブジェクトに対するコメント、およびオブジェクトタイプが取得できま […]

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

スクリプトでカラムに改行を設定する

方法 データウィンドウ上のカラム内の文字列をスクリプトで改行させる場合は、改行コードである ~r~n (CR+LF) をセットすることで文字列を改行させることができます。 なお、~r (CR : Carriage Ret […]

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

データウィンドウ以外のコントロールをスクリプトでスクロールする

方法 リストボックスなど、データウィンドウ以外のコントロールでスクロールを行うためには、Send 関数で対象のコントロールにメッセージを送信します。 リストボックスやツリービューなどのコントロールはスクロールするための関 […]

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

タブコントロール内のコントロールのタブ順序を変更する

方法 通常、ウィンドウ内に配置されたコントロールのタブ順序を変更するには、パワーバーにある [ タブ順序 ] ボタンをクリックするか、メニュー [ 書式 | タブ順序を表示 ] を選択することでタブ順序の設定モードに切り […]

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

データウィンドウに配置したコントロールのタブ順序を取得する

方法 タブ順序は tabsequence プロパティから取得することができます。プロパティの値を取得する方法としては、Describe 関数を利用する方法とドット表記があります。 Describe 関数を使用する場合はパ […]

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

データウィンドウ内のタブ順序を動的に変更する

方法 DataWindow 内のカラムのタブ順序は、SetTabOrder 関数を使用してスクリプトでタブ値を動的に変更することができます。 SetTabOrder 関数には引数が 2 つあり、最初のパラメーターにはタブ […]

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

カタログテーブルを作成しないように制御する

方法 カタログテーブルを作成しないようにするにはデータベースペインタを開き、IDE のメニューから「デザイン – オプション」で表示される「DB 環境設定」の全般タブの「拡張属性の使用」のチェックを外します。 […]

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

外部ソースのデータウィンドウをスクリプトで作成する

方法 データソースに「外部ソース」を指定したデータウィンドウと同様のデータウィンドウは SyntaxFromSQL 関数でソースを生成することができません。 あらかじめ「外部ソース」のデータウィンドウオブジェクトを作成し […]

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

データウィンドウ上のグループヘッダに通し番号を表示する

方法 グループ化されたデータウィンドウ上のグループ区域 (グループ ヘッダ、グループ トレーラ) に計算フィールドを用意し CumulativeSum データウィンドウ関数を使用することでグループ毎の通し番号を表示できま […]

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

アプリケーションの起動時に付与されたパラメーターを取得する

方法 PowerBuilder で作成されたアプリケーションは、起動時にパラメーターを付与することができます。たとえばコマンドラインで実行する場合に “appname.exe parm” のように […]

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

データウィンドウに配置されたコントロールのフォントを変更する

方法 データウィンドウに配置されたコントロールで使用しているフォントの種類をスクリプトで変更するには、Font.Face プロパティを使用します。 【例】ドット表記でカラム “sample_column” のフォントを変 […]

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

データウィンドウを印刷する際に部数を設定する

方法 データウィンドウのデータを印刷する時に部数を設定する方法は二つあります。 一つ目は PrintSetup 関数で「プリンタの設定」ダイアログボックスを表示させて [設定] からシステムのプリンタ設定ダイアログボック […]

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

Menu オブジェクトのメニュー項目を動的に追加する

方法 Menu オブジェクトのメニュー項目を動的に追加することはできません。ただし、あらかじめ作成したメニュー項目を表示 / 非表示の切り替えを行うことで動的に変更することができます。 【例】メニュー (m_main) […]

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

行のデータによってドロップダウンデータウィンドウのフィルター条件を変更する

方法 ドロップダウンデータウィンドウ (DDDW) は GetChild 関数によって参照を取得でき、取得した DDDW に対して SetFilter、Filter 関数を呼び出すことで DDDW 内のデータにフィルター […]

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

データウィンドウで任意の行が 1 行目に表示されるようにスクロールする

方法 ScrollToRow 関数を使用して任意の行を 1 行目に表示する場合、指定した行がすでに現在のページに表示されているとスクロールはされず 1 行目に表示されません。 このような場合でも指定した行が 1 行目に表 […]

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

データウィンドウのフィルター式をスクリプトで取得する

方法 データウィンドウのフィルター式は DataWindow.Table.Filter プロパティで取得することができます。 【例】ドット表記でフィルター式を取得 string ls_filter ls_filter = […]

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

SaveAs 関数の「名前を付けて保存」ダイアログで指定したファイルタイプのみを表示する

方法 SaveAs 関数では「名前を付けて保存」ダイアログのファイルタイプをフィルターできません。 ファイルタイプをフィルターするには GetFileSaveName 関数で事前にファイルの種類をフィルターし、取得したフ […]

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

GetFileSaveName 関数で上書き確認を行う

方法 GetFileSaveName 関数を使用してダイアログボックスを表示した状態では上書き確認のメッセージを表示する方法はありません。 上書き確認を促す場合は、ダイアログボックスで保存ファイルを指定後に FileEx […]

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

スクリプトで文字列に Tab 文字を挿入する

方法 スクリプトにより文字列内にタブ文字や改行コードを挿入する場合には、特殊な ASCII 文字を使用します。特殊文字の前にはエスケープ文字としてチルダ (~) を付ける必要があり、~t は文字列内にタブ文字を挿入します […]

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

スクリプトでカラムに値をセットして ItemChanged を呼び出す

方法 スクリプトでデータウィンドウのカラムに値を設定後、ItemChanged イベントを呼び出すには SetText 関数と AcceptText 関数を利用します。 データウィンドウのカラムに SetItem 関数や […]

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

全角文字のみ入力させたい項目に半角文字が入力されたことを判定する

方法 文字列が全角か半角かを判定する関数は存在しませんが、入力された文字列に対して 1 文字ごとに Len 関数の値を確認することで判定することができます。 Len 関数は文字数を、LenA 関数はバイト数を戻します。ま […]

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

データウィンドウの水平スクロール分割位置を指定する

方法 水平スクロールの分割位置は DataWindow.HorizontalScrollSplit プロパティで指定することができます。 データウィンドウのプロパティ「水平スクロールバーの分割可能」 を ON (分割可) […]

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

データウィンドウから更新対象テーブル名を取得する

方法 データウィンドウをオープンして確認するのではなく、スクリプトを使用してデータウィンドウで更新対象となるテーブルを取得するには、Describe 関数を使用します。Describe 関数の引数に “dat […]

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