2023年05月27日
テレビアンテナの保守登山
田舎のテレビ受信は里に電波が届かないので、集落で組合を作って、山の上に共同アンテナを立てて、そこから各家に配線しています。
アンテナ設備自体はNHKが面倒を見てくれますが、アンテナ周りの木の切り倒しなどは集落で行います。
というわけで、上がってきました。

標高差約200m、行程約1Kmの登山です。

メンバーの男衆の中で自分は若い方から2番目ですが、一番の足手まといになってしまいました・・・
リュックで背負ったチェーンソーが重くて、へばりました・・・

何とかアンテナにたどり着いて、周りの草刈りやら、大きくなって電波の邪魔になりそうな木を切り倒します。
先輩は直径60Cm位の松を平気で切り倒しますが、素人の自分は怖くて小さな木を切るくらいです。 20メートル近くある木をスチールチェーンソーで平気で切り倒す先輩には尊敬のまなざしになります。 自分はまだ、切り倒す方向をきっちり決める自信がないのです。

というわけで、何とか無事下山できました。 下りの方が膝にきますね。
今回はパオままも上がってくれました。
アンテナ設備自体はNHKが面倒を見てくれますが、アンテナ周りの木の切り倒しなどは集落で行います。
というわけで、上がってきました。

標高差約200m、行程約1Kmの登山です。

メンバーの男衆の中で自分は若い方から2番目ですが、一番の足手まといになってしまいました・・・
リュックで背負ったチェーンソーが重くて、へばりました・・・

何とかアンテナにたどり着いて、周りの草刈りやら、大きくなって電波の邪魔になりそうな木を切り倒します。
先輩は直径60Cm位の松を平気で切り倒しますが、素人の自分は怖くて小さな木を切るくらいです。 20メートル近くある木をスチールチェーンソーで平気で切り倒す先輩には尊敬のまなざしになります。 自分はまだ、切り倒す方向をきっちり決める自信がないのです。

というわけで、何とか無事下山できました。 下りの方が膝にきますね。
今回はパオままも上がってくれました。
ho_cad at 23:52|Permalink│Comments(0)│
2023年05月26日
Luqのインストーラー完成
HO_CADluqのベータ版公開に向けて準備しています。
開発環境が現行のWindowsになって、いろいろ変えていかないといけない物が出てきます。
とりあえず、インストーラーの準備が出来ました。

PaoとLuqは併存可としています。
Luqのエンジンは以前からぼちぼち作っていたのですが、Paoに追加した機能が全部Luqに移植できていないので、当面Luqが安定するまで(ベータ版の間)はPaoとの併用を想定しています。
そのため、ファイルの関連付けをPaoで開くかLuqで開くか、簡単に設定できないと不便です。

なので、Luqのオプションで切り替えられるようにしました。
新環境で作っているので、管理者権限でLuqを実行していなくても、切り替える時点でアプリケーションの実行権限を管理者に昇格させることができるようになり、いちいち「管理者として実行」しなくても良くなりました。
Luqでは、その他のUAC対策も出来ているので、もう「○○に書き込めません」は無くなります。
開発環境が現行のWindowsになって、いろいろ変えていかないといけない物が出てきます。
とりあえず、インストーラーの準備が出来ました。

PaoとLuqは併存可としています。
Luqのエンジンは以前からぼちぼち作っていたのですが、Paoに追加した機能が全部Luqに移植できていないので、当面Luqが安定するまで(ベータ版の間)はPaoとの併用を想定しています。
そのため、ファイルの関連付けをPaoで開くかLuqで開くか、簡単に設定できないと不便です。

なので、Luqのオプションで切り替えられるようにしました。
新環境で作っているので、管理者権限でLuqを実行していなくても、切り替える時点でアプリケーションの実行権限を管理者に昇格させることができるようになり、いちいち「管理者として実行」しなくても良くなりました。
Luqでは、その他のUAC対策も出来ているので、もう「○○に書き込めません」は無くなります。
ho_cad at 22:13|Permalink│Comments(2)│
2023年05月21日
Unicode対応の続き2(備忘録)
前回の判定は不十分だった。
前回のテスト関数ではAsciiの範疇に入る全角の「1」や「A」もMecsIsMECElement関数はTRUEを返してしまうので4バイトと判定されてしまった。
なので代わりにMecsCharLength関数を使う。
きっちりエレメント数を検査することによって、「𣇵」の文字だけが2エレメントの4バイト文字であることが判定できた。
ほんまにUnicode対応はややっこしい。
まあでも、だいぶ慣れてきた。 還暦過ぎても未知の範疇を勉強できるありがたさ・・・
これできっちりHO_CADに移植できる。
前回のテスト関数ではAsciiの範疇に入る全角の「1」や「A」もMecsIsMECElement関数はTRUEを返してしまうので4バイトと判定されてしまった。
なので代わりにMecsCharLength関数を使う。
procedure TForm1.Utf16Test(AText: String);
var
I1, MecsLength1, Length1, MecsPos1, DestX1, MecsCharLen1: Integer;
HanZen1: String;
S1: UnicodeString;
DrawChar1: array [0..256] of Char;
begin
Length1 := Length(AText); //Charでの文字長
MecsLength1 := MecsLength(AText);//Mecsでの文字長
Memo1.Lines.Clear;
Memo1.Lines.Append('Length = ' + IntToStr(Length1));
Memo1.Lines.Append('MecsLength = ' + IntToStr(MecsLength1));
MecsPos1 := 0;
DestX1 := Button1.Left + Button1.Width + 10;//Canvasへの書き出しX
I1 := 1;
while I1 <= MecsLength1 do
begin
Inc(MecsPos1);
S1 := MecsCopy(AText, MecsPos1, 1);
if MecsIsFullWidth(S1, 1) then
begin //全角文字 先頭の1バイト目
HanZen1 := '全角';
end
else
begin //半角文字
HanZen1 := '半角';
end;
MecsCharLen1 := MecsCharLength(AText, I1);//エレメント数
Memo1.Lines.Append(IntToStr(I1) + '番目「' + S1 + '」は ' + HanZen1 + ' で エレメント数= ' + IntToStr(MecsCharLen1));
Inc(I1);
Canvas.Font.Color := clBlue;
Winapi.Windows.TextOut(Canvas.Handle, DestX1, Button1.Top + 2, PChar(S1), 2);
DestX1 := DestX1 + 20;
end;
きっちりエレメント数を検査することによって、「𣇵」の文字だけが2エレメントの4バイト文字であることが判定できた。
ほんまにUnicode対応はややっこしい。
まあでも、だいぶ慣れてきた。 還暦過ぎても未知の範疇を勉強できるありがたさ・・・
これできっちりHO_CADに移植できる。
ho_cad at 14:28|Permalink│Comments(2)│