Entry

本日のぐだプロ - あるコードに別のコードを埋め込むのツール

2008年01月27日

なんだか休日はぐだぐだしているので,ぐだぐだしながらプログラミング。略してぐだプロ。

そういうわけで,こういうもんを作ってみました。製作時間正味4時間。

sbmkw の図

使ってみたいという物好きな方は,以下からどうぞ。

どういうもんかというと,適当なテキストファイルを指定したフォーマットに整形してファイルに書き出すプログラムです。整形する単位は行ごとです。埋め込む文字列は,ダブルクォート(")で囲まれていることを前提にしているので,埋め込むときに,ダブルクォートとバックスラッシュ(\)をエスケープします。つまり,こんなテキストファイルを,

"aaaa"
  
    
bbbb

cccc

こんな風にするツールです。

sbObject.append("\"aaaa\"");
sbObject.append("  ");
sbObject.append("    ");
sbObject.append("bbbb");
sbObject.append("");
sbObject.append("cccc");

ここでは,StringBuffer クラスのオブジェクト(sbObject)にテキストファイルを読み込ませるようなコードを吐きます。なお,「空白だけの行を無視する」にチェックを入れると,空白行を無視します。

どうしてこういうもんを作ったかというと,Java のコードの中に HTML を埋め込むのが面倒っちかったからです。UN*X だったら,awk か Perl あたりでちょこちょこ書くんですけど,Windows だと手元にない場合もあるから,必要な機能だけ作っとこうと思ったわけ。JSP のカスタムタグを作るときなんかには,微妙に便利かも。

ともあれ,いかんせんぐだプロなので,以下の制限事項があります。ソースをつけておくので,適当にいぢってください(※MFC 使ってます)。

  • エスケープ処理で文字コードを意識していないから,マルチバイトの文字列は基本的に不可。
  • 1行は255文字以内。256文字目以降は無視される。
  • 埋め込む文字列(%s)は1箇所だけ(フォーマット文字列をそのまま sprintf() に渡している(←!)から)。%s 以外のフォーマット文字(%?)を埋め込んだ場合の挙動は保証しない。
  • 全体的にエラー処理とかぐだぐだ。

使ったツールは VC++ 6.0 です。ぐだプロにいつも使ってるソフト。そういえば,来月あたり Visual Studio 2008 が出るって聞いたんですけど,Visual Studio 2008 って VC++ 6.0 をアップグレードの対象にしてないみたいなんですよねー……。買おうとおもってたんだけど,一気に購買欲が失せてしまいました。2005 でいいや。てか express でいいや。

Trackback
Trackback URL:
Ads
About
Search This Site
Ads
Categories
Recent Entries
Log Archive
Syndicate This Site
Info.
クリエイティブ・コモンズ・ライセンス
Movable Type 3.36
Valid XHTML 1.1!
Valid CSS!
ブログタイムズ

© 2003-2012 AIAN