例: @Prompt と @PickList でユーザー入力を取得する

  1. YesNo。次の確認式は、[TotalAmount] フィールドについてユーザーに照会します。ユーザーが [いいえ] をクリックすると、失敗のメッセージが表示されます。
    @If(@Prompt([YesNo]; "Is this total within budget?"; @Text(TotalAmount; "C")); @Success; @Failure("Total not within budget"))
  2. OkCancelEdit。次のボタン式は、ユーザーにサーバーとデータベースを照会し、データベースを開きます。ユーザーが編集ボックスに値を入力せずに [はい] をクリックした場合は、戻り値は空の文字列になります。
    server := @Prompt([OkCancelEdit]; "Server"; "Enter the name of a server"; "");
    database0 := @Prompt([OkCancelEdit]; "Database"; "Enter the name of a database on " + @If(server = ""; "your workstation"; server); "");
    database := @If(@Contains(database0; "."); database0; database0 + ".nsf");
    @Command([FileOpenDatabase]; server : database)
  3. Password。次のフィールド確認式は、ユーザーからパスワードを受け取り、文書の [Password] フィールドと比較します。
    pass := @Prompt([Password]; "Password"; "What is the password?");
    @If(pass = Password; @Success; @Failure("Password incorrect"))
  4. OkCancelList。次の式は、データベースカタログ内のデータベースのリストをユーザーに表示し、ユーザーが選択したデータベースを開きます。最初の @DbColumn は、[Databases by _Replica ID] ビューの列 4 の値のリストを一時変数 titles に入れます。2 番目の @DbColumn は、[Databases by _Replica ID] ビューの列 2 の値のリストを一時変数 servers に入れます。3 番目の @DbColumn は、[Databases by _Replica ID] ビューの列 3 の値のリストを一時変数 databases に入れます。一時変数 list では、@Prompt でのユーザーへの表示に備えて、タイトル、サーバー、データベースを組み合わせます。この式では、その後、@Prompt からの戻り値をサーバー名とデータベース名に分解し、@コマンド FileOpenDatabase に渡します。
    titles := @DbColumn(""; "doc":"catalog.nsf"; "Databases by _Replica ID"; 4);
    servers := @DbColumn(""; "doc":"catalog.nsf"; "Databases by _Replica ID"; 2);
    databases := @DbColumn(""; "doc":"catalog.nsf"; "Databases by _Replica ID"; 3);
    list := titles + " *-* " + servers + " *:* " + databases;
    member := @Prompt([OkCancelList]; "Open Database"; "Select a database"; ""; list);
    server := @Left(@Right(member; " *-* "); " *:* ");
    database := @Right(member; " *:* ");
    @Command([FileOpenDatabase]; server:database)
  5. OkCancelListMult。次のボタン式は、部門名と売上合計のリストをユーザーに表示します。ユーザーがリストから任意の数の要素を選択すると、総合計を計算します。
    departments := @DbColumn(""; "" : "sales.nsf"; "Main View"; 1);
    totalSales := @DbColumn(""; "" : "sales.nsf"; "Main View"; 2);
    totalsList := @Text(totalSales; "C") + "   " + departments;
    sumList := @Prompt([OkCancelListMult]; "Total sales by department"; "Select the ones you want to sum"; ""; totalsList);
    sum := @Sum(@TextToNumber(sumList)); @Prompt([Ok]; "Sum"; @Text(sum))
  6. Custom。次のボタン式は、doc という名前のサーバーの catalog.nsf から [Databases by Replica ID] ビューをユーザーに表示します。ユーザーがリスト (ビュー) から要素 (行) を選択すると、その行の列 3 にある名前のデータベースが開かれます。
    name := @PickList([Custom]; "doc" : "catalog"; "Databases by Replica ID"; "Open database"; "Select a database that is on server Doc"; 3);
    @Command([FileOpenDatabase]; "doc" : name)