テキストファイルの出力について
- このフォーラムに新しいトピックを立てることはできません
- このフォーラムではゲスト投稿が禁止されています
ohayashi
投稿数: 15
![新米 新米](../../uploads/rank3e632f95e81ca.gif)
MAGIC初心者です。
どなたか教えてください。
データからテキストファイルの出力時(例えば、APGを使用して)、
ヘキサコード"7F"が空白になってしまいます。
具体的には、
データがHEX"4141417F7F"だった場合、
ファイル出力すると、HEX"4141417F20"になってしまいます。
何か、環境設定の問題でしょうか?
DBMAGICは「Ver10.1 SP2」、DBは「PSQL Ver11 SP1」、OSは「Windows7」です。
同じPC、DBで、MAGIC Ver8だと、うまくいきます。
よろしくお願いします。
どなたか教えてください。
データからテキストファイルの出力時(例えば、APGを使用して)、
ヘキサコード"7F"が空白になってしまいます。
具体的には、
データがHEX"4141417F7F"だった場合、
ファイル出力すると、HEX"4141417F20"になってしまいます。
何か、環境設定の問題でしょうか?
DBMAGICは「Ver10.1 SP2」、DBは「PSQL Ver11 SP1」、OSは「Windows7」です。
同じPC、DBで、MAGIC Ver8だと、うまくいきます。
よろしくお願いします。
投票数:0
平均点:0.00
Tanda
投稿数: 2151
![長老 長老](../../uploads/rank3dbf8eb1a72e7.gif)
ohayashi さん、こんにちは。
テキストデータならそれでいいような気がしますが、それより、
V8 だと変換されないっていうほうが、変なような気がしますね。
タンダコンピュータ/丹田 昌信
テキストデータならそれでいいような気がしますが、それより、
V8 だと変換されないっていうほうが、変なような気がしますね。
タンダコンピュータ/丹田 昌信
投票数:1
平均点:10.00
Jiro123
投稿数: 271
![長老 長老](../../uploads/rank3dbf8eb1a72e7.gif)
確か、Magicのバージョンに関係なく、改行やタブなどの、文章の作成に必要な制御コードは、そのままでは、テキストとして出力できなかったと思いますよ。
制御コードを出力したいには、
制御コード(127[0x7f])の前に無変換指定コード(255[0xff])を入れることで、対処できたと思います。
制御コードは、ASCIIChr関数で指定しますが、ASCIIChr関数の引数は、10進数を指定します。
>データがHEX"4141417F7F"
を出力したいということであれば、
0x41は半角文字のA、
0x7Fは制御コードのDELで、10進数に変換すると「127」となります。
Magicでの式としては、
上述の通り、制御コードの前に無変換指定コード(255)を付加して、
'AAA'&ASCIIChr (255)&ASCIIChr (127)&ASCIIChr (255)&ASCIIChr (127)
となります。
制御コードを出力したいには、
制御コード(127[0x7f])の前に無変換指定コード(255[0xff])を入れることで、対処できたと思います。
制御コードは、ASCIIChr関数で指定しますが、ASCIIChr関数の引数は、10進数を指定します。
>データがHEX"4141417F7F"
を出力したいということであれば、
0x41は半角文字のA、
0x7Fは制御コードのDELで、10進数に変換すると「127」となります。
Magicでの式としては、
上述の通り、制御コードの前に無変換指定コード(255)を付加して、
'AAA'&ASCIIChr (255)&ASCIIChr (127)&ASCIIChr (255)&ASCIIChr (127)
となります。
投票数:1
平均点:10.00
ohayashi
投稿数: 15
![新米 新米](../../uploads/rank3e632f95e81ca.gif)
丹田様、jiro123様、ありがとうございます。
Magic Ver8(WindowsXP,7の両方でやってみました)で0x7Fが、テキストファイルに書かれるのは、Magicの気まぐれということでしょうか?
Magic Ver10で1文字だけ0x7Fが書かれるのは、テキストファイルのエンコードの問題でしょうか?
要は制御コードをシステム内に持ち込まないのが、1番だとは思いますが・・・・
Magic Ver8(WindowsXP,7の両方でやってみました)で0x7Fが、テキストファイルに書かれるのは、Magicの気まぐれということでしょうか?
Magic Ver10で1文字だけ0x7Fが書かれるのは、テキストファイルのエンコードの問題でしょうか?
要は制御コードをシステム内に持ち込まないのが、1番だとは思いますが・・・・
投票数:0
平均点:0.00
Jiro123
投稿数: 271
![長老 長老](../../uploads/rank3dbf8eb1a72e7.gif)
確か、V8の時は、内部の文字コードはShiftJISコードがベースとなっていたのが、V10以降から、内部の文字コードがUnicodeに変更されたと聞いています。
そういったことから、バージョンの違いが関係している可能性はありますし、また、V8では、たまたま出来ていたという可能性があるかもしれません。
V10以降では、先の投稿で示した方法で、出力できることを確認しましたので、ご確認頂ければと思います。
そういったことから、バージョンの違いが関係している可能性はありますし、また、V8では、たまたま出来ていたという可能性があるかもしれません。
V10以降では、先の投稿で示した方法で、出力できることを確認しましたので、ご確認頂ければと思います。
投票数:2
平均点:5.00