本日、いきなりくろねこのサイトのトップページが見れなくなった。
普通人はトップページから来るからここが見れないとまずい。
でも、何でいきなり?
2025年5月 2日(金) 21:52 JST
本日、いきなりくろねこのサイトのトップページが見れなくなった。
普通人はトップページから来るからここが見れないとまずい。
でも、何でいきなり?
以前、このサイトにRSS Aggregatorを導入した。
しかし、かなり不満の残るものだった。というのは対応フォーマットがRSS 2.0、Atom 1.0 のみでネット上に数多く存在するRSS 1.0がサポートされないからだ。Geeklogのサイトでmystral-kkさんにAtomフォーマット使用時の日付部分のバグは直してもらえたのだが、RSS 1.0をサポートしてもらえることはなかった。
無いものは仕方がない、何とか自分で作れないものだろうか...そう考えていたら...
マウス関連イベントの発生順序は直感的に想像する順序と異なります。
くろねこの直感ではダブルクリックを行った場合のイベントの発生順序を以下のどちらかであると考えていました。
又は
しかし実際は、以下のような順序でした。
なんで、このような順序になるのですかね.
⚠⚠⚠ 注意!:この記事はUnicode対応する前のDelphiが対象です。⚠⚠⚠
TEditのCharCaseプロパティ、AnsiUpperCase/AnsiLowerCase についてDBCSはその処理の対象外であると思いこんでいたが、的がはずれて結構時間を費やしてしまったので備忘録としてまとめておく。
ちなみに、MBCS(DBCS)対応でSBCSのアルファベット(ASCII)部分のみ変換する関数は、Ansi~FileName関数であった。
TEditのCharCaseプロパティには、そのような動作を指定できる値がないため、別途KeyPressなどで処理をする必要がある
procedure TfrmXXXXX.InplaceEditorKeyPress(Sender: TObject; var Key: Char); begin // 小文字→大文字変換例 if Key in ['a'..'z'] then Key := Char(Ord(Key)-$20); end;
下記のようなコードでインプレースエディタを取得すると、グリッドの内容を編集中の場合だけなどに限定した処理が可能です。
function GetGridEditor(Grid: Tc1UltGrid): TCustomEdit; var i: Integer; begin Result := nil; for i := 0 to pred(Grid.ControlCount) do begin if (Grid.Controls[i] is TCustomEdit) then begin Result := TCustomEdit(Grid.Controls[i]); exit; end; end; end;