■記事リスト / ▼下のスレッド
/ ▲上のスレッド
■14141 / 親記事) |
[英単語] を単語単位で検索・絞込する方法
|
□投稿者/ いぶけん -(2024/02/16(Fri) 21:54:30)
| 2024/02/16(Fri) 22:22:09 編集(投稿者)
[英単語]の項目 例)"war" で検索(単語として検索したい) 【対象にしたい】 American Civil War be at war など
【非対象にしたい】 be aware of How are things at warranty など
拡張辞書off、ワイルドカードも使えそうになさそうです。 やり方があればご教授お願いします
桐10sです
|
|
|
▽[全レス15件(ResNo.11-15 表示)]
■14153 / ResNo.11) |
Re[7]: [英単語] を単語単位で検索・絞込する方法
|
□投稿者/ ONnoji -(2024/02/17(Sat) 21:38:36)
| 添付ファイルを解凍すると次のファイルがあります。
flashcard.tbx Search_By_Word_flashcard.kex Search_By_Word_flashcard.wfx
>>ちなみに、本ファイル名は別名です > > ファイル名は何でも構いません。 > > 最終的には、ご自身でフォームの編集対象表を書き換えてください。
フォーム:Search_By_Word_flashcard.wfx を再定義して、
[フォームの参照表][フォームの編集対象表]を書き換えてください。
p.s.
なお、数日を目途に削除しますのでダウンロードはお早めに願います。
|
|
|
■14160 / ResNo.12) |
Re[8]: [英単語] を単語単位で検索・絞込する方法
|
□投稿者/ ONnoji -(2024/02/18(Sun) 10:24:40)
| [拡張辞書順]をチェックしている時に[絞り込み]出来ませんでした。
※[先頭から]と同じ動作をしているためです
改修したイベント処理ファイルを添付します。
添付ファイルを解凍すると次のファイルがあります。
Search_By_Word_flashcard.kex
既存のファイルに上書きしてください。
p.s.
なお、数日を目途に削除しますのでダウンロードはお早めに願います。
|
|
|
■14205 / ResNo.13) |
Re[9]: [英単語] を単語単位で検索・絞込する方法
|
□投稿者/ ONnoji -(2024/03/03(Sun) 11:57:53)
| 例文にはピリオド( . )がありませんでしたので対応しませんでしたが、
もしも、
・フォースを使え。感じるのだ。 Use the Force. Feel it.
・フォースと共にあらんことを。 May the Force be with you.
のような例文の場合、文末の Force it you が見つかりません。
もしも。必要ならば以下のように改修してください。
手続き定義開始 prcString検索実行( 文字列 &fieldName, 文字列 &string, 文字列 ¶meter, 整数 &mode, 整数 &searchByWord ) 変数宣言 自動,文字列{ &icon, &title = "prcString検索実行( )", &msg } 変数宣言 自動,文字列{ &expression, &ankWQ = #jis( #hex("22") ), &knjWQ = #jis( #hex("2149") ), &asterisk = #jis( #hex("2A") ) } 変数宣言 自動,文字列{ ¯o, &action, &order } 変数宣言 自動,整数 { &status, &return } 変数宣言 自動,文字列{ &orgString } /* 2015.06.01 */ 変数宣言 自動,文字列{ &chrList = "{,},`,~,|" } /* 2019.05.21 */ 変数宣言 自動,文字列{ &character } /* 2019.05.21 */
変数宣言 自動,文字列{ &SP = #jis( #hex("20") ), &knjSP = #jis( #hex("2121") ) } 変数宣言 自動,文字列{ &commaAnk = #jis( #hex("2C") ) } 変数宣言 自動,文字列{ &dotAnk = #jis( #hex("2E") ) } /* 2024.03.03 */
変数宣言 自動,文字列{ &traceMsg = &title } 変数宣言 自動,整数 { &traceON }
** 2024.02.17 utx_list3.kev / prcString検索実行 より流用
**&traceON = 1 条件 ( &traceON ) トレース出力 &traceMsg + "を実行開始しました"
&order = #cond( &mode, ":E", 1, #u ) &action = #cond( ¶meter = "次行", "∨, ", ¶meter = "前行", "∧, ", 1, #u ) &orgString = &string /* 2015.06.01 */ &character = &string
条件 ( &traceON ) トレース出力 "if ( .not &searchByWord ) … " + #str( .not &searchByWord ) if ( .not &searchByWord )
if ( #対応番号( &chrList, &character ) = 0 ) /* 2019.05.21 */
&string = #文字置換( &string, &knjWQ, &knjWQ + &knjWQ ) &string = #文字置換( &string, &ankWQ, &ankWQ + &ankWQ ) &expression = &asterisk + &ankWQ + &string + &ankWQ + &asterisk + &order else
** 単一文字の {, }, `, ~, | ならば if ( &mode ) /* 単一文字の {, }, `, ~, | を拡張辞書順で検索するとNG */
&expression = "#文字位置( #半角([単語]), " + &ankWQ + &character + &ankWQ + ") <> 0" else
&expression = &asterisk + &ankWQ + &string + &ankWQ + &asterisk /* 拡張辞書順でなければOK */ end end
if ( ¶meter = "絞り込み" ) ¯o = "絞り込み " + "&fieldName_&expression, 終了状態 = &status" else ¯o = "検索 " + &action + "&fieldName_&expression, 終了状態 = &status" end コマンド ¯o 条件 ( &traceON ) トレース出力 _¯o 条件 ( &traceON ) トレース出力 _&status ** 戻り値 説明 ** 1 該当する行が存在した。処理対象行は、検索した行に移動する。 ** -1 該当する行が存在しなかった。処理対象行は移動しない。 ** このパラメータを指定せず、該当する行が存在しない場合は、終端行に移動します。
else
条件 ( &traceON ) トレース出力 _&action 条件 ( &traceON ) トレース出力 _&string 条件 ( &traceON ) トレース出力 #文字置換( #文字置換( [単語], &SP, &commaAnk ), &knjSP, &commaAnk )
&string = #文字置換( &string, &knjWQ, &knjWQ + &knjWQ ) &string = #文字置換( &string, &ankWQ, &ankWQ + &ankWQ )
**&expression = "#対応番号( #文字置換( #文字置換( [単語], &SP, &commaAnk ), &knjSP, &commaAnk ), " + &ankWQ + &string + &ankWQ + " ) <> 0" **&expression = "#対応番号( #lc2( #文字置換( #文字置換( [単語], &SP, &commaAnk ), &knjSP, &commaAnk ) ), " + &ankWQ + #lc2( &string ) + &ankWQ + " ) <> 0" &expression = "#対応番号( #lc2( #文字置換( #文字置換( #文字置換( [単語], &SP, &commaAnk ), &knjSP, &commaAnk ), &dotAnk, &commaAnk ) ), " + &ankWQ + #lc2( &string ) + &ankWQ + " ) <> 0" 条件 ( &traceON ) トレース出力 _&expression
if ( ¶meter = "絞り込み" ) ¯o = "絞り込み " + "&fieldName_&expression, 終了状態 = &status" else ¯o = "検索 " + &action + "&fieldName_&expression, 終了状態 = &status" end
コマンド ¯o 条件 ( &traceON ) トレース出力 _¯o 条件 ( &traceON ) トレース出力 _&status
end
if ( &status = -1 .or ¶meter = "絞り込み" .and #eof )
&msg = "検索文字が見つかりません" &msg = &msg + "\n" + #複写( "-", 50 ) &msg = &msg + "\n\n" + &ankWQ + &string + &ankWQ **&msg = &msg + "\n\n" + &ankWQ + &orgString + &ankWQ &msg = &msg + "\n\n検索方向 :" + #cond( ¶meter <> #u, #cond( ¶meter = "前行", "↑", ¶meter = "次行", "↓", 1, ¶meter ), 1, "先頭から" )
if ( .not &mSearchByWord ) &msg = &msg + "\n\n拡張辞書順:" + #cond ( &mode, "ON", 1, "OFF" ) else &msg = &msg + "\n\n単語単位:ON" &msg = &msg + "\n\n<重要>" &msg = &msg + "\n\n単語単位の検索対象の文字列は" &msg = &msg + "\n\n空白文字(全角・半角)、または半角コンマ(,)で区切られている必要があります" &msg = &msg + "\n\n※注意:検索する文字列に空白文字(全角・半角)、または半角コンマ(,)が含まれていると検索に失敗します" &msg = &msg + "\n\n<ヒント>" &msg = &msg + "\n\n単語単位のチェックをオフ(OFF) にして検索してみてください" end
メッセージボックス &title, &msg, アイコン = i, ボタン指定 = 1, 制御文字展開 = する
end
条件 ( &traceON ) トレース出力 &traceMsg + "を実行終了しました" 手続き定義終了
p.s.
もしも、解決したらですが・・・
解決済み! BOX/ 解決したらチェックしてください!
|
|
|
■14206 / ResNo.14) |
Re[2]: [英単語] を単語単位で検索・絞込する方法
|
□投稿者/ うにん -(2024/03/03(Sun) 19:41:38)
| ピリオドがある場合の話が出てきましたが、単語の区切りとして扱う文字は全部空白に置換してしまえば同じことです。 ピリオドだけ処理を追加すると(「VOL」が検索する文字列の例) #COND(#文字位置(" "+#UC(#文字置換([],"."," "))+" ", " VOL "),[],1,[]+"A")
|
|
|
■14207 / ResNo.15) |
Re[3]: [英単語] を単語単位で検索・絞込する方法
|
□投稿者/ ONnoji -(2024/03/03(Sun) 21:48:23)
| 2024/03/03(Sun) 21:53:36 編集(投稿者)
横レス失礼します。m(__)m
> ピリオドがある場合の話が出てきましたが、単語の区切りとして扱う文字は全部空白に置換してしまえば同じことです。
Yes, や No, もあるので、コンマも対象にした方が良いかもです・・・(^^ゞ
ちなみに、当方のサンプルは #対応番号( [field], "word" ) <> 0 で判定しているので元々必要ありませんけど。
|
|
|
■記事リスト /
レス記事表示 →
[親記事-9]
[10-15]
|