プログラミング

CFBundle

CFBundle APIを使うと、CFMアプリケーションからMach-O フレームワークを使えるってホント? ※追記 CFBundleCreate()してCFBundleGetFunctionPointerForName()するのら。

基本知識

Windows用のライブラリをMacOSX用に移植中。 コンパイラはgcc。 複数の処理系を使っていると、いかにC言語やC++の基本的な知識が足りていないかがよく解る。 ダメダメだ〜>自分

ostringstream()の使い方

ostringstream oss; oss char* a = string(oss.str()).c_str(); こんな感じかな。

データの受け渡し

GUIアプリA (CFM Carbon) から バックグラウンドアプリB (Cocoa) に、データを渡して処理してもらい、その結果を受け取りたい場合、どのように通信すれば良いのだろう? ちなみにデータは2GBなんていう大きなものもありえる。 1) Apple Event による送受信(A…

ColorSyncでメモリ上の画像データを色変換するには

CWMatchBitMap() APIを使えばよい!・・・んだよね? http://developer.apple.com/jp/technotes/tn2035.html

大と小

__min(),__max()じゃなくてstd::min(),std::max()を使えってあれほど・・・

NSStringからFSRefに変換するにはFSPathMakeRef()を使うんだ!

レンダリングインテントが反映されない

NCWNewLinkProfile()を使ってColorSyncでリンクプロファイルを作成してみた ケド、レンダリングインテントの指定が反映されない。 必ず「知覚」になってしまう。なぜ〜?

OLE2T(),T2OLE()はスタックメモリ上でお仕事する

でかい文字列を扱う時はCOMUTIL.hの ConvertBSTRToString(),ConvertStringToBSTR() を使いましょう。 しかしハマったな・・・。

LStr255

LStr255(Pascal)型文字列からC文字列に変換するには p2cstrcpy()を使うんだ! http://www.devworld.apple.com/documentation/Carbon/Reference/Text_Utilities/Reference/reference.html#//apple_ref/doc/uid/TP30000144-CH1g-F08547CodeWarriorとかPowerPla…

C++

多重継承ってどうも好きになれない。美しくない。

Kwartz

Kwartzという言葉を始めて知った。メモメモ。 http://www.kuwata-lab.com/kwartz/users-guide.ja.01.html

Yahoo!辞書−英和・和英ブックマークレット

調子に乗って、Yahoo!辞書のブックマークレットを作った。 表示されているページ中の調べたい単語を選択してブックマークをクリックすると Yahoo!辞書サイトに飛ぶ。 javascript:(function(){location.href='http://dic.yahoo.co.jp/bin/dsearch?p='+documen…

「今日は何の日?」ブックマークレット

あわわわ。文字コードの事を考えてなかった・・・。 よって、この様に修正するです。 javascript:(function(){var theNow = new Date();var theM = theNow.getMonth()+1;var theD = theNow.getDate();var theUrl = 'http://ja.wikipedia.org/wiki/'+theM+'%E…

「今日は何の日?」ブックマークレット

生まれて初めて作ったブックマークレットは、日付を指定したWikipediaへのリンク。 名付けて「今日は何の日?」ブックマークレット。ひねりも何もない・・・。 そもそも、こんなのはとっくに誰かが作っていると思うけど、モノは試しということで自作してみた…

ビルドできない!

もらったソースをビルドするとリンクエラーが発生する。 CarbonLib内にあるFileManagerの関数なんだけどなぁ。 CodeWarriorのバージョンが合わないのだろうか・・・。 このままじゃ仕事が全然進まないぞ。

MacOSXアプリ開発の仕事キター!

但しコンパイラはCodeWarriorだけど。開発マシンはPowerMac G4になりそうだ。 ってなワケで明日の休みは無くなりました。うきうき。

wxWidgets 2.6.1 Windows版を VisualC++ 6.0 で使うための準備

ダウンロード http://www.wxwidgets.org/dl_msw2.htm#stableから「wxMSW-2.6.1-Setup.exe」をダウンロードする。 インストール wxMSW-2.6.1-Setup.exeを起動し、インストーラーの指示に従って素直にインストールする。 ビルド コマンドプロンプトからビルド…

Regex++でCSVデータをタブ区切りに変換

結果は標準出力ストリームへ const char* srcfile = "test.csv"; FILE* f = fopen( srcfile, "r" ); if( NULL == f ) { return -1; } boost::basic_regex<char> regex = "(.*?),(.*?),(.*?)"; boost::match_results<const char*> results; char src[1024]; while( fgets(src, si</const></char>…

C++の正規表現ライブラリ'Boost Regex++'を使ってみる

VC++でテキストファイルの中をあれこれするツールを作ることになったので、Boost C++ Librariesの正規表現ライブラリ'Regex++'を使ってみる。 Ruby以外の言語で正規表現を使うのは初めてだ。ドキドキ。 追記: □http://gimite.ddo.jp/behind/regex.htm □Let'…

同じ機能のスタンドアロンアプリケーションをWindows用とMacOSX用にそれぞれ作る場合

幾つかの選択肢が考えられる。 ソースコードのみ統一 Tcl/TkとかGTK+とかQtとか? 同一のバイナリ 作るものによるだろうけど、Javaだろうな。 XUL+XPCOMでもちょっとしたツールくらいならいけそう。 どうしてもソースが分かれちゃう部分はJNIとかXPCOM拡張で…

フィールドオーバーライド

フィールドオーバーライド 5年位前、こいつにハマッたな・・・。 ビジネスロジックだと(3)(extendsを禁止)が相当現実的だと思います。でも、わかってなければわかってないほど使いたがるんですよね、これが。 は、耳が痛い(^^; どうしても使いたくなるんだ…

深い階層のディレクトリも一発で作れるよう再帰を利用する

動作検証は Visual C++ Ver6.0 で行った。 int makeDir( const char* in_Path ) { while( -1 == _mkdir(in_Path) ) { if( ENOENT == errno ) { // 一つ上のフォルダを作成する char drive[_MAX_DRIVE]; char dir[_MAX_DIR]; _splitpath(in_Path, drive, dir,…

コメント

今、とあるバグを調べるのに他人が書いたソースコードを読んでいるんだけど、 「//」の後に空白を入れてないんだよね。それがどうも気になる。 ワシは空白一つ入れるし、空白二つの人もちらほら見かける。 だけど空白無しってのは初めてだし、どうにも慣れな…