はてなキーワード: C++Builderとは
小学生の時に「こんにちはマイコン」を読んだことを除けば、自分がプログラミングに最初に触れたのはWindowsME上で動くHSPだった。
多分友達の家で「なんかパソコンあるし面白いこと出来ないかな」と話していて触ったのだと思う。3日ほどHSPを触っていたが、スプライトが動いてゲームっぽい何かが作れそうな予感がしたところで飽きた。導入としては良かったが、すごい偽物感があった。
次に目に入ったのはDelphiだった。当時、無料で入手でき、やりたいことがそれなりに出来そうで、かつ理解できそうな開発環境がそれしか無かったからだ。AphexTwinやAutechreにあこがれてDSPをやりたかったので、(1)とりあえず何か音を出そうといじくり回していた。
何日か触っていて、ようやくDelphiのGUI上で設置した「Button1」と関係がありそうな場所に、Webで見つけたコードをコピペすると、それが実行されることがわかった。実行された結果、エラーの文字列がIDEに表示されるか、運が良ければ音が出る。文字通りただのノイズがスピーカーから出ただけだが、とても嬉しかった。
さらに試行錯誤を続けているうちに、MSDNからコピペして"="を":="に書き換え頑張っていると、MSDNのサンプルコードのうちのいくつかは実行出来て何らかの音が出ることがわかった。楽しかったが、偽物の開発環境を使わされている感じもしていた。
またしばらくして、Delphiと同じ開発元からC++Builderというものが売られていることを知った。世の中ではpascalよりC++のほうが使われているらしいことは知っていた。なおかつ、(censored)したけどよくわからなかったVisualC++5.0よりDelphiに似ていて、ずっと使いやすそうだった。買った。8000円くらいだったと思う(2)。
C++はまったく意味がわからなかった。仕方ないので図書館に行って関係がありそうな本を片っ端から借りてきた。まったくの勘違いから、本屋で見つけた3000円くらいするDSPボードの解説書を買ってきて、自分が欲しいものとまるで違うとわかって枕を濡らしたりもした。
この頃借りた本の中に、「エキスパートCプログラミング」という本があった。ジョーク過多な原文を無理やり翻訳したような、典型的な翻訳技術書で、読んでいる間は楽しかった。内容は大雑把に言うと「これこれのコンパイラの場合メモリのアドレスがこうやって使われるのでスタックが云々ヒープが云々。あとCの仕様書書いた奴はタヒねアーグヴィーーアーグシーー」というもので、同じ頃図書館で借りたニューロマンサーのほうが100倍わかり易いと思った。
それでもなんとかポインタの操作くらいは出来るようになり、最終的にはBC++上で、wavファイルを読み込んでメモリに展開するプログラムと、コピペしたFFTのコードを元にソノグラムが表示できるプログラムが出来たと覚えている。今、それらのコードは手元には残っていない。
この後、3年ほどプログラミングには触れなかった。生活に忙しかったのと、人として腐っていたのと、あとは単に飽きたのだろう。
腰を痛めてコンビニのバイトが辛くなり、なんとかデスクワークがしたいと思ってテクニカルサポートの派遣業務を始め、紆余曲折、今はWebアプリのエンジニアをしている。普段はおもにPerlとJavaScriptを書いている。
ちょっとした処理をループ書くか再帰で書くか、といった時に、C++を触ってた時の経験がふっと役に立つことがある。
[1]この時にはまったく無意識だったが、新しい環境に飛び込むときに大事なポイントは、凄く低レベルな目標を決めてとりあえず進んで見ることだと思う。
タグ「delphi」を含む注目エントリー - はてなブックマーク
Delphiアプリケーションのメモリリーク検出法 (山本隆の開発日誌)
http://www.componentsource.co.jp/features/delphi/
TMS Software | Productivity software building blocks
Components > Effects and Multimedia > Video. Torry's Delphi Pages
Components > Effects and Multimedia > Audio. Torry's Delphi Pages
Components > Effects and Multimedia > Voice. Torry's Delphi Pages
Components > Effects and Multimedia > Direct X. Torry's Delphi Pages
eXeScope(Windows95/98/Me / ユーティリティ)
Delphi-ML〓〓〓〓〓〓〓〓〓〓〓??About Delphi
Delphi Q & A 〓f〓〓〓〓 〓〓〓〓〓〓O〓〓(HTML〓o〓[〓W〓〓〓〓)
Delphi WAVEサウンド音を鳴らす/Tips & Tricks
5分ではじめるDelphi - 第1回 簡単なメディアプレーヤの作成(前編)
Controling sound volume from code
lsMicrophone: mxl.dwComponentType :=MIXERLINE_COMPONENTTYPE_SRC_MICROPHONE;
MIXERLINE_COMPONENTTYPE_DST_SPEAKERS
MIXERLINE_COMPONENTTYPE_SRC_WAVEOUT
SwissDelphiCenter.ch : ...set the volume for the microphone/ mute it (enhanced)?
Components > Sound Effects > Mixer. Torry's Delphi Pages
PlaySound('C:\WINNT\Media\start.wav', 0, SND_FILENAME or SND_ASYNC);
Delphi6でプログラミング ビットマップの半透明コピー AlphaDraw
procedure TForm1.Button1Click(Sender: TObject);
bmp1.LoadFromFile('C:\Program Files\Common Files\Borland Shared\Images\Splash\256Color\FINANCE.BMP');
bmp2.LoadFromFile('C:\Program Files\Common Files\Borland Shared\Images\Splash\256Color\FACTORY.BMP');
Form1.Canvas.Draw(10,10,bmp1);
Form1.Image1.Canvas.Draw(10,10,bmp2);
bmp1.Free;
bmp2.Free;
無料版Delphi6でSTGをつくるためのプログラミング講座 Ver.2005 Jan.
SwissDelphiCenter.ch : ...get the MAC Address?
もっと楽にGUIとの連携がしたい:Python + Delphi = P4D(Python for Delphi) - ふにゃるん
Delphi WindowsのOSのバージョンを取得する/Tips & Tricks
SourceForge.net: Gecko SDK for Delphi
BDS(Delphi/BCB)用SQLiteライブラリ (山本隆の開発日誌)
SwissDelphiCenter.ch : programming tips
ナッキーの「Turbo Delphiはじめて奮戦記」- 第1回 Turbo Delphi のインストール
フリーのTurbo Delphiで始めるWindowsプログラミング:ITpro
フリーのTurbo Delphiで始めるWindowsプログラミング:ITpro
http://torrent.borland.com/turbo_hotfix_rollup.zip
http://torrent.borland.com/prereqs_jp.zip
http://torrent.borland.com/turbodelphi_jp.exe
(1) \dotNETRedist\dotnetfx.exe
(2) \dotNETRedist\langpack.exe
(3) \dotNETRedist\NDP1.1sp1-KB867460-X86.exe