・
Firebird Wiki
未だ復旧せず。Google 先生によると、最終更新日が 2011/03/18 で、最終キャッシュ取得日が 2011/04/25 か。
そもそも、Firebird のリファレンス は読みにくい。基本的に、"Interbase 6.0 からの違い" を記述してあるからだ。日本語のクイックスタートガイドはあるけど 1.5 のものだし、SQL リファレンスとしてはそもそも使えない。
Firebird と枝分かれした時の Interbase 6.0x の日本語マニュアルはなかったハズ (そもそも、6.x 系の日本語版は発売されていないハズ) だし、IB 7.x / IB 2007 の日本語マニュアルは...どうだったかな?覚えてないや。
"Interbase 6.0 のリファレンス + Firebird のリファレンス" というのが、Firebird のドキュメントのあたり方なのだけれど、Interbase 6.x の日本語マニュアルはなく、"Interbase 5.5 言語リファレンス" も入手不可能に近い現状では Firebird Wiki はとても貴重なサイトなのだよ...orz。
・
「連休明けに使いますから」
暦の上では今日は平日。連休は明けていないけれど、この件はなんとかなったのでとっとと納品する事にした。思いの外修正点があり、少々てこずった。
・
SkRegExp version 1.2.1 リリース
小宮さん作の正規表現ライブラリ SkRegExp の version 1.2.1 がリリースされました。ANSI 版 Delphi でコンパイルできなかったミスを修正したとの事。
・
ちょっとだけサイトをリニューアル
Delphi 絡みのページをちょっとだけリニューアルしました。
・
プチリニューアル記念 (?) の黒 DEKO さん
さて、プチリニューアル記念として Delphi の話を少々...って、平常運転じゃんか (w
Delphi のコンパイラは dcc32.exe で、コマンドラインから実行するとこうなりますよね?
...さて、ここで問題です。"ツッコミ所はドコでしょう?" 念のために言っておきますと、この画像は "コラ" ではありませんし "イリーガルなブツ" でもありません。
勿体ぶっても仕方ないので回答編。
さて、このサイトでは "Delphi 8" をガン無視し、「.NET やるならハナから C# でやるわい」 というスタンスを貫いて来た (試行錯誤はしましたが) ので、極端に "Delphi 8" の情報がありません。 このアイコン すら拝んだ事がない方も居るかもしれませんね (実は Delphi 2005~XE のリソース内に未だ残っています)。
...で、本題に戻りますが、ご存じのように Delphi 8 は .NET コンパイラ (コマンドラインコンパイラは dccil.exe) で、Win32 バイナリを吐けません。では、このコンパイラは何かと言うと...
に含まれているものだったりします..."C# Builder" って名前も懐かしいですね (DL もしたっけ)。"IDE Integration pack" は、必要最低限のコマンドラインコンパイラで、主にガリレオ IDE の OTA 拡張用でした。新しい IDE になって、コンパイラ自体は .NET 専用になったものの、IDE 拡張を行うにはやはり Win32 コンパイラが必要だった訳です...スクリーンショットのブツは、そのための "dcc32.exe ver 16.0" だったと。
・
プチリニューアル記念 (?) の白 DEKO さん
さて、プチリニューアル記念として Delphi の話を少々...って、平常運転ですわぁ (w
Delphi は 8 からガリレオ IDE となっており、2005 からは複数の言語を同一の IDE 内で管理できるようになっています。以下はガリレオ IDE (BDS) のアイコンのマトリクスです。現在で言う所の "RAD Studio" ベースとなっています (基本的に単体製品ではありません)。
製品名 | BDS バージョン |
発表年 | IDE アイコン |
Delphi for Windows | Delphi for .NET | C++ Builder | C# Builder | ||||
パーソナリティ | プロジェクト | パーソナリティ | プロジェクト | パーソナリティ | プロジェクト | パーソナリティ | プロジェクト | ||||
C# Builder 1.0 | 1.0 | 2003/07 | - | - | - | - | - | - | (なし) | ||
Delphi 8 .NET | 2.0 | 2004/01 | - | - | |||||||
Delphi 2005 | 3.0 | 2004/11 | (なし) | ||||||||
BDS 2006 | 4.0 | 2005/11 | |||||||||
CRS 2007 | 5.0 | 2007/09 | - | - | |||||||
CRS 2009 | 6.0 | 2008/12 | - | - | |||||||
ERS 2010 | 7.0 | 2009/08 | |||||||||
ERS XE | 8.0 | 2010/09 | |||||||||
ERS XE2 | 9.0 | 2011/09 |
パーソナリティアイコンは IDE の中でしか見る事はないと思います。その性格から、バージョンによっては *.ico ではなく、*.bmp で格納されている事があります。C# Builder や Delphi 8 は間違ってるかもしれません (現状、確認しようがないので)。ミスがあったらご指摘ください m(_ _)m
C++Builder のプロジェクトアイコンが不憫で不憫で...(´;ω;`) ブワッ
・
ちょっとだけ昔の Delphi 情報
現在、www.borland.co.jp にアクセスすると www.microfocus.co.jp にリダイレクトされてしまうのはご承知の通り。
...しかし、Delphi User's Site Search をやってみれば解るが、www-origin.borland.com にはまだ Delphi の資料が若干残っている (プレスリリースとか)。Google 先生で "site:www-origin.borland.com/jp/ Delphi" って尋ねてみると、少しだけ情報が得られるかもしれない...とは言え、
日付 | 製品 |
2002/02/19 | C++Builder 6 |
2002/06/02 | JBuilder 7 |
2002/08/22 | Delphi 7 |
2002/08/22 | Kylix 3 |
2002/11/14 | JBuilder 8 |
2003/05/27 | JBuilder 9 |
2003/07/08 | C# Builder |
2003/09/25 | C++Builder X |
2003/11/20 | JBuilder X |
2004/01/28 | Delphi 8 |
2004/09/07 | JBuilder 2005 |
2004/11/04 | Delphi 2005 |
2005/03/03 | Borland C++ 2005 Suite |
2005/11/09 | JBuilder 2006 |
2005/11/24 | BDS 2006 |
2006/09/06 | Turbo Series |
...辺りの "情報不足な時の情報" だけどねっ (あ、黒くなった)。テラ混沌 (w
・
連休ェ...
連休の合間の平日に「いや、ここはもっとこう」と後出しジャンケン的な条件を突きつけられてしまったので連休中も開店。GW 中はこのサイトに足を運ばなかった常連の方は、先月のから お読みください (w
・
梯子を外された気分...?
このサイトでは一貫して BDE (Borland Database Engine) の "Alias" の事を "エリアス" と記してきました...で、何気に DocWiki を眺めていたらですよ、"BDE エイリアスの操作" とか書いてあるじゃありませんか。
「いつから "Alias" を "エイリアス" と記すようになったんだ?」等と思いながら、ふと "エリアス" で DocWiki 内を検索してみたら...なんだよーまだあるじゃんか (*^-^*)
ちなみに私は "Alias" を "BDE 関連の話の時だけ 'エリアス' と呼んでいます"。それ以外では "エイリアス" ですね。
・
そんでもって "今更ながら BDE"
私は既に BDE を利用していませんが、昔作ったアプリケーションで BDE を利用しているものがあり、これを使い続けているお客さんはまだいます。
XP だの Vista だの 7 だの 64bit だのとお客さんが勝手に PC をリプレスする度に、イロイロと問題が発覚してくる訳です。"ソフトをリプレスする金はないけど、どうにかしろ" 的な事も言われたり言われなかったり...。
そんなトラブルの数々を "BDE アプリを BDE アプリのまま現代改修する" ための Tips としてを "53.今更ながら BDE (Borland Database Engine)" に書いていますが、思いつく毎になんだかんだと追記していった結果、現状では当初の倍くらいのボリュームになっています (^^;A
・
そんでもって "リモートデバッガ"
こちらも地味に追記されています。"露骨な Delphi 7 推し" が書いてありますが、Delphi XE を購入すると入手できます (7 / 2007 R2 / 2009 / 2010 / XE)。Starter やアカデミックには付いてこないので注意。
・
IBConsole 日本語+α (ANSI 版)
雑談で "Themed DBGrid" の話をしておきながら、IBConsole 日本語+α の ANSI 版に組み込むのをすっかり忘れておりました。機能的には何も変わらないので同名でアップしてあります。
・
LHAZ 64bit 版
LARS18TH...じゃなかった LHAZ の64bit 版がリリースされています。もちろん、64bit Explorer のシェルエクステンションに対応しています。
・
Delphi の歴代アイコン
先日のと違って、今回は Delphi に限定してみました。
バージョン | IDE | パーソナリティ | プロジェクト | Web 用 |
Delphi | - | |||
Delphi 2 | - | |||
Delphi 3 / 3.1 | - | |||
Delphi 4 | - | |||
Delphi 5 | - | |||
Delphi 6 | - | |||
Delphi 7 / 7.1 | - | |||
Delphi 8 | ||||
Delphi 2005 | ||||
BDS 2006 / Turbo Delphi 2006 |
||||
Delphi 2007 / R2 | ||||
Delphi 2009 | ||||
Delphi 2010 | ||||
Delphi XE | ||||
Delphi XE2 |
PNG 形式 (背景は透明) にしてあるので、プレゼンテーション用に使えるかもしれませんね...って、何の?
アイコンがカブってるものがあるので、"Web 用" を拵えてみました (白背景推奨)。説明用のアイコンとしてはこっちを使うといいと思います。
・
TEADLOAD と シェルエクステンション
Explorer に "TEAD で開く" というコンテキストメニューを追加するシェルエクステンション "TEADLOAD" を M&Iさん に作って頂いた事がある。
かなり以前に作られたもので、Win9x 等では問題なかったのだが、NT 系の OS だとコンテキストメニューの "TEAD で開く" にマウスオーバーするとステータスバーに表示されるヘルプ文字列が文字化けしてしまう。この問題の事を永らく忘れていた。
ふと HDD の中を探してみたら、M&Iさん から頂いた TEADLOAD のソースコードがあったので、ちょっといじってみる事にした。
文字化けの原因は ShlObj.IContextMenu.GetCommandString メソッドの定義にあるが、バグではない。MSDN によると、IContextMenu::GetCommandString の 定義はこうなっている。
|
Delphi での定義もこうなっているので、別に Delphi の RTL が間違ってる訳でもない。
|
結論から言えば、上記のような記述をする事になる。
pszName が LPSTR (Delphi の PAnsiChar に相当) で定義されているのに、実際には "状況に応じて ANSI / Unicode 文字列 (へのポインタ) を返さなくてはならない" のがミソだ。uType で W系の指定がやってきたのなら、pszName に対して LPWSTR (Delphi の PWideChar に相当) を "無理矢理押し込まなくてはならない" という事らしい。
...そういう訳で、修正した TEADLOAD をアップ。念のために古いバージョンも同梱してあります。
・
TQRChart
QuickReport Standard が付属している Delphi の場合、QRChart も付属している。ところが、QuickReport Standard が付属していない Delphi だと、Quickreport Pro を購入したとしても、QRChart は手に入らない...QRChart は TeeChart Pro に付属しているからだ。
つまり、Delphi 7 またはそれ以前で "QuickReport + QRChart" を使っていた場合、理屈上では QuickReport と TeeChart のどちらも購入しなくてはならない事になる。
BDS 2006 / Delphi 2007 の場合、追加で QuickReport Standard が DL 可能なので、QuickReport を使っていた古いアプリケーションは Delphi 2007 までは追加費用なしにマイグレーション可能だ。QRChart が見当たらないだろうが、これまた 追加でインストールする事が可能 だ。
QuickReport Standard が付属しない Delphi で QuickReport Pro を購入して、TeeChart Pro を購入せずに QRChart を使う方法を考えてみる。
・
QRChart for Delphi 2005
Delphi 2005 付属の TeeChart は 4.04 なので、QuickReport 4 Pro があれば
2006 /2007 と同じ方法 で対処できる。
・
QRChart for Delphi 2009
Delphi 2009 付属の TeeChart は 8.03 / 8.05 なので、QuickReport 5 Pro があれば
・
QRChart for Delphi 2010
Delphi 2010 付属の TeeChart は 8.05 なので、QuickReport 5 Pro があれば
・
QRChart for Delphi XE
Delphi XE 付属の TeeChart は 2010 なので、QuickReport 5 Pro があれば
正直、そのまま使えるかどうかは不明。2006 /2007 の場合のように若干の修正が必要かもしれない。
とんでもなく面倒な事になっているが、本来は "Delphi のバージョン × QuickReport のバージョン × TeeChart のバージョン" の分、QRChart のパッケージを用意しなくてはならない 訳で、Delphi に標準添付されない他社製品のために無償でコンポーネントをリリースせざるを得ない Steema Software さんにちょっと同情してみる。
Delphi XE に付属の TeeChart v2010 の Pro 版はかなり複雑なグラフもやれる ようなので、必要な方は購入してあげてぇ~(;o;)...なお、ニュートンで発売されている TeeChart は日本語版ですが、v8 で XE に対応していません のでご注意を。
・
TeeChart Standard 日本語ヘルプ
Delphi 3~7 には TEECHART.HLP が付属しています。Delphi 3 のが TeeChart Standard v3 のもので、4~7 のが TeeChart Standard v4 のものです。BDS 2006 / Turbo Delphi 迄は TeeChart Standard v4 でしたから、とりあえずはこれで充分役に立つと思います。
・
SkRegExp version 1.2.2 リリース
小宮さん作の正規表現ライブラリ SkRegExp の version 1.2.2 がリリースされました。
・
使い所が難しい Delphi の関数
例えば、
|
このように -1 するようなものは、
|
Pred() で書ける。逆に +1 の処理は Succ() となる。Delphi の文字インデックスは 1 ベースなので、0 ベースな配列とかと相互に変換したければ Pred() / Succ() を...いや、使わないな (w
+1 / -1 で書いた方が入力も速いし、視認性もいいし。
複雑な計算式に +1 / -1 が使われている場合には () で計算順序を明示的に指定してやる必要があるが、
|
Succ() / Pred() だとこうなる...えぇと...。
|
どっちが入力効率と視認性がいいかと言われれば...うーん。関数だと確かに入力補完が利くけれど、他の言語に慣れたヒトには読みにくいコードだろうなぁ...。そもそも、Delphi の関数というより Pascal の関数なので 「何を今更言っている?」 感があるけれど。
・
「何を今更」 Part 2
例えば、2 つ関数があってどちらも正常に処理を行ったら True を返すとする (処理 A / 処理 B)。"処理 A" と "処理 B" を必ず行って、どちらか片方でも True であれば "処理 C" を行うものとする。
|
単純にしてみるとこんな感じ。メインのトコは、
|
...とはならない。この場合、ProcA が True を返したら、そこで評価式の条件が確定してしまい ProcB は実行されない からだ。恥ずかしながらつい最近、コレにまつわるバグを出してしまった...もちろんこんな単純なケースではなかったのだけれど。
"完全に式を評価し、途中で評価を確定しない" ようにするためには以下のようなコードにしなくてはならない。
|
本当に何を今更なのだが、久々にコレに引っ掛かったのがとてもショックだった...ちょっとボケたかな?
ちなみに、最近は "ブール短絡評価 (DocWiki)" と呼ぶようだ。以前は "論理式のショートサーキット評価" と呼ばれていたけれど。
・
「何を今更」 Part 3
QRChart の話をもう少し。例え QRCahrt がなかったとしても、TeeChart は生成したグラフを Bitmap / Metafile で吐く事が出来る。
・
Tips の分離
Kylix の Tips を書く事は多分もうないだろうし、サイトの容量を気にする必要もなくなったので Delphi と Kylix の Tips を分離しました。両方ともトップページから辿れるようになっています。
また、Tips ページ の下部に "DEKO に飯をおごってあげる" ボタンが追加されています。腹ペコ DEKO タンに何かおごってあげる時にどうぞ (w
それと...雑談で書いた
これらを Tips としてまとめたものを掲載しました。・
SkRegExp version 1.2.3 リリース
小宮さん作の正規表現ライブラリ SkRegExp の version 1.2.3 がリリースされました。
正規表現の .NET 互換ラッパークラスには、
・
今日の (俺的) 神曲
access (AXS) の "SWEET SILENCE"。
組み込みブラウザや X68K の FEP を作ったメーカーでもなければ Microsoft のデータベースでもない。いわゆる "大ちゃん"。
・
3 years ago...
とりあえず 3 年前までの雑談がマトモに読めるようになっています。まだ 10 年分残っている (正確には 122 ヶ月) のよなぁ...orz
・
Delphi for Win32 と WOW64
"Delphi for Win64" 発売の前に、まずは現状でもできる事を。WOW64 絡みの Tips を 2 件投入しました。
・
ONKYO TW317A5 仕入れました
誰も "スレート PC + Delphi" の話題書かないけど、興味ないのかなぁ?iPad とか Android パッドが好きなのなら仕方ないけど...。
・
APEC
アジア太平洋経済協力...ではない。"個人的な φ(`д´)メモメモ…" さんで公開されている EXE から PE ヘッダを調べるツール。ブログのトピックタイトルは "Windows 64-bit 実行可能ファイル (EXE, DLL)の判別方法" となっているが、64bit / 32bit 用の両方のツールが同梱されている。
・
戯れに...
リモートデバッガのアイコンが粗いので、戯れにアイコンを描いてみた。
ちょっとリアル志向ですが、オリジナルのアイコンをリスペクトしてみました。キモイアイコンがそんなに好きな方は Vista 対応アイコンをご用意致しましたのでご自由にお使いください (16x16 / 32x32 / 48x48 / 256x256 のサイズが含まれています。色深度は 8bit です)。最近のブラウザは *.ico も画像として表示してしまうようなので、リンクを右クリックで保存して下さい。
「デバッガのアイコンは可愛く描いたら負け」 かなと思っている。
・
ONKYO TW317A5
ONKYO TW317A5 の活用 という専用サイトを設けました。これ絡みのデスマやってる訳ですが、備忘録代わりです。
・
ONKYO TW317A5 の活用
スレート PC プログラミングのコンテンツ増量中。
・
タッチ操作の説明画像
お気付きかもしれませんが、説明画像は Microsoft のものを日本語訳してあります。02/22 の雑談 にあった画像も差し替えてあります。
・
ONKYO TW317A5 の活用
スレート PC プログラミングに
マルチタッチについては一通りできるようになったのでよしとする。が、本気でスレート PC プログラミングをやるならこれだけで満足している訳にはいかない。そろそろ "何ができるか?" ではなくて "何を作るか?" の方に軸足を移そうと思う。
・
ONKYO TW317A5 の活用
スレート PC プログラミングに
・
ONKYO TW317A5 の活用
こんにちは。Intel ではなく、変なスイッチが入ってる DEKO です。
・
Back Stage
途中まで Direct2D も使ってたんですが、TW317A5 では d2d1.dll がコケる事がある (ファイルサイズではなく画像サイズが大きいもの) ので、方向転換を余儀なくされています。
Direct2D は Windows 7 なら標準で使え、Vista でもマトモに Windows Update をやっていれば標準で使えます。Delphi から使うのはとても簡単で、
|
こんな感じで Direct2D を使って TImage に描画できます。Embarcadero の DocWiki にもドキュメントがありますのでご一読下さい。
マルチタッチ対応機ならもれなく Direct2D が使える事になるため、これを使わないテはなかったのですが...残念。そのうち、Tips にするかもしれません。
・
デスマに疲れたら...
Delphi XE を起動し、"$(BDSCOMMONDIR)\Samples\Delphi\VCL\Blocks\DBlock.dpr" を開いてコンパイルします。
どこかで見たようなアレができます。ソースを改変する事にハマってしまうのがプログラミングに携わる者の悲しい性でしょうか?
$(BDSCOMMONDIR) の場所は、[ツール | オプション] の "▶ 環境オプション ▶ 環境変数" で確認できます。
・
ひっそりと...
Delphi XE のテトリスの件ではないですが、Demo とか Samples にはひっそりとコンポーネントが隠れていたりします。
Delphi 3 ~ 6 の [Internet] タブにあった元標準コンポーネントです。[コンポーネント | パッケージのインストール] で "$(BDS)\bin\dclsocketsnnn.bpl" を追加する事で Delphi 7 ~ XE でも利用可能です (nnn はコンパイラバージョン番号)。この件は Embarcadero のナレッジベースにも記載があります。
Delphi 2005 まで [Samples] タブにあった元標準コンポーネントです。"$(BDSCOMMONDIR)\Samples" 以下から dclshlctrls.dpk を探し、これを [ファイル | プロジェクトを開く] で開き、右クリックしてコンテキストメニューからインストールする事で BDS 2006 ~ XE でも利用可能です。
Delphi for Win32 では標準コンポーネントだった事はありませんが (VCL.NET の [Samples] タブに標準で存在)、Delphi 2005 またはそれ以降には "$(BDS)\bin\source" を探すと CollPanl.pas があります。これは最近の Delphi で言う所の TCategoryPanelGroup に相当するもので、TPanel と組み合わせて使うと TCategoryPanelGroup に似た動作ができます。詳細については iPentec さんの記事を参考にしてみて下さい。
とりあえず TCollapsePanel を試してみたい方のためにパッケージを用意しました。アーカイブを解凍したら CollPanl.pas と同じ場所にファイルを置き、CollapsePanel.dpk をインストールすると [Samples] タブに TCollapsePanel が表示されるようになります。
・
ONKYO TW317A5 の活用
スレート PC プログラミングに
・
Windows 7 のジャンプリスト
第 15 回デブキャン【A6】セッション での細川さんが 「ちなみに.NET Framework 4.0 では、ジャンプリストを簡単に扱うクラスが提供されています。VCL でもサポートされるといいのに……。」 と仰っていましたが、その .NET っぽいジャンプリストクラスが公開されています。
・
ONKYO TW317A5 の活用
スレート PC プログラミングに
・
RAD Studio XE ジャンプ・アップキャンペーン と RAD Studio XE Enterprise 版アップグレードキャンペーン は今日まで
テトリスも遊べてお得な Rad Studio XE のキャンペーンは今日まで。加えて BDS 2006 以前のユーザは明日以降アップグレード価格で Embarcadero 製品を購入する事ができなくなります。
BACK | 古いのを読む | 新しいのを読む |