文字コード変更No.14993
grx78 さん 03/10/16 10:11
 
お世話になっております。

以下のようなマクロが欲しいのですが、何方か教えて頂けないでしょうか?
1.鶴亀本体内で文字コードの変換をしたい
  受信/送信済みなどのメールのコードを変換したい
2.鶴亀エディタでも変換をしたい
  エディタではメニューにありますが・・・

ちなみに、鶴亀エディタで文字コードを変換し、
メールの内容は正しく表示されるようになりますが、
タイトルバーの表示は文字化けしたままですね・・・

[ ]
RE:14993 文字コード変更No.14996
秀まるお2 さん 03/10/16 12:02
 
 エディタ上の「設定・文字コード」の指定を鶴亀メール本体上でも実行したい
って話でしょうか?。だとしたら、マクロを使えば一応できます。

 何か的はずれな返事でしたら、もうちょっと具体的にやりたいことを教えて欲
しいです。

---------------
    loaddll "tkinfo.dll";
    menu "日本語", "欧文";
    if( result == 0 ) {
        endmacro;
    }
    #code = result;
    #n = dllfunc("OpenMail");
    if( readonly ) {
        #n = dllfunc("EnableEdit");
    }
    $code[1] = "iso-2022-jp";
    $code[2] = "euro";
    #n = dllfunc("SetCharSet", $code[ #code ] );
    question "保存しますか?";
    if( result == yes ) {
        #n = dllfunc("AlterSave");
    }
    quit;

[ ]
RE:14993 文字コード変更No.14997
秀まるお2 さん 03/10/16 12:03
 
> ちなみに、鶴亀エディタで文字コードを変換し、
> メールの内容は正しく表示されるようになりますが、
> タイトルバーの表示は文字化けしたままですね・・・

 これはこれでバグのようです。修正させていただきます。

[ ]
RE:14997 文字コード変更No.14998
秀まるお2 さん 03/10/16 12:46
 
 バグじゃなくて、やっぱり仕様のようです。

 現在のエディタ・ウィンドウは、いわゆるMultiByte文字コードセットのウィ
ンドウとなってまして、Unicode固有の文字をタイトルバー部分に表示すること
は出来ません。

 Unicode固有の文字を表示させるには、Unicodeウィンドウにしないといけない
んですが、これをやると、カナロックしてる時にAlt+Fが効かないなどの弊害が
起きてしまいます。また、そもそもWindows95/98/Me系ではUnicodeウィンドウは
作れないので、Windows98系とNT系とで別対応しないといけないです。

 ということで、現状仕様でお願いします。

[ ]
RE:14996 文字コード変更No.14999
grx78 さん 03/10/16 12:51
 
> エディタ上の「設定・文字コード」の指定を
>鶴亀メール本体上でも実行したいって話でしょうか?。

1つはそうですが、エディタ上でもマクロで変更できないでしょうか?
また、本体とエディタの変更を1つのマクロでできないでしょうか?

[ ]
RE:14998 文字コード変更No.15000
grx78 さん 03/10/16 12:52
 
> バグじゃなくて、やっぱり仕様のようです。
> ということで、現状仕様でお願いします。

了解致しました。有難うございました。

[ ]
RE:14996 文字コード変更No.15001
grx78 さん 03/10/16 13:01
 
教えて頂いたマクロを試してみました。
エディタを開かずに変更することはできないのでしょうか?

[ ]
RE:15001 文字コード変更No.15003
秀まるお2 さん 03/10/16 13:42
 
 エディタで開かずに、さらに、エディタ上でも本体上でも実行できて、しかも、
とにかく暗黙のうちの保存してしまうマクロにしました。

    loaddll "tkinfo.dll";
    menu "日本語", "欧文";
    if( result == 0 ) {
        endmacro;
    }
    #code = result;
    #Main = dllfunc("IsTuruKameMain");
    if( #Main ) {
        $code[1] = "iso-2022-jp";
        $code[2] = "iso-8859-1";
        #n = dllfunc("BeginEditMail");
        if( dllfuncstr("CurrentHeader", "X-Body-Content-Type") != ""
         || strstr( dllfuncstr("CurrentHeader", "Content-Type")
                  , "charset") == -1 ) {
            #n = dllfunc("SetHeader", "X-Body-Content-Type", "text/
            plain; charset=" + $code[#code] );
        } else {
            #n = dllfunc("SetHeader", "Content-Type"
                        , "text/plain; charset=" + $code[#code] );
        }
        #n = dllfunc("SaveEditMail", 0);
    } else {
        $code[1] = "iso-2022-jp";
        $code[2] = "euro";
        if( readonly ) {
            #n = dllfunc("EnableEdit");
        }
        #n = dllfunc("SetCharSet", $code[ #code ] );
        if( dllfuncstr("MailFileName")  != "" ) {
            #n = dllfunc("AlterSave");
        }
    }

[ ]
RE:15003 文字コード変更No.15004
grx78 さん 03/10/16 14:12
 
マクロを有難うございました。
私が欲しかったマクロになりました。
しかし・・・
鶴亀本体の"iso-8859-1"は"euro"のことになるのでしょうか?
他のコード、例えば韓国語に変換する場合はいくつになるのでしょうか?

宜しくお願い致します。

[ ]
RE:15004 文字コード変更No.15005
grx78 さん 03/10/16 14:20
 
>鶴亀本体の"iso-8859-1"は"euro"のことになるのでしょうか?
>他のコード、例えば韓国語に変換する場合はいくつになるのでしょうか?

すみません。鶴亀本体のヘルプに書いてありましたね。
"SetCharSet"関数のヘルプにあった「korea」と変更したら、
うまく変換されませんでした。
「iso-2022-kr」にしたら、正常に変換されました。

色々と有難うございました。m(__)m

[ ]
RE:15005 文字コード変更No.15010
Iranoan さん 03/10/16 17:46
 
 秀まるおさん今日は、Iranoan です。
> "SetCharSet"関数のヘルプにあった「korea」と変更したら、
> うまく変換されませんでした。
 これはこれで問題だと思いますが、タイ語の記載がありませんね。

[ ]
RE:15010 文字コード変更No.15014
秀まるお2 さん 03/10/16 17:57
 
>  これはこれで問題だと思いますが、タイ語の記載がありませんね。

 僕もマクロのヘルプを見ていて気づきましたが、まだ直してません。

 今直します。

[ ]
RE:15014 文字コード変更No.15015
Iranoan さん 03/10/16 18:19
 
 秀まるおさん今日は、Iranoan です。
> >  これはこれで問題だと思いますが、タイ語の記載がありませんね。
>
>  僕もマクロのヘルプを見ていて気づきました
 宜しくお願いします。

[ ]