Delphi

DelphiでWinsockを使ってサーバを書いてみる

ふと、思い立ってDelphiでWinsockを使ってみる。Delphi2009 echoサーバを書いてみた。 EchoServer.dpr program EchoServer; {$APPTYPE CONSOLE} uses Windows, SysUtils, Winsock; const PORT = 5000; IP = '0.0.0.0'; var wsdata: WSAData; sockServer, soc…

Delphiで作られたソフトウェアを調べる

調べ方 XN Resource Editorを使って実行ファイル(.exe)のリソース情報を調べます。(これもDelphiで作られてます) wilsonc.demon.co.uk Delphiで作られた実行ファイルは、RC Data/PACKAGEINFOのEnvironmentの値が「Delphi」となります。 RC Data/DVCLALや「T…

chromiumをDelphiアプリケーションに組み込めるdelphichromiumembedded

Delphiでブラウザコンポーネントを扱う方法は前々からいろいろ模索してて、最近見つけたよさげなものを紹介。 delphichromiumembedded(名前長い)はchromiumをアプリケーションに組み込めるというもの。 chromiumembeddedというプロジェクトのDelphi用のラッ…

restructuredtext用のエディタを作ってみた

少し前に作って放置してた。使ってみたければどうぞ。Windows専用です。 tokibito / rstedit / Downloads — Bitbucket 追記 Vista、Windows7ではIEコンポーネント関連の問題で動かないようです。やっかいな問題なので、解決策見つかるまでは放置です。すみま…

Delphiはコンポーネントが命

Delphiはコンポーネントがいっぱいあるところがいいよねぇ。 再利用しまくりですわ。 でもこれがなかったらDelphiって・・・となるのがな。

python4delphiの配布時のファイルとPYTHONPATH

Python自体をインストールせずに動かそうとしてはまったのでメモ。Python2.6.5(Windows x86)の場合。 msvcr90.dllとmanifest python26.dllでVC++のランタイムが必要なので用意する。 exeファイルと同じディレクトリにファイルを置く場合、 Microsoft.VC90.CR…

Unicode SynEditのTSynMemoの不具合?メモ

http://mh-nexus.de/en/unisynedit.php Delphi2009でUnicode SynEditのSynMemoを使ってみたのだが、空ではない行の行末でエンターキーを入力した場合、キャレット位置が変わらなかった。 SynEditのコードを読んで原因特定するのが大変そうなので、とりあえず…

python4delphi (p4d)をDelphi2009で使う

p4dのIssuesには2009で動かないというのがあるんだけど、そこにパッチがあったので、試しに使ってみたら動いた。 Delphi 2009 Compatibility · Issue #4 · pyscripter/python4delphi · GitHub

DjangoでXMLを出力してDelphiから利用する

サーバサイド(Python/Django)とクライアントサイド(Delphi)のアプリケーションの連携をやってみる。 今回はゲストブックアプリのデータを、クライアントアプリから閲覧、投稿できるようにしてみる。 サーバサイドの用意 Djangoのアプリケーションは以前作成…

Delphiのデバッガにデバッグメッセージを出す

よく忘れるのでメモ。WindowsAPIのOutputDebugStringを使うとデバッガが拾ってくれる。 OutputDebugString('デバッグメッセージ');

mod_pascalのリポジトリを公開しました

mod_pascalのリポジトリを公開しました。 tokibito / mod-pascal / wiki / Home — Bitbucket Delphiに付属してた部分のソースはdiffのみ。 DownloadsのところにApache2.2用のモジュール置いた。Windowsでしか動かない。 Responseオブジェクトをなんとかスク…

mod_pascal

ネタ。 ここまでできた。日本語も使える。まあ、もうちょっとがんばる。 参考 RemObjects PascalScriptを試す - 偏った言語信者の垂れ流し DelphiでApacheのモジュールを作成する - 偏った言語信者の垂れ流し

RemObjects PascalScriptを試す

今更だけど、RemObjects PascalScriptをDelphi2009で動かしてみた。 Pascal Script | RemObjects Software これはInno Setupのスクリプトエンジンに使われてるのが有名かな。 フォームにPSScriptコンポーネントを貼りつけて、以下のコードで動かした。 unit …

make.batを改良した

メモ。Sphinxのmake.batを参考にDelphi用で使ってるmake.batをいろいろ改良した。 @echo off rem Delphi Installation Path set DELPHI=C:\Program Files\CodeGear\RAD Studio\6.0 set PROJECT_NAME=Example rem custom environment if exist "buildenv.bat"…

クラス変数とジェネリクス

