2010年7月30日金曜日

SRX, ファイル名を表示

自分用のメモです。ListViewを配置して、ドロップしたファイル名を表示するように実装。次は、Openのダイアログを作る。それとも検索の機能を先に作るか?
ステータスバーに情報を表示するためのルーチンは整理したい。

2010年7月29日木曜日

SRX, ドラッグ&ドロップのイベントハンドラ作成

仕事で使いそうなので、また作業を再開します。フォームにドラッグ&ドロップのイベントハンドラを作成。次の作業は、ファイル名をリストビューに表示するロジックを実装すること。

2010年7月21日水曜日

SRX, プロジェクトを作成

バージョンアップの要件定義書を書いたり、アプリケーション改修の要件定義書を書いたりして時間が無い、と言っていたら進まないので、ちょこちょこブログにメモを取りながら開発を始めます。今日の作業は、次のとおりです。
  • プロジェクトの作成
  • プロジェクトのオプション設定
  • メインフォームの配置
  • メインメニューの配置
  • ステータスバーの配置
  • アクションリストの作成
  • ページコントロールを配置してタブを3つ作成
次は、アプリケーション終了時の確認を実装します。

2010年7月12日月曜日

SAS Log Utility, やりたいことは何か?

自問自答です。

CRUD表をマクロ単位で要約して何がしたいのか?

プログラムの構造をすっきりと理解すること。
理解するためには、長いログをうまく要約できる機能が必要です。

いまのCRUD表の問題、不便な点は何か?

SASログからI/Oを取り出して、分かりやすくしているが、それでも情報量が多い。
特に表が横に長くなりすぎて、1ステップの処理、1つのマクロで何がイン/アウトか把握しにくい。

改善するためには何が必要か?

横に長い表は駄目。
一覧性が良い(A3用紙程度に収まる)出力が欲しい。

2010年7月10日土曜日

SAS Log Utility, CRUD(Macro)

マクロ単位でI/Oを集約する機能を作りました。しかし、マクロが入れ子になっているときには、集約されないのが痛い。MPRINTNESTで階層の情報を取るか、ログに含まれる情報をさらに詳しく解析できるか?マクロ内部の中間データセットを非表示にして、よりすっきりと構造を解き明かせないか?


2010年7月8日木曜日

SAS Log Utility, マクロ単位でステータスをまとめるにはどうしたら良いか?

CRUD表の行をマクロ単位で集計するときに、結構悩ましい。マクロの中で出力、削除したものはWDと表すか?出力項目が多くなって見づらくならないか?唸りながら、セルの中の状態を考えています。


2010年7月5日月曜日

片仮名をローマ字に変換

SAS9.2のNLS関数で、半角片仮名をローマ字に変換することができます。

data _null_;
    str = KPROPCASE('キタガワ ケイコ', 'KATAKANA, ROMAJI');
    put _all_;
run;

SAS Log Utility 矢印キーでCRUDのセルを移動

開発の覚書です。CRUD表のデータがどこで使われているか探すために、矢印キーでセルの移動ができると良いです。実装したい。ExcelのCtrl+矢印キーで移動する機能ですね。

2010年7月4日日曜日

SAS Log Utility 1.2.1.2, ログファイル名をソート

私家版(1.2.1.2)のSAS Log Utilityにログファイルをソートする機能を付けました。ListViewにソートの機能を付けるのではなく、ファイルをドロップしたときにソートします。ファイル名は時系列に並ぶようにしていることが多いので、個人的にはこれで十分です。

次のリリースでは、もう少し改良します。

2010年7月3日土曜日

SAS Log Utlity 1.2.1.0 リリース

バグ修正版(1.2.1.0)をVectrorに登録しました。修正したのは次の点です。
  • CRUD表のエクスポートで'd'の色がずれる問題を修正
  • CRUD表エクスポートの実装を、条件付書式からセル固定の書式に変更
  • より大きなログを分析できるように固定の作業領域を拡張
  • EXCELエンジンで読み込んだデータの判定を追加
  • デバッグ用の出力 c:\temp\csv.csv を削除
  • OLEのエラー(0x800ac472)を抑制するため、100ミリ秒のスリープを挟み込んだ
 仕事で使い続けていますが、あらたなログのパターンにぶつかっては直しを繰り返しています。次はログファイル名のソート機能をつけようか思案しています。何本も串刺しでログ解析することが多いので。

2010年7月1日木曜日

SAS Log Utilityのバグ修正中, セルの色ずれ

ExcelにCRUD表をエクスポートしたとき、色がずれ問題を解消するために、Excelの書式設定を変更します。これまではExcelの条件付書式でr, w, rwの色付けをしていました。条件付書式をやめて、Excelの置換の機能でr, w, rw, dの書式を設定します。dのセルは個別に書式設定していましたが、置換したほうが処理時間が短いはずです。

なぜか、Delphi+Excel置換の例が少なくトライ&エラーで正しい、というか動くコードを書きました。覚書として下にメモしておきます。

oExl.ReplaceFormat.Clear;
oExl.ReplaceFormat.Interior.ColorIndex := 41;
oSheet.Cells[1, 1].CurrentRegion.Replace(AnsiChar('w'), AnsiChar('w'), xlWhole, xlByRows, True, True, false, True);