
必要にかられ、ベーシックでプログラムを記載していま
す。ファイルに書き出す命令で「PRINT #」を使ってる
のですが、最終のレコードを書き出した一番最後の位置に
化け文字がついてしまいます。
以下のようにコーディングしています。
==================================================
20 OPEN "a" FOR INPUT AS #1
30 OPEN "b" FOR OUTPUT AS #2
32 INCNT=0
40 IF EOF(1)=-1 THEN 100
51 D128A$=INPUT$(128,1):D128B$=INPUT$(128,1):CRLF$=INPUT$(2,1)
52 IF LEFT$(D128A$,1)="S" THEN PRINT #2,LEFT$(D128A$,128);
57 IF LEFT$(D128B$,1)="E" THEN PRINT #2,LEFT$(D128B$,128);
58 INCNT=INCNT+1
90 GOTO 40
100 CLOSE #1,#2
==================================================
バイナリエディタで内容を見ると「1A」となっています。
これをつけたくないのですが、、、、
簡単に言えば、INPUTのファイルから128バイトずつの
データを抜き出し、横一列に並べたいのです。
古い人の作成したもので、資料が手元になくて困って
います。
ご存知の方がいれば教えてください。

No.6ベストアンサー
- 回答日時:
putダメですか...
ツールですが、テキストエディタではなくて
参考URLのようなユーティリティをBASIC上で
DOSコマンドの呼び出しか、BASICを起動している
バッチから呼び出せば良いかと思ったんですが。
参考URL:http://www.vector.co.jp/soft/dos/util/se158075.h …

No.5
- 回答日時:
PRINT #2,LEFT$(D128A$,128)
出力されるのはどう見てもレコードサイズ128バイトの固定長なんですが^^
ファイルサイズとレコードサイズの違いはOKですよね?
もしくは、このプログラムはこのまますすめて
終了後に、別途にツールを起動して除去してはどうでしょう?
回答をいただきありがとうございます。
すみません言葉が足りなかったです。
書き出す時が固定長の128バイトであれば
全て書き出された後、最終的なファイルの長さが
固定でなくてよいと言う意味でしたか。(^^ゞ
>終了後に、別途にツールを起動して除去しては
>どうでしょう?
私、個人が使う場合は良いのですが、現場の人に
テキストエディタを開いてそこを消していただくのは
厳しいです。

No.4
- 回答日時:
んー、せっかくINCNTをカウントアップしているのだから
PUT #2,INCNT,LEFT$(D128A$,128)
では?
参考URL:http://www.eli.hokkai-s-u.ac.jp/~kusiyama/Inf1_B …
回答をありがとうございます。
ランダムファイルについて少し調べたのですが
固定長のファイルでファイルのように見えます
もともと書き出すファイルが可変で、そのまま
使うのは難しい気がします。
勘違いで指摘してください。m(__)m
No.2
- 回答日時:
INPUT #の文の中にスペース、改行、および復帰文字は無視され、それ以外の最初の文字から、読み取られると書かれていました。
最初の文字が(")引用符であれば、引用符付きデータとして割り当てられると書かれていました。
見当違いの回答でしたらごめんなさい。すこしても、やくにたてばと書きました。
回答をありがとうございます。
読み取ったファイルのデータを表示して見て
特に問題はなかったので、書き出すときに自動で
ついてしまうのかなと思いました。
なにか回避する方法があれば、、、
と言った所です。

No.1
- 回答日時:
1AはEOF(ファイルの終端を表す)なので、消す事はできないと思います。
シーケンシャルアクセスでなくて、ランダムアクセスで書き出してはどうでしょうか?
参考URL:http://www.geocities.jp/tahrayan/utili/nfcnv.html
回答をありがとうございます。
ランダムファイルにしてしまうと、書き出した時の
並びが崩れてしまわないか心配です。
転送用のデータの組み立てなので、順番が崩れると
困ってしまいます。
もともと、使っていた転送ソフトが、古くて新しい
ものに代えたら、以前よりも、データのチェックが
厳しくなり、困っています。
PRINT#以外でも使える命令があればと思います。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
system.mdwを見つけることが出...
-
html上で、バッチやexeファイル...
-
MDI起動時に空のウィンドウが開...
-
EXE間で同期をとりながらデータ...
-
Symantec Ghost リストアDVDに...
-
LabVIEWでEXCELファイルを操作...
-
Access VBAよりシート名を取得...
-
B'z GOLD
-
起動中の全てのアプリ名の取得...
-
Eclipseで、プロジェクト名のと...
-
正しいURL指定しているにもかか...
-
マイクラjavaでForgeを入れたい...
-
普段、importするクラスはどこ...
-
Eclipseのアンインストールの仕方
-
「ワークスペースをビルド中」...
-
classファイルについて
-
Javaプログラムでコマンド実行...
-
eclipseをバージョンアップした...
-
javax.servlet は存在しません...
-
VBSでExcelをインストールされ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
html上で、バッチやexeファイル...
-
jspのエラーが修正できません。
-
Access VBAよりシート名を取得...
-
別のAccessファイルのフォーム...
-
VBAで作成したマクロをデスクト...
-
GUIアプリをコマンドラインで使...
-
system.mdwを見つけることが出...
-
LabVIEWでEXCELファイルを操作...
-
*.asp の拡張子名がついたht...
-
HTMLファイルからexeファイルを...
-
VBでShell○なのにShellExecute×
-
量子化学計算ソフト GAMESS の...
-
64ビットでのビジュアルスタイ...
-
ブラウザからexeファイルを起動...
-
vbsかバッチファイルでmp3を再...
-
VB6.0 Shellによる終了監視に...
-
VBA Application visibleの...
-
exeファイルが実行中かどうか、...
-
EXCELアドイン自動起動マクロ
-
「暁の護衛」をDLしたのですが...
おすすめ情報