第11回 エンバカデロ・デベロッパーキャンプB5セッション自己フォロー(その1:TJvCsvDataSet編)

レジュメP33のFieldDefsプロパティの件は完全に間違い。てか、なんでこんなことを書いたんだろ>俺 最終版を送ってから、台本のデバッグ最中で気がついた。orz 厳密には、CsvFieldDefプロパティでCSVファイルの各フィールドの形式を決定してから、FieldDefs…

第11回 エンバカデロ・デベロッパーキャンプで喋ってきた

「1時間なんて余裕!リハーサルだと時間が余るはずだから、あれとこれもやるべ!!」と思っていたら甘かった。orz なんか、通常の倍くらいの速さで時間が進むし・・・。 しゃべり始めたら、緊張は無くなっていたんだけど。 満員御礼ということで期待していた…

"C++0x" 策定進み草案公開へ

C++0xの"0x"は、16進数の接頭子だったわけですね。(ぉぃ でも、"C++10"に完全対応するC++コンパイラが出るのはその先だろうな・・・。 lambdaとか変態的構文で結構面白いんだけど。

仕様の違いでもあるのかいな。

BPK(C++Builder用パッケージ)をRAD Studio 2009でコンバートしてビルドすると、パッケージがC++Builder/Delphiの両方から使えて、DPK(Delphi用パッケージ)をRAD Studio 2009でコンバートしてビルドすると、Delphiでしか使えないってのは、いったい何なん…

Xerces3.0.0をC++Builder 2009でビルドする方法

Xerces3.0.0が動くらしいので、試してみた。手順は以下の通り。 インストール先のprojects\Win32\BCB6\MakeBuildDirs.batを実行。 インストール先のprojects\Win32\BCB6\Xerces-allにある、XercesLib.bprをC++Builder2009で読み込む。 プロジェクトを変換し…

Singletonパターンとマルチスレッド

マルチスレッドを考慮してSingletonを実装するとき、アクセスする度にTCriticalSectionを使ってオブジェクトの中身を保護してやらないといけないのかな・・・。 class CSingleton { private: CSingleton(){} CSingleton(const CSingleton& obj) {} virtual ~…

C++Builder 2009用ユニット参照関係修復スクリプト

フォームを使用していないユニット*1をコードエディタで表示すると、コードエディタ下側のタブに「コード」と「履歴」しか表示されない場合があるので、それを解消するRubyスクリプト。 require "rexml/document" doc = REXML::Document.new($<) doc.element…

正規表現機能別逆引きリファレンス(改訂版)

自分用に作った奴だけど、頼りにしてくれている人がいるので、微調整しました。 本当はJavaとか.NET FrameworkとかemacsとかPHPなども入れなければならないけど、自分自身が使っていないので、まとめる余裕がありまっせん!! それよりも、12月頭の[検閲済…

C++Builder2009の新機能 その5 (std::unique_ptr編)

CodeGearの高橋さんから、C++0xのunique_ptrが使えるということで試してみた。今までのauto_ptrだとこんな感じ。 #include <memory> // 中略 void __fastcall TForm1::Button1Click(TObject *Sender) { std::auto_ptr<TStringBuilder> pBuffer(new TStringBuilder()); pBuffer->Appen</tstringbuilder></memory>…

C++Builder2009の新機能 その4(TStringBuilder&boostのスマートポインタ編)

VCLに追加されたTStringBuilderを試してみたけど、Appendメソッドに文字列リテラルを渡すと微妙にやばいかも。 void __fastcall TForm1::Button1Click(TObject *Sender) { boost::scoped_ptr<TStringBuilder> pBuffer(new TStringBuilder()); pBuffer->Append("123"); // TSt</tstringbuilder>…

自分用覚え書き:テンプレートと文字列リテラルの罠のようなもの

C++ Templates: The Complete Guideの57ページにこんなコードがあった。 //--------------------------------------------------------------------------- #pragma hdrstop #include <tchar.h> #include <string> //-------------------------------------------------------</string></tchar.h>…

C++Builder2009の新機能 その3(プロジェクト移行編)

その1: C++Builder 5/6/2006/2007から、C++Builder 2009へプロジェクトを移行する場合、一発でうまくいかなかったら、 ぶっちゃけ、プロジェクトを再作成したほうが手っ取り早い*1です。 もちろん、CodeGearを腐すつもりは毛頭無く、以下の理由によるもの。…

C++Builder2009の新機能 その2

Unicode対応のテストとして、いくつかのテキストファイルをTMemoに喰わせてみる。まずは、こんなテキストファイル*1から。普通に保存するとShift-JISのはず。 ユーザー総員 傾注! 諸君 C++Builder2009が来た 無敵のBCB厨諸君 最古参のBCB厨諸君 万願成就の…

C++Builder/Delphi 2009がやってきた!!

なんか知らんが、自宅に帰ったらもう届いていたぞ!!∩( ・ω・)∩ ばんじゃーい で、昨日の追試でFontLinkを試してみた。 ConsolasにMeiryoKe_ConsoleをFontLinkして、エディタのフォントにするとこんな感じ。 微妙に見づらいけど、サロゲートペア文字が別のフ…

C++Builder2009の新機能 その1

Delphi系の方々は解説を始めているけど、C++Builder系で解説している人が今のところいないので、解説になっているかどうか判らないけど、一発目。 まずは、目玉であるUnicode文字列の説明から。 「吉野家」の「吉」は所謂「土吉」(コード:U+20BB7)でサロ…

第10回 CodeGearデベロッパーキャンプへ行ってきた

行ってきたので、チラシの裏。 まとめるのが面倒なので、箇条書き。 C++Builder 2009/Delphi 2009は9/9に出荷。∩( ・ω・)∩ ばんじゃーい 将来的に、ER/Studioとの統合を計画。 Delphi.NETは「本体」より分離して、Visual Studioのアドオンの類になる模様。 …

自分用覚え書き:特殊化テンプレート関数の記述方法(その2)

C++ Templates: The Complete Guideが来たので、ちょっと目を通してみた。 そしたら、前に思ったテンプレート引数が必要なケースがいきなり例題で出てきた。//--------------------------------------------------------------------------- #include <iostream> #prag</iostream>…

C++Builder2009 & Delphi2009発表

たけぇ。バージョンアップ価格が税込み\48,300かよ・・・。('A`) C++BuilderとDelphiは単独でバージョンアップするより、セットでバージョンアップした方が値頃感があると。 てか、セットの値段は変わっていないな・・・。 バージョンアップ予算は前回同様の…

Boost 1.36.0リリース

とりあえず、何が追加されたのかちょっと調べてみた。 Accumulator:累計計算ライブラリ 一番最初のサンプルは平均値と"moment"を求めているけど、"moment"は、これのことかな? Σ(xin)の平均っぽいけど、統計の分散を求める奴だっけ? Exception:例外処理…

自分用覚え書き:特殊化テンプレート関数の記述方法

#include <iostream> #include <string> template<typename T> int compfunc(T a, T b) { std::cout << "compfunc(T a, T b)" << std::endl; return a - b; } template<> int compfunc<std::string>(const std::string& a, const std::string& b) { std::cout << "compfunc(const std::string& a, const </std::string></typename></string></iostream>…

Google C++ スタイルガイド日本語訳

Google C++ スタイルガイド日本語訳が公開されたけど、結構面白い。 ただ、ちょっと気になる部分があって、 "-inl.h"ファイル 必要な場合、"-inl.h"という接尾辞を持ったファイルを使って複雑なインライン関数を定義することができます。 なんだけど、これっ…

第9回 CodeGearデベロッパーキャンプへ行ってきた

行ってきたので、チラシの裏。 その1:合併うんちゃら 合併については、互いに相互補完できるからってことらしい。 C++Builderについては、次期バージョンは"C++Builder 2009"ってことになりそう。 C++0xのサポートも積極的に行うって言っていたけど、おいら…

ハブサイト

「ユーザのためのハブサイト」で、ググると結構あるんだね・・・。 だけど、残念ながら、cpp-users.jpとcppbuilder-users.jp/cb-users.jpは今のところ無し。 ついでに調べたけど、delphi-users.jpやvs-users.jpも無し。 誰かやらない?(ぉ 追記1: 「言い出…

JCL/JVCLのヘルプをRAD Studio/C++Builder/Delphi 2007に統合する方法。

参考にしたのは、サードパーティ製ヘルプを RAD Studio ヘルプにプラグインする方法と、Integrate Help in Delphi 2007 JCL/JVCLのHTMLHelp2版ヘルプを入手。 ヘルプファイルはSourceForge.netよりダウンロード。 JCLはダウンロードエリアのJCL-1.101.1.2725…

大テストを!一心不乱の大テストを!!

C++Builder/Delphiの次期バージョンである、"Tiburón"のフィールドテストが始まっているので、おいらも、喜んでドッグフードをつまみ食い中。 だって、Unicode絡みで地雷踏みたくないし。と思ったら、いきなり[以下、NDAにつき検閲済] 一応、 テストに際し…

任意解像度のビットマップにミリ単位で描画する方法

ビットマップファイルを動的に生成する場合、解像度情報はデフォルトの96dpiで生成される。 デバイスに依存しないで、任意解像度のビットマップにMM_HIMETRIC(1/100mm)単位で描画する場合、以下の手順で、ビューポート範囲等を設定する。 void SaveImage(HDC…

小ネタ:VCL文字列のUnicode化+α

とりあえず、VCLにおけるC++クラスの不備は解消された。∩( ・ω・)∩ ばんじゃーい で、DEKOさんのところで言及されているVCL文字列のUnicode化だけど、考えてみたら、C++Builderの場合、std::stringとの兼ね合いがでてくるんだよな・・・。 例えば、AnsiStrin…

グラフ描画ライブラリ"PLplot"のインストール

PLplot(http://plplot.sourceforge.net/index.html)は二次元、三次元グラフの描画ライブラリ。 ライセンスがLGPLな為、条件付きながら商用アプリにも使えるかも。 こいつをWindowsにインストールするための覚え書き。対象は何故かVisualC++ 2005。 ただし…

小ネタ×2

その1: (´Д⊂グスン やっぱり、Unicodeがらみは地獄だよな・・・。 あと、CP932とUnicodeの変換で「¥」と「\」もやばかった気が。 しかし、ハイフンも数種類あるとは思わなかった。 その2: 「CodeGear "built with" and "powered by" logos」なるものが、使…

RAD Studio 2007(C++Builder/Delphi) アップデート(December 2007 Update)

早速つっこんでみたら、リリースノートの通り「インストールの検証」のステップに3時間半('A`)。 マシンのCPUは、Athlon64 X2の4200+なんだけどね・・・。 インストールするときは、放置できる状態にしておいたほうがいいかも。 20:55 追記: Core2 Duo E660…