2012年10月1日月曜日

コードにタグを付けるツールを作ってみた


ブログにコードを載せるのが非常にメンドクサイので、タグを自動的に付けてくれるツールを作ってみました。
……まあ、多分探せばあったんでしょうが。



例えば、↓こんな風に一発で変換してくれます。

// ユニークなファイル名を得る
function GetUniqueFileName(
  iPath, iExt: String;
  iSeparater: String = '-'): String;
var
  TimeStamp: TTimeStamp;
  tmpNow: TDateTime;
begin
  iPath := IncludeTrailingPathDelimiter(iPath);

  if (iExt <> '') and (iExt[1] <> '.') then
    iExt := '.' + iExt;

  repeat
    tmpNow := Now;
    TimeStamp := DateTimeToTimeStamp(tmpNow);

    Result :=
      iPath +
      FormatDateTime('yyyymmdd' + iSeparater, tmpNow) +
      IntToStr(TimeStamp.Time) +
      iExt;
  until (not FileExists(Result));
end;

便利!

タグ指定や予約語の指定などは全部 IniFile に記述します。

きちんとチェックしてないけど、不具合を見つけたら直していく方向で。 あと「指令」は、コンテキストチェックがメンドクサイので、全部予約語扱いです。

 ……凄い適当に作ったけど、ちゃんとパースしてオートマトン組んでやれば良かったな、と反省。
今のバージョン、遅いし!

ちなみに XE2 で作ったのですが、既に XE3 じゃないと組めない体になってた!
record helper 使いたいし!

0 件のコメント:

コメントを投稿