Delphi

Delphiでグリッドに列を挿入する

環境はDelphi 6。 グリッドはとりあえずTStringGridを使う。 プログラム中でグリッドに列を挿入したいとき、 procedure InsertCol(G: TStringGrid; c: Integer); var i, j: Integer; begin G.ColCount := G.ColCount + 1; for i := G.ColCount - 1 downto c …

DelphiでMap関数ぽいもの

日曜なのに出勤だったので、ついカッとなってやった ※ map関数は、引数に関数と配列*1を取って、配列のそれぞれに対して与えられた関数を適用させる関数のこと 引数に関数を渡すため、あらかじめ手続き型を宣言しておく(参考: Delphiでコールバック - 飲む、…

Delphiでコールバック

※ 環境はDelphi 6JavaScriptを触ってると、Delphiでもコールバックが使いたくなってきた。 調べてみると、わりと簡単にできるようだ。 コールバック(英: Callback)とは、プログラミングにおいて、他のコードの引数として渡されるサブルーチンである。 コー…

const部に関数を宣言する

Stack Overflow内のConst function in Delphiを簡単に訳してまとめてみた。 質問は、 const function1: function(const S: String): String = SomeVariable1; は何をしていて、何のために書かれているのか。というもの。 何をしているのか 普通、定数は cons…

Delphiでiniファイルを扱う

iniファイルの書き方 まず、iniファイルは下のように記述する [<セクション名>] <キー名>=<値> <キー名>=<値> [<セクション名>] <キー名>=<値> ;<コメント> セクション名は行頭から記述し、[と、]で囲む。 キー名と値は=(イコール)でつな…

Delphiでコンポーネントを配列にまとめて扱う

複数のコンポーネントが同じタイミングで同じような処理をするとき、 それらのコンポーネントをまとめて扱えたほうが便利。 例えば type TForm1 = class(TForm) Adrs1: TEdit; Adrs2: TEdit; Adrs3: TEdit; Adrs4: TEdit; Adrs5: TEdit; private { Private …

Delphiでパネルをドラッグ移動

先輩のコードを見たら、なにやら複雑な実現をしていたので共有しておく。 随分前なので確かではないが、元はこちらを参考にさせていただいた(と思う)。 //下をパネルのOnMouseDownイベントに記述 procedure TForm1.Panel1MouseDown(Sender: TObject; Button:…

ZeosLibをDelphiにインストール

環境 Delphi 6 ZeosLib 6.6.6-stableZeosLibのインストールに若干迷ったのでメモしておく。 1.下のアドレスからダウンロード http://sourceforge.net/projects/zeoslib/ 2.zipを解凍して適当な場所に置く 3.Delphiからパスを通す ツール -> 環境オプションを…