Falconの思うままに

PASCAL好きが、気ままにマニアックなネタを

LibreOfficeからの印刷

さて、みなさんLibreOfficeを使っていますか?

私はPowerPoint相当のLibreOffice Impressを愛用しています。

 

なので、PowerPointを触ると操作できませんでした(笑)

ちょっと違うんですよね。

 

Excel相当はCalcなのですが、最近Excelファイルは外部ライブラリで

生成や参照ができるようになりプログラムからの制御用としては

Excelを購入しなくてもよくなりました。

 

ただ印刷だけはExcelからじゃないと駄目だよなと思っていたところ

LibreOfficeから印刷できるんですよね。

 

この意味はCalcを開いて「印刷」メニューを押せば当たり前でしょう?

という意味ではなくて、プログラムから印刷命令でCalcを起動して、

印刷をするという意味です。バックグラウンド処理なので、Calcが

ウインドウ表示されることはありません。

専門的な用語ですとAutomationと言いますが、昔はOLE Automationだった

と思います。LibreOfficeはこれができますのでDelphiから呼べます。

Delphiに限らずPowerShellからとかでも呼べると思います。

Excel買えよなんですが、オフラインでExcelを導入しようとすると

ライセンスアクティベーションを定期的にしないといけないという問題に

あたります。最近はExcelはインターネットに接続した状態で使う物という常識

になったみたいです。

なので忘れたころにアクティベーションできないと表示され、呼ばれることに

なります。(なっています)

ということでオフライン環境の用途ではExcelを使えない問題がでるので

LibreOfficeを使って読み書きするしかないのかなと思うこの頃です。

事務所での使用では表面化しないところをオフライン運用では

考慮しないといけないのです。

 

と書いておいてなんですが、 Excelファイル生成->PDF変換->印刷でも

変換結果が良ければいける気がしました。

コンバーターの能力次第ですね。

 

上記はWindows上での運用ですが、Linux上(ラズパイ上)とかですと、

LibreOfficeは走ってもプリンタドライバどうする問題にあたる気がします。

最近のLinuxプリンタ状況は知らないのですが。

悩ましいところです。

 

ではでは。

PascalScriptについて

さて、PascalScriptを御存じでしょうか?

 

検索しても日本語ページはほぼない状態ですな。

これはPascal言語なScript言語(インタープリタ)を

Delphi,Lazarusで動かすものです。

 

Pascal言語の中でPascal言語のインタープリタ

動かして何がうれしいのか?

 

というところが使う動機なんですが、InnoSetupが有名だそうです。

たしかにあればPascal言語をScript中に書けますね。

サービスの起動なんかを書いたことがあります。

 

これは何に使うかというと、コンパイラですとソースが

ないと見れませんが、Pascal Scriptをテキストファイルで

持っていて、実行環境を自前で作れば、ユーザーがソースを改変できるわけです。

それでFunctionをRuntime側で持っていれば、例えば通信の

部分を関数にしておけばScript中でそれを呼んでロジックを

書くといったことができます。Pascal中のPascalなんで型の互換性などは

問題ございませんな。

同じ感じの製品としてTMS Scripterというのがあります。

あえて製品化しているのはこちらはBASICでも記述できます。

 

Pythonの手軽さをPascalでも!といった感じでしょうか。

 

私は何に使いたいかというと、FA用途なんですが、

Run中変更可能な仕組みがつくれるかなと思っています。

NodeRedのデプロイと同じ感じです。

サイクリック実行なScriptを編集してSaveを押したら次の

スキャンから改変scriptが走るということをしたいなと思っています。

 

こんな妄想をPascalでやりたいという物好きは私だけでしょう(汗)

 

ではでは。

OpenPLCが進化している

さて,OpenPLCに注目していますが、進化があったようです。

 

Arduino向けになりますが、OpenPLC内にArduinoのスケッチのコードを

入れられるようです。

 

そうArduinoのコードで書きたいところはライブラリを使って

書いて、ロジックはラダーでということができるのですね。

 

これはすごい機能です。

まだ実際に触っていませんが、併用ソフトを作ってみたくなりました。

とりあえず一報でした。

ではでは。

VC++をビルドで奮闘中

さて、どうでもいい雑談です。

慣れないことはするもんじゃないですな(笑)

