当ブログに掲載しているサンプルは、すべて利用者の自己責任という形でお願いします。
ただし、明らかな不具合がある場合、ご連絡いただければ、訂正記事を出します。
また、こちらのサンプルは、別のサイト等への公開、転載は一切禁止しています。
どうしてもと言う場合は、筆者にあらかじめご連絡ください。

テクてく Lotus 技術者 Slack に参加しよう!

2012年2月9日木曜日

全角とか半角とか大文字とか小文字とかを統一しよう

こんにちは。
昨日、Twitter/Facebook上で、「しばらくブログ更新出来ないかも・・・」と言ったにもかかわらず、ご機嫌なことがあったので(^^)、記事を書きます。

と言っても、大したネタは仕込めてないので余り期待しないでくださいね。


ということで、本題に入る前に恒例のにほんブログ村 IT技術ブログへボタンをクリックしてください。



今回は、久しぶりの@関数についてです。なんと、約1年ぶりです。

文字列を入力する際、大文字とか小文字とか全角とか半角とか、決まりを付けたいときがありますね。
しかし、ルールを決めても守ってくれない場合があります。

そんなときは、素直にノーツの@関数で変換してしまいましょう。


では、サンプルです。
最初に、変換したい文字列を入力します。
次に、どのような変換方式にするのかを選択します。
最後に、変換方式に従った内容をプロンプトで表示するというものです。

大文字小文字への変換がそれぞれ、@UpperCase()関数と@LowerCase()関数です。
全角半角への変換はそれぞれ、@Wide()関数と@Narrow()関数です。
2×2ということで、全部で4パターンあるので、選択肢は4つになっています。

tmp := @Prompt([OkCancelEdit];"文字列の変換";"カタカナ英数字を何か入力してください。";"");
sel := @Prompt([OkCancelCombo];"変換方式";"文字列の変換方式を選択してください。";"";"1.大文字全角":"2.大文字半角":"3.小文字全角":"4.小文字半角");


ret := @If(sel="1.大文字全角";@UpperCase(@Wide(tmp));sel="2.大文字半角";@UpperCase(@Narrow(tmp));sel="3.小文字全角";@LowerCase(@Wide(tmp));sel="4.小文字半角";@LowerCase(@Narrow(tmp));"");

@Prompt([Ok];"変換後の文字列";ret)
ただ、残念なことに、この関数では「ひらがな」は変換の対象外になってしまうようです。
ひらがなを変換したい場合は、LotusScriptのStrConv関数を使いましょう。
サンプルは、文字列の変換にありますので、そちらを参照ください。





Lotus Notes/Dominoの事なら、何でも!!もちろん、XPages についても承ります!
Lotus Notes/Domino カスタマイズとセキュリティ強化 - 株式会社エフ