« 2008年10月 | トップページ | 2008年12月 »

2008年11月

2008年11月30日 (日)

Kaspersky Internet Security バージョンアップ検討

既報の通り「Kaspersky Internet Security 7.0」には「実行ファイルが変更されています」というメッセージがおかしなタイミングで頻繁に表示される問題があり、月に一度のWindows Update時期になったので、バージョンアップすることにした。
以前、この問題でジャストに問い合わせして得られた回答の中で「Kaspersky Internet Security 7.0 MP1」へのバージョンアップについて書かれていたが、一旦アンインストールする必要がある。今では「Kaspersky Internet Security 2009」もあるので、一気にこちらにバージョンアップする手もある。尚、このジャストの回答にある手順には、KISをアンインストールしてからメンテンナンスパック1(MP1)をダウンロードするように書かれているが、ファイアウォールのない状態でネットにアクセスすることになり、非常に危険。テンプレートなのだろうから、もっと正確な情報を記述すべきだ。

いずれの手段を取るかを検討するために、ジャストのKIS2009ダウンロードページを読んでみたのだが、気になる点があった。

まず、バージョンアップと言いつつ、旧バージョンを一旦アンインストールしなければならないこと。しかも、設定を引き継ぐこともできない。KIS2007では設定のエクスポートが行えるのだが、それを利用できるようにすることはできなかったのか?既に設定を読み込むソースはあるのだから、大した作業ではないはずだ。機能追加により旧バージョンの設定では不足しているものがあれば、安全側に初期化すれば済む。
自分達の手間を省いたおかげで、どれだけユーザに迷惑をかけるかわかっているのか?何万(?)ものユーザが設定の引継ぎにかける時間の総計に比べれば、ジャストが費やす時間はごくわずかなものだ。もっとユーザのことを考えてもらいたい
とはいえ自分について言えば、「実行ファイルが変更されています」問題があるため、仮に設定を引き継げたとしても一から設定を行ったとは思うが。

次に、「削除された機能」というのが気になった。
「ポップアップ広告の遮断」がなくなったのは、「セキュリティとは直接関係ないから?」それとも「効果がないから?」。
また、「ファイアウォールのフィルタリングシステムモード」がなくなったのは、「代わりの指定方法に変えたから?」それとも「安全側に一本化したから?」。
さらに、「スキャンタスクの追加」というのは「新規スキャンタスク」がなくなるということか?
削除理由や代替機能などもっと詳しく書いてもらわないと、判断材料にならない。

このように気になる点はあったのだが、もしも「実行ファイルが変更されています」問題が再発した場合、最新バージョンであるKIS2009の方が改善される可能性が高いと考え、KIS2009にバージョンアップすることにした。

2008年11月29日 (土)

‘さまれぼ!’「第三月曜と前日の日曜連休」をサポート

以前、「第一月曜火曜連休」をサポートしたという記事を書きました。「第一月曜翌日」と「第一火曜」とでは日付が異なる場合があるためです。この時は「指定曜日翌日」フラグを追加することで対応しました。
その後、900件以上のサロンホームページをチェックして初めて「第三月曜と前日の日曜連休」という定休日に出逢いました。考えてみれば、「第一月曜翌日」とは逆の「第一月曜前日」があっても不思議ではありません。
というわけで、「指定曜日前日」フラグを追加することにより、サロン定休日とスタッフ休日で対応しました。

2008年11月28日 (金)

‘さまれぼ!’顧客抽出手順16~抽出条件作成5

前回の予告通り、今回は比較対象値を拡張変数に置き換えます。

まず、年間売上額の抽出下限値を指定する拡張変数を追加するため、<拡張変数一覧>フレーム内の<変数追加>ボタンを押します。
Extractcondcreate20

拡張変数追加ダイアログが表示されるので、わかりやすい名前を入力し、データ型を選択します。抽出のためになくてはならないものなので、<入力必須>をチェックします。
Extractcondcreate22

<入力必須>をチェックしたので、<OK>ボタンを押すと同時に数値入力ダイアログが表示されます。
Extractcondcreate23_2

比較対象値として使っている「1万円」を入力します。
Extractcondcreate24

<拡張変数一覧>に「年間売上額下限」が追加されました。
Extractcondcreate25

同様の手順で、「直近来店日下限」を追加します。
Extractcondcreate26

Extractcondcreate28

Extractcondcreate29

拡張変数を追加した後は、分岐因子の比較対象値を置き換えます。
分岐式編集ダイアログで変更したい分岐因子を選択します。
Extractcondcreate30

比較対象値の<組込変数選択>ボタンを押すと、組込変数選択ダイアログが表示されます。
Extractcondcreate31

「固有拡張変数」グループの「年間売上額下限」を選択します。
Extractcondcreate32

<OK>ボタンを押すと分岐式編集ダイアログに戻り、比較対象値が拡張変数に変わったことが確認できます。
Extractcondcreate33

<変更>ボタンを押して、選択中の分岐因子を置き換えます。
Extractcondcreate34

同様に直近来店日の比較対象値も変更します。
Extractcondcreate35

メインダイアログに戻ると、<抽出条件設定>フレームで分岐式が変更されたことを確認できます。
Extractcondcreate36

テスト抽出を行い、分岐式変更前と同じ結果になることが確認できました。
Extractcondcreate37

2008年11月27日 (木)

‘さまれぼ!’顧客抽出手順15~抽出条件作成4

今回も前回の続きです。
「年間全体純売上額」が一定金額以上という条件に加え、ここ2ヶ月間に来店のあった常連の顧客に絞り込んでみます。

まず分岐式編集ダイアログを表示します。
Extractcondcreate15

「顧客属性」グループの「直近来店日」を選択します。
Extractcondcreate16

比較演算子(>)と比較対象値(2008年4月1日)を入力します。日付入力ダイアログが使えるので、簡単です。
Extractcondcreate17

<追加>ボタンを押すと、分岐因子一覧に追加されます。
Extractcondcreate18

メインダイアログに戻ります。<抽出条件設定>フレームで分岐式が追加されたことを確認できます。
Extractcondcreate19

テスト抽出で動作確認を行います。抽出件数が減ったことがわかります。
Extractcondcreate20

変数値ログファイルで直近来店日を確認できます。
Extractcondcreate21

