マクロでカウントダウンNo.01735
ポン太 さん 01/05/24 09:32
 
みなさん、こんにちは。ポン太です。
秀丸、鶴亀ともにマクロの経験は2〜3日です。

マクロの処理の中で、「はい」「いいえ」を選択する処理を作るときに、
一定時間(例えば10秒とか)応答がなければ、「はい」を選択したも
のとして、次に処理を流したいのですが、マクロでこういうことは可能
でしょうか?

[ ]
RE:01735 マクロでカウントダウンNo.01741
秀まるお2 さん 01/05/24 10:48
 
> マクロの処理の中で、「はい」「いいえ」を選択する処理を作るときに、
> 一定時間(例えば10秒とか)応答がなければ、「はい」を選択したも
> のとして、次に処理を流したいのですが、マクロでこういうことは可能
> でしょうか?

 秀丸マクロにはそういう機能はありません。田楽DLLにも無いようです。

 しいて、tkinfo.dll側にそういう関数を用意する手もあります。あるいは
「一定時間後にはいを押す」という部分だけtkinfo.dll側で用意する手もあり
ます。

    #n = dllfunc("SetAutoPushTimer", 10, yes );
    question "いいですか?";

 とか。

[ ]
RE:01741 マクロでカウントダウンNo.01742
ポン太 さん 01/05/24 11:17
 
> 秀丸マクロにはそういう機能はありません。田楽DLLにも無いようです。

田楽DLLってなんだろう?と思って調べてみたら、マクロから外部DLLを
呼べるのですね。
ちょっと作ってみる気になってきました。(^^)


> しいて、tkinfo.dll側にそういう関数を用意する手もあります。あるいは
>「一定時間後にはいを押す」という部分だけtkinfo.dll側で用意する手もあり
>ます。
>
>    #n = dllfunc("SetAutoPushTimer", 10, yes );
>    question "いいですか?";
>
> とか。

今回の私の目的は、メール送受信後問い合わせて切断のオプションに、
「応答がない場合は一定時間経過後切断する」という機能があっても
解決するのですが(既にあったりして(^_^;)。

SetAutoPushTimerとか問い合わせて切断のオプションとかはお任せします
ので、どれかが実現されると嬉しいです。m(_ _)m

[ ]
RE:01741 マクロでカウントダウンNo.01746
ひろ さん 01/05/24 12:06
 
 秀まるおさん今日は、ひろです。横から失礼します。
>  しいて、tkinfo.dll側にそういう関数を用意する手もあります。あるいは
> 「一定時間後にはいを押す」という部分だけtkinfo.dll側で用意する手もあり
 後者の関数が、勿論 loaddll は必要ですが、秀丸からも利用可能なら汎
用性が広がって良いですね。

[ ]
RE:01741 マクロでカウントダウンNo.01748
"M.OBARA" さん 01/05/24 12:45
 
 こんにちは、小原です。

>  しいて、tkinfo.dll側にそういう関数を用意する手もあります。あるいは
> 「一定時間後にはいを押す」という部分だけtkinfo.dll側で用意する手もあり
> ます。
>
>     #n = dllfunc("SetAutoPushTimer", 10, yes );
>     question "いいですか?";
>
>  とか。

 個人的には上記関数が非常に欲しいです。よろしくお願いいたします。

[ ]
RE:01742 DLL作ってみましたNo.01750
ポン太 さん 01/05/24 13:05
 
>田楽DLLってなんだろう?と思って調べてみたら、マクロから外部DLLを
>呼べるのですね。
>ちょっと作ってみる気になってきました。(^^)

DLLを作ってみました。Delphiでですけど。(^_^;
結構簡単に秀丸から呼べて感動です。

問題は既に公開されている機能を作ってもしかたないので、どういう
機能が公開されているかを調べることですね。(^_^;

ところでマクロ用のDLLってスレッドセーフにする必要があるので
しょうか?

[ ]
RE:01750 DLL作ってみましたNo.01752
秀まるお2 さん 01/05/24 14:00
 
> 問題は既に公開されている機能を作ってもしかたないので、どういう
> 機能が公開されているかを調べることですね。(^_^;

 一般に公開されているDLLは、田楽DLLだけかと思います。

> ところでマクロ用のDLLってスレッドセーフにする必要があるので
> しょうか?

 一応、鶴亀メールのエディタはマルチスレッドで動作しますが、マクロ自体
は複数同時に実行されることはないので、スレッドセーフにする必要はありま
せん。

 SetAutoPushTimer関数は先ほど完成した所です。

[ ]
RE:01752 DLL作ってみましたNo.01753
ポン太 さん 01/05/24 14:11
 
>> 問題は既に公開されている機能を作ってもしかたないので、どういう
>> 機能が公開されているかを調べることですね。(^_^;
>
> 一般に公開されているDLLは、田楽DLLだけかと思います。

なるほど。φ(.. )
あとは田楽DLLの機能と、秀丸(鶴亀)標準のマクロ機能を、一通り
みてみないと。(^_^;


>は複数同時に実行されることはないので、スレッドセーフにする必要はあ
>りません。

φ(.. )


> SetAutoPushTimer関数は先ほど完成した所です。

ありがとうございます。
新版はいつ頃公開予定でしょうか?o(^-^)o

[ ]
RE:01741 マクロでカウントダウンNo.01775
杉浦 まさき さん 01/05/24 23:42
 
もう済んだ話のようなのでどうでもいいことではありますが…

> 秀丸マクロにはそういう機能はありません。
> 田楽DLLにも無いようです。

あえて田楽DLL(マクロサーバでも可)でやるとすれば、
メッセージボックスみたいなダイアログを作って、
メッセージループで tickcount を数えればいいですね。

でも、軽くて単機能で便利なDLLが増えればそれはそれで嬉しいです。
#機能が多い事が高機能ではない、
 という格言を地で行っちゃってますから。>田楽シリーズ


[ ]