初心者のFileMaker pro Q&A (旧掲示板)

みんなに優しく、解りやすくをモットーに開設しています。 以下のルールを守りみんなで助け合いましょう。

1.ファイルメーカーで解らない事があればここで質問して下さい。 何方でも、ご質問・ご回答お願いします。 (優しく回答しましょう)

You are not logged in.

Announcement

新しい掲示板は、こちら:https://fm-aid.com/forum/t/filemaker


#1 2015-06-17 11:05:57

クネ〜ル
Member

濁音ボタン スクリプト

FM10です。

「あ」から「ん」までのボタンを作成し、
それらのボタンをクリックするとAフィールドに
入力できるようにしました。

1回目「あボタン」 → Aフィールド あ
2回目「いボタン」 → Aフィールド あい

濁音・半濁音・拗音も入力したいのですが、
すべてのボタンを作成するスペースがないので、

例えば「濁音ボタン」を作成し、Aフィールドに
「が」を入力したいのなら、まず「か」を入力して、
「濁音ボタン」をクリックすると「か」を「が」に変更すればと思い、
以下のスクリプトを組んでみました。

計算結果を挿入 (内容を選択なし)
[Let (
a = Right ( Aフィールド ; 1 ) ;
  Case (
    a = "か" ; "が" ; a = "き" ; "ぎ" ; a = "く" ; "ぐ" ; a = "け" ; "げ" ; a = "こ" ; "ご" ; 
    a = "さ" ; "ざ" ; a = "し" ; "じ" ; a = "す" ; "ず" ; a = "せ" ; "ぜ" ; a = "そ" ; "ぞ" ;
    a = "た" ; "だ" ; a = "ち" ; "ぢ" ; a = "つ" ; "づ" ; a = "て" ; "で" ; a = "と" ; "ど" ;
    a = "は" ; "ば" ; a = "ひ" ; "び" ; a = "ふ" ; "ぶ" ; a = "へ" ; "べ" ; a = "ほ" ; "ぼ" )
  )]
if[Right ( Aフィールド ; 1 )  = "が" or Right ( Aフィールド ; 1 )  = "ぎ" or Right ( Aフィールド ; 1 )  = "ぐ"
    or Right ( Aフィールド ; 1 )  = "げ" or Right ( Aフィールド ; 1 )  = "ご" or Right ( Aフィールド ; 1 )  = "ざ"
    or Right ( Aフィールド ; 1 )  = "じ" or Right ( Aフィールド ; 1 )  = "ず" or Right ( Aフィールド ; 1 )  = "ぜ"
    or Right ( Aフィールド ; 1 )  = "ぞ" or Right ( Aフィールド ; 1 )  = "だ" or Right ( Aフィールド ; 1 )  = "ぢ"
    or Right ( Aフィールド ; 1 )  = "づ" or Right ( Aフィールド ; 1 )  = "で" or Right ( Aフィールド ; 1 )  = "ど"
    or Right ( Aフィールド ; 1 )  = "ば" or Right ( Aフィールド ; 1 )  = "び" or Right ( Aフィールド ; 1 )  = "ぶ"
    or Right ( Aフィールド ; 1 )  = "ぺ" or Right ( Aフィールド ; 1 )  = "ぼ"]
  計算結果を挿入 (内容を選択あり)[Substitute ( Aフィールド ; Right ( Aフィールド ; 2 ) ; Right ( Aフィールド ; 1 ))]
Else
  現在のスクリプト終了
End If

我ながら上手くできたと思っておりましたが、

1回目「かボタン」→Aフィールド か
2回目「かボタン」と「濁音ボタン」→ かが
3回目「かボタン」と「濁音ボタン」→ がが となる 本当は かがが となるはず

どうしたらよいでしょうか。根本的に考えが間違っているのなら貴方ならどうされますか。
よろしくご指導お願いいたします。

Offline

#2 2015-06-17 11:44:59

scripter
Guest

Re: 濁音ボタン スクリプト

フィールド設定[ Let ( [
a=Right(F;1) ;
a = Hiragana ( Kanazenkaku ( Kanahankaku ( Katakana( a ) ) & "濁点" ) )
];
Case ( Length ( a ) = 1 ; Left ( F ; Length(F) -1) & a ; F )
)]

#3 2015-06-17 12:08:06

チポ
Member

Re: 濁音ボタン スクリプト

その原因だけ

3回目
  かが
  かがか
  かがかが
となって、
「かが」を「が」に変えるのですから「がが」となりますね。

Offline

#4 2015-06-18 19:05:21

クネ〜ル
Member

Re: 濁音ボタン スクリプト

scripterさんのご回答を少し引用してこんな風にしてみました。

計算結果を挿入[選択;Aフィールド ; Hiragana ( KanaHankaku ( Katakana ( Aフィールド )) & "゛" )]
フィールド設定[Aフィールド ; Substitute ( Aフィールド ; ["か゛" ; "が"] ; ["き゛" ; "ぎ"] ; ["く゛" ; "ぐ"] ; ["け゛" ; "げ"] ; ["こ゛" ; "ご"] ; ["さ゛" ; "ざ"] ;
  ["し゛" ; "じ"] ; ["す゛" ; "ず"] ; ["せ゛" ; "ぜ"] ; ["そ゛" ; "ぞ"] ; ["た゛" ; "だ"] ; ["ち゛" ; "ぢ"] ; ["つ゛" ; "づ"] ; ["て゛" ; "で"] ; ["と゛" ; "ど"] ;
   ["は゛" ; "ば"] ; ["ひ゛" ; "び"] ; ["ふ゛" ; "ぶ"] ; ["へ゛" ; "べ"] ; ["ほ゛" ; "ぼ"] )]

同じく半濁音もこんな風にしてみました。
計算結果を挿入[選択;Aフィールド ; Hiragana ( KanaHankaku ( Katakana ( Aフィールド )) & "゜" )]
フィールド設定[Aフィールド ; Substitute ( Aフィールド ; ["は゜" ; "ぱ"] ; ["ひ゜" ; "ぴ"] ; ["ふ゜" ; "ぷ"] ; ["へ゜" ; "ぺ"] ; ["ほ゜" ; "ぽ"] )]

拗音はこんな風にしてみました。
計算結果を挿入[Aフィールド ; Substitute ( Right ( Aフィールド ; 1 ) ; ["や" ; "ゃ"] ; ["ゆ" ; "ゅ"] ; ["よ" ; "ょ"] )]
フィールド設定[Substitute ( Aフィールド ; ["やゃ" ; "ゃ"] ; ["ゆゅ" ; "ゅ"] ; ["よょ" ; "ょ"] )]

これでなんとか自分の思うようにできました。

Offline

Registered users online in this topic: 0, guests: 1
[Bot] ClaudeBot

Board footer

Powered by FluxBB
Modified by Visman

[ Generated in 0.020 seconds, 9 queries executed - Memory usage: 521.35 KiB (Peak: 525.89 KiB) ]