次回は、比較対象値を拡張変数に変えて、いちいち分岐式編集ダイアログを使わなくても済むようにします。

2008年11月26日 (水)

‘さまれぼ!’顧客抽出手順14~抽出条件作成3

前回の続きです。
抽出結果が0件だったので、変数値ログファイルで内容を確認してみます。
Extractcondcreate12

「年間全体純売上額」は多くても5~6万円だったので、分岐式編集ダイアログで抽出対象を1万円超まで引き下げます。
Extractcondcreate13

テスト抽出を実行してみます。今度は該当客があったので、200件ほど処理したところでテスト抽出を終えました。
Extractcondcreate14

次回は、分岐式を追加してさらに対象を絞り込みます。

2008年11月25日 (火)

‘さまれぼ!’顧客抽出手順13~抽出条件作成2

今回は、年間売上額を制限する分岐式の設定を行います。
年間売上額が10万円を超える顧客を抽出するように設定してみます。

<抽出条件設定>フレームの<設定編集>ボタンを押すと、分岐式一覧ダイアログが表示されます。
Extractcondcreate04

「抽出対象となる顧客?」を選択します。
Extractcondcreate05

有効になった<編集>ボタンを押すと、分岐式編集ダイアログが表示されます。
Extractcondcreate06

「顧客属性」グループの「年間全体純売上額」を選択します。
Extractcondcreate07

比較演算子(>)と比較対象値(100000)を入力します。
Extractcondcreate08

<追加>ボタンを押すと、分岐因子一覧に追加されます。
Extractcondcreate09

<OK>ボタンで分岐式設定を保存して分岐式一覧ダイアログに戻ります。
Extractcondcreate10

<終了>ボタンを押してメインダイアログに戻り、テスト抽出で動作確認を行います。
1000件くらいまで処理しましたが、テスト用のデータなので該当客はありませんでした。
Extractcondcreate11

2008年11月24日 (月)

‘さまれぼ!’顧客抽出手順12~抽出条件作成1

今回から、年間売上額が一定金額以上の顧客を抽出するための抽出条件を一から作成してみます。

まず<新規>ボタンを押します。
Extractcondcreate01

次に抽出条件名を入力します。
Extractcondcreate02

こうして抽出条件が一覧に追加されました。この後、分岐式の設定を行います。
Extractcondcreate03

2008年11月23日 (日)

‘さまれぼ!’顧客抽出手順11~抽出条件削除

今回は抽出条件の削除を行います。作成した抽出条件が不要になった場合に使用します。

まず、削除したい抽出条件を選択します。
Extractcondremove01

<削除>ボタンを押すと、削除確認メッセージが表示されます。
Extractcondremove02

<OK>ボタンを押すと、抽出条件が削除されます。
Extractcondremove03

2008年11月22日 (土)

‘さまれぼ!’顧客抽出手順10~抽出条件初期化

今回は組込抽出条件の初期化を行います。
いろいろ手を加えた組込抽出条件をシステム導入時の状態に戻したい時に使用します。

まず、初期化したい組込抽出条件を選択します。
Extractcondinit01

<初期化>ボタンを押すと、処理確認メッセージが表示されます。
Extractcondinit02

<OK>ボタンを押すと、組込抽出条件の分岐式やDM文書などが初期状態に戻ります。ここでは拡張変数値が初期化されたことが表示で確認できます。
Extractcondinit03

2008年11月21日 (金)

実は‘さまれぼ!’にも妥協が

操作性や機能の向上などを可能な限り追求して開発を続けてきた‘さまれぼ!’ですが、リリース間近となり、妥協を選択することもあります。

‘さまれぼ!’では店舗昼休みなどの休憩時間を設定でき、チャート上で一目で確認できるようになっています。予約受付を行う際に考慮できるように用意した機能なのですが、その都度休憩開始/終了時刻を指定するのではなく、時間帯条件設定から選ぶようになっています。
例えば、「店舗休憩時間」という名称で時間帯条件設定を用意し、ここで休憩開始/終了時刻「13:00~14:00」を設定しておきます。そしてその時間帯を休憩時間として業務予定に設定します。こうすると、その都度休憩開始/終了時刻を指定するより楽に休憩時間設定が行えます。
問題は、過去の業務履歴にもそのまま時間帯のまま記録されることです。店舗運営方針が変わって「店舗休憩時間」時間帯の休憩開始/終了時刻を「13:30~14:30」に変更すると、過去の休憩時間まで「13:30~14:30」に変わってしまい、実際にどうだったのかがわからなくなります。

スタッフ勤務時間では、実労働時間算出のため、時間帯ではなく休憩開始/終了時刻を記録するようになっているのですが、店舗休憩時間もこれに合わせて修正するか悩みました。データベース変更が必要になり、バグのリスクが高まるためです。

そこで、この修正がどうしても必要なものか考えました。
今まで800以上に及ぶサロンのホームページを見てきましたが、休憩時間のあるサロンは皆無でした(歯医者や動物病院にはありますが)。
また、過去の休憩時間に価値があるのかという点も疑問です。スタッフの休憩時間は給与に直結しますから正確に記録する必要がありますが、サロンの場合は売上が重要だからです。
さらに、スタッフ休憩時間は休憩開始時と終了時に簡単に入力できるようになっていますが、店舗では同様の仕組みを用意していません。予約受付を目的としているためです。

結局、休憩時間の記録が有用なのかどうかわからない状態で、危険を冒してまで修正すべきではないと結論付けました。
その代わり、上記問題があるので時間帯の使い方に注意するようヘルプに手を加え、初期設定で「13時~14時」「13時半~14時半」といった名称の休憩用の時間帯を予め用意することにしました。こうしておけば、問題を回避できるでしょう。
もしも休憩時間を正確に記録したいという要望があれば、その時点でシステム修正を行うことになります。

2008年11月20日 (木)

Becky!の使いにくさが解消!

以前、メーラのBecky!の操作が改悪されたことを記事にしたが、作者に問い合わせたところ解消された。

まず、どういった使い方をしていたかだが、

  1. 受信メール一覧領域で一番上のメールを選択する
  2. キーボードフォーカスをメール本文表示領域に移す
  3. [PgDn]キーで改頁しながら流し読み
  4. 気になる箇所があれば[PgUp]キーで前のページに戻る
  5. 読み終えたら[Delete]キーでメールを削除する
  6. 3~5を繰り返してメールを読み進める

