テキスト出力時の後ろスペースが消去される件について
- このフォーラムに新しいトピックを立てることはできません
- このフォーラムではゲスト投稿が禁止されています
テキスト出力時の後ろスペースが消去される件について
msg# 1
mysticage
投稿数: 77
いつも参考にさせていただいています。
現在、データ(PSQLV10)から、テキストファイル(ファイル名.TXT)に出力するプログラムを作成中です。
(1レコード256バイトで改行あり)
APGのオプション=出力で、プログラムを作成し、それを元に、
プログラムを修正しました。
文字型の256サイズの変数を作成し、出力したい内容を文字列に変換などをし、連結サイズが256になるように[&]で連結し、それを256サイズの変数に代入し、出力しています。
連結される文字の最後には必ず、スペースが入るようにしています。
(ヘッダ、明細でスペースの桁数が違う)
しかし、出力したテキストファイルを開くと必ず、連結した文字列の最後の文字の後のスペースが消されて、1レコード256バイトで出力されません。
(文字列と文字列の間のスペースは問題ないのですが、最後の項目の文字の後のスペースがなく、すぐに改行されている)
1レコード256バイトで出力できるようにするにはどうのような方法やテクニックがありましたら教えて頂けないでしょうか。
よろしくお願い致します。
現在、データ(PSQLV10)から、テキストファイル(ファイル名.TXT)に出力するプログラムを作成中です。
(1レコード256バイトで改行あり)
APGのオプション=出力で、プログラムを作成し、それを元に、
プログラムを修正しました。
文字型の256サイズの変数を作成し、出力したい内容を文字列に変換などをし、連結サイズが256になるように[&]で連結し、それを256サイズの変数に代入し、出力しています。
連結される文字の最後には必ず、スペースが入るようにしています。
(ヘッダ、明細でスペースの桁数が違う)
しかし、出力したテキストファイルを開くと必ず、連結した文字列の最後の文字の後のスペースが消されて、1レコード256バイトで出力されません。
(文字列と文字列の間のスペースは問題ないのですが、最後の項目の文字の後のスペースがなく、すぐに改行されている)
1レコード256バイトで出力できるようにするにはどうのような方法やテクニックがありましたら教えて頂けないでしょうか。
よろしくお願い致します。
投票数:0
平均点:0.00
Re: テキスト出力時の後ろスペースが消去される件について
msg# 1.1
pu_mahalo
居住地: 大阪
投稿数: 775
こんにちは Puです
このフォーラムで検索したら 出てくるとおもいますが
出力F(ファイル)
フォーマット無で
CRLFを自分で挿入するで
このフォーラムで検索したら 出てくるとおもいますが
出力F(ファイル)
フォーマット無で
CRLFを自分で挿入するで
投票数:1
平均点:10.00
Re: テキスト出力時の後ろスペースが消去される件について
msg# 1.2
nkmt
投稿数: 1668
Puさんが言われているCRLFはAsciiChr(13)とAsciiChr(10)です。
2桁の文字変数にAsciiChr(13)&AsciiChr(10)を代入しておくのもいいです。
沢山のプログラムで使うようでしたら、メインプログラムに定義しておくのもいいかもしれませんね。
2桁の文字変数にAsciiChr(13)&AsciiChr(10)を代入しておくのもいいです。
沢山のプログラムで使うようでしたら、メインプログラムに定義しておくのもいいかもしれませんね。
投票数:1
平均点:10.00
Re: テキスト出力時の後ろスペースが消去される件について
msg# 1.2.1
mysticage
投稿数: 77
Puさん、nkmtさんありがとうございます。
(Puさんお返事おそくなり申し訳ありません。)
(MagicV9はほとんどしらないのですが、MagicV8の頃は
文字はCHR()で記載できていたような記憶があるのですが
MagicV10から記載方法が変わったのでしょうか。
nkmtさん、助かりました。AsciiChr(13)&AsciiChr(10)と
記載はしていたのですが不安でしたので)
出力ファイルで、フォーマット欄を「なし」にしまして
256桁の文字変数と2桁の文字変数を作成しまして、
それぞれ、フォーム幅を258に設定しました出力フォーム(明細)
に貼り付けました。
256桁には、出力したい文字列の連結内容を、2桁には
AsciiChr(13)&AsciiChr(10)を代入しました。
256桁の後ろのスペースは正常に出力されました。
しかし、テキストファイルをエディタでバイト幅を256に表示しますと2行目の1バイト目(その行で257バイト目)で改行されています。(ちょっとわかりにくいかもしれませんが)
これは仕方ないことなのでしょうか?
このままで問題ないかお客様に問合せ中ですが、何か改善策がありましたら教えて頂けないでしょうか。
よろしくお願い致します。
(Puさんお返事おそくなり申し訳ありません。)
(MagicV9はほとんどしらないのですが、MagicV8の頃は
文字はCHR()で記載できていたような記憶があるのですが
MagicV10から記載方法が変わったのでしょうか。
nkmtさん、助かりました。AsciiChr(13)&AsciiChr(10)と
記載はしていたのですが不安でしたので)
出力ファイルで、フォーマット欄を「なし」にしまして
256桁の文字変数と2桁の文字変数を作成しまして、
それぞれ、フォーム幅を258に設定しました出力フォーム(明細)
に貼り付けました。
256桁には、出力したい文字列の連結内容を、2桁には
AsciiChr(13)&AsciiChr(10)を代入しました。
256桁の後ろのスペースは正常に出力されました。
しかし、テキストファイルをエディタでバイト幅を256に表示しますと2行目の1バイト目(その行で257バイト目)で改行されています。(ちょっとわかりにくいかもしれませんが)
これは仕方ないことなのでしょうか?
このままで問題ないかお客様に問合せ中ですが、何か改善策がありましたら教えて頂けないでしょうか。
よろしくお願い致します。
投票数:0
平均点:0.00
Re: テキスト出力時の後ろスペースが消去される件について
msg# 1.3
pu_mahalo
居住地: 大阪
投稿数: 775
こんにちは Puです
>(MagicV9はほとんどしらないのですが、MagicV8の頃は
>文字はCHR()で記載できていたような記憶があるのですが
>MagicV10から記載方法が変わったのでしょうか。
V10から変更されています (マニュアル記載)
>しかし、テキストファイルをエディタでバイト幅を256に表示しま>すと2行目の1バイト目(その行で257バイト目)で改行されていま>す。(ちょっとわかりにくいかもしれませんが)
>これは仕方ないことなのでしょうか?
それは そう表示されるでしょう
エディタでバイト幅を260位にして表示されたらわかると思いますよ
>(MagicV9はほとんどしらないのですが、MagicV8の頃は
>文字はCHR()で記載できていたような記憶があるのですが
>MagicV10から記載方法が変わったのでしょうか。
V10から変更されています (マニュアル記載)
>しかし、テキストファイルをエディタでバイト幅を256に表示しま>すと2行目の1バイト目(その行で257バイト目)で改行されていま>す。(ちょっとわかりにくいかもしれませんが)
>これは仕方ないことなのでしょうか?
それは そう表示されるでしょう
エディタでバイト幅を260位にして表示されたらわかると思いますよ
投票数:1
平均点:10.00
Re: テキスト出力時の後ろスペースが消去される件について
msg# 1.3.1
mysticage
投稿数: 77
Puさん、お返事ありがとうございます。
>それは そう表示されるでしょう
>エディタでバイト幅を260位にして表示されたらわかると思いますよ
やはりそうなんですね。
エディタで260バイト幅にしましたらきちんと表示されました。
ありがとうございました。
>それは そう表示されるでしょう
>エディタでバイト幅を260位にして表示されたらわかると思いますよ
やはりそうなんですね。
エディタで260バイト幅にしましたらきちんと表示されました。
ありがとうございました。
投票数:0
平均点:0.00