何かって? Visual Studio 2022 Communityなんてものを触っております。

 

どうしてもC++ソースのソフトをビルドしないといけなくなり、

私にとっては遠い存在のMS製IDEを使ってみました。(汗)

昔から嫌いなんです..... 理由はM〇だから(オイ)

まあ、皆さんは当たり前に使っているのでしょうが、なじめない。

そもそもC++のビルドなどLinuxでしかしないので、

makeだけで動かんのですか~~~(汗)

 

ということでvcpkgを最初に入れてとか、GitからCloneしてとか

初見殺しのオンパレードであります。

VSっていらない機能(失礼)たくさん入れられてしまうじゃないですか。

まあ私にはいらないという意味ですが、C++開発だけにしても

いろいろはいりまして、.NETがからんでいるとさらに足りないので

追加インストールになりました。

とはいえ作者さんはなるべく簡単にビルドできるようにしてくれて

いるんだということはよくわかりました。

まあ黙って見ていれば勝手にUpdateして、あれが足りないから入れるよとか

やってくれるんですね。

と初心者まるだしでなんとかビルド中です。ふう~~。

とここまで1日かかっております。のんびりやっているせいですが、

先が見えてきました。

ソースをちょっと変更しないといけないみたいで、

それだけやりたいんですけどね。

ではでは。

 

WSL2はWindows10でmirroredモードが使えない?

さて、WSL2は快適なのですが、Windows10だとmirroredモードが使えない?

のですかね? サポートされていませんとメッセージ表示されます。

何か設定が足りないだけなのか、Windows11にしないと駄目なのか

はっきり書いている記事を探せてないので、Windows10だと未サポート

なのかと思っています。

どなかか知っていたら教えてくださいな。

 

ではでは。

 

 

Ultibo再びBareMetalの世界へ

さて、昔の記事で紹介していますが、改めてUltiboです。

ラズパイでOS無しのベアメタル環境を作れるものです。

LazarusがIDEとしてオリジナル版が提供されていて、

Delphi,Lazarusワールド全開でベアメタルプログラムできてしまう

すごいやつです。

 

ultibo.org

 

これおいしいの?なんですが、Arduino使っている人は

基本はスケッチを書いて走らせていると思いますが、それを

ラズパイでやる感じです(あってます?)

それでも低レベルのところはライブラリでがっちりやってくれるので

動かしたいプログラムに集中できます。

OSのブートなんていらないや、やりたい機能だけ動いてくれればいいよ

シャットダウンしなくていいしね。というFAの人はそそりますよね?

意外とラズパイのベアメタルはないですね。記事もすくないです。

そもそもOSあるのに、使わないという選択をする人どれだけいるかという

話ですが。

そう、私のベアメタル熱が沸いてきてしまいました。

WebCAMは簡単にできるみたいなので、やろうかなと。

それだけで十分なんで、そうOSいらないんです(笑)

ネットワークプログラムはライブラリがかなり充実しているのが

Delphi界隈なので、同じ感じで動かせばいいんです。

情報源も少ない茨の道ですが、フォーラムに入ると

Deepな人がいっぱいるみたいなので、過去記事を紐解いていけば

なんとかなるのではと思っています。

MQTTのPahoとか移植されている? みたい。

 

とりあえずラズパイ3をUltibo化しようかな。

ではでは。

 

ReadlThinClientがGitHubでOpenSourceになっていた

さて、Delphiネタです。

RealThinClient Componentというのがありまして、

ネットワーク経由でRPCを簡単にやれるDelphiコンポーネントです。

商用版もあったはずです。

Free版もあったと思いますが、機能が限られていた気がします。

 

github.com

 

いつの間にか公式サイトが消えていて、GitHubにだけソースがある

状態になっています。つい2年前が最終Verみたい。

このコンポーネントはRPCが非常にやりやすいです。

つまりRemote Procedure Call ですが、本当に関数を書いて、引数を

もらう形でコードが書けます。RPCを実感したコンポです。

 

歴史が長いコンポで、確か作者さんのサイトが変わって、日本の会社から発売されていました。

どういう経緯でそうなったかわかりませんが、サイトが消えているので

OpenSourceにする決断をしたのだと思います。

ありがたく使わせてもらっています。