4D v16.3

Current form table

ホーム

 
4D v16.3
Current form table

Current form table 


 

Current form table -> 戻り値 
引数   説明
戻り値  ポインター in 現在表示されているフォームが属すテーブルへのポインタ

説明   

Current form tableコマンドは、カレントプロセスで表示または印刷されているフォームが属するテーブルのポインタを返します。

以下の場合では、関数はNilを返します。

  • カレントプロセスに表示または印刷されているフォームがない。
  • カレントフォームがプロジェクトフォームである。

カレントプロセスで複数のウィンドウが開いている(最後に開かれたウィンドウがカレントアクティブウィンドウになる) 場合、このコマンドはアクティブウィンドウにフォームが表示されているテーブルへのポインタを返します。

現在表示されているフォームがサブフォームエリア用の詳細フォームである場合、ユーザがデータ入力中であり、ダブルクリック可能なサブフォームエリアのレコードまたはサブレコードをダブルクリックしたことを意味します。この場合には、コマンドは以下を返します:

  • サブフォームがテーブルを表示している場合、サブフォームエリアに表示されたそのテーブルへのポインタ
  • サブフォームエリアがサブテーブルを表示している場合には、重要な意味を持たないポインタ

例題  

アプリケーション全体を通して、レコードを表示する際には、以下の表示方法に従います。フォーム内に変数vsCurrentRecord がある場合、ユーザーが新しいレコードを処理していれば、"New Record" と表示します。ユーザが5200レコードから成るセレクションの56番目のレコードを処理していれば、56/5200と表示します。

そのためには、オブジェクトメソッドを使用して変数vsCurrentRecordを作成します。その後、このオブジェクトメソッドをコピーして、すべてのフォームに貼り付けます。

  ` vsCurrentRecord non-enterable variable object method
 Case of
    :(Form event=On Load)
       C_STRING(31;vsCurrentRecord)
       C_POINTER($vpParentTable)
       C_LONGINT($vlRecordNum)
       $vpParentTable:=Current form table
       $vlRecordNum:=Record number($vpParentTable->)
       Case of
          :($vlRecordNum=-3)
             vsCurrentRecord:="New Record"
          :($vlRecordNum=-1)
             vsCurrentRecord:="No Record"
          :($vlRecordNum>=0)
             vsCurrentRecord:=String(Selected record number($vpParentTable->))+" of "+
             String(Records in selection($vpParentTable->))
       End case
 End case



参照 

DIALOG
FORM SET INPUT
FORM SET OUTPUT
PRINT SELECTION

 
プロパティ 

プロダクト: 4D
テーマ: テーブル
番号: 627

 
履歴 

変更: 4D v11 SQL

 
ARTICLE USAGE

ランゲージリファレンス ( 4D v16)
ランゲージリファレンス ( 4D v16.1)
ランゲージリファレンス ( 4D v16.2)
ランゲージリファレンス ( 4D v16.3)