メイン

2010年07月02日

Win32::GUIのToolbarにAddButtonsする

よく、

$ToolBar->AddButtons(
    3,
    0, 1, 4, 0, 0,
    1, 2, 4, 0, 1,
    2, 3, 4, 0, 2,
);

なんてやってるソースを見かけますが、それぞれの数字が何を表してるのか覚え書き。

↑のソースで言うと、1行目の「3」がボタンの数、
2行目以降はそれぞれのボタンの設定となる。
それぞれ5つのパラメータから成り、左から順に

bitmap, id, state, style, string

となる。

bitmapは、ImageListのゼロベースのインデックス。

idは、それぞれボタンに割り当てるユニークな数字。

stateは、ボタンの状態設定で、下記のようなものがあり。
     1 TBSTATE_CHECKED
     2 TBSTATE_PRESSED
     4 TBSTATE_ENABLED
     8 TBSTATE_HIDDEN
    16 TBSTATE_INDETERMINATE
    32 TBSTATE_WRAP
    64 TBSTATE_ELLIPSES

styleはボタンのデザイン設定で、下記のようなものがあり。

     0 TBSTYLE_BUTTON
     1 TBSTYLE_SEP
     2 TBSTYLE_CHECK
     4 TBSTYLE_GROUP
     8 TBSTYLE_DROPDOWN
   256 TBSTYLE_TOOLTIPS
   512 TBSTYLE_WRAPABLE
  1024 TBSTYLE_ALTDRAG
  2048 TBSTYLE_FLAT
  4096 TBSTYLE_LIST
  8192 TBSTYLE_CUSTOMERASE

stringは、AddStringした文字のゼロベースのインデックス。

2010年05月28日

PerlでWin32::APIのSetLocalTimeを使う

Perlでシステム時計の日時を変更できないかなー、と思いついていろいろ調べてみる。
どうやらWin32APIのSetLocalTimeを使うとできるらしい。

参考)
http://msdn.microsoft.com/ja-jp/library/cc429941.aspx
http://dobon.net/vb/dotnet/system/setlocaltime.html

続きを読む "PerlでWin32::APIのSetLocalTimeを使う" »

2007年10月26日

PDK 7.0 Deployment Toolsのインストールでエラー発生

使ってたPCがぶっ壊れまして、OSを再インストールするハメに。
で、PDKを再インストールしようとするとなぜかエラーになる。

焦ってググッてみると、やはり同じ症状の人がいたみたい。
参照→pochy9nのノート

要は、Microsoft .NET Framework 2.0が必要とのことです。

2007年09月02日

Encodeを使うプログラムをPerlAPP7.00でexe化する

Encodeを使用するプログラムを、PerlAPPを使ってexe化し起動すると、

unknown encoding 'shiftjis' at ~

というエラーが出る。
ちなみに6.0の時はならなかった。
プログラムの冒頭で、

use Encode::JP;

と明示すれば回避できた。

2006年06月09日

DBD::SQLiteのお勉強

DBD::SQLiteの勉強をしてますが、検索してもあまり日本語の情報は得られませんね。

というわけで覚え書き。
SQLiteはトランザクションを明示しとかないと、更新系のコマンドが実行される時は自動的にトランザクション宣言が行われるらしい。
つまり、100件のデータ追加では100回のBEGIN→COMMITが繰り返されるわけで、処理が非常に遅くなるというわけです。

PerlのDBD::SQLiteでこれを防ぐには下記のように書いとけば良いみたい。

my $mydb = 'hoge.db';
my $dbh = DBI->connect("dbi:SQLite:dbname=$mydb","","",{ AutoCommit => 0 });
$dbh->do('CREATE TABLE foo (a,b,c)');
$dbh->do('BEGIN');
my $insert = $dbh->prepare("INSERT INTO foo VALUES(?,?,?)");
$insert->execute("1","2","3");
$dbh->do('COMMIT');

2005年07月20日

A8NET経由楽天アフィリエイト:売上ランキング自動配信CGI

このページはこちらに移動しました。

本棚

Ads