Skip to main content

This documentation is for an older version of this product. See the latest version of this content.Opens in a new tab

演習 7

前の演習と同じく、最後の演習も長くなります。ObjectScript.Lookup2 に編集および削除の機能を追加して、Lookup クラスを完成させます。

  • ObjectScript.Lookup2 で作業するに、ObjectScript.DataEntry4Store() を、TStartTCommit を使用するように更新して、グローバルの更新内容がすべてトランザクションに含まれるようにします。

  • レコードを削除するかどうかをユーザに尋ね、削除する場合は新しい Delete() メソッドを呼び出すコードを TakeAction() に追加します。

  • Delete() メソッドを記述します。これは、レコードをロックし、レコードのデータを別個の変数に入れてトランザクションを開始します。続いて、Kill を使用してデータ・グローバルとインデックスからレコードを削除し、トランザクションをコミットしてから、レコードのロックを解除します。

  • レコードを編集するかどうかをユーザに尋ね、編集する場合は新しい Edit() メソッドを呼び出すコードを TakeAction() に追加します。

  • Edit() メソッドを記述します。これは、レコードをロックし、新しい Reprompt() メソッドを呼び出して新しい回答を要求します。続いて、$ListSame を使用して現在の回答と新しい回答を比較し、変更があるかどうかを確認します。さらに、新しい Update() メソッドを呼び出してデータ・グローバルとインデックスを更新し、レコードのロックを解除します。

  • Reprompt() メソッドを記述します。これは ObjectScript.DataEntry4Prompt() と似ていますが、完全に同じではありません。これは、ObjectScript.DataEntry4 から 3 つの検証メソッドを使用します。さらに、プロンプトに現在のデータを表示して、ユーザが変更内容を把握できるようにします。

  • Update() メソッドを記述します。これは、トランザクションを開始して、新しい回答を ^PersonD に格納します。次に、^PersonI を更新します。インデックスの更新とは、インデックスの古いエントリに対して Kill を使用し、Set を使用して新規のエントリを追加することです。最後に、トランザクションをコミットします。

詳細を表示するには、下記をクリックします。

Step by Step Solution

FeedbackOpens in a new tab