先ほどのコードにジェネリクスを使ってみる。 program test2; {$APPTYPE CONSOLE} type TMyClass<T> = class public procedure Say; class var Value: T; end; var instance_int: TMyClass<Integer>; instance_str: TMyClass<String>; procedure TMyClass<T>.Say; begin // これはWr</t></string></integer></t>…

クラス変数

最近のDelphiではクラス変数が使えます。 Delphi 7以降の言語およびコンパイラの新機能 Delphi2009で試した。 program test; {$APPTYPE CONSOLE} type TMyClass = class public procedure Say; class var Message: String; end; var instance: TMyClass; pro…

Delphi2009でドラッグアンドドロップを使う

Delphi2009でドラッグアンドドロップを使う。 http://melander.dk/delphi/dragdrop だと2009がバツマークがついている。 メーリングリストで質問して教えてもらったのだけど、Development Snapshot版であれば2009にも対応している。 http://melander.dk/arti…

Delphi2010がリリースされました

Delphi2010がリリースされたようです。 Delphi® 2010とRAD Studio™製品ファミリー新バージョンが 本日、世界同時発売開始、タッチサポートも搭載 5万円弱だと2009からアップグレードするか悩む・・・。

Delphiの開発環境を標的にしたウィルス

各所で話題になってるし今更ですが、このブログにも書いておく。 W32/Induc-A Virus (Compile-A-Virus)に関するQ&A

Delphi2010のRTTI拡張に期待

Delphiでもついにリフレクションに相当するものが。 Delphi 2010: RTTI新機能を試す これは期待。

某所が終了するそうだ

http://bousyo.blog45.fc2.com/blog-entry-303.html Delphi関係の情報源としては重宝してただけに、残念ではありますが。 今までありがとうございました。

DokanのDelphiバインディングを公開しました

DokanのDelphiバインディングを公開しました。 tokibito / dokan-delphi — Bitbucket Delphi2009でしか動かないコードだけどね。

Delphi2009でスマートポインタ

最近更新が少ないのは仕事が忙しいとか、書けるネタがないだけです。 Delphi2009でジェネリクスが使えるようになったことで、汎用の型付スマートポインタを実装できるとか。 Entropy Overload: Smart pointers in Delphi procedure UseIt; var x: TSmartPoin…

DLLのコールバック関数にメソッドを使う

DelphiでDLLのコールバック関数にメソッドを使う方法。 http://code.google.com/p/python4delphi/source/browse/trunk/PythonForDelphi/Components/Sources/Core/MethodCallBack.pas python4delphiに含まれてたMethodCallBack.pasが良い感じなので利用させて…

Python for Delphiのプロジェクトページ

現在は以下のURLがプロジェクトページらしいです。 http://code.google.com/p/python4delphi/ 検索してもなかなかたどり着けない。

Delphiでインラインアセンブラ

メモ。そろそろインラインアセンブラを使いたくなってきたので・・・。 program asmhello; {$APPTYPE CONSOLE} function Add(X, Y: Integer): Integer; register; asm add EAX, EDX end; begin WriteLn(Add(3, 7)); // 3 + 7 end. ボーランド __fastcall 呼…

Delphi2009でSQLiteを使う

Delphi2009でSQLiteを使いたい。コンポーネントインストールの不要なSQLiteのラッパーが都合良くある。 http://www.itwriting.com/blog/a-simple-delphi-wrapper-for-sqlite-3 一応サンプルはDelphi2009でもコンパイルできて動作するのだが、思ったとおり日…

make.batを書いてDelphiアプリケーションのビルドを行う

仕事でWindows用アプリケーションを作ることになり、最近あまりPythonを書いてない。 趣味開発以外でDelphiを使うのは初めてなのだけど、vimに慣れてしまうとDelphiIDEのエディタでは使いづらく感じるようになってしまった。 gvim+コマンドプロンプトで開発…

virtualとoverride

メモ。仮想メソッドと継承、オーバーライドについて。 一つ目。 program methods; {$APPTYPE CONSOLE} type TBase = class public procedure Say; end; TExtend = class(TBase) public procedure Say; end; procedure TBase.Say; begin WriteLn('Base'); end…

Indy10で文字列からMD5ハッシュを生成する

Indy10でMD5ハッシュを生成したくて調べていたのだが、古い情報ばっかりだったのでメモ。 古いのと比べて、TIdHashMessageDigest5のクラスはメソッド名が違ったり、増えたりしているようだ。 とりあえずこれでいけた。(Delphi2009) indy_md5.dpr program ind…