といった感じで、後で読み直したいものは削除せずに残し、次のメールに移っていた。
[PgUp][PgDn][Delete]が固まって配置されているので、右手の人差指と中指だけで操作でき、多くのメールを楽に読めた。また、最後までスクロールせず、途中で削除できる点も楽だった。
こういった使い方ができたのは、[Delete]キーでメールを削除してもフォーカスがメール本文表示領域に留まっていたからだが、何年か前から受信メール一覧領域にフォーカスが移るようになってしまった。

その際に問い合わせたかどうかははっきりしないが、ブログに書いたことを契機に作者に問い合わせてみることにした。
数日後、作者から返事をいただいたのだが、メールを削除しながら読むというスタイルは初めてのことだったらしい。不便をかけたままでは心苦しいということで、プラグイン「DelKeepFocus.dll」が添付されていた。わざわざ作られたらしい。
恐縮しながら早速使ってみると、見事、以前の操作を行うことができるようになり、感激してすぐに作者に御礼のメールを送った。
以前、開発を担当していた業務用ソフトで、新着メールが顧客からのものかどうかをチェックするBecky!のプラグインを作ったことがあるのだが、プラグインでこのようなことまでできるとは思わなかった。

こうして長年にわたる不満は解消され、ストレスなくメールを読めるようになった。
本当に作者には感謝で、このような姿勢は見習わなければならない。
尚、このプラグインを公開するのかを作者に問い合わせたのだが、まだ返事がないので興味のある方は作者までお問い合わせを

2008年11月19日 (水)

VistaのUACは実行ファイル名で判断とは・・・

Vista上で‘さまれぼ!’インストールから運用までの動作確認を行ったのだが、運用前に行う初期設定プログラムで問題が出た。
まず起動時ユーザーアカウント制御(UAC)に引っかかり、「認識できないプログラムがこのコンピュータへのアクセスを要求しています」「認識できない発行元」という、インストーラと同じメッセージが出た。
さらに、初期設定プログラム終了後には「プログラム互換性アシスタント」からのメッセージ「このプログラムは正しくインストールされなかった可能性があります」が表示された。
他の‘さまれぼ!’関連プログラムではどちらも表示されず、他プログラムと特に変わった処理は行っていない。もちろん、管理者権限は要求していない。

原因を考えたのだが、すぐに思いついたのがファイル名だった。初期設定プログラムのファイル名は「CmdSetup.exe」なのだが、これが原因でUACがインストーラと判断しているのではないかということだ。それで「CmdShoki.exe」にファイル名を変えてみると、UACを回避できるようになった。
ネットで検索すると、「install, setup, update, etc.」でUACに引っかかるようになるらしい。
しかし、ファイル名で判断するとは随分いい加減な話だと思うが、悪意を持ったプログラムがユーザにインストーラだと誤認させようとする場合には有効かもしれない(具体例は思い浮かばないが)。

2008年11月18日 (火)

‘さまれぼ!’顧客抽出手順9~抽出条件コピー

今回は抽出条件のコピーを行います。
組込抽出条件に手を加えたり、過去のキャンペーンに手を加えて新しいキャンペーンを行ったり、といった場合を想定しています。

まず、コピー元の抽出条件を選択します。
Extractcondcopy01

<複写>ボタンを押し、抽出条件名を入力します。
Extractcondcopy02

<OK>ボタンを押すと、新しい抽出条件が追加されます。
Extractcondcopy03

拡張変数値を変更します。
Extractcondcopy04

必要に応じてDM文書や抽出条件説明文も変更すれば、完成です。

2008年11月17日 (月)

‘さまれぼ!’顧客抽出手順8~抽出条件説明文

今回は抽出条件説明文について取り上げます。
抽出条件説明文は、抽出条件の用途・準備作業・抽出対象客など、抽出条件を利用するにあたって役立つ情報をまとめたものです。組込抽出条件には必ず用意されています。

まず、抽出条件を選択します。
Extractcondcopy01

<説明>ボタンを押すと、説明文表示ダイアログが表示されます。
Extractcondcopy02

最前面に表示されるようになっているので、邪魔にならない位置に移動させます。一度移動させると、次回からも同じ位置に表示されるので、一々移動させる必要はありません。
Extractcondcopy03

説明文を表示したまま、<抽出条件>一覧から別の抽出条件を選択すると、説明文も変わります。
Extractcondcopy04

説明文は自由に編集できます。組込抽出条件の説明に自分なりの注意点を書き加えたり、新しく作成した抽出条件に用途や使い方などをメモしておくと、一層使いやすくなります。
Extractcondcopy05

必要なくなれば、<閉じる>ボタンで説明文表示を消してください。

2008年11月16日 (日)

‘さまれぼ!’日常業務手順35~月間臨時休業設定

今回は、特定月の臨時休業日を設定します。
まず、設定したい月内の日付にチャート表示を変更します。
Dailytempholiday01

「ダイレクトボタン」の「月間営業予定設定」をクリックして、月間営業予定設定ダイアログを表示します。
Dailytempholiday02

ダイアログ右上の<Navi>ボタンを押し、「選択日付に休業予定を設定する」を選択します。
Dailytempholiday03

<OK>ボタンを押すと、ナビによる誘導が始まります。
Dailytempholiday04

臨時休業したい日付を選択します。
Dailytempholiday05

<営業予定設定>ボタンを押すと営業予定編集ダイアログが表示されます。
Dailytempholiday06

<休業>ボタンを押すと、一覧中の選択行の表示が変わります。行頭に「*」が付き、営業時間表示が「(休業)」になります。
Dailytempholiday07

<変更保存>ボタンを押し、データベースを更新するとナビ終了です。
Dailytempholiday08

メインウィンドウに戻ると、チャートが休業表示に変わっています。
Dailytempholiday09

2008年11月15日 (土)

‘さまれぼ!’日常業務手順34~特定曜日営業時間変更

今回は、日曜日の営業時間を短縮営業に変えてみます。
まず、設定したい月内の日付にチャート表示を変更します。
Dailyweekend01

