2011-02-28

通信機能付きカシオの腕時計

今度発売されれるカシオの腕時計には通信機能が内臓されていて、スマホから時刻を受け取って自動補正するらしい・・・

つか、逆じゃね?オマエ腕時計の癖に電話に時間聴いて時間訂正するってプライドなくね?
電波時計内臓の腕時計からスマホの時間修正じゃね?

2011-02-22

民主党党内抗争

亀井氏が民主党がやるべきことをやらないで党内抗争ばかりしていると苦言を吐いたが
その通りだと思う、しかも、下手な党内抗争で段取りも策略も全てが悪いと思う
敵を倒すのに時間がかかりすぎている、こんな事もできない人が日本一国を動かそうなんて無理でしょ
もう小沢さんに白旗上げて本気で野党の切り崩しをお願いしては?と思う
そもそも、菅なにがしのような首相に国が動かせるのか・・・

2011-02-19

Delphi 継承フォームをコンパイルすると DCCエラー

[DCC エラー] E2161 Error: RLINK32: ~
とか出る

フォームをリネームして保存しようとすると保存できない

フォームを表示しておいて [ALT]+[F12]入力を行うとエラーが表示される
そのまま保存すると保存できるようになる

2011-02-18

無茶苦茶PCが再起動する

これは壊れたかと思ったら、キーボードがおかしかったらしい
使い慣れたキーボードからDELLのおまけ?のキーボードに付け替えたら治った
でも、使いづらいわ・・・

これだと納期間に合いそうにないほど困惑・・・

2011-02-07

DelphiからSQLiteを使う

SQLite3のページ

(Precompiled Binaries For Windows)  の zipをダウンロードしてsqlite3.dllを取り出して配布先アプリや開発環境のフォルダーへコピーする

simple Delphi wrapper for Sqlite 3 を入手


http://www.itwriting.com/repos/sqlitewrapper/trunk/sqlitesimpledelphi.zip
(この sqlitesimpledelphi.zip にも sqlite3.dll は入っています)




利用したいプロジェクト SQLite3.pas / SQLiteTable3.pas をコピーするか プロジェクトに追加して利用する





■サンプルから抜粋
var

 sldb: TSQLiteDatabase;
 sltb: TSQLIteTable;
 sSQL:String;

begin

 sldb := TSQLiteDatabase.Create(ExtractFilepath(application.exename) + 'test.db';);

 if sldb.TableExists('testTable') then // テーブルの存在チェック
 begin
  sldb.execsql('DROP TABLE testtable'); // 存在していたらドロップ
 end;

 sSQL := 'CREATE TABLE testtable ([ID] INTEGER PRIMARY KEY,[OtherID] INTEGER NULL,';
 sSQL := sSQL + '[Name] VARCHAR (255),[Number] FLOAT, [notes] BLOB, [picture] BLOB COLLATE NOCASE);';

 sldb.execsql(sSQL);
sldb.BeginTransaction; //トランザクション開始
sSQL := 'INSERT INTO testtable(Name,OtherID,Number,Notes) VALUES ("Another Name",12,4758.3265,"More notes");';
sldb.execsql(sSQL); // SQL実行
sldb.Commit; //トランザクション終了 コミット
// query the data レコード操作 sltb := sldb.GetTable('SELECT * FROM testtable');
if sltb.Count > 0 then begin // display first row ebName.Text := sltb.FieldAsString(sltb.FieldIndex['Name']); ebID.Text := inttostr(sltb.FieldAsInteger(sltb.FieldIndex['ID'])); ebNumber.Text := floattostr(sltb.FieldAsDouble(sltb.FieldIndex['Number'])); Notes := sltb.FieldAsBlobText(sltb.FieldIndex['Notes']); memNotes.Text := Notes; end;
sltb.Free;
sldb.Free; // DB解放
end;
■SQLite3のSQL
CREATE TABLE テーブル名 (
[項目1] INTEGER PRIMARY KEY,
[項目2] INTEGER NULL,
[項目3] VARCHAR (255),
[項目4] FLOAT, 
[項目5] BLOB, 
[項目6] BLOB COLLATE NOCASE
);
とサンプルにはあるが、
資料には TEXT , NUMERIC , INTEGER , REAL , NONE が型として利用できるとある
又、INTEGER は int と3文字表記できたり、文字が入ると文字列として格納する等と
基本は文字列扱いであるかのような書き方がされているサイトもある