リストに大量のアイテムを高速に登録するには

「リストに大量のアイテムを登録する – 思いつくままに」には、TListBoxに大量のアイテムを登録する場合、TListBox.AddItemよりもTStrings.Assignを使った方が高速に登録できるこ …

Continue reading ‘リストに大量のアイテムを高速に登録するには’ »

Delphiのfor-inループをサポートするクラスでFizz-Buzz問題を解く

Delphiは、for-in スタイルの反復をサポートしています。 自作のクラスが for-in ループをサポートするには次の条件を満たす必要があります。 クラスまたはインターフェイスは、GetEnumerator() …

Continue reading ‘Delphiのfor-inループをサポートするクラスでFizz-Buzz問題を解く’ »

Delphiで文字列の配列の中に、指定した文字列があるか調べる

System.StrUtils.MatchStr MatchStrは、文字列の配列の中に指定した文字列があるときはTrueを返します。 この関数は、大文字と小文字を区別します。 uses System.StrUtils; …

Continue reading ‘Delphiで文字列の配列の中に、指定した文字列があるか調べる’ »

Indy10でメールを送信すると長い件名(Subject)が文字化けする問題と回避方法

Indy10でメールを送信すると、長い件名(Subject)が文字化けします。 サンプルコード procedure TForm1.Button1Click(Sender: TObject); var SMTP: TIdS …

Continue reading ‘Indy10でメールを送信すると長い件名(Subject)が文字化けする問題と回避方法’ »

ATOKをインストールできる台数は?一人で使用するなら3台までOK。

「ATOKは一人で使うなら何台のパソコンにインストールしてもOK」、と書かれているページをたまに見かけます。 しかし、JUST SYSTEMのサポートFAQによると、 1枚のディスクからインストールできるコンピューターの …

Continue reading ‘ATOKをインストールできる台数は?一人で使用するなら3台までOK。’ »

Delphiでファイルの属性を設定する

System.IOUtilsユニットのTFile.SetAttributes関数を使うとファイルの属性を簡単に設定できます。 System.IOUtilsユニットはDelphi 2010以降で使用できます。 使用するユニ …

Continue reading ‘Delphiでファイルの属性を設定する’ »

自動的にCOMオブジェクトを解放してくれるTComInterfaceクラス

Visual C++にはCOMオブジェクトを使い終わったら自動的にRelease()を呼んで解放してくれるCComPtrというクラスがあります。 C++Builderにも同じようなクラスが用意されています。 それが「TC …

Continue reading ‘自動的にCOMオブジェクトを解放してくれるTComInterfaceクラス’ »

複数のフォームを使用する

フォームを作成する フォームを作成するには、メニューの「ファイル」→「新規作成」→「VCLフォーム」を選択します。 フォームを生成する プロジェクトオプションの「フォーム」で自動生成するフォームと手動で生成するフォームを …

Continue reading ‘複数のフォームを使用する’ »