「ダイレクトボタン」の「月間営業予定設定」をクリックすると、月間営業予定設定ダイアログが表示されます。
Dailyweekend02

ダイアログ右上の<Navi>ボタンを押し、「特定曜日に営業予定を設定する」を選択します。
Dailyweekend03

<OK>ボタンを押すと、ナビによる誘導が始まります。
Dailyweekend04

<日曜>ボタンを押すと、一覧中の日曜日が全て選択された状態に変わります。
Dailyweekend05

<営業予定設定>ボタンを押すと営業予定編集ダイアログが表示されるので、開始/終了予定時刻を変更します。
Dailyweekend06_2

Dailyweekend07_2

<営業>ボタンを押すと、一覧中の日曜日の営業時間表示が変わります。また、行頭に「*」が付きますが、これは変更が行われたことを示すためのものです。
Dailyweekend08

<変更保存>ボタンを押し、データベースを更新するとナビ終了です。
Dailyweekend09

メインウィンドウに戻ると、チャート上の営業時間が変更されています。
Dailyweekend10

2008年11月14日 (金)

‘さまれぼ!’曜日別営業時間への対応

サロンのホームページを見ていて気付いた「第一月曜火曜連休」を先日サポートしましたが、実はもう一点、気になることがありました。それは、平日と日祝日とで営業時間を変えたり金曜にナイター営業で営業時間を延長したりと、曜日によって営業時間が変わるサロンが結構多かったことです。
‘さまれぼ!’では一種類の通常営業時間しか設定できませんから、「第一月曜火曜連休」の時と同様、対応したくなりました。

まず考えたのが、曜日ごとに営業時間を予め設定できるようにすることです。しかし、データ設計から根本的に見直す必要があり、リリースが近い時期に行うにはリスクが大きすぎます。

次に考えたのが、簡単に営業予定を設定する手段を用意することです。これならば、データ設計はそのままに、新しくダイアログを作成するだけで済みます。言わば枝葉に当たる部分の修正になりますから、システム全体への影響は軽微です。
通常とは異なる営業を行うそれぞれの日に設定を行う必要がありますが、一か月分をまとめて設定できるようにすればそれほど手間はかからないでしょう。また、休業日がまちまちなサロンに対しても有用です。
こうしてできたのが、このダイアログです。
Monthlysalonplan00

一ヶ月分の日付一覧で設定対象の日付を選んでから<営業時間設定>ボタンを押すと、営業時間設定か休業設定が行えます。曜日別営業時間設定が簡単に行えるように、特定曜日をまとめて選択できる曜日ボタンも用意しました。過去に設定した営業時間を履歴として保存する機能も付けたので、最短5クリックで曜日別営業時間を設定できます。
将来、曜日別営業時間を正式サポートするかもしれませんが、現状ではこれで十分だと考えています。

2008年11月13日 (木)

Becky!でも操作改悪・・・もっとユーザのことを考えて

WZ Editorについて、バージョンアップの際には過去の操作性も引き継いで欲しいと書いたのだが、それで思い出したのが、現在も使っているメーラのBecky!のことだ。

Becky!では受信メール一覧領域とメール本文表示領域が並んでいて、[PgUp][PgDn]キーを使ってメール本文を読み、読み終えたメールを[Delete]キーで削除してから次のメールを読んでいた。次のメールに移ってもキーボードフォーカスが本文表示領域にあるままなので、そのまま読み続けることができた。

ところが、あるバージョンから急に、本文表示でメール削除を行うと受信メール一覧にフォーカスが移るようになってしまった。これだと、メール削除後に[Tab]キーで本文表示にフォーカスを移さなければならない。
これでは使いにくいのでヘルプを読んだりして調べて、メールを削除するのではなく[Space]キーで次のメールを表示するようにした。一応、キータッチ数は変わらないが、以前は[PgUp][PgDn][Delete]が固まっているので右手だけ済んだのに、[Space]キーのために左手も使うか、右手を動かさなければならなくなった。また、全て読み終えた後にメールを削除しなければならない点も不満だ。

WZ同様、操作方法を変えるのならオプションで従来の方法も選べるようにしてもらいたい。実際、自分が作ってきたソフトでは、新しいインターフェースをサポートしても従来のインターフェースを残し、ユーザが選べるようにしてきた。こういったところでユーザに対する姿勢が現れると考えている。

2008年11月12日 (水)

テキストエディタWZ6にがっかり

長年慣れ親しんできたテキストエディタWZ Editorバージョンアップしたというメールが届いたので試用したのだが、それで感じたことを今回は書こうと思う。

プログラミングしていると、テキストエディタを使っている時間がダントツに長く、最も重要なツールと言える。私はWZ EditorをVer.1から使っていて、さらに遡れば、その前身のVZの時代から使っているので、既に自分の身体の一部となっている。
現在はWZ Editor 3(WZ3)を使っているのだが、購入が1996年4月なので12年半以上になる。その後も、WZもバージョンアップが行われたのだが、残念ながらWZ3を超えるものではなかった。
それには、私の使い方が独特なためもある。

私は、常時100ファイル近くのテキストファイルをオープンした状態で使っている。それを可能にしているのは、自作のタスクマネージャに負うところが大きい。それは、実行中のプログラムを階層構造で表示することができるため、100ファイルでもストレスなく扱える。また、Windows終了時の状態を、ウィンドウ位置まで含めて次回起動時に復元することもできる機能もある。
このタスクマネージャにはランチャ機能や定型文字列ペーストなども付いていて、ワンキーで表示できる上、キーボードだけで素早く扱える。タスク制御やキー/マウス入力模倣などが行えるマクロ機能も持っている。非常に高機能かつ使いやすいものなのでオンラインで公開することも考えたが、設定が難しくヘルプ作成が面倒なので見送ってきた。
Workcenter

このツールがあれば200ファイルでも扱えるのだが、残念ながらWZ3の問題で100ファイルを超えることが出来ない。というのは、編集ファイルが100に達すると、編集の出来ないビューモードでしかオープンできなくなり、それ以降、100ファイルを下回ってもビューモードでしかオープンできなくなるためだ。こうなると、一旦、WZ3を終了させるしかない。そのため、常に100ファイルを超えないかに気を配る必要がある。

