ざつだ ん。 (08/10/01~)
08/10/04
・
PPA 1.25β5
Delphi 2009 対応版。将来のバージョンアップを期待して組み込むだけ組み込んでみたいヒト向けです。Delphi 2009 用は当然 Unicode に対応していますが、正直デバッグがまだまだ必要なレベルです。サンプルが動作する程度だと思って頂いたほうがいいかと。
08/10/06
・
DelphiのTips
今日の Tips は Delphi 2007 と TEdit についてです。
08/10/14
・
へべれけ
締め切り(暫定)が 3 つ(正確には 4 つ?)が重なって、へべれけ状態。「Delphi の Tips はどうした?」って?ちゃんと書いてましたってば。え?見えない?そのうち見えるようになるんじゃないですかね?
・
DFMのないソースコード
(どっかの会社が作った)Delphi 製 PG の修正依頼が来た。「ソースコードあるから」と見てみたらどこにもそんなものはない。よくよく見たら "SourceCode.txt" ってのが。へ? dpr は?それより何より dfm は?どうやら、そんなものは存在しないらしい。後は現行の実行プログラムのインストーラ一式。暫定締め切りの一日前に気付いて血の気が引く。しかも今日は祝日で担当者に連絡が付くはずもない。
たらりらったらー♪ DeDe !!
"こんな事もあろうかと"以前、DL していた DeDe に EXE を食わせて DFM を生成。プロジェクトファイルは適当に作って、依頼された修正を行って暫定版の完成、っと。
DeDe は Delphi 製 PG 用逆コンパイラです。ソースコード(pas) の生成には難がありますが(だって asm ブロックにアセンブラが...)、DFM を取得するのには充分なデキです。DFMをスッ飛ばしてしまって、"お客さんトコにしか最新 EXE がない"、とかいうオマヌケな事をやらかした場合にも有効です。
・
念願の?
〃´⌒ヽ
., -―― メ/_´⌒ヽ
/ / ̄ ´ヽ ヽ
./ , /// ト. ! 、 丶ヽ
l / /(((リ从 リノ)) '
| i l . ヽノ .V l
l ,=! l /// ///l l ねんがんの Delphi 2009 をてにいれたぞ!
l ヾ! ', l ヽ_フ l l
| ヽヽヽ //
l ヾ≧ , __ , イ〃
li (´`)l {ニ0ニ}、 |_"____
li /l, l└ タl」/|´ Delphi `l
リヽ/ l l__ ./ |_________|
,/ L__[]っ / /
|
"PDA(WM)" & ".NET 2.0 CF" の開発なのだから選択の余地がないだろう?せめて、Delphi Prism が間に合えばよかったのだけれども。ちなみに、Delphi 2009 はちゃんと開発に使っております。つーか、そもそも VS も使ってたんだけどね (過去の雑談を参照の事)。今回のネタは"偏った言語信者の垂れ流し"さんからパクりました。えー、パクリですとも。
08/10/15
・
見えない Tips
見えるようになったみたいです。
CDN の記事はこのサイトの Tips を CDN 向けに加筆/訂正/アレンジしたものです。具体的には今回の記事は Tips の中から Unicode に関連する箇所だけを抜き出して再構成してあります。"Part I" と銘打ってあるように、続きがあります。え?見えない?そのうち見えるようになるんじゃないですかね?
08/10/16
・
CDN の Tips
今更隠してもしょうがないのでバラしますが、CDN への記事は現在の所、"Delphi 2009 と Unicode : Part I" を含めて 7本 用意してあります。Delphi 2009 関係は当サイトの Tips から考えればあと3本は投稿したい所です。すべての投稿が掲載されるとは限らないので、新規ネタで CDN に掲載されないものがあったら、当サイトで公開する事にしようと思っております。
08/10/17
・
CDN の Tips
第二弾。
さて、どこまでイケるかな(謎)?ちなみに、CDN の記事は、
- 記事作成
- GetPublished で投稿
- CodeGear 社内レビュー
- 加筆/訂正/削除 (2.へ戻る)
- 確定
- 公開
のプロセスを踏んでいます。記事作成~公開までのタイムラグが結構ありまして(半分は記事を書いている方の都合ですけどね)..."空気を読んでない"場合がありますので、ご注意下さい。ちなみに、"Part II" のタイムラグは1週間です。"GetPublished" 自体の記事も書いてみたい気はしますが...。
・
アンケート
"アンケートにネタを書いちゃいけない"ってのを実感している今日この頃。
08/10/18
・
USBフラッシュメモリ
お客さんからの持ち込み。PCにUSBフラッシュメモリを突っ込むと、「フォーマットされていません」と出る。とりあえず、道具を用意しないと。
はい、これで復旧(完)。
詳細を説明すると長くなるのでやめておくが、「ケチくせぇ」と思われるのもシャクなので、今回実行した手順を簡単に説明。
- DD for Windows で USBフラッシュメモリ をダンプする。
物理的に壊れていなければ、USBフラッシュメモリ にあんな事やこんな事をしても、イメージファイルを書き戻せば元通り。
- ダンプしたイメージファイルを BZ にかける。
フォーマット情報だとか、パーティション情報だとかを調べる為。"Disk Probe" とかで USBフラッシュメモリ を直接確認してもいいけれど、被害を拡大させない為の措置。
- パーティション情報がフッ飛んでるだけっぽいのを確認。
- TestDisk を使ってパーティションテーブルを FAT32 で復旧 (4GB USBフラッシュなので)。
- 一応、USBフラッシュメモリ が読めるようになったので、単純コピーでバックアップ。
- パーティションテーブル以外も破損している可能性があるので、FinalData を使ってファイルを復旧。こいつもバックアップ。
- バックアップを CD-R に焼く。
「フォーマットされていません」は "ハードウェアの安全な取り外し" をせずに USB フラッシュメモリを引っこ抜いた可能性が高い。物理故障以外で「フォーマットされていません」が出たら、パーティションテーブルが飛んでいるだけという事があるので、上記ツールを揃えればファイルを救出できる...かもしれない。
・
TEAD ver2.26
リリース。"Delphi 2007 のような措置" を今回も採ってあります。
08/10/21
・
CDN の Tips
第三弾。
とりあえず、Unicode 関連の記事はこれにて終了...なのですが、記事中にあるように、"サロゲートペア" と "結合文字列" については補足記事があったりなかったり。
・
"Arial Unicode MS"
補足。このフォントは以前、無償配布されていました。現在では無償配布は中止されており、Microsoft Office 2000 以降に付属しています。歯切れの悪い書き方になっているのは、
- 最新の Unicode 文字に対応していない。
- 開発は中止されている。
- プロポーショナルのみなので、コードエディタのフォントとしては使えない。
- (少なくともOffice日本語版では)デフォルトでインストールされない。
- Windows 標準のフォントではない。
という事です。もう一点ありまして、このフォントは、TFont.CharSet に指定できる文字セットをすべて網羅しています...つまり、ANSI版 Delphi のフォントとして最適なのです。"Microsoft Office 2000" は Win9x にもインストールできる訳ですしね。
08/10/22
・
ニンジーン loves you year!
ウチの子はニンジンを苦手としない。"苦くなくなる調理方法" で処理したものを食べさせていたから、今では普通の調理方法のものでも普通に食べれる..."慣れ" という奴だ。
勿体ぶってなんだが、"苦くなくなる調理方法" というのは、油で処理するだけだ。フライパンに油を多めに引き、充分に熱したら"素揚げ" に近い状態にする。ニンジンの色が変わったら、ザルにあげて油切りをする。この下準備をしたニンジンをイロイロな料理に使う訳。高温処理するので栄養面ではどうかと思うが、学校給食でニンジン残すようになる位なら、とにかく "普通に食べれる" 方がいいに決まってる。
・
そして今日もゴハンを作る
昨日のゴハンは、"奥様が使いもしないのに買ってきた有頭エビ(特価品)" を使った八宝菜モドキ。野菜は冷蔵庫にあったもの(ニンジンと白菜とモヤシとシイタケ)で、あとはウズラの卵と豚肉とエビ。"7つしかないとかゆーな"
- エビを茹でる。殻と身を分ける。
- 殻の水気を切ったらオーブンで焼いて水気を飛ばす。
- お湯にエビ殻を投入して煮込み、"ステキな出汁" を取る。
- 野菜を別に炒める。
- 豚肉とエビは片栗粉をまぶして下処理。
- 鶏ガラスープを用意する。
- 豚肉とエビを投入、豚肉に充分火を通す。
- 炒めた野菜を投入。
- エビ殻からとったダシを加える。
- 塩・コショウで味を整える。
- アクを取りつつ、ちょっと煮込む。
- ウズラの卵は適当に投入。
サヤエンドウがあれば "八宝" で、彩り的にもよかったんだがなぁ...。トロミ?豚肉とエビにまぶした片栗粉で、勝手にトロミは出ます。エビの殻のダシは最強。鍋なんかもエビ入れてるとダシが出てウマイんだけど、ちょっと生臭くなるのが欠点。ダシとして使うなら、殻から。殻をオーブンで焼くと生臭さが減り、香ばしさも出るのでオススメ。オーブンなければフライパンで炒ってもいい。後片付けの際も、ダシを取った後のエビの殻はそんなに生臭くないので、いいことづくめだ。注意点としては、事前にエビをちゃんと洗う事(衛生上)。エビの茹で汁はダシに使わない事(生臭いから)。
そして、今日もまた僕はゴハンを作る。今日は何にしようかなぁ...?
08/10/23
・
CDN の Tips
今日は2つあります。
一連の Unicode 記事の補足です。記事中の Copy_S() は、MECSUtils を使わないで文字列を文字単位で処理します。ただし、MECSUtils の MecsCopy() とはロジックが異なります。
08/10/26
・
Delphi 2009 の InstallAware
Delphi 2007 と同じく "Express 6 CodeGear Edition" がインストールされます...が、DVDの中(\InstallAware)をご覧下さい。
- ia6-codegear-express-special-edition.exe
- ia-codegear-express-special-edition.exe
この2つがあります。インストーラでインストールされるのは、"ia6-codegear-express-special-edition.exe" ですが、"ia-codegear-express-special-edition.exe" は
"InstallAware 7 R2 CodeGear Special Edition"
です。但し、"Express 7 R2" は GUI が英語です。しかしながら、UAC のエレベーション機能を持っていたりと高機能になっているようです。
・
InstallAware 6
以前、ちょっと触っただけだったのですが、今回仕事でインストーラを作る必要がありまして。現在、InstallAwareと格闘中です。6は、ローカライズでエクスポートしたものをすぐにインポートしただけで、"Setup resource decompression failure" のエラーとご対面となりますが、イロイロ調べたら、原因は2つあるようで。
- むやみにインポート/エクスポートしてはいけない
インポート/エクスポートウィザードの途中にあるボタンを押してローカライズするのではなく、エクスポート先の "mTranslator.exe" を使うと良さげ。
- 漢字に注意
"表" とか "能" とか使っちゃダメ。何故なら、2バイト目が 0x5C だから。InstallAware はこの 0x5C をパスデリミタ以外にも "何かのセパレータとして使ってる" っぽい。"インストールする機能" とかいう文字列は普通に使うのになぁ...。
...てな訳で、丸々1日潰してしまい、"Express 7 R2" と現在格闘中っと...orz。基本的な InstallAware の使い方は "InstallAware を使って配布モジュールを作成する(CDN)" を参照の事。つくづく思うけど、ホントに "インストーラ作成" と "ヘルプ作成" は昔から鬼門よなぁ>日本語。
・
続 InstallAware
うーん。翻訳のインポート機能は Vista じゃ正常に動作しないんじゃ? DN#34383 もサンプルはXPだし。物は試しと WindowsXP にインストールしたら、普通に動きやがんの。頭に来たので Tips 書く。こんな理不尽なバグに皆が付き合う必要はない。
追記: Vista でもちゃんと動作します。
・
続続 InstallAware
Tips できました。
08/10/28
・
TEAD ver2.27
リリース。
・
スプールファイル変換ツール ver1.48
Delphi 2009 でビルド。Delphi 2009 の TMetaFileCanvas は ExtTextTextOutW で文字列を描画しているハズなので、2004/10の雑談にあるような制限がなくなったと思う。
もう、これが何のツールなのか覚えているヒトも少ないと思うので補足。
Windows 2000/XP/Vista は印刷を行うと、スプールファイルを "%SystemRoot%\System32\spool\PRINTERS" へ吐く。これを横取りしてクリップボードへコピーしたり、ファイル(EMF)として吐いたりプレビューしたりするのがこのツール。一部のCAD屋さんに人気らしい。
使い方としては、
- 適当なプリンタドライバをインストールする。
実際に所持していないものでもいい。カラー出力でき、A1とかに対応している物等は融通が利く。PDF印刷系の仮想プリンタでもいい。
- コントロールパネルを開き、このプリンタを一時停止状態にする。
- splconv.exe を起動する。
- 適当なものを印刷する
こんなカンジ。詳細は readme.txt で。このツールを使うことの利点は以下の通り。
- プレビュー機能を持たない印刷プログラムでも、このツールを使えばプレビューが可能になる。
- CAD の図面をプレビューして、そのスクリーンショットを EXCEL 等に貼り付けても、字が潰れて読めたもんじゃないが、このツールが吐いた(クリップボード/ファイル) EMF を EXCEL 等に貼り付ければ、キレイに印刷できる。
- 開発のお供に使える。帳票設計の初期段階で山のような無駄紙を使う必要がなくなる。
- 開発のお供に使える。客先のプリンタを実際に所持していなくてもプリンタドライバさえあればテストが可能。
- ファイルに吐けるので、印字ミスをメールで送る事ができる。印刷物をスキャナで取り込む必要もない。
- 印刷を待たなくてもいい
このツールが持つ機能の幾つかは、PDF仮想プリンタなんかでも同じような事ができるものの、"現場で使われているプリンタでのみ正常に印字できない" とかのトラブルシューティングはPDF仮想プリンタではできない。印字余白とかがまるっきり違うし。
トラブルシューティング:
このツールは規定のスプールの場所 "%SystemRoot%\System32\spool\PRINTERS" しか認識しない。
スプールファイルの吐かれる場所は [コントロールパネル | プリンタ | ファイル | サーバのプロパティ] にある"詳細設定"タブの "スプールフォルダ(S)" で確認できる。
- プリンタドライバによってはスプールファイルを取得できない事がある。
A3カラーに対応しているので "EPSON PM-2000C" 辺りが便利かと。
- プリンタドライバは RAW 形式にしてはいけない。
スプールファイルを吐かないから
- アプリケーションによっては利用できない事がある。
直接制御する事があるから。
- 画像の印刷プレビューには向かない。
EMF 内に BMP を保持するので、巨大な EMF ファイルになってしまうから。
・
ちなみに。
Delphi 2009 でビルドした時に修正したのは uses句の XPMan, VistaAltFix(何故か入ったままだった)、それと プロジェクトファイルから FastMM4 を外しただけ。ロジックのコードには一切手を加えていない。元のソースは Delphi 2007 用だった。
・
第11回エンバカデロ・デベロッパーキャンプ
同じ時期に忙しそうな方がもう一人...。10/17の雑談も参照の事。
08/10/29
・
InstallAware 簡易翻訳ツール
リリース。翻訳作業がちょっとは楽になるでしょう。
・
翻訳
英日/日英やってると、BartPEに(ダブルミーニング的な意味で)ハマってた頃を思い出す。ベトナム語もちょっとやったし、次は中国語か...実にグローバルな零細企業だな>ウチ。
08/10/30
・
スプールファイル変換ツール ver1.50
リリース。何で"標準のスプール格納場所しか認識しない仕様にしたのか、今となっては思い出せない"ので、スプール格納場所を自動認識させるようにした。それと、"MainFormOnTaskbar" がなかったので追加しておいた(Vista対策)。
08/10/31
・
CDN の Tips
新しいトピックが公開されました。
ほぼ新作です。"日本語の結合文字列なんてカワイイもの"、"正規化(標準化)の必要性" ...という事がお分かり頂けるかと。
そういえば、Unicode では漢字を"偏"、"旁(つくり)"、"冠"に分割して結合文字列にするという案もあったとか...「"行" と "衛" の "行にんべん" のサイズとかをどうやって合わせるつもりだったのか?」、「BackSpaceで結合文字を消したら意味のある文字が残るのか?」と、机上の空論しかしない学者様を問い詰めてみたい今日この頃。
・
DelphiのTips
今日の Tips は BDE についてです。
Delphi 2009 の Tips が最近ありませんが(関連はしてますけどね)、ネタが無い訳じゃなく CDN やら、12月某日のやら、本業が重なってしまって手を付ける機会を失っています。ご了承下さいm(_ _)m