| 4D v18MESSAGE | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|  | 
    4D v18
 MESSAGE 
         | |||||||||||||||||||||||||||||||||||||||||||||||||||||||
| MESSAGE ( message ) | ||||||||
| 引数 | 型 | 説明 | ||||||
| message | 文字 |   | 表示するメッセージ | |||||
MESSAGE コマンドは、通常ユーザに対して何らかの動作を知らせるために使用します。このコマンドは画面上の特別なメッセージウィンドウに message を表示します。このメッセージウィンドウは、 Open window を使って(後述)あらかじめ開かれたウィンドウを使用していないかぎり、MESSAGE コマンドをコールするたびに表示されたり閉じられたりします。このメッセージは一時的なもので、フォームを表示する、またはメソッドの実行が終了するとすぐに消去されます。別のMESSAGE コマンドを実行すると古いメッセージは、消去されます。
Open window でウィンドウを開いている場合、続く MESSAGE コマンドの呼び出しはすべてそのウィンドウにメッセージを表示します。ウィンドウはターミナルのようなに振舞います:
注: MESSAGE はOpen form window コマンドと互換性がありますが、このコンテキストでは、Open form windowコマンドの、ウィンドウのサイズと位置を保存する第2* 引数はサポートされません。
以下の例は、レコードセレクションを処理し、MESSAGEコマンドをコールしてユーザに処理の進捗状況を知らせます:
 For($vlRecord;1;Records in selection([anyTable]))
    MESSAGE("Processing record #"+String($vlRecord))
  ` Do Something with the record
    NEXT RECORD([anyTable])
 End forMESSAGEをコールするたびに、以下のウィンドウが表示されては消えます:

ウィンドウのちらつきを避けるため、以下の例題のようにOpen windowで開いたウィンドウにメッセージを表示することができます:
 Open window(50;50;500;250;5;"Operation in Progress")
 For($vlRecord;1;Records in selection([anyTable]))
    MESSAGE("Processing record #"+String($vlRecord))
  ` Do Something with the record
    NEXT RECORD([anyTable])
 End for
 CLOSE WINDOW結果は以下の通り:

改行を追加し、見やすくします:
 Open window(50;50;500;250;5;"Operation in Progress")
 For($vlRecord;1;Records in selection([anyTable]))
    MESSAGE("Processing record #"+String($vlRecord)+Char(Carriage return))
  ` Do Something with the record
    NEXT RECORD([anyTable])
 End for
 CLOSE WINDOW結果は以下の通り:

GOTO XY コマンドを使用し、何行か追加します:
 
 Open window(50;50;500;250;5;"Operation in Progress")
 $vlNbRecords:=Records in selection([anyTable])
 $vhStartTime:=Current time
 For($vlRecord;1;$vlNbRecords)
    GOTO XY(5;2)
    MESSAGE("Processing record #"+String($vlRecord)+Char(Carriage return))
  ` Do Something with the record
    NEXT RECORD([anyTable])
    GOTO XY(5;5)
    $vlRemaining:=(($vlNbRecords/$vlRecord)-1)*(Current time-$vhStartTime)
    MESSAGE("Estimated remaining 時間: "+Time string($vlRemaining))
 End for
 CLOSE WINDOW結果は以下の通り:

	プロダクト: 4D
	テーマ: メッセージ
	番号: 
        88
        
        
        
	
	変更: 4D 2004 
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	ランゲージリファレンス ( 4D v18)
	
	
	
	
	
 コメントを追加
コメントを追加