ホーム   フォーラム   FAQ
 
メインメニュー
ログイン
ユーザー名:

パスワード:


パスワード紛失

テキストファイルの出力について

  • このフォーラムに新しいトピックを立てることはできません
  • このフォーラムではゲスト投稿が禁止されています
前の投稿 - 次の投稿 | 親投稿 - 子投稿なし | 投稿日時 2012-1-19 16:47 | 最終変更
Jiro123  長老   投稿数: 271
確か、V8の時は、内部の文字コードはShiftJISコードがベースとなっていたのが、V10以降から、内部の文字コードがUnicodeに変更されたと聞いています。

そういったことから、バージョンの違いが関係している可能性はありますし、また、V8では、たまたま出来ていたという可能性があるかもしれません。

V10以降では、先の投稿で示した方法で、出力できることを確認しましたので、ご確認頂ければと思います。

投票数:2 平均点:5.00
前の投稿 - 次の投稿 | 親投稿 - 子投稿.1 | 投稿日時 2012-1-19 12:59
ohayashi  新米   投稿数: 15
丹田様、jiro123様、ありがとうございます。

Magic Ver8(WindowsXP,7の両方でやってみました)で0x7Fが、テキストファイルに書かれるのは、Magicの気まぐれということでしょうか?

Magic Ver10で1文字だけ0x7Fが書かれるのは、テキストファイルのエンコードの問題でしょうか?

要は制御コードをシステム内に持ち込まないのが、1番だとは思いますが・・・・
投票数:0 平均点:0.00
前の投稿 - 次の投稿 | 親投稿 - 子投稿なし | 投稿日時 2012-1-19 11:16
Jiro123  長老   投稿数: 271
確か、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)
となります。

投票数:1 平均点:10.00
前の投稿 - 次の投稿 | 親投稿 - 子投稿なし | 投稿日時 2012-1-18 22:31
Tanda  長老   投稿数: 2151
ohayashi さん、こんにちは。

テキストデータならそれでいいような気がしますが、それより、
V8 だと変換されないっていうほうが、変なような気がしますね。

タンダコンピュータ/丹田 昌信
投票数:1 平均点:10.00
前の投稿 - 次の投稿 | 親投稿 - 子投稿.1 .2 .3 | 投稿日時 2012-1-18 21:51
ohayashi  新米   投稿数: 15
MAGIC初心者です。
どなたか教えてください。

データからテキストファイルの出力時(例えば、APGを使用して)、
ヘキサコード"7F"が空白になってしまいます。
具体的には、
データがHEX"4141417F7F"だった場合、
ファイル出力すると、HEX"4141417F20"になってしまいます。

何か、環境設定の問題でしょうか?

DBMAGICは「Ver10.1 SP2」、DBは「PSQL Ver11 SP1」、OSは「Windows7」です。

同じPC、DBで、MAGIC Ver8だと、うまくいきます。

よろしくお願いします。
投票数:0 平均点:0.00

  条件検索へ


Copyright (C) Magic Software Japan K.K. All Rights Reserved.
個人情報保護方針 会員規約