WZ4が出た時、この100ファイルの制限がなくなったのではないかと期待して購入したのだが、メモリか何かの問題で100ファイルに遠く及ばない数しかオープンできなかった。前バージョンにも劣るわけで、この時は非常に落胆した。WZ3ではプログラムの実体は一つで、ファイル編集のための領域が100ファイル分しか用意されていなかったのが、WZ4ではファイルごとに独立したプログラムを起動するようになったためだろうと推測している。
秀丸も使ってみたが、ウィンドウデザインやスクロール時の表示方法などが感覚的に自分には合わなかった。100ファイル以上オープンできたかどうかは覚えていない。

こうしたわけでWZ3を使い続けてきたのだが、先日、WZ6のバージョンアップ案内が届いた。もしかすると、100ファイル以上がオープンできるのではないかと期待して、販売元に問い合わせてみた。
すると、一つのプログラムで90ファイルまで扱えてそれを超えると別のプログラムを実行するので、100以上扱えるという回答だった。

それで体験版を試用してみたのだが、SDIではなくタブ形式のMDIだったので使い物にならない
90ファイルまで扱えるとのことだが、ファイルの階層表示が行えないのに90ファイルもオープンして、ストレスなく使えるとは到底考えられない。また、SDIであればファイルの種類ごとに桁数・行数やウィンドウサイズを変えることができるが、MDIなのでそれもできない。
インターネットブラウザでタブ形式が流行っているようだが、テキストエディタとは根本的に用途が違う。自分には開発コンセプトが間違っているとしか思えない。

バージョンアップであるのなら、過去の操作性も引き継いで欲しい。もちろん、タブ形式など新しい操作を追及するのは構わないが、従来のユーザのためにオプションでSDI表示もサポートすべきで、それができないのであれば名称を改めるべきだ。
結局のところWZ3が最強で、100ファイルの制限を200なり1000なりに拡張したものを販売してもらえないか。「100」という定義を「1000」に変えるだけだろうから、修正は簡単なはずなんだけどね。

2008年11月11日 (火)

‘さまれぼ!’「第一月曜火曜連休」をサポート

サロンのホームページを見ていて、定休日が「毎週月曜・第一月曜火曜連休」のようなものを何度か見かけました。最初は「毎週月曜・第一火曜」のことだろうと気にしていませんでしたが、本当に同じなのかという疑問を持ちました。
それで考えてみたのですが、必ずしも同じ火曜日が休みになるわけではないことがわかりました。第一月曜の翌日が第ニ火曜になるケース、つまり、「1日」が火曜日の月です。「第一火曜」では「1日」が休みですが、「第一月曜火曜連休」では「8日」が休みになります。

気付いてしまった以上、対応せずにはいられません。
指定方法を考えた末、「指定曜日翌日」フラグを追加することにしました。このフラグが立っている場合は、指定された曜日の翌日を休みにします。上記の「第一月曜火曜連休」の場合は、「第一月曜」を指定した上で「指定曜日翌日」フラグを立てることになります。
この方法により、簡単に対応することができました。
同時に、スタッフ勤務時間帯の休日指定でも「指定曜日翌日」フラグをサポートして、スッキリしました。

2008年11月10日 (月)

‘さまれぼ!’顧客抽出手順7~抽出条件表示制御

今回は<抽出条件>一覧の表示制御を行います。とりあえず必要ないが削除はしたくない抽出条件を一覧に表示したくない場合や、抽出条件の並び順を変更したい場合に使用します。例えば、組込抽出条件をコピーしてサロンに合った抽出条件を作成したので、組込抽出条件を非表示にしておくような場合です。
Extractviewctrl01

<表示制御>ボタンを押すと、抽出条件表示制御ダイアログが表示されます。
Extractviewctrl02

まず抽出条件を非表示にします。非表示にしたい抽出条件を選択し、<<>ボタンを押します。ここでは「組込変数値確認」を非表示にします。
Extractviewctrl03

Extractviewctrl04

次に抽出条件の表示順を変更します。移動させたい抽出条件を選択し、<↑>ボタンで希望位置まで移動させます。ここでは「一回客来店予測勧誘」を「来店予測勧誘」の上に移動させます。
Extractviewctrl05

Extractviewctrl06

<OK>ボタンを押すと、表示制御処理が終わります。<抽出条件>一覧が変更されました。
Extractviewctrl07

2008年11月 9日 (日)

‘さまれぼ!’顧客抽出手順6~一括抽出

今回は、複数の抽出条件を指定して、一気に抽出を行います。
Extractwrapexec01

<一括抽出>ボタンを押すと、一括抽出ダイアログが表示されます。
Extractwrapexec02

抽出実行する抽出条件を選択します。今回は、日常的に実行する抽出条件を対象にします。
対象が多いので、まず<≫>ボタンで全抽出条件を実行対象にします。
Extractwrapexec03

次に除外する抽出条件を実行対象から除きます。「キャンペーン」を選択し、<<>ボタンで対象から除きます。
Extractwrapexec04

Extractwrapexec05

同様に他の抽出条件も除外します。
Extractwrapexec06

顧客が抽出条件に合致するかどうかのチェックは<対象抽出条件>の上から順に行われるため、<↑>ボタンを使って「一回客来店予測勧誘」を「来店予測勧誘」の上に移動します。
Extractwrapexec07

現在の設定を抽出セットとして保存しておきます。
<登録>ボタンを押し、抽出セット名を入力します。
Extractwrapexec08

Extractwrapexec09

<抽出実行>ボタンを押し、一括抽出を開始します。
時候の挨拶を選択してから抽出が始まります。
Extractwrapexec10

Extractwrapexec11

一括抽出を行った結果、こうなりました。さまざまな抽出条件で抽出されたことがわかります。
Extractwrapexec12

2008年11月 8日 (土)

‘さまれぼ!’顧客抽出手順5~CSV出力

今回は、抽出結果のCSV出力を行います。
Extractcsvout01

<全CSV出力>ボタンを押すと、CSV出力ダイアログが表示されます。
Extractcsvout02

CSVファイルに出力する抽出項目を選択します。今回は、<≫>ボタンで全項目を出力対象にします。
Extractcsvout03

出力先のCSVファイルを選択します。
Extractcsvout04

Extractcsvout05

現在の設定を出力セットとして保存しておきます。
<登録>ボタンを押し、出力セット名を入力します。
Extractcsvout06

Extractcsvout07

<出力実行>ボタンを押し、CSV出力を開始します。
Extractcsvout08

出力したファイルをExcelで読み込むとこうなります。
Extractcsvout09

2008年11月 7日 (金)

インストーラ作成ソフト評価10~簡単インストーラ(ロゴ変更手順)

「簡単インストーラ」で作成したインストーラの左下に表示される「簡単インストーラ」というロゴだが、変更できることがわかった。
(注)プログラムが正常に動作しなくなる可能性があるので、作業は慎重に行ってください。

  1. 簡単インストーラのインストール先フォルダを開く
    (初期状態では「C:\Program Files\Matsuoka\einstall2」)
  2. 「Module」フォルダを開く
  3. 「EI_MODERN.LNG」ファイルをテキストエディタで開く
    (ロゴだけではなく、プログラム上では変更できない文字列も全て変更できる)
  4. “簡単インストーラ”部分を変更する
    [ResourceString_1041]
    0=さまれぼ!
  5. 上書き保存する。

以上の手順で修正を行った後、インストーラを作成すると次のようになった。
Installer37

期待した通りの結果で、インストーラについての最大の不満点が解消できた。
そこで、試用期限が迫っているものもあり、他のインストーラ作成ソフトは全てアンインストールすることにした。その際、気になった点が幾つかあった。
「CreateInstall Free JP」のアンインストールでは、「SayoxSetupPro」インストール時と同じくKasperskyのプロアクティブディフェンスに引っかかった。また、最後にアンインストールした理由を教えてくれるか、というメッセージが出たのは面白い。
「SayoxSetupPro」は、アンインストール後もファイルが二つ残っていた。インストール後に作成あるいは更新されたファイルのようだ。

最後に、簡単インストーラ作者の「nobukichi」さん、丁寧に回答してくださり、ありがとうございました。
今後も引き続き改良を続けられるとのことで、心強く思います。

2008年11月 6日 (木)

インストーラ作成ソフト評価9~簡単インストーラ(Vista)

これまでの検証作業の結果、「簡単インストーラ」に決め、サポートページを読んでみた。
すると、その中に気になる記述があった。
「CAB形式で作成したインストーラをWindows Vista上で実行した場合、解凍は行われるがインストーラが起動しない現象が発生する」というものだった。原因は不明で、CAB32.DLLがVista対応していないため、LHA形式を使うようにということだ。
既報の通り、ファイルサイズや解凍速度の点でLHA形式よりCAB形式の方が利便性が高い
CAB32.DLLを作成したLightShipのサイトを見ると2002/7/22が最終更新のままで、Vista対応を行うのかどうかわからないので、原因を考えてみた。

別件でのVista対応作業の経験を含め、次の事象を確認している。

  • インストーラをPyxisファイラで起動しようとするとエラーになって起動できなかったので、Explorerで起動すると、UACに引っかかっていた
  • インストーラではない普通のプログラム(管理者権限を要求していない)でもUACとなるVistaが存在したが、Vistaを再導入してWindows Updateを行うとUACが発生しなくなった。尚、このVistaはXPからのアップグレードだった。

これらのことから、CAB版でもPyxisファイラと同様のことが起こっているのではないかと推測した。つまり、自己解凍ファイルを解凍後にインストーラ本体を起動しようとするのだが、UACが発生してエラーになっているのでは?ということ。
手元のVistaではCAB版でも正常に動作するので検証できないが、もしも問題が発生する環境が見つかれば、解凍した状態でインストーラ本体をExplorerで起動してみることで確認できる。

このような理由から、とりあえずCAB版でリリースしようかと考えている。

2008年11月 5日 (水)

インストーラ作成ソフト評価8~簡単インストーラ(ロゴ変更)

今回は「簡単インストーラ」のロゴ変更を行ってみた。BMPファイルとICOファイルを指定することができる。
とりあえず、適当に探したBMPファイルを指定してみると、オープニング画面は次のようになった。
Installer36

この表示になるまで位置指定やオプションを何度か変えて試したのだが、結局、左下の「簡単インストーラ」ログではなく、上部の白い領域の背景になるらしい。
残念
まあ、現状のままでも対して目立たないので構わないが、できれば「CreateInstall」のように送金すれば左下のロゴを変更できるようにしてもらえないかと思う。

追記:ロゴ変更できることがわかりました(手順は2008年11月7日の記事で紹介)

2008年11月 4日 (火)

インストーラ作成ソフト評価7~SayoxSetupPro

最後の候補である「SayoxSetupPro Version 4.10.0」を使ってみたのだが、インストール段階で問題が出た。Kasperskyのプロアクティブディフェンスに引っかかったのだ。
Installerx2

ここで拒否して終了し、再度インストールを実行すると今度は引っかからなかった。

さて、実際に使ってみると、すぐに不満な点が見つかった。
まず、同意書(使用許諾書)としてテキストファイルを指定できず、エディットボックスで入力するようになっている。まあ、コピー&ペーストするだけなので大した手間ではないが、文面変更は使い慣れたエディタで行いたいので、テキストファイルを使いたい。
これについては、SayoxSetupPro.exeと同一ディレクトリに「同意書.txt」がある場合は、自動的に反映されることがヘルプに書いてあった。しかし、テキストファイルは開発システム用フォルダ内に置きたいので、不便であることに変わりはない。

次にインストールするファイル/フォルダの設定を行ったのだが、これが非常に使いにくい
まず、ファイルを追加するためには、「EXEpress CX」のように一つ一つファイルを選択しなければならない。ただ、[Shift]押しながらのクリックなどで複数ファイル選択はできるようだったので、10ファイルくらいを選択してみた。しかし、一つも追加されない。それでファイル数を半分に減らしてみると、今度は追加できた。色々試した結果、どうやらファイルパスを受け取るためのバッファを500バイト程度しか用意していないらしいことがわかった。ファイル名が途中までしか受け取れないまま追加してしまったケースさえあった。
また、終了時の状態や直前の状態を覚えていないプログラムを個人的に「バカソフト」と呼んでいるのだが、ファイル選択を行ったフォルダを覚えておらず、いつもプロジェクトファイルのあるフォルダが真っ先に表示される。5ファイル程度しか一度に選択できないため、何度もファイル選択を行う必要があるのだが、一々フォルダを変えなければならず、面倒なことこの上ない。
しかも、サブフォルダがある場合は、一々フォルダ名を入力してのフォルダ作成を行う必要がある。

ヘルプを読む限り、更新などを行う差分インストーラ作成機能があるなど優れた点もあるようだが、小さなプログラムならともかく、‘さまれぼ!’では全く使い物にならない。
プロアクティブディフェンスの件もあり(作成したインストーラで表示されてはたまらない)、実際にインストーラを作成することもなく使用を断念した

2008年11月 3日 (月)

インストーラ作成ソフト評価6~簡単インストーラ(CAB版)

「簡単インストーラ」のファイルサイズが気になったので、CAB形式でインストーラを作成してみる。圧縮レベルが指定できるが、「標準」とする。尚、LHA形式も「標準」の圧縮レベルで扱っていた。
作成したインストールファイルのサイズは25,235,919バイトで、「EXEpress CX」程ではないがかなり小さくなった

実際にインストールしてみたが、オープニング画面前の解凍処理時間が大幅に短縮された。LHA形式の半分以下という感じ。意外だった。
Installer35

尚、インストール後、Windowsの作業フォルダに「EINSTALL\20081103_103444\INSTALL.EXE」が残っていて、アンインストール後も削除されないままだった。
今まで気付かなかったのはファイルではなくフォルダだったためだろうと思ったが、念のため、LHA形式でも確認することにした。
その結果、同じようにアンインストール後もEINSTALLフォルダが残った。

ついでに解凍時間も計測してみたのだが、118秒もかかっていた。
これは半分以下というレベルではないと考えCAB形式でも計測してみると、21秒だった。5分の1足らずで、これほどの差があることに驚いた。
LHA形式ではファイルごとに解凍率を表示しているが、これまでの開発経験上、表示を行う時間も軽視できない。この表示をやめるだけで、結構な時間短縮になるのではないか?

今回の検証の結果、簡単インストーラを使うのならCAB形式にすべきだということがわかった。

2008年11月 2日 (日)

インストーラ作成ソフト評価5~簡単インストーラ

今回は「簡単インストーラ Ver.2.38.0.0」を使ってみたのだが、使う以前に問題発覚、インストール時にファイル共有関係のメッセージが表示された。
Installerx1

実行中のプログラムを順次終了させたのだが、その都度表示される。
結局、ファイラPyxisを終了させると消えたのだが、おそらくUNLHA32.DLLなどで引っかかっていたのだろう。原因となるファイルが何か表示してくれれば、すぐに対処できたのだが。

さて、何とかインストールできたので、早速使ってみた。メインウィンドウの表示順に従って設定を進めたのだが、結構使いやすい
インストールするファイルの設定では、ウィザード形式でファイル設定を追加できるようになっている。「CreateInstall Free」のようなフォルダ指定ではなく、「EXEpress CX」のようにファイル一覧を作成していくタイプだが、指定フォルダ内の構造をそのまま登録する機能があるので簡単。とはいえ、ファイル構成に変更があった場合は、設定し直さなければならない点は「EXEpress CX」と同じ。
ただ、個別のファイルを登録することには意味があり、ファイルごとにコピー方法などの細かいオプション設定ができる。動作するWindowsバージョンをファイルごとに指定することもできる。
また、バージョンアップで不要になり、削除したいファイルも設定できる。これは便利だと思うが、既に登録済みのファイルを削除対象に変更できず、改めて登録しなければならない点が残念。

一方、わかりにくい箇所もあった。
例えば、スタートメニューの「プログラム」下に「さまれぼ!」フォルダを作り、その中にショートカットを作る場合、ヘルプを読んで「さまれぼ!\説明書」と指定した。ショートカット項目のコピーができないので非常に手間がかかったのだが、コピーできないのはファイルやレジストリでも同じ。プログラミング上、修正は簡単だと思うのだが、
それはさておき、実際にインストールした際には「さまれぼ!」の部分をユーザが入力するようになっていた。その結果「さまれぼ!」フォルダの下に「さまれぼ!」フォルダができていた。その後の試行錯誤、インストール設定で「グループ名選択画面の表示」のチェックを外すことで回避できることがわかったが、この辺りの説明が全くない
また、「アプリケーション情報の設定」としてメインファイル名を指定できるのだが、インストールするファイルの中から選ぶようになっている。これがヘルプに記載されていない。チップヘルプでわかったのだが、文章が長い割りに2~3秒で消えてしまうので、何度も表示させなければならなかった。
インストールファイル作成には結構時間がかかるのだが、完了時にメッセージ表示がないのも不親切。
インストールファイルのサイズは31,236,291バイトで一番大きいが、CAB形式も指定できるので小さくできるかもしれない。

準備が出来たので、実際にインストールを行ってみた。
入力可能なウィンドウが表示される前に次のウィンドウが長い間続いた。解凍処理が他の二本とは比べ物にならないくらい長い
Installer20

そしてようやくオープニング画面。画像はロゴ指定ができる程度で派手さはない。他言語対応のためもありメッセージはボタンのラベルに至るまで全て変更できる
Installer21

次に使用許諾表示。ウィンドウ幅は十分で、最後までスクロールすると<同意します>ボタンが有効になり、それをチェックして初めて次に進めるようになる。理想通り。
Installer22

Installer23

Installer24

インストール先フォルダの指定を行って<次へ>ボタンを押すと、スタートメニューフォルダ指定を行った後、内容確認を行ってインストール開始。ただし、上述の通りスタートメニューフォルダ指定は行わないようにこの後変更した。
Installer25

Installer26

Installer27

Installer28

Installer29

そしてインストール完了。ここに至るまでの画面を表示するかどうかを細かく設定できる。上記手順は、ドキュメント表示を除く全画面表示にチェックが入っている状態。
Installer30

ウィンドウ左下に「簡単インストーラ」表示があるが、これがロゴに相当するものなら変更できるようだ
インストール先のフォルダ内にはアンインストール用のものなのか、「install.DAT」ができていた。テキストファイルなので、ユーザに改変されないか少し心配。
インストールには一番時間がかかった。特に解凍時間が長かったが、ファイルコピーやインストール完了後に<完了>ボタンを押した後も時間がかかった。

続いて、コントロールパネルの「プログラムの追加と削除」からアンインストールを行った。
インストール時と同じデザインで統一感がある。
Installer31

Installer32

Installer33

Installer34

Windows Vista上でのインストール/アンインストール時のユーザーアカウント制御(UAC)は、他の二本と同じだった。

機能的には十分で、操作等も良く考えられている。フリーウェア(寄付歓迎)だが、シェアウェアに全く引けを取らない。それどころか、機能的には三本の中で一番整っているのではないか。とはいえ、項目コピーができないなど、操作性にはまだまだ改善の余地がある。
解凍処理に時間がかかるのはUNLHA32.DLLの性能なので仕方ないが、その他の箇所は改善できるのではないか?
インストーラ画面の設定で進捗状況表示をしない設定にしてみたが、ファイルコピー時のインジケータ表示がなくなっただけだった。むしろ、インジケータを残してファイル名表示をやめたほうが時間短縮になるのではないか?

2008年11月 1日 (土)

インストーラ作成ソフト評価4~EXEpress CX 5

今回は「EXEpress CX Ver. 5.02」を使ってみた。

二つのプログラムに分かれていて、書庫ファイル作成部とインストーラ作成部が独立している。そしてインストーラ作成プログラムから書庫ファイル作成プログラムが呼び出せるようになっている。

書庫ファイル作成プログラムの操作性は、はっきり言って悪い。ウィンドウ左部は書庫ファイルに格納するファイル/フォルダのツリー(書庫ツリー)、右部にはExplorerのようなツリーが表示されていて、右部から左部にファイルやフォルダをドラッグ&ドロップして書庫ツリーを完成させていく。ファイルを複数選択することはできないので、非常に手間がかかる。幸い、Explorerなどからドラッグ&ドロップできるので、Explorerを使えば複数のファイルを一気に登録できる。
しかし、根本的な問題として、「CreateInstall Free」のようにルートになるフォルダを指定できないので、ファイルに増減があると、一々設定し直さなければならない。例えば、「SMS.UP」フォルダごと書庫ツリーに登録しまった場合、導入先フォルダ名を「SMS」とすると、「SMS」下に「SMS.UP」というフォルダができてしまう。

この書庫ファイルの設定はファイルに保存できるのだが、インストーラ作成から書庫ファイル作成を呼び出した際は何も登録されていない初期状態になっているので、一々ファイルに保存した設定を読み出さなければならない。また、書庫ファイルを無条件にデスクトップ上に作成してしまう。この辺のセンスは如何なものか?

ただし書庫ファイルはCAB形式なので、使いやすいCABファイル作成ツールを探すことで改善できる。自分の場合は、使い慣れたファイラPyxisで簡単に作成できる。
さらに、書庫ファイルが独立しているため、一度作成してしまえば以降の作成時間が不要な分、さまざまな設定を試しながらインストーラを作成できる点も評価できる。

インストーラ作成プログラムの設定はわかりやすい。ただ、ヘルプがメインウィンドウより前面に常時表示されてしまうため、ヘルプを大きくするとメインウィンドウが下に隠れてしまうので、ヘルプを消す必要がある。ただし、ヘルプが重要な詳細設定では、詳細設定ウィンドウをヘルプより前面に出せるので、それほどマイナスにはならないかもしれない。
機能的には、導入先のWindowsをXPやVistaに制限できるし、管理者権限を持つユーザに制限することもできるスタートメニューにコメントを付けることもできる。導入先フォルダとは別のフォルダにファイルをコピーすることもできる。
しかし、なぜかレジストリ設定ができないインストール先だけはレジストリに保存できるものの、その値を利用できないのでは、バージョンアップ時にインストール先をレジストリから決定できない。この点については、DLL形式の拡張モジュールが利用できるようなので対応できるのかもしれない(拡張モジュールはユーザー側で開発する必要がある)。

設定を終えて作成したインストールファイルのサイズは22,919,345バイトで、かなり小さい
そして実際にインストールを行ってみた。

まず、オープニング画面。左部のパネルや黄色い著作権表示の上のバナーなどは変えることができる。
Installer09

次に使用許諾表示。ウィンドウ幅が広く、最後までスクロールすれば<同意する>ボタンが有効になるようになっていて、満足できる。
Installer10 (Installer10.jpg挿入)

コピー先フォルダの指定を行って<次へ>ボタンを押すと、インストール開始。ただし、導入先が存在しない場合は確認メッセージが表示される。
Installer11

Installer12

Installer13

Installer14

そしてインストール完了。
Installer15

全体を通してウィンドウ左下に「EXEpress CX」のロゴが表示されているが、この上でマウスカーソルが指差しの形に変わり、クリックすると「EXEpress CX」の著作権表示が行われる。このロゴを変更するための設定は見つからず、ライセンスを購入しても変えられるという記述はないので、変更できないのだろう。
CABファイルの高い圧縮率の反動でインストールスピードが落ちるのではないかと懸念していたが、遅いと感じることはなかった
インストール先のフォルダ内にはアンインストール用に「epuninst.exe」ができていた。

続いて、コントロールパネルの「プログラムの追加と削除」からアンインストールを行った。
Installer16

Installer17

Installer18

Installer19

えらく素っ気無いし、中身が空のウィンドウが長く表示されている。おそらくファイル削除中だと思われる。まあ、不満があれば自分でアンインストーラを用意することもできるようにはなっている。
尚、アンインストール後、Windowsの作業フォルダに「epuninst.bin」が残っていた。

Windows Vista上でのインストール/アンインストール時のユーザーアカウント制御(UAC)は、「CreateInstall Free」と同じだった。

インストーラのデザインは「EXEpress CX」ロゴ以外に不満はない。また、サイトには「50万本以上の出荷実績があり高い安定性を誇る」とあり、実際にその通りなら安心できる。
しかし、これほどの出荷実績があるのなら書庫ファイル作成プログラムをもう少し何とかしてもらいたかった。また、レジストリ設定がないなど機能的にも不満が残った。

« 2008年10月 | トップページ | 2008年12月 »

2009年11月
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30          

カテゴリー

無料ブログはココログ