掲示板システム
ホーム
アクセス解析
カテゴリ
ログアウト
FindTextでオプションを設定するには? (ID:12277)
名前
ホームページ(ブログ、Twitterなど)のURL (省略可)
本文
現在 Delphi6 Personal を使用してメモ帳づくりをしています。そこで、findDailogのヘルプにあったコードを試したところ、オプションの”大文字と小文字を区別する。”と”単語単位で探す。”が設定できません。 下記のステップを追加すると大文字・小文字のオプションは有効になりましたが、単語単位は有効(選択状態)のままです。TSearchType型に値を設定するにはどうするのでしょうか? 何か解決方法がありましたら、よろしくお願いします。 *- - - - - - - - 以下、ヘルプ・サンプルコード - - - - - - - - - -* procedure TForm1.FindDialog1Find(Sender: TObject); var FoundAt: LongInt; StartPos, ToEnd: Integer; w_Word,w_Match: TSearchType; begin - - - ここから if frMatchCase in FindDialog1.Options then begin //大文字・小文字 w_Match := stMatchCase; end; if frWholeWord in FindDialog1.Options then begin //単語単位 w_Word := stWholeWord; end; - - - - ここまで begin with RichEdit1 do begin { 検索は現在選択されている場所から開始される } { 何も選択されていない場合は,テキストの最初から開始される } if SelLength <> 0 then StartPos := SelStart + SelLength else StartPos := 0; { ToEnd は検索範囲の文字数を示す } ToEnd := Length(Text) - StartPos; FoundAt := FindText(FindDialog1.FindText, StartPos, ToEnd, [stMatchCase]); //サンプル ^ ^ ^ ^ ^ ^ ^ ^ ^ ↓ FoundAt := FindText(FindDialog1.FindText, StartPos, ToEnd,[w_Match,w_Word ]); //修正 ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ if FoundAt <> -1 then begin SetFocus; SelStart := FoundAt; SelLength := Length(FindDialog1.FindText); end; end; end;
←解決時は質問者本人がここをチェックしてください。
戻る
掲示板システム
Copyright 2021 Takeshi Okamoto All Rights Reserved.