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


PICBASICコンパイラ

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

[第116回]



●SDカードIF(36)SDカードをWindows7に接続(9)CSVファイル(7)BINDECC

前回はExcelは横方向(行)のセルの数が縦方向のセルの数に比べて少ないので、そのセル数を越えるデータを「,」で区切った普通のCSV形式のファイルとして作成した場合、そのファイルをExcelで開くと横方向のセル数を越えるデータは読み込まれない、ということを書きました。
私が使っているExcelはかなり昔のバージョンなので横方向のセル数は256しかありません。
確認してみましたらExcel2000(Office2000)でした。
念のために最新バージョンについて確認してみましたら今はOffice2010が最新バージョンのようです。
Microsoftのサイトで確認したところ最新バージョンのExcelの横方向のセルは16384だそうです。
それだけあれば横方向に開くCSVファイルでもオーバーフローを気にすることはなさそうです。
それはそれとしまして。
こういう数字を見せられると私が今使っているExcelはさすがに古いなあということを嫌でも認識させられます。
いつまでそんな古いものを使っているの?
やっばりトシだなあ。
なんて声が聞こえてくるようです。
まあそういうことかもしれませんけれど。
強がりではなくてどうも私にはソフトもハードもあらぬ方向を向いているように感じられます。
確かにハードウェアについてはテクノロジーの驚異的な進歩を感じます。
しかし便利にはなっているのですがその反面何でもブラックボックス化してしまってちょっと不具合になったら修理するより買い換えたほうが安いという現実はいかがなものかと思います。
ソフトウェアの方はと言いますと。
なんだかどんどん不便になっていくような。
その最たる例がWindows10。
Windows11は使ったことがないのでコメントしません。
Windows7の方が断然使い易いと思います(そう思うのがそもそも年寄りだからか)。
たとえば…。
ああ。
そういう話はやめておきましょう。
あくまで個人の感想でありますね。

それで。
そうそう。
Excelの話でした。
いやあ、凄いです。
横方向(行)のセル数が16384!
正直に凄いと思います。
でも。
私としてはそこまでは不要だなあと思います。
必要がなくてもそりゃあ有っても構いませんけれど。
重たくはないのかとそちらの方が心配です。
ソフトは軽いのが一番です。
と私は思います。

それにしても。
横一列にそれだけ沢山のデータを展開したりしたら、それをもし紙にプリントする場合どうするのでしょう?
最新のExcelならそういうことにも対応できるような機能も備わっているのかもしれませんが。
ネットで検索してみましたけれど、どうもそこまでの機能は無いようですねえ。
マクロを使えばできるでしょうけれど。
やっぱり適当なデータ数ごとに改行するのが現実的のように思えます。
ということでバイナリから十進数に変換するプログラムに手を加えてとりあえず80データごとに改行するプログラムを作成しました。
いずれ任意のデータ数で改行できるようなプログラムを作るとよいかと考えています。
80データで改行するようにしたプログラムはBINDECC.EXEです。

BINDECC.EXEを実行しました。
TEST31.BINを読み込んでTEST31.CSVを作成しました。
作成されたTEST31.CSVには80データごとに改行コードを挿入してあります。

それをDEBUGコマンドで確認しました。

今までと同じようにデータの区切りは「,」(2C)です。
しかし下から2行目、79(37 39)と80(38 30)の間は「,」(2C)ではなくてCRLF(0D 0A)になっています。

そのように作成されたTEST31.CSVをTeraPadで開きました。

それでも横方向の表示が長くなるので改行そのものは見えていませんが、80データごとに改行されていることは各行の先頭データの数値を見ればわかります。
なんだい。
そんなの。
「右端で折り返す」を指定しておけばよいだけじゃないの。
いえいえ。
そんなに簡単ではないのですよ。
ここでのキモは折り返すべきは「文字数」ではなくて「データ数」というところにあります。
ああ。
やっぱりお見せしておきましょうか。
右端の折り返しているところの画像です。

標準的な機能ではできそうでできないということがおわかりになりますでしょうか。

同じことをExcelでもやってみました。

左端のセルを見ることで80データごとに折り返しが行なわれていることがわかります。
参考までにこちらも折り返し部分を見ておきましょう。

Excelではひとつのセルにひとつのデータが入りますから行末は数値の桁数に影響されずに縦方向がきれいに揃います。
しかし80セルごとに折り返すような指定をする機能はExcelには備わっていないようです。
マクロを使えばできると思いますが。

いずれも帯に短し襷(たすき)に長し、であります。
やっぱり便利な時代になっても本当に欲しいものは自分で作る必要があるようです。

PICBASICコンパイラ[第116回]
2023.12.23upload

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