Re: スクリプトにより実行の自動化 (HIGUCHI Koichi) KH Coder 旧掲示板
[ツリー表示] [留意事項] [ワード検索] [過去ログ]

  [No.777] Re: スクリプトにより実行の自動化 投稿者:HIGUCHI Koichi  投稿日:2011/05/16(Mon) 17:58:40

こんにちは、樋口です。書き込みありがとうございます。

そうですね、まずは、コマンドラインからの実行(perl kh_coder.pl)で、正
常に新規プロジェクトの作成、前処理の実行、抽出語リストの作成などができ
ることを確認しておくとよいでしょう。

その上で、「kh_coder.pl」を「newproject.pl」という名前のファイルにコピ
ーします。そして「newproject.pl」を編集するのですが、「__END__」という
行以降はすべてコメントとみなされることに注意して下さい。

で、「__END__」の手前に「MainLoop;」という行があると思います。この行の
直前に空きを作って、そこに自動実行したい処理を入れます。例えば、以下
のような感じです。以下の例では、特定のファイルをプロジェクトととして登
録し、前処理を行い、抽出語リストを作成しています。その後、不要になった
プロジェクトを削除して、KH Coderを終了しています。

なお、'c:\khcoder\inputfile\sample.txt'がすでにプロジェクトとして登録さ
れているとエラーになりますのでご注意下さい。

#---------------------------------------------------------------------

# ファイル名指定
my $file_target = 'c:\khcoder\inputfile\sample.txt';

# プロジェクト新規作成
my $new = kh_project->new(
target => $file_target,
comment => 'auto',
) or die("could not create a project\n");
kh_projects->read->add_new($new) or die("could not save a new project\n");

# 新規作成したプロジェクトを開く
$new->open or die;
$::main_gui->close_all;
$::main_gui->menu->refresh;
$::main_gui->inner->refresh;

# 前処理実行
mysql_ready->first;

# 頻出150語の表を作成して開く
my $file_wordlist = mysql_words->word_list_custom(
type => 'def',
num => 'tf',
ftype => 'xls',
);
gui_OtherWin->open($file_wordlist);

# GUI経由で新規作成したプロジェクトを閉じる
$::main_gui->{menu}->mc_close_project;

# GUI経由で新規作成したプロジェクトを削除
#(正確には最後に追加したプロジェクトを削除)
gui_window::project_open->open;
my $win_opn = $::main_gui->get('w_open_pro');
my $n = @{$win_opn->projects->list} - 1;
$win_opn->{g_list}->selectionClear(0);
$win_opn->{g_list}->selectionSet($n);
$win_opn->delete;
$win_opn->close;

# KH Coder 終了
exit;

#---------------------------------------------------------------------


- 関連一覧ツリー (■ をクリックするとツリー全体を一括表示します)