新しく発言する EXIT インデックスへ
2バイト文字の処理のバグ?

  2バイト文字の処理のバグ? 三宅 2007/06/23 22:02:00 
  OPTIONCHARACTERbyte 山中和義 2007/06/23 22:21:55 
   └山中さん、御返事ありがとうございます。 三宅 2007/06/23 22:46:17 
    └LEN関数はあります。上記のプログラムをみて... 山中和義 2007/06/23 23:26:42 
     └山中さん、ありがとうございます。 三宅 2007/06/23 23:30:17 
      └HELPを再度確認しました。 三宅 2007/06/23 23:34:07 

  2バイト文字の処理のバグ? 三宅 2007/06/23 22:02:00  ツリーへ

2バイト文字の処理のバグ? 返事を書く ノートメニュー
三宅 <rlbhhcbnws> 2007/06/23 22:02:00
初めまして、技術計算等に最近利用させていただいています。
先日ファイル名を取得してデータ処理したものをファイル名の一部を変更して保存し様としたところ、ファイル名の文字数とLEFT$の文字数が一致しないことに気が付きました。
原因はフォルダ名が日本語だったためで、パスとファイル名拡張子を分離できることが分かり解決したのですが、LEFT$,right$,MID$の処理が
2バイト文字も1バイトとして処理されているようです。
出来れば次回のバージョンUPででも改善されることをお願いします。
ともかく、このような高機能なソフトを提供いただいてありがとうございます。

  OPTIONCHARACTERbyte 山中和義 2007/06/23 22:21:55  ツリーへ

Re: 2バイト文字の処理のバグ? 返事を書く ノートメニュー
山中和義 <drdlxujciw> 2007/06/23 22:21:55
OPTION CHARACTER byte

LET a$="あいう12345"
PRINT LEN(a$)
PRINT left$(a$,4)

END



通常は文字単位ですが、
OPTION CHARACTER byteでバイト単位に文字を扱えます。

   └山中さん、御返事ありがとうございます。 三宅 2007/06/23 22:46:17  ツリーへ

Re: OPTIONCHARACTERbyte 返事を書く ノートメニュー
三宅 <rlbhhcbnws> 2007/06/23 22:46:17
山中さん、御返事ありがとうございます。
OPTION CHARACTER byteという宣言があったんですね。
ただ、私の行いたい事は、全角半角が入り混じった文字列の文字数を求めて、末尾何文字かを変更したいということなのです。
文字数を取得するLEN関数が見当たらないのでBLENを使うしかないようなのですが、それを使うとLEFT$等で2バイト文字が1バイト文字と同じ扱いになるようなのです。
以下のサンプルでは末尾のabcdを取り除きたいのですが、
上手くいきません。
何か良い策はあるでしょうか?

LET B$="2バイト文字の処理はabcd"
LET L= Blen(B$)
PRINT left$(B$,L-4) !"2バイト文字の処理は"を抜き出したい
END

    └LEN関数はあります。上記のプログラムをみて... 山中和義 2007/06/23 23:26:42  ツリーへ

Re: 山中さん、御返事ありがとうございます。 返事を書く ノートメニュー
山中和義 <drdlxujciw> 2007/06/23 23:26:42
LEN関数はあります。上記のプログラムをみてください。



LET B$="2バイト文字の処理はabcd"
LET L=LEN(B$)
PRINT L
PRINT left$(B$,L-4) !"2バイト文字の処理は"を抜き出したい
END

     └山中さん、ありがとうございます。 三宅 2007/06/23 23:30:17  ツリーへ

Re: LEN関数はあります。上記のプログラムをみて... 返事を書く ノートメニュー
三宅 <rlbhhcbnws> 2007/06/23 23:30:17
山中さん、ありがとうございます。
HELPを見ても見つからなかったので、てっきり無いものだと思い込んでいました。
これで、思いどうりのプログラムが書けます。
掲示板に書き込んだかいがありました。

      └HELPを再度確認しました。 三宅 2007/06/23 23:34:07  ツリーへ

Re: 山中さん、ありがとうございます。 返事を書く ノートメニュー
三宅 <rlbhhcbnws> 2007/06/23 23:34:07
HELPを再度確認しました。
Indexに出てこないだけで、Contentsから探せばありました。
探し方が不足していたようです。
ご迷惑をおかけしました。
ありがとうございます。


インデックスへ EXIT
新規発言を反映させるにはブラウザの更新ボタンを押してください。