2023.12.16
前へ
次へ
ホームページトップへ戻る


PICBASICコンパイラ

〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜
まるでインタプリタ。でもコンパイラです。超カンタン超シンプルです。
〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜

[第111回]



●SDカードIF(31)SDカードをWindows7に接続(4)CSVファイル(2)BINCSV

このところ何回かDEBUGコマンドでファイルを開いてきました。
DEBUGコマンドでファイルを開くときに注意することがあります。
それは説明の本筋から少し外れることなので今までそのことについては敢えて書きませんでした。
この機会に補足して説明をしておきます。
DEBUGコマンドは昔のMSDOSのコマンドをそのまま踏襲しています。
昔のMSDOSのルールではロングファイルネームは使えません。
昔のファイルネームのルールではファイル名は半角英数(及び一部記号)8桁以内+拡張子3桁以内です。
今のWindowsのコマンドプロンプト(MSDOSプロンプト)では8桁を越えても全角文字でも扱えますが、その中で実行できるDEBUGコマンドは昔のルールのままです。
そのことを確かめてみます。
まずは昔のルールのファイルです。
TYPEコマンドとDEBUGコマンドでEXCLTST2.TXTを開いてみます。

EXCLTST2.TXTはファイル名が半角英数8桁で拡張子は3桁です。
TYPEコマンドとDEBUGコマンドのどちらでも開くことができました。

次は同じようにしてEXCELTEST.TXTを開いてみます。

EXCELTEST.TXTはファイル名が半角英字9桁です。
昔のMSDOSのルールでは扱えないファイル名です。
TYPEコマンドでは開くことができましたがDEBUGコマンドでは「File not found」と表示されてしまいました。
DEBUGコマンドを使う可能性がある場合を想定するとファイル名は半角英数8桁以内にしたほうが安全です。
ちなみに現在作業中のPICBASICコンパイラ用のSDカードIFでも同様にファイル名は半角英数8桁以内+拡張子3桁以内というルールに従っています。

さて。
やっと今回のテーマです。
今回も前回に続いてEXCELとCSVファイルについてです。
前回のところでデータファイルをEXCELで開くならばCSVファイルが扱い易いということを書きました。
テキストファイルならばともかくとしてバイナリファイルのままではちょっとまずいのではという気がします。
現在のところPICSDカードIFボードではバイナリ形式でファイルのセーブ、ロードを行ないます。
そのファイルをEXCELで開くことを考えると上に書いたようにCSVファイルのほうがよいかなあということにもなります。
いずれそのあたりについても検討することになるかもしれません。
しかし今はまだテストの段階です。
ここにせっかくテストデータファイルとして作成したバイナリファイルがありますから、これをそのままCSVに変換できればそれでもよいわけです。
そういうことを思い付きますと今時の若い方や学生さんなどはすぐにGOOGLEなどで検索してフリーのソフトを捜そうとするようです。
ソフトにもよりますけれど(かく言う私だってそのようにすることもあります)、この程度のソフトなら自分で作ってしまいましょう。
ということで即席でバイナリからCSVに変換するプログラムを作ってしまいました。
BINCSV.EXEです(そのまんまの名前です)。

bincsv[Enter]と入力すると
infilename=
と表示されるので
test29[Enter]
と入力します(拡張子は入力しなくてもよい)。
すると
infile=test29.bin
outfile=test29.cnv
と表示されて変換が開始されます。
あれ?outfile1になっていますね。
気が付きませんでした。
後ほど直しておきましょう。
プログラムは即席で作りましたのでデバッグのため読み込んだデータを表示しています。

作成されたTEST29.CNVをTeraPadで開いてみました。

うまく変換というか間に「,」が挿入されています。

それではということでEXCELでも開いてみることにします。


ここで異常事態が発生しました!

最初の2文字(スペースと!)はそれぞれ別々のセルに入ったのですがどういうわけか残りは全部(ご丁寧に「,」も含めて)ひとつのセルに入ってしまいました。
え?
どうして?
ここで落ち着いて表示された文字列をよーく見てみたらあることに気が付いたはずなのですが…。
何がおきたのかよくわからなくて混乱の余り原因追求のために「シラミつぶし」をやりはじめてしまいました。
ひとつ上の画像でファイル名がtest29c.csv、test29d.csv、test29e.csv…とずらりと並んでいるのがそのおばかなシラミつぶしの痕跡です。
落ち着いてよくよく考えてみるべきでありました。

次回に続きます。

PICBASICコンパイラ[第111回]
2023.12.16upload

前へ
次へ
ホームページトップへ戻る