2010/07/31

Delphi/C++ Builder でリストをランダムに並び替え

リストをランダムに並び替えには、いろいろな方法が考えられるけど、先日作って使ったコード

Random 関数は (0 ≦ 戻り値 <引数) を返すので、リストの未処理カウンタから乱数を生成して、選ばれた物をリストの後方へ移動させるという理屈

1回目2回目3回目
[A]
[B]
[C] 乱数で選択→移動
[D]
[E]
[A]
[B] 乱数で選択→移動
[D] 
[E]
[C]
[A] 乱数で選択→移動
[D]
[E]
[B]
[C]

TList 以外の TStringList, TStrings, Generics.Collections.TList でも、引数の型を変えればそのまま使えます
procedure RandomList(List: TList);
    var I: Integer;
begin
    for I := List.Count - 1 downto 1 do begin
        List.Move(Random(I + 1), I);
    end;
end;

2010/07/29

「Wireless IntelliMouse Explorer」(無印) が使える 「IntelliPoint」

「Wireless IntelliMouse Explorer」の初期型(無印 = 2 や 3 ではない) が使える IntelliPoint のバージョン

IntelliPoint 6 以降は、無印の「Wireless IntelliMouse Explorer」が一覧になく、近そうなマウスを選択しても、特殊キーの設定が無視される

IntelliPoint 5系が使えるらしいが、IntelliPoint 5.5 をXP(SP3)へインストールしたら、私の環境では IntelliPoint が異常終了して使い物にならなかったので、IntelliPoint 5.0 を探してやっとこ使用可能に

2010/07/26

Delphi/C++ Builder XML形式の日付を TDateTime へ変換

XML形式の YYYY-MM-DDTHH:NN:SS+HH;NN(2010-07-27T14:20:00+09:00 みたいなの) を TDateTime(Double)へ変換

uses 節に XSBuiltIns を追加して、TXSDateTime オブジェクトを利用する

function XmlDateTimeToDateTime(ADateTime: string): TDateTime;
begin
    with TXSDateTime.Create do begin
        try
            XSToNative(ADateTime);
            Result := AsDateTime;
        finally
            Free;
        end;
    end;
end;

2010/07/21

ソフトバンクモバイル・メール受信許可・拒否

ソフトバンクモバイル宛のメールを受信許可・拒否設定


この設定、個別許可⇔個別拒否 の間で設定を変更すると、なんと、リストが共通のため(同じ箱を使い回しているのだろう)、「許可リスト」がそのまま「拒否リスト」へ切り替わってしまう

うっかり、リストを確認せずに設定を切り替えたら、ホワイトリストがそのままブラックリストとか、正反対のリストを設定されるくらいなら、リストをクリアしてくれた方がマシだと思う

2010/07/20

障害続きの WebARENA SuiteX

NTT PCコミュニケーションズのレンタルサーバサービス WebARENA SuiteX

2010/7/2 の大規模なトラブルに続いて、7/20も長時間のトラブル日中に緊急メンテ
なんだか、ハードなのかソフトなのかハッキリしないまま、定期的なトラブルを起こしている状態だろうか

仮想化で失敗(今の所)した、フューチャリズムワークスと同じ雰囲気がする

2010/07/06

Clam AntiVirus(ClamAV) でチェックされたかどうか、メールヘッダに記述

Clam AntiVirus でチェック結果をヘッダに記述

vi /etc/clamav-milter.conf
#AddHeader Replace

AddHeader Add
各デーモンを再起動

X-Virus-Status: Clean
X-Virus-Scanned: clamav-milter 0.96.1 at hoge_server
みたいな感じにヘッダへ追加される

Firefox Sync 1.4

Firefox のブックマークやパスワードなどの設定を、複数のPCで同期できるアドオン Firefox Sync 1.4
現在、Xmarks (旧Foxmarkだっけ?)を利用しているが、Firefox4から Firefox Sync が標準搭載されるとの事で、試しに使ってみた

その結果、起動時や変更時、終了時に自動同期はしないわ、ステータスバーには何にも表示されないわで、当然搭載されているであろう機能(1.3にはあったらしい)が、全く搭載されていない(働いてない?)
いちいち、手動で同期なんて... しかも同期されたかどうか(日時の確認)は、メニューを開かないと分からない

と散々な内容
Firefox4 で標準搭載するから、これをベースにアドオンを作れと言う意味だろうか

2010/07/05

Guestアカウントを有効にしていても、アクセス許可がない

Windows でフォルダ共有をした時、Guestアカウントを有効にしていても、アクセス許可がないと返答される
  1. ファイル名を指定して実行から gpedit.msc で、グループポリシーを開く
  2.  ローカルコンピュータポリシー → コンピュータの構成 → Windowsの設定 → セキュリティの設定 → ローカルポリシー→ユーザの権利の割り当て
  3.  「ネットワーク経由でコンピュータへアクセスを拒否する」 を開いて
  4. リストにGuestが入っていたら、一覧から削除する