必要にかられ、ベーシックでプログラムを記載していま
す。ファイルに書き出す命令で「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で質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) マクロでテキストファイルを読み込んだ際の最終セルにデータと改行が含まれる問題の改善方法 2 2022/03/25 16:50
- Visual Basic(VBA) VBAが止まります。 1 2022/09/02 14:51
- CGI perlで書いたcgiでsqliteの使い方を教えてください 2 2023/05/08 21:29
- Excel(エクセル) VBAの指示の内容 昨日こちらでご教示頂いたのですが初心者な為、一つ一つの指示が何をやっているのかわ 2 2022/10/25 18:08
- Excel(エクセル) 2つのVBAを一緒にしたら機能しなくなりました(エクセル) 7 2022/06/02 12:41
- Ruby パイソンプログラミング 2 2022/12/03 18:44
- Visual Basic(VBA) excel2021で実行できないマクロ。どこを直したらいいのか 2 2022/03/28 03:40
- Excel(エクセル) エクセル VBA For Next 繰り返しの書き方を教えてください 6 2022/09/01 14:11
- Excel(エクセル) Excelにて、フォルダ内のTextファイルをマクロで統合すると文字化けしてしまう時の解消コード 4 2023/01/01 07:32
- その他(プログラミング・Web制作) atcoder python コードへの助言 2 2022/08/12 15:31
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
html上で、バッチやexeファイル...
-
起動中の全てのアプリ名の取得...
-
複数のパソコン間のDir関数につ...
-
別のAccessファイルのフォーム...
-
Shell関数で関連付けされたファ...
-
vb.netでフォルダをcab圧縮する...
-
GUIアプリをコマンドラインで使...
-
Access VBAよりシート名を取得...
-
system.mdwを見つけることが出...
-
*.asp の拡張子名がついたht...
-
量子化学計算ソフト GAMESS の...
-
Eclipseで、プロジェクト名のと...
-
Eclipse・プロジェクトで、フォ...
-
JAVAにのeclipseに関する質問で...
-
Eclipseのアンインストールの仕方
-
split関数で区切り文字がない場合
-
Eclipse(JAVA)のデバッグで他...
-
「ワークスペースをビルド中」...
-
Eclipseで実行>Javaアプリケー...
-
eclipseのショトカットキー
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
html上で、バッチやexeファイル...
-
VBAで作成したマクロをデスクト...
-
VBA Application visibleの...
-
別のAccessファイルのフォーム...
-
*.asp の拡張子名がついたht...
-
jspのエラーが修正できません。
-
HTMLファイルからexeファイルを...
-
RPA(PowerAutomate)の実装について
-
system.mdwを見つけることが出...
-
EXCELアドイン自動起動マクロ
-
エラー この変数は宣言されて...
-
LabVIEWでEXCELファイルを操作...
-
Access VBAよりシート名を取得...
-
AccessのMDBファイルを自動で最...
-
GUIアプリをコマンドラインで使...
-
VB5が起動しない
-
量子化学計算ソフト GAMESS の...
-
VBでShell○なのにShellExecute×
-
exeファイルが実行中かどうか、...
-
MS onedriveの中にあるaccessプ...
おすすめ情報