こんにちは、樋口です。書き込みありがとうございます。
そうですね、まずは、コマンドラインからの実行(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;
#---------------------------------------------------------------------