|
|
kabe
(06/05/31 22:51)
|
|
|
| |
kabe です。
とりあえず、作ってみました。
http://acfinder.kabe.info/
ドキュメントが全くできていません。
動作確認も不十分ですので、人柱になってもよいという方のみご利用ください。
ご協力お願いします。
>HidemiOyaさん
当面、このスレッドを使わせてもらってよろしいですか。
|
|
|
|
|
|
Hidemi Oya
(06/06/20 20:02)
|
|
|
| |
kabe さん、こん**は。Hidemi Oya です。
定型処理タブなんですが、実行後にテンプレートを読み込むと、処理内容タブがアクティブになるものの、タブ内は検索結果のストリンググリッドのままです。ページコントロールではなく、タブコントロールを使っているんでしょうか?
それと、実行後に作物や病害虫を書き換えて再度「実行」ボタンをクリックしても、新たな条件で再検索されず、前回実行結果が表示されます。
|
|
|
|
|
|
kabe
(06/06/20 21:59)
|
|
|
| |
>Hidemi Oyaさん
kabe です。
> 定型処理タブなんですが、実行後にテンプレートを読み込むと、処理内容タブがアクティブになるものの、タブ内は検索結果のストリンググリッドのままです。ページコントロールではなく、タブコントロールを使っているんでしょうか?
そうです。
Visible を切り替えるのを忘れてました。
> それと、実行後に作物や病害虫を書き換えて再度「実行」ボタンをクリックしても、新たな条件で再検索されず、前回実行結果が表示されます。
リスト型は変更されているようですが、エレメント型がクリアされていないようです。
TemplateToQuery 中のメタフィールドを展開する前に
FTemplate.Text := ReplaceRegExpr('.*#template\s*\{\s*(.*?)\s*?\}.*', memTplSource.Text, '$1', true);
を入れるとクリアされるみたいですが、こんな方法で大丈夫でしょうか。
|
|
|
|
|
|
Hidemi Oya
(06/06/20 22:51)
|
|
|
| |
kabe さん、こん**は。Hidemi Oya です。
>リスト型は変更されているようですが、エレメント型がクリアされていないようです。
ありゃ〜、私のせいだったのね(^_^;)。エレメント型は更新されるけど、リスト型が更新されませんね。すみません、FTplQuery を書き換えるべきなのに、書き換えちゃいけない FTemplate.Text を書き換えちゃってました。
TemplateToQuery を下記のように、修正してください(う〜む、どうしてもインデントが全角スペースになってしまう)。エレメント型を先に展開して、その後リスト型を展開、リスト型展開ルーチンの FTemplate.Text を全て FTplQuery に置換です。
// エレメント型メタフィールド展開
dest := TStringList.Create;
list := TStringList.Create;
for i := 0 to FTemplate.Count - 1 do begin
line := Trim(FTemplate.Strings[i]);
if not ExistElement([sakumotsu..shurui], line) then
dest.Add(line)
else
for f := sakumotsu to shurui do begin
if not ExistElement([f], line) then continue;
case f of
sakumotsu: list.CommaText := edtTplSakumotsu.Text;
byochu: list.CommaText := edtTplByochu.Text;
yoto: list.CommaText := edtTplYoto.Text;
shurui: list.CommaText := edtTplShurui.Text;
end;
for j := 0 to list.Count - 1 do dest.Add(ReplaceRegExpr('\[' + CField[f] + '\]', line, list.Strings[j], false));
break;
end;
end;
FTplQuery := ReplaceRegExpr(',(\s+from)', dest.Text, '$1', true);
list.Free;
dest.Free;
// リスト型メタフィールド展開
if FTplSakumotsu then begin
FTplQuery := ExpandList(sakumotsu, FTplQuery, edtTplSakumotsu.Text);
end;
if FTplByochu then begin
FTplQuery := ExpandList(byochu, FTplQuery, edtTplByochu.Text);
end;
if FTplYoto then begin
FTplQuery := ExpandList(yoto, FTplQuery, edtTplYoto.Text);
end;
if FTplShurui then begin
FTplQuery := ExpandList(shurui, FTplQuery, edtTplShurui.Text);
end;
|
|
|
|
|
|
kabe
(06/06/20 23:26)
|
|
|
| |
>Hidemi Oyaさん
kabe です。
ありがとうございました。
修正しました。
>>リスト型は変更されているようですが、エレメント型がクリアされていないようです。
> ありゃ〜、私のせいだったのね(^_^;)。エレメント型は更新されるけど、リスト型が更新されませんね。
あれ、逆でしたか。
|
|
|
|
|
 |
 |