投稿

Evernote Sandbox は検索できない不具合が放置されている

イメージ
Evernote API で検索を試すため、Sandboxへ接続して NoteFilter の Words へ文字を入れてみたが、件数0で返ってくる(通常より時間がかかる) Web の Sandboxでも、検索を行うと(上記と同じくらいの時間で)結果が0で返ってくる Words へ文字列を入れずに、findNotesMetadata や findNotes を実行すると、ノートリストが返ってくる (これは検索ではなく、ノートブックやスタック内の一覧を取得する方法) 途中のライブラリに問題があるのかと調べていたら 2019/7/20に作成された  Searching is not working in Sandbox environment というフォーラム投稿にたどり着く 記載通り、Sandboxでは検索が機能していないという内容 そして、2021/04/19 現在も不具合は継続し、対応もフォーラムへのEvernote側からの書き込みも無い 検索機能をテストする場合、通常環境(Sandboxではない)で Developer Token を発行してテストするしかないようです ちなみに、Sandbox も Google Cloud Platform へ移行している様子(DNSから) こういった対応もサードパーティが盛り上がらない原因かもね

Delphi TEdit で Alt+Enter 押下時の音を消す

イメージ
Delphi の Edit(TEdit) で Alt+Enter 押下時の音(Beep音)を消す Enter, Ctrl+Enter, Shift+Enter あたりは、OnKeyDown や OnKeyPress などで処理可能ですが procedure TForm1.Edit1KeyDown(Sender: TObject; var Key: Word; Shift: TShiftState); begin if (Key = VK_RETURN) and ( (Shift = [ssShift]) or (Shift = [ssCtrl]) ) then begin Key := 0; Shift := []; end; end; procedure TForm1.Edit1KeyPress(Sender: TObject; var Key: Char); begin if (Key = #13) or (Key = #10) then begin Key := #0; end; end; Alt+Enter は押下を補足するものの書き換えは無視されてしまう procedure TForm1.Edit1KeyDown(Sender: TObject; var Key: Word; Shift: TShiftState); begin if (Key = VK_RETURN) and (Shift = [ssAlt]) then begin Key := 0; Shift := []; end; end; 今回は TApplicationEvents を利用して、Alt+Enter を補足 + 無効化 フォームに TApplicationEvents(ApplicationEvents1)  コンポーネントを置いて、OnMessage で補足 ※対象は TEdit(Edit1) procedure TForm1.ApplicationEvents1Message(var Msg: tagMSG; var Handled: Boolean); begin if (Msg.message = WM_SYSKEYDO...

Delphi の TFrame で 継承した Destroty のイベント発生タイミング

Delphi の TFrame 上のリストに埋め込んだオブジェクトをFrame開放時にFreeしてやろうとしてハマったメモ TFrame にはコンストラクタとデストラクタ イベントが無いので、 継承して追加する も、Destroy イベントが発生したときには、リストのカウンタが既に 0 で埋め込んだオブジェクトへアクセスする手段が無くなっていました ここに よるとTFrameのDestroyが実行されたときには、親フォームからの破棄が行われたあとなんだとか → WM_DESTROY を追加してそこへ処理を記述 private procedure WMDestroy(var Msg: TWMDestroy); message WM_DESTROY; // procedure TFrame1.WMDestroy(var Msg: TWMDestroy); begin if (csDestroying in ComponentState) then begin // ココに Destroy 処理 end; inherited; end;

Delphi の TDateTime 型へマイクロ秒を入れて、取り出す

Delphi の TDateTime 型へマイクロ秒を入れて、取り出す 基本的な事ですが TDateTime型は、整数部が日付(1899/12/30からの経過)、小数部が時刻(24時間を1とする)の Double 型 なので、マイクロ秒は 1/1,000,000 秒を加算すればOK EncodeTime の マイクロ秒版 function EncodeTimeMicroSec(const AHour, AMin, ASec: Word; const AMicroSec: Cardinal): TDateTime; begin Result := EncodeTime(AHour, AMin, ASec, 0) + ((1/(60*60*24)) * AMicroSec / 1000000); end; TDateTime をマイクロ秒表示 function DateTimeToStrMicroSec(ADateTime: TDateTime): string; var Time: TTime; subSec: Extended; begin Result := FormatDateTime('yyyy-mm-dd hh:nn:ss', ADateTime); Time := Frac(ADateTime); // 時刻(小数部)のみ subSec := Frac(Time * 60 * 60 * 24); // 秒未満(小数部)のみ => 0.123456**** Result := Result + '.' + Copy(FloatToStr(subSec), 3, 6); end; 使ってみる procedure Form1.Button1Click(Sender: TObject); var microDateTime: TDateTime; begin microDateTime := EncodeDate(2020, 6, 24) + EncodeTimeMicroSec(11, 34, 6, 123456); Caption := DateTimeToStrMicroSec(microDateTime); end;

Gmail (Web版) の Chat と Meet を表示させない

イメージ
Web版 Gmail の Chat と Meet をそれぞれ非表示に設定できるようになった

webOS (LGテレビ) の電源状態をチェック

webOS (LGテレビ) の電源状態を確認したメモ 確認条件 高速起動ON ソフトウェアバージョン 05.80.55 電源オフ状態 tcp:3000 へ接続できない(pingも返らない) tcp:3000 へ接続可能 ssap://com.webos.service.tvpower/power/getPowerState で state:" Active Standby " が返る テレビをオフにした直後 1 の状態になり、5分程度で 2 の状態になった  その後は未確認だが基本的に上記のどちらかの状態になるっぽい 電源オン状態 tcp:3000 へ接続可能で ssap://com.webos.service.tvpower/power/getPowerState で state:" Active " が返る(もちろん pingも返る) セッションを張りっぱなしで、電源オンオフのイベントを受けられるという記事を何処かで見たけど、今回のは単発でのチェックです

rsyslog で syslogサーバとログの日付フォーマットを変更

rsyslog で syslogサーバ(UDP:514)を起動させて、ログの日付を yyyy-mm-dd へ syslogサーバを起動させる ログの日付フォーマットを変更 それぞれの記事はあるんだけど、syslogサーバのフォーマット変更に戸惑ったのでメモ (環境は Centos7 ですが、他でも同じだと思う) syslogサーバ(UDP514)を起動させる設定 # vi /etc/rsyslog.conf $ModLoad imudp ←コメントを外す $UDPServerRun 514 ←コメントを外す $AllowedSender UDP, 127.0.0.1, IPアドレス, ホスト名 ←送信元を規制する場合追記 ファイル末尾に下記の2行を追加 $template ClinetMessage,"/var/log/rsyslog/%fromhost%/%$year%%$month%%$day%_messages.log" *.*     -?ClinetMessage rsyslogを再起動 # systemctl restart rsyslog syslogサーバが稼働しているのを確認 日付が  Jun  3 11:00:00 なので、2020-06-03 11:00:00 形式へ変更 # vi /etc/rsyslog.d/template.conf を作成して、下記を一行で記述 $template yyyymmdd , "%timegenerated:::date-year%-%timegenerated:::date-month%-%timegenerated:::date-day% %timegenerated:::date-hour%:%timegenerated:::date-minute%:%timegenerated:::date-second% %HOSTNAME% %syslogtag% %msg%\n" ※上は yyyy-mm-dd なので yyyy/mm/dd がお好みな方は書き換えて下さい ※  yyyymmdd が任意のテンプレート名 # vi /etc/rsyslog.conf を開いて 先程、ファイル末尾に追加した *.*     -?C...