tomatomax.net

Every rule has its exception.

Archive for the Delphi Category

シャングハイ


http://hp.vector.co.jp/authors/VA013135/shanguhai.zip

多少アップデートしたのをすっかり忘れてた。


TFileStream


今までほとんど使ったことがなかったけど、バイナリファイルの扱いに便利。

type
TBoard = class
private
cnt: Integer;
tile: array[0..BOARD_X - 1, 0..BOARD_Y - 1, 0..BOARD_Z - 1] of Integer;
public
...
procedure SaveToFile(FileName: string);
end;

...

procedure TBoard.SaveToFile(FileName: string);
var
fs: TFileStream;
begin
fs := TFileStream.Create(FileName, fmOpenWrite);
fs.WriteBuffer(tile, SizeOf(tile));
fs.WriteBuffer(cnt, SizeOf(cnt));
fs.Free;
end;

テキストファイルのほうはTStringListかな。


TControl.ClientToScreen


コントロールの座標系から画面座標系への変換を行う関数。

Pos.X := X;
Pos.Y := Y;
Pos := TreeView.ClientToScreen(Pos);
TreeViewPopupMenu.Popup(Pos.X, Pos.Y);