(現在 過去ログ63 を表示中)

HOME HELP 新規作成 新着記事 トピック表示 ファイル一覧 検索 過去ログ

[ 親記事をトピックトップへ ]

このトピックに書きこむ

過去ログには書き込み不可

■9727 / inTopicNo.1)  Re[13]: 全角、半角の変換
  
□投稿者/ ONnoji -(2016/03/11(Fri) 12:18:05)
    2016/03/11(Fri) 12:24:07 編集(投稿者)
    2016/03/11(Fri) 12:23:29 編集(投稿者)
    2016/03/11(Fri) 12:22:45 編集(投稿者)

    >>元々のサンプルを桐9のままで桐10の一括で実行したら下記のように
    >>パーソナルコンピュータ
    >>と変換されたので桐10の#ISカナの解釈が元表のバージョンに関係なく
    >>なっているのだと思います。
    >
    > その通りです。
    >
    > なぜか、桐9-2012 と 桐10 で #isカナ() の戻り値が違います。※#is記号()の戻り値も違う (ーー;)
    >
    > 従来との互換性の問題があるので、K3さんへ調査をお願いしています。

    具体的な違いについて以下に示します。

    1.#isカナ( )関数の引数が 0 の時、半角の{濁点・半濁点・長音}の戻り値が桐9-2012と異なります。

    2.#is記号( )関数で長音を調べると、戻り値が桐9-2012と異なります。

    ◇ ◇ ◇ ◇ ◇ ◇ ◇ ◇ ◇

    #isカナ( )関数

    桐9-2012
    #isカナ(全/半,0) #isカナ(全/半,1)
    濁点 :゛ 0/1 0/1
    半濁点:゜ 0/1 0/1
    長音 :ー 0/1 0/1


    桐10
    #isカナ(全/半,0) #isカナ(全/半,1)
    濁点 :゛ 0/0 0/1
    半濁点:゜ 0/0 0/1
    長音 :ー 0/0 0/0 ←長音の戻り値が桐9-2012と異なる
          ↑
           #isカナ(全/半,0)の戻り値が桐9-2012と異なる

    ◇ ◇ ◇ ◇ ◇ ◇ ◇ ◇ ◇

    #is記号( )関数

    桐9-2012
    #is記号(全/半,0) #is記号(全/半,1)
    濁点 :゛ 1/1 1/1
    半濁点:゜ 1/1 1/1
    長音 :ー 0/0 0/0

    桐10
    #is記号(全/半,0) #is記号(全/半,1)
    濁点 :゛ 1/1 1/1
    半濁点:゜ 1/1 1/1
    長音 :ー 1/1←異なる 1/1←長音の戻り値が桐9-2012と異なる


引用返信 [メール受信/OFF] 削除キー/
■9726 / inTopicNo.2)  Re[12]: 全角、半角の変換
□投稿者/ ONnoji -(2016/03/10(Thu) 20:40:30)
    2016/03/10(Thu) 21:03:55 編集(投稿者)
    2016/03/10(Thu) 20:47:39 編集(投稿者)

    まとめて二つのリプライをします。

    1.

    > サンプルを解凍後そのまま桐10を使い一括で文字変換しました。
    > ばっちり変換します。

    動作確認ありがとうございます。m(__)m

    > 元々の要望が曖昧だったので記号などもどうしたいのかわかりませんが
    > 普通の住所表記でしたら充分ではないかと思います。
    > 全角にすべき半角文字は少ないのでローマ字部分と記号部分と
    > 数字部分を#計算()関数で一度に希望の文字に変えたほうが
    > 紛れがなくて簡単だと思っています。

    このツリーの出発点は実に曖昧で、
    いかなるニーズでカタカナを全角にしたいのか未だにサッパリ分かりません。

    データの内容次第によっては、はたして#半角([])で変換しても良いのやらと、とても不安を感じます。

    しかし、データとして登録した文字列は殆どが固有名詞だろうと思われます。

    例)アリナミンEXゴールド

    従って、ワープロ文章に多く用いられる句点読点などの記号類は基本的に含んでいないと推測されて、
    たぶん大丈夫なんだろうなぁ〜と思っています。

    <参考データ>

    全角文字 HEX    半角文字 HEX
    、    2122    、    A4  句点 ← 半角にしない方が良さそう
    。    2123    。    A1  読点 ← 半角にしない方が良さそう
    ,    2124    ,    2C  コンマ
    .    2125    .    2E  ドット
    ・    2126    ・    A5  中点(中黒)← 半角にしない方が良さそう
    :    2127    :    3A  コロン
    ;    2128    ;    3B  セミコロン
    ?    2129    ?    3F  疑問符
    !    212A    !    21  感嘆符
    ゛    212B    ゙    DE  濁点  ← 半角にしない方が良さそう
    ゜    212C    ゚    DF  半濁点 ← 半角にしない方が良さそう
    ^    2130    ^    5E  べき乗 ← 全角にしない方が良さそう
    _    2132    _    5F  下線  ← 全角にしない方が良さそう
    /    213F    /    2F  スラッシュ
    〜    2141    ~    7E  波形(波ダッシュ)←波形(〜)をチルダに似たのにしちゃ駄目だろね
    |    2143    |    7C  パイプ
    ‘    2146    `    60  引用符(始)
    ’    2147    '    27  引用符(終)
    ”    2149    "    22  二重引用符 二重引用符“ があったら半角にできないね
    (    214A    (    28  丸括弧(始)
    )    214B    )    29  丸括弧(終)
    [    214E    [    5B  角括弧(始)
    ]    214F    ]    5D  角括弧(終)
    {    2150    {    7B  波括弧(始)
    }    2151    }    7D  波括弧(終)
    「    2156    「    A2  鉤括弧(始)
    」    2157    」    A3  鉤括弧(終)
    +    215C    +    2B  プラス記号
    −    215D    -    2D  マイナス記号
    =    2161    =    3D  等号
    <    2163    <    3C  小なり
    >    2164    >    3E  大なり
    ¥    216F    \    5C  円記号
    $    2170    $    24  ドル記号
    %    2173    %    25  パーセント記号
    #    2174    #    23  番号記号(井桁記号)
    &    2175    &    26  アンパサンド
    *    2176    *    2A  アスタリスク
    @    2177    @    40  アットマーク


    2.

    > >>再現方法をお知らせください。
    > 1> 桐9-2012 では テ゜パート 
    > 2> 桐10   では テ゜パート
    >>になりました。
    >
    > 桐10の環境しかないので一括では2の結果になったので
    > 投稿した次第でした。
    > Win7 桐10でONnojiさんのサンプルを桐10にコンバートして表に直接入力
    > しました。
    > サンプルの文字はMSIMEで半角カナで入力した文字です。

    元々が一括処理( cmd )だったので、まさか桐10の一括処理( cmx )に変換して実行するとは思っていませんでした。

    しかし、桐10は一括処理( cmd )も実行できるので念のために試したところ再現した次第です。

    そうとは知らずにマイナス記号を持ち出したりして大変失礼しました。m(__)m

    今後は、実行環境を必ず明示しないと混乱すると強く思った次第です。

    > 元々のサンプルを桐9のままで桐10の一括で実行したら下記のように
    > パーソナルコンピュータ
    > と変換されたので桐10の#ISカナの解釈が元表のバージョンに関係なく
    > なっているのだと思います。

    その通りです。

    なぜか、桐9-2012 と 桐10 で #isカナ() の戻り値が違います。※#is記号()の戻り値も違う (ーー;)

    従来との互換性の問題があるので、K3さんへ調査をお願いしています。

    ツリーが乱れるので一番外側のスレッドにリプライします。



引用返信 [メール受信/OFF] 削除キー/
■9725 / inTopicNo.3)  Re[12]: 全角、半角の変換
□投稿者/ 今村 誠 -(2016/03/10(Thu) 18:39:00)
    ONnojiさんこんにちは
    > &resultString = #文字置換( &resultString, &ank長音, &knj長音 )
    > で、isカナ( )関数で判定せず、無条件で長音を全角に変換するようにしました。
    > 変更したものを添付しました。

    お手数をおかけしました。
    サンプルを解凍後そのまま桐10を使い一括で文字変換しました。
    ばっちり変換します。
    元々の要望が曖昧だったので記号などもどうしたいのかわかりませんが
    普通の住所表記でしたら充分ではないかと思います。
    全角にすべき半角文字は少ないのでローマ字部分と記号部分と
    数字部分を#計算()関数で一度に希望の文字に変えたほうが
    紛れがなくて簡単だと思っています。

    ケースバイケースで対応したらいいのではないかと思います。

引用返信 [メール受信/OFF] 削除キー/
■9724 / inTopicNo.4)  Re[11]: 全角、半角の変換
□投稿者/ 今村 誠 -(2016/03/10(Thu) 17:57:53)
    2016/03/10(Thu) 18:19:51 編集(投稿者)

    ONnojiさんこんにちは
    >>再現方法をお知らせください。
    1> 桐9-2012 では テ゜パート 
    2> 桐10   では テ゜パート
    > になりました。

    桐10の環境しかないので一括では2の結果になったので
    投稿した次第でした。
    詳しく書けばよかったですねすいません。
    Win7 桐10でONnojiさんのサンプルを桐10にコンバートして表に直接入力
    しました。
    サンプルの文字はMSIMEで半角カナで入力した文字です。

    元々のサンプルを桐9のままで桐10の一括で実行したら下記のように
    パーソナルコンピュータ
    と変換されたので桐10の#ISカナの解釈が元表のバージョンに関係なく
    なっているのだと思います。

引用返信 [メール受信/OFF] 削除キー/
■9723 / inTopicNo.5)  Re[11]: 全角、半角の変換
□投稿者/ ONnoji -(2016/03/10(Thu) 16:38:52)
    2016/03/10(Thu) 17:33:00 編集(投稿者)
    2016/03/10(Thu) 16:40:55 編集(投稿者)
    2016/03/10(Thu) 16:40:12 編集(投稿者)

    とりあえず、

    &resultString = #文字置換( &resultString, &ank長音, &knj長音 )

    で、isカナ( )関数で判定せず、無条件で長音を全角に変換するようにしました。

    変更したものを添付しました。




1457595532.zip
/4KB
引用返信 [メール受信/OFF] 削除キー/
■9722 / inTopicNo.6)  Re[10]: 全角、半角の変換
□投稿者/ ONnoji -(2016/03/10(Thu) 16:13:27)
    2016/03/10(Thu) 16:19:51 編集(投稿者)

    >>同じ文字を#全角(変換前)と置換したら
    >>テ゜パート
    >>となりました。
    >>長音の半角文字は変換したほうが良いのではないでしょうか。
    >
    > この部分が???です。
    >
    > 再現方法をお知らせください。

    もしやと思って試してみました。

    桐9-2012 では テ゜パート

    桐10   では テ゜パート

    になりました。

    調べたところ、長音に対して #isカナ( )が返す値が違っているのが原因でした。

    今後は、実行した桐のバージョン情報が必要ですね。

    #isカナ( )の戻り値に関しては、K3さんへ問い合わせ中です。



引用返信 [メール受信/OFF] 削除キー/
■9719 / inTopicNo.7)  Re[9]: 全角、半角の変換
□投稿者/ ONnoji -(2016/03/10(Thu) 12:34:22)
    2016/03/10(Thu) 16:52:59 編集(投稿者)
    2016/03/10(Thu) 14:12:05 編集(投稿者)
    2016/03/10(Thu) 12:39:24 編集(投稿者)

    > 同じ文字を#全角(変換前)と置換したら
    > テ゜パート
    > となりました。
    > 長音の半角文字は変換したほうが良いのではないでしょうか。

    この部分が???です。

    再現方法をお知らせください。

    <追伸>

    最初に#半角() で半角にしているので、長音も半角になっています。

    半角の長音は isカナ( )が真なので全角に変換すると思いますが…

    <さらに追伸>

    マイナス記号と長音は紛らわしいです。

    特に半角の場合には区別しずらくなります。

    長音のつもりで、うっかりマイナス記号を使っていたりしないですよね。


    <参考>※これは桐9-1012の戻り値 現行の桐10では戻り値が違うので要注意。

    全角の濁点と半濁点は、「記号」だ。
    しかし、半角の濁点と半濁点は、「記号」でなおかつ「カナ」だ。

    全角の長音は、記号でもカナでもない。
    半角の長音は、カナだ。

    全角文字,knj_Jis,knj_HEX, 半角文字,ank_Jis,ank_HEX, knj_is記号,ank_is記号, knj_isカナ,ank_isカナ

    濁点  … ゛,8491,212B,  ゙,222,DE, 1,1, 0,1
    半濁点 … ゜,8492,212C,  ゚,223,DF, 1,1, 0,1
    長音  … ー,8508,213C,  ー,176,B0, 0,0, 0,1


引用返信 [メール受信/OFF] 削除キー/
■9718 / inTopicNo.8)  Re[8]: 全角、半角の変換
□投稿者/ ONnoji -(2016/03/10(Thu) 12:13:57)
    2016/03/10(Thu) 12:33:02 編集(投稿者)
    2016/03/10(Thu) 12:28:21 編集(投稿者)
    2016/03/10(Thu) 12:18:15 編集(投稿者)
    2016/03/10(Thu) 12:15:44 編集(投稿者)

    > 誤入力で以下の文字を変換してみました。
    > テ゚パート
    > 結果は
    > テ゜パート
    > です。

    ご指摘ありがとうございます。

    まず、上の引用文に紛らわしい部分があるので訂正しておきます。

    (誤)テ゜パート  ← 長音が半角ですが??
    (正)テ゜パート ← 当方で試しましたが長音は全角になると思います。

    さて、誤って入力したのかどうかは別として、

    確かに濁音や半濁音と組み合わせられないカタカナの場合もあります。

    ちなみに、半角の濁音と半角の半濁音は isカナ( )が真になります。

    だから、全角に変換してもよいと考えることも出来ます。

    しかし、全角の濁音と半濁音は isカナ( )が偽になるのでありました。

    さて、テ゚パート を

    テ゚パート  ← 半濁音を半角のまま残す
    テ゜パート ← 半濁音を全角に変換する

    どちらにするのかは悩ましいところです。

    しかし、

    テパート ← 半濁音を削除

    という具合にバッサリと文字を削除してしまうのは乱暴でしょうね。

    だって半濁音を飾りに使っているかもしれませんから。

    拙作サンプルは、あくまでもサンプルということでご了承ください。

    なお、拙作サンプルは、半角カナを全角カナに変換するものですが、入力誤りを訂正するものではありません。

    > ローマ字入力だと長音「ー」は「0」の右ですが
    > カナ半角入力だと「ホ」になってシフトを押しても変化なく
    > 「ヘ」の右「BS」の左「ー」を入力しました。
    > ローマ字の長音は解りますが、カナ半角の長音はどのキーを
    > 使うのでしょうか?

    当方は、ローマ字入力一辺倒なので、カナ入力の方法に関してはまったくわかりません。ご了承ください。


引用返信 [メール受信/OFF] 削除キー/
■9714 / inTopicNo.9)  Re[7]: 全角、半角の変換
□投稿者/ 今村 誠 -(2016/03/10(Thu) 11:24:05)
    2016/03/10(Thu) 11:35:20 編集(投稿者)

    ONnojiさんコンニチハ
    誤入力で以下の文字を変換してみました。
    テ゚パート
    結果は
    テ゜パート
    です。ローマ字入力だと長音「ー」は「0」の右ですが
    カナ半角入力だと「ホ」になってシフトを押しても変化なく
    「ヘ」の右「BS」の左「ー」を入力しました。
    ローマ字の長音は解りますが、カナ半角の長音はどのキーを
    使うのでしょうか?
    同じ文字を#全角(変換前)と置換したら
    テ゜パート
    となりました。
    長音の半角文字は変換したほうが良いのではないでしょうか。
引用返信 [メール受信/OFF] 削除キー/
■9711 / inTopicNo.10)  Re[6]: 全角、半角の変換
□投稿者/ ONnoji -(2016/03/09(Wed) 12:23:01)
    2016/03/09(Wed) 14:46:59 編集(投稿者)
    2016/03/09(Wed) 13:06:31 編集(投稿者)
    2016/03/09(Wed) 12:43:56 編集(投稿者)

    eoさん、横レス失礼します。m(__)m

    > eo様の、下記の分が、ほぼ思っている結果を得られたのですが
    > ただひとつ
    > 「ジャパン」を変換すると「シ゛ャハ゜ン」となってしまいます。
    > 「゛」に変換されてしまいます。
    >
    > この一括処理を自力では修正不能です。
    >
    >>変数宣言 固有,文字列{&str,&kana},固有,整数{&文字数,&n,&i,&カナ}
    >>置換 [変換後]=#半角([変換前])
    >>繰り返し (.not #EOF)
    >> &n=#ISカナ([変換後],0)
    >>  ケース開始
    >>   ケース (&n>0)
    >>    &str=[変換後]
    >>    &文字数=#文字数([変換後])
    >>     繰り返し &i=1,&文字数
    >>      &kana=#部分列(&str,&i,1) 
    >>      &カナ=#ISカナ(&kana,1)
    >>      条件 (&カナ=1) &str=#文字置換(&str,&kana,#全角(&kana))
    >>     繰り返し終了
    >>   行訂正 [変換後]=&str
    >>  ケース終了
    >> ジャンプ 行番号=次行
    >>繰り返し終了

    半角のカナを全角にする場合、濁点と半濁点の処理が相当面倒です。

    そのために、eoさんの改良版は、

    半角のカナを全角にするのを諦めて、

    #IS英字 #IS数字 #IS記号 を駆使して、英字・数字・記号を半角にするアプローチをしたものです。

    当方も興味があったのでいろいろ試してみましたが、このアプローチもいろいろと問題が発生するようだと気が付きました。

    そこで、元に戻って、半角のカナを全角にするアプローチを試みて、

    半角のカナを全角にする場合の濁点と半濁点の処理を付け加えたサブルーチンを製作したところ、

    案外と上手くいくので添付ファイルでご案内いたします。


    <追伸>

    > こちらで行うと、数度が全角になってしまうのがあるんですが…

    ↑この“数度”というのは何のことでしょうか???


1457493781.zip
/4KB
引用返信 [メール受信/OFF] 削除キー/
■9710 / inTopicNo.11)  Re[5]: 全角、半角の変換
□投稿者/ eo -(2016/03/09(Wed) 11:51:48)
    あちゃー!ホントだわ!
    再改良したの添付します^^;


20160309.zip
/9KB
引用返信 [メール受信/OFF] 削除キー/
■9706 / inTopicNo.12)  Re[4]: 全角、半角の変換
□投稿者/ ひで -(2016/03/07(Mon) 16:30:24)
    すみません。
    こちらで行うと、数度が全角になってしまうのがあるんですが…


    No9705に返信(eoさんの記事)
    > 2016/03/07(Mon) 16:11:33 編集(投稿者)
    >
    > 改良済みのNo9683のでやってみてください。

1457335824.zip
/5KB
引用返信 [メール受信/OFF] 削除キー/
■9705 / inTopicNo.13)  Re[3]: 全角、半角の変換
□投稿者/ eo -(2016/03/07(Mon) 16:08:28)
    2016/03/07(Mon) 16:11:33 編集(投稿者)

    改良済みのNo9683のでやってみてください。
引用返信 [メール受信/OFF] 削除キー/
■9704 / inTopicNo.14)  Re[2]: 全角、半角の変換
□投稿者/ ひで -(2016/03/07(Mon) 11:50:31)
    みなさま、いろいろとありがとうございます。


    eo様の、下記の分が、ほぼ思っている結果を得られたのですが

    ただひとつ
    「ジャパン」を変換すると「シ゛ャハ゜ン」となってしまいます。
    「゛」に変換されてしまいます。

    この一括処理を自力では修正不能です。

    どうか、教えていただけないでしょうか?
    よろしくお願い致します。





    > 変数宣言 固有,文字列{&str,&kana},固有,整数{&文字数,&n,&i,&カナ}
    > 置換 [変換後]=#半角([変換前])
    > 繰り返し (.not #EOF)
    >  &n=#ISカナ([変換後],0)
    >   ケース開始
    >    ケース (&n>0)
    >     &str=[変換後]
    >     &文字数=#文字数([変換後])
    >      繰り返し &i=1,&文字数
    >       &kana=#部分列(&str,&i,1) 
    >       &カナ=#ISカナ(&kana,1)
    >       条件 (&カナ=1) &str=#文字置換(&str,&kana,#全角(&kana))
    >      繰り返し終了
    >    行訂正 [変換後]=&str
    >   ケース終了
    >  ジャンプ 行番号=次行
    > 繰り返し終了
    >
引用返信 [メール受信/OFF] 削除キー/
■9683 / inTopicNo.15)  Re[2]: 全角、半角の変換
□投稿者/ eo -(2016/02/18(Thu) 17:42:42)
    改良しました^^;

    変数宣言 固有,文字列{&str,&eiji,&suji},固有,整数{&文字数,&e,&s,&i}
    置換 [変換後]=#全角([変換前])
    繰り返し (.not #EOF)
     &e=#IS英字([変換後],0)
     &s=#IS数字([変換後],0)
      ケース開始
       ケース (&e>0)
        &str=[変換後]
        &文字数=#文字数([変換後])
         繰り返し &i=1,&文字数
          &eiji=#部分列(&str,&i,1) 
          &e=#IS英字(&eiji,1)
          条件 (&e=1) &str=#文字置換(&str,&eiji,#半角(&eiji))
         繰り返し終了
       行訂正 [変換後]=&str
       ケース (&s>0)
        &str=[変換後]
        &文字数=#文字数([変換後])
         繰り返し &i=1,&文字数
          &suji=#部分列(&str,&i,1) 
          &s=#IS数字(&suji,1)
          条件 (&s=1) &str=#文字置換(&str,&suji,#半角(&suji))
         繰り返し終了
       行訂正 [変換後]=&str
      ケース終了
     ジャンプ 行番号=次行
    繰り返し終了


1455784962.zip
/13KB
引用返信 [メール受信/OFF] 削除キー/
■9682 / inTopicNo.16)  Re[4]: 全角、半角の変換
□投稿者/ ONnoji -(2016/02/18(Thu) 14:42:26)
    2016/02/18(Thu) 14:55:48 編集(投稿者)
    2016/02/18(Thu) 14:47:25 編集(投稿者)

    > 英数だけ半角にするんだったら、力技でいいじゃん、と思ったが、カッコの入れ子が30重までと言われてしまった。
    > ので#計算で分割

    英字だけ数字だけ置換という話題は大昔からありますね。

    ちなみに、拙作もございます。

    詳しくはこちら
     ↓
    第2回 英字を半角全角に変換!|フォームアプリケーション応用
    http://www.geocities.jp/siliconvalley_bay_7565/procedure02.htm

    2015-09-04 new! 桐9-20XXバージョンの書庫がダウンロード出来ます。
    サンプルをダウンロード v9_stuff.lzh 約13KB ファイルは桐9-20XXバージョンです
    桐9-20XX と 桐10 を利用する場合にはこちらをダウンロードしてください。

    拙作サンプルを添付します。

    これは拙作HPからダウンロードしたものと同じです。


    <追伸>

    カタカナの変換に関するあくまでも個人的な感想です。

    半角カタカナには濁点や半濁点との組み合わせが存在します。

    だから半角カタカナ文字を一文字ずつ調べる場合、直後の濁点や半濁点もチェックしなければならない。

    全角カタカナ文字ではチェックは不要なので、カタカナ文字が全角なのか半角なのかのチェックも必要。

    このチェックは面倒なだけで、もちろん可能だが、

    しかし、わざわざ半角カタカナを全角に変換するというアプローチ自体に違和感を感じる。

    だって#全角で簡単に全角に変換できるのだからねぇ〜。※#半角で逆変換も一発だっ。

    一方、数字と英字の場合には、半角カタカナのように直後の文字を調べる必要がないので、

    数字と英字を半角に変換するアプローチの方が自然な感じがします。

    従って、半角カナをターゲットに全角変換しないで、一度すべての文字を全角に変換してから、

    必要ならば英字と数字を半角に変換すればOKだろうと思うのでありました。




v9_stuff.lzh
/13KB
引用返信 [メール受信/OFF] 削除キー/
■9681 / inTopicNo.17)  Re[3]: 全角、半角の変換
□投稿者/ うにん -(2016/02/18(Thu) 14:28:45)
    英数だけ半角にするんだったら、力技でいいじゃん、と思ったが、カッコの入れ子が30重までと言われてしまった。
    ので#計算で分割

    #計算(#代入(&STR,#S(#S(#S(#S(#S(#S(#S(#S(#S(#S(#全角([元]),"0","0"),"1","1"),"2","2"),"3","3"),"4","4"),"5","5"),"6","6"),"7","7"),"8","8"),"9","9")),#代入(&STR,#S(#S(#S(#S(#S(#S(#S(#S(#S(#S(#S(#S(#S(#S(#S(#S(#S(#S(#S(#S(#S(#S(#S(#S(#S(#S(&STR,"A","A"),"B","B"),"C","C"),"D","D"),"E","E"),"F","F"),"G","G"),"H","H"),"I","I"),"J","J"),"K","K"),"L","L"),"M","M"),"N","N"),"O","O"),"P","P"),"Q","Q"),"R","R"),"S","S"),"T","T"),"U","U"),"V","V"),"W","W"),"X","X"),"Y","Y"),"Z","Z")),#S(#S(#S(#S(#S(#S(#S(#S(#S(#S(#S(#S(#S(#S(#S(#S(#S(#S(#S(#S(#S(#S(#S(#S(#S(#S(&STR,"a","a"),"b","b"),"c","c"),"d","d"),"e","e"),"f","f"),"g","g"),"h","h"),"i","i"),"j","j"),"k","k"),"l","l"),"m","m"),"n","n"),"o","o"),"p","p"),"q","q"),"r","r"),"s","s"),"t","t"),"u","u"),"v","v"),"w","w"),"x","x"),"y","y"),"z","z"))

    やってから気づいたけど、「?」のようにどっちでもありうる文字があるんで、文脈まで判断しないと絶対無理ですねorz
引用返信 [メール受信/OFF] 削除キー/
■9680 / inTopicNo.18)  Re[1]: 全角、半角の変換
□投稿者/ eo -(2016/02/18(Thu) 09:59:57)
    数字、カタカナ、英字を半角に置換、カナが含まれている項目の半角カナを1文字毎に全角にするって感じでどうでしょう?
    mojitikan.tblを開いてmojitikan.cmdを実行してください。

    変数宣言 固有,文字列{&str,&kana},固有,整数{&文字数,&n,&i,&カナ}
    置換 [変換後]=#半角([変換前])
    繰り返し (.not #EOF)
     &n=#ISカナ([変換後],0)
      ケース開始
       ケース (&n>0)
        &str=[変換後]
        &文字数=#文字数([変換後])
         繰り返し &i=1,&文字数
          &kana=#部分列(&str,&i,1) 
          &カナ=#ISカナ(&kana,1)
          条件 (&カナ=1) &str=#文字置換(&str,&kana,#全角(&kana))
         繰り返し終了
       行訂正 [変換後]=&str
      ケース終了
     ジャンプ 行番号=次行
    繰り返し終了


mojitikan.zip
/4KB
引用返信 [メール受信/OFF] 削除キー/
■9679 / inTopicNo.19)  Re[3]: 全角、半角の変換
□投稿者/ まさやん -(2016/02/17(Wed) 21:00:59)
    > ひらがなも含まれます。
    >
    > #カナ(#半角(#かな(#全角([])))) では、ひらがなが「カナ」になってしまいます。

    そうですか。じゃ合いませんね。
引用返信 [メール受信/OFF] 削除キー/
■9678 / inTopicNo.20)  Re[3]: 全角、半角の変換
□投稿者/ 通りすがり -(2016/02/17(Wed) 14:38:20)
引用返信 [メール受信/OFF] 削除キー/

次の20件>

トピック内ページ移動 / << 0 | 1 >>
Mode/  Pass/

HOME HELP 新規作成 新着記事 トピック表示 ファイル一覧 検索 過去ログ

- Child Tree -
- Antispam Version -