nsfl10n

Lotus Notes/Domino のブログ。nsf:Notes Storage Facility。l10n:Localization。

スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。
  1. --/--/--(--) --:--:--|
  2. スポンサー広告|
  3. トラックバック(-)|
  4. コメント(-)

@関数のループ処理を使いこなすには

 Looping Tricks for IBM Lotus Notes and Domino Developers

 Notes/Dominoの開発者の多くにとって、いちばんの実装して欲しい機能のひとつだったのが、@関数へのループ処理だ。そして、それはND6において、やっと実装された。3つの関数を使ってループ処理を実現できるようになったのだ。@For, @DoWhile, @While の3つだ。

@While と @DoWhile

 @While と @DoWhile は、基本的には同じものだ。同じ引数を必要とするが、しかし、違う命令なのだ。条件は次のようなものだ。

@While(test condition; code to run)

 または、

@DoWhile(code to run; test condition)

 テスト条件(test condition)は、コードを実行するために、必ず True を返す必要がある。そして、false になると実行を中止する。

 @While と @DoWhile との間の主な違いは、@While はテスト条件を最初にテストし、True が帰ってきたら、再度コードを実行する。それに対して、@DoWhile はコードを実行し、もう一度コードを実行するべきかどうか判断するために、テスト条件をテストするのだ。簡単に言うと、@While = テストしてから実行し、@DoWhile = 実行してからテストする、となる。

スポンサーサイト
  1. 2005/05/24(火) 01:07:30|
  2. Designer|
  3. トラックバック:0|
  4. コメント:2
<<Lotus Domino R6 と Windows Active Directory のシングルサインオン | ホーム | ND7.0 は管理機能の自動化だけでなくクライアントの拡張も>>

コメント

フィールド名をField1,Field2,Field3・・・・みたいな番号だけ増やした書き方をするとているとするとNotesR5までは@関数で全部フィールドの数だけ同じプログラムを書いて面倒くさい思いをしていましたが、Notes6からループ処理が使えるようになりましたので@GetFieldと組み合わせるとずいぶんスマートに短く書けますね。

@For(n := 1; n < ループの数; n := n + 1;
wField:="Field"+@Text(n);
@GetField(wField)で値を呼び出して処理
);

こんな感じ。
  1. 2005/05/24(火) 08:22:01 |
  2. NDOMINO-S #-
  3. [ 編集]

コメントありがとうございます。
確かに、連番フィールドだとを扱うのがラクになりますね。
エクセルのオートフィルを使って式を組み立てるのをよくやってます。

私が最近使ったのは、HTMLのタグ取りロジック。。
Blogsphereというノーツのブログテンプレートに「最近のコメント」機能を付けたくて、
コメント欄フィールドの値(HTML)を操作して、頭12文字でアンカータグを生成してます。
@whileのタグ取り部分は、ちょっと汎用性があるかもしれません。

numVal := 12;
strTextSource:=@Text(body);

@While(@Contains(strTextSource; "<");
leftStr := @Left(strTextSource;"<");
rightStr := @Right(strTextSource;">");
strTextSource := @Trim(leftStr + rightStr)
);

numLen := @Length(@Text(strTextSource));
strText := @If(numLen = 0; "(no comments...)" ;
numLen > numVal; @Left(strTextSource; numVal) + "...";
strTextSource);

HTML := "<span class=\"small\">" + @Text(Storydate;"D2S0")+" "+
"<a href=\""+HTTP_Referer+"\" >" +strText + "</a></span><br>";


HTML
  1. 2005/05/26(木) 23:27:52 |
  2. chate #-
  3. [ 編集]

コメントの投稿

管理者にだけ表示を許可する

トラックバック

トラックバックURLはこちら
http://nsfl10n.blog9.fc2.com/tb.php/16-be9166bb
05 | 2017/06 | 07
Sun Mon Tue Wed Thu Fri Sat
- - - - 1 2 3
4 5 6 7 8 9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30 -

Search

Featured Entries

Recent Entries

Recent Comments

Recent Trackbacks

Archives

Category

Links

Ads

上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。