上へ

PASCAL仕様書作成


概要

指定されたディレクトリ以下にある *.pas ファイルを解析して、仕様書を *.html ファイルに出力します。 出力例

動作環境

perl5 が動作する Win32 環境。 http://www.activestate.com/Products/ActivePerl 等から入手できます。

実行方法

ディレクトリを指定して、作成ボタンを押す。
実行画面

グリッドに表計算機能追加


概要

TStringGrid の OnDrawCell, OnSetEditText イベントをフックして表計算機能を追加します。 ※現在動作が不安定なので、使用にあたっては十分注意してください。 バグレポは歓迎します。

動作環境

Borland Delphi 5.0

使用例

グリッド書式エディタ

使用方法

[使用例1]
  計算機能だけ使用する場合
  procedure TfrmMain.FormCreate(Sender: TObject);
  begin
    TCalcGrid.Create(Self).Initialize(StringGrid1);
    // 以降 StringGrid1 で表計算が出来ます。
  end;

[使用例2]
  計算機能とセル表示書式を使用する場合
  1.GridEdit.exe でグリッド書式ファイル 'default.glf' を作成する。

  2.
  procedure TfrmMain.FormCreate(Sender: TObject);
  var
    CalcGrid: TCalcGrid;
  begin
    CalcGrid := TCalcGrid.Create(Self).Initialize(StringGrid1);
    CalcGrid.LoadFormat('default.glf');
    ...
    // R行 C列の値を表示
    ShowMessageFmt('%f', CalcGrid.GetCellValue(C, R));
  end;

プログレス表示


概要

プログレス表示

動作環境

Borland Delphi 5.0

使用例

プログレス表示

使用方法

procedure TForm1.Button1Click(Sender: TObject);
var
  Form: TProgressForm;
  I: Integer;
begin
  Form := TProgressForm.Create(Self);
  Form.Caption := '処理中...';
  Form.ProgressBar.Smooth := True;
  Form.BarColor := clBlue;
  Enabled := False;
  try
    Form.Show;
    for I := 0 to 100 do
    begin
      Form.Progress(I, IntToStr(I));
      Sleep(100);
    end;

  finally
    Enabled := True;
    Form.Free;
  end;
end;

数式処理ユーティリティ

□概要
        数式を数値に変換します。
        任意の変数と、ユーザー定義関数が使えます。

□動作環境
        ・Borland Delphi 6.0

        武内修さんの Delphi 用 TP Lex/Yacc ライブラリ が必要です。
        許可をいただいて必要ファイルを添付しています。
        
□使用方法
        プロジェクトディレクトリに 
        ExpUtils.pas, ExpYacc.pas, ExpLex.pas,
        YaccLib.pas, LexLib.pas, LexLib_Stream
        をおいて

        uses ExpUtils;

        ExpToInt('1 + 2');              -> 3
        ExpToFloat('(1 + 2) / 2');      -> 1.5
        ExpToFloat('Sqrt(4)');          -> 2

        ・変数使用方法(ID は TStringList)

        ID.Values['A'] := '123';
        ID.Values['B'] := '456';
        ExpToFloat('A + B', ID);        -> 579

        ID.Values['A'] := '123';
        ID.Values['B'] := 'A + 1';
        ExpToFloat('A + B', ID);        -> 247

        ・ユーザー定義関数使用方法
        ID.Values['F(X)'] := 'X + 1';
        ExpToFloat('F(1)', ID);         -> 2