みんなに優しく、解りやすくをモットーに開設しています。 以下のルールを守りみんなで助け合いましょう。
1.ファイルメーカーで解らない事があればここで質問して下さい。 何方でも、ご質問・ご回答お願いします。 (優しく回答しましょう)
You are not logged in.
Pages: 1
win10、Pro15
FM上でキーボード的なのを作成してます。
50音ボタンがあり、濁音や半濁音にするときは、清音ボタン押して濁点ボタンを押すと濁音になるようにしています。
============================================
【やりたいこと】
濁音の状態で、もう一回濁点ボタン押したら清音に戻すようにしたいです。
(半濁音、拗音や小書き文字も)
例)
「か」⇒「゛」=【が】 ⇒「゛」=【か】
※「」はボタン【】は結果
============================================
スクリプトで
case(
F="か" ;"が";
F="が";"か")
としたのですが、デバッガで見たら”か”と"が"の識別ができてませんでした。
索引でみると別物として認識されているようなんですが。。。(なので検索の動作も正常)
拗音についても同じです。
識別しないのが普通なんですかね。。。?
(情報不足でしたらご指摘頂ければと思います)
半角のカタカナに変換して、処理を行ってから、全角へ戻すのが簡単でしょう。
Code をみて分岐してもいいのでは。
Offline
Case(
Exact ( F ; "か" ) ; "が";
Exact ( F ; "が" ) ; "か"
)
ではいかがでしょうか?
=演算子で文字列比較を行うと、大文字と小文字が区別されません。
If( "ABC"="abc" ; "True" ; "False" )
はTrueを返します。
それと同じように
If( "かきくけこ"="がぎぐげご" ; "True" ; "False" )
はTrueを返します。
If( "かきくげご"="がぎぐけこ" ; "True" ; "False" )
のように、清音と濁音/半濁音を混在させても、Trueを返すのでやはり区別されないようです。
厳密に比較する場合は、Exact関数で
If( Exact("ABC";"abc") ; "True" ; "False" )
If( Exact("かきくけこ";"がぎぐげご") ; "True" ; "False" )
とすると、Falseを返してくれます。
Last edited by koeda (2019-06-24 09:31:18)
Offline
Shin様、koeda様、ありがとうございます。
Shin様の半角のカタカナに変換して戻すやり方、
koeda様のExactのやり方どちらでもできること確認できました。
今回はExactのやり方でやってみることにしました。
(慣れていない方に引き継ぐときにぱっと見分かりやすいような気がするので。。。)
大変助かりました!
感謝致します。
Pages: 1
[ Generated in 0.006 seconds, 9 queries executed - Memory usage: 504.16 KiB (Peak: 514.88 KiB) ]