当ブログに掲載しているサンプルは、すべて利用者の自己責任という形でお願いします。
ただし、明らかな不具合がある場合、ご連絡いただければ、訂正記事を出します。
また、こちらのサンプルは、別のサイト等への公開、転載は一切禁止しています。
どうしてもと言う場合は、筆者にあらかじめご連絡ください。
記事そのもののリンクについてはご自由に行っていただいてよいです。

テクてく Lotus 技術者 Slack に参加しよう!

2009年5月7日木曜日

メンバー内での位置

ゴールデンウィーク。終わっちゃいましたね。今年は長期休暇ということで、週末までお休みの人もいるかもしれませんが・・・
筆者はカレンダー通りの出勤。ということで今日からお仕事です。

さてさて・・・

今日は、ある特定の値がリストの中のどの位置にあるのかを調べるというものです。
自分が作成したリストなんだからどの位置にあるかなんて、最初から分かってるよ!
なんて思いがちですが、そこはノーツなので、何が起きるか分かりません。

実際にサンプルを見てください。
リストの並び順と画面に表示される順番が違います。
どうも、@Prompt([OKCancelList])コマンドはリストを自動でソートしてしまうようです。
これでは、元の並び順が分かりません。

この時、元の位置を把握するのが@Member関数です。
選択したメンバーがリスト内にあれば、その位置を返します。
存在しない場合は、0(ゼロ)を返します。




------------------------------------------------------------------
mval := "メロン":"いちご":"みかん":"すいか":"バナナ":"りんご";

REM {メンバーは自動でソートされるので、元の位置は分からない};
stxt := @Prompt([OkCancelList];"メンバーの選択";"検索したいメンバーを選択してください。";"";mval:"なし":"もも":"ぶどう");

REM {リストから何も選択しないで、[OK]をクリックすると、1が返ってくる};
@If(stxt=1;@Return("");"");

tmp := @Member(stxt;mval);
@If(tmp=0;@Prompt([Ok];"メンバー内での位置";"選択したものはメンバー内にはありませんでした。");@Prompt([Ok];"メンバー内での位置";@Text(tmp)+"番目にありました。"))


Lotus Notes/Domino カスタマイズとセキュリティ強化 - 株式会社エフ

0 件のコメント: