DoBookGrepおよびDoLdapGrepを追加しましNo.06491
秀まるお さん 03/03/14 16:38
 
 アカウント直下のフォルダ作成にやっと対応したのですが、次はメールの宛先
部分でのオートコンプリートをサポートしようと思います。

 それに先だって、まずはマクロによるオートコンプリートもどきのサポートを
行いました。

 以下、アドレス帳から検索してオートコンプリートするサンプルマクロです。

 LDAPサーバーから検索する場合は、

    #n = dllfunc("DoBookGrep", $s, #toponly);

 の所を

    #n = dllfunc("DoLdapGrep", $s, #toponly
            , "ldap-server", "名前+メールアドレス", 5 );

 のように修正すればいいです。詳しくはヘルプのDoLdapGrep関数を参照くださ
い。

-------アドレス帳から検索する例----------------
    loaddll "tkinfo.dll";
    #x = x; #y = y;
    while(1) {
        left;
        if( !result ) {
            break;
        }
        if( column == 0 ) {
            right;
            break;
        }
        if( code <= ' ' || code == ',' ) {
            right;
            break;
        }
    }
    #xtop = x; #ytop = y;
    $s = gettext( x, y, #x, #y );
    moveto #x, #y;
    if( strlen( $s ) <= 4 ) {
        #toponly = 1;
    }
    message $s;
    #n = dllfunc("DoBookGrep", $s, #toponly);
    if( #n == 0 ) {
        endmacro;
    }
    #i = 0;
    while(1) {
        $menu[#i] = dllfuncstr("GetGrepResult", #i);
        if( $menu[#i] == "" ) {
            break;
        }
        $menu[#i] = dllfuncstr("GetBookItemPart", $menu[#i], -1);
        #i = #i + 1;
    }
    menuarray $menu, #i;
    #result = result;
    if( #result == 0 ) {
        endmacro;
    }
    beginsel;
    moveto #xtop, #ytop;
    delete;
    insert $menu[#result - 1];

[ ]
RE:06491 DoBookGrepおよびDoLdapGrepを追No.06493
ひろ さん 03/03/14 17:25
 
 秀まるおさん今日は、ひろです。
>     #n = dllfunc("DoBookGrep", $s, #toponly);
<中略>
>     #n = dllfunc("DoLdapGrep", $s, #toponly
 両者とも便利なのですが、ヘルプを読むと備考やグループ名は検索対象にな
らないのですね。どれを検索対象にするかを、各々第 3, 6 パラメータでフラ
グ指定できると便利なのではないでしょうか?

[ ]
RE:06493 DoBookGrepおよびDoLdapGrepを追No.06495
秀まるお さん 03/03/14 18:01
 
 元々オートコンプリート用に(要望があって)作った物なので、名前とEmail
部分にしか反応しないです。

 必要ならパラメータを追加してもいいですけど、その前に本物のオートコンプ
リートを作りたいです。

[ ]
RE:06495 DoBookGrepおよびDoLdapGrepを追No.06496
ひろ さん 03/03/14 18:23
 
 秀まるおさん今日は、ひろです。
>  必要ならパラメータを追加してもいいですけど、その前に本物のオートコンプ
> リートを作りたいです。
 もちろんこの後で構いませんので、宜しくお願いします。

[ ]