| 4D v13WR Find | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 
 | 
    4D Write v13
 WR Find 
         | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| WR Find ( area ; charString ; wholeWord ; upperCase ; wrap ) -> 戻り値 | ||||||||
| 引数 | 型 | 説明 | ||||||
| area | 倍長整数 |   | 4D Write エリア | |||||
| charString | 文字 |   | 検索する文字列 | |||||
| wholeWord | 整数 |   | 0= 部分一致 1= 完全一致 | |||||
| upperCase | 整数 |   | 0= 大文字/小文字の区別なし 1= 大文字/小文字の区別あり | |||||
| wrap | 整数 |   | 0= カーソル以降を検索 1= ドキュメント全体を検索 | |||||
| 戻り値 | 倍長整数 |   | 検索ステータス | |||||
WR Findコマンドで4D Write エリア内の文字を検索することができます。WR GET WORDSを使うと、検索した単語の位置を取り出すことができます。また、WR GET SELECTIONを使うと、検索され選択された位置を取り出すことができます。検索文字列が見つかると、WR Findは1 を返し、最初に見つかった文字列を選択します。
検索が失敗すると、WR Find は0 を返し、現在選択されている部分は修正されません。area が存在しない場合、WR Findは-1 を返します。
wholeWord とupperCase によって検索オプションを選択できます。
wholeWord 引数にはWR Parametersテーマの以下の引数を渡すことができます:
| 定数 | 型 | 値 | コメント | 
| wr partial match | 倍長整数 | 0 | 文字列は単語全体あるいはより長い単語の一部です。 | 
| wr whole word | 倍長整数 | 1 | 単語は区切り文字 (スペース、句読点等) の間になければなりません。 | 
upperCase 引数にはWR Parametersテーマの以下の引数を 渡すことができます:
| 定数 | 型 | 値 | コメント | 
| wr ignore uppercase | 倍長整数 | 0 | 検索は大文字と小文字を区別せずに行われます。 | 
| wr case sensitive | 倍長整数 | 1 | 検索は大文字と小文字を区別して行われます。 | 
wrapは、検索がドキュメント全体に適用されるかどうかを定義することができます。
この引数にはWR Parametersテーマの以下の引数を 渡すことができます:
| 定数 | 型 | 値 | コメント | 
| wr after insertion point | 倍長整数 | 0 | 検索は挿入位置からドキュメントの最後まで行われます。 | 
| wr whole document | 倍長整数 | 1 | 検索は挿入ポイントからドキュメントの終わりまで実行され、さらに先頭から挿入ポイントまで検索されます。 | 
ユーザに検索したい文字列を入力させ、検索を行う:
 ToFind:=Request("Enter the word(s) to find:")
 If(OK=1)
    WR SET SELECTION(Area;0;0)
    If(WR Find(Area;ToFind;wr whole word;wr case sensitive;1)=0)
       ALERT("No occurrence has been found.")
    End if
 End ifこの例題は、レコードの選択範囲内で検索するキーワードからの検索メソッドを示しています。検索は、ピクチャエリアで実行されます。
重要: 4D Write エリアがBLOBフィールドとして保存された場合は、WR Direct findの例題を参照してください。その例題は、より高速なものです。
データベースの内容は料理レシピです。4D Writeエリアはピクチャフィールドに保存されています。特別な素材が使われているレシピをすべて検索したい場合のメソッドを示します:
 ToFind:=Request("Enter the ingredient(s) to find:")
  `検索されたレコードを格納する空のセットを作成
 CREATE EMPTY SET([MyRecipes];"FoundRecords")
 ALL RECORDS([MyRecipes]) `全テーブルの選択範囲をブラウズ
 OffscreenArea:=WR New offscreen area
 While(Not(End selection([MyRecipes])))
    WR PICTURE TO AREA(OffscreenArea;[MyRecipes]PictRecipe_)
    If(WR Find(OffscreenArea;ToFind;1;1;1)=1)
  `素材が見つかったら、そのレコードをセットに追加
       ADD TO SET([MyRecipes];"FoundRecords")
    End if
    NEXT RECORD([MyRecipes])
 End while
 WR DELETE OFFSCREEN AREA(OffscreenArea)
 USE SET("FoundRecords")
 OUTPUT FORM([MyRecipes];"Output")
 MODIFY SELECTION([MyRecipes];*)
	プロダクト: 4D
	テーマ: WRテキスト操作
	番号: 
        89495
        
        
        
	
	初出: 4D Write 6.5