од, що визначає чи існує група з вказаним ім'ям в журналі. Повертає істину, якщо існує, і брехня в іншому випадку. procedure SetNewTestNames (A: TStringArray; Count: Integer); Метод, що встановлює в якості списку імен тестів елементи масиву A. Параметр Count містить кількість рядків у масиві A. Також відбувається оновлення списку оцінок користувачів. function AddUser (Name, Surname: String; GroupID: Integer): Boolean; Функція-метод додає користувача з ім'ям, прізвищем та індексом групи відповідно рівними Name, Surname, GroupID в журнал. Якщо додавання сталося успішно, то функція повертає True, в іншому випадку - False. procedure DelUser (Name, Surname: String; GroupID: Integer); Метод, видаляє користувача зі списку FUsers (якщо користувач у списку поточних, то він також видаляється з цього списку). В якості вхідних параметрів процедура отримує ім'я, прізвище і індекс групи відповідно. function EditUser (LastUserData, NewUserData: TUser): Boolean; Якщо користувач, з даними LastUserData існує, то функція поверне True, і дані користувача заміняться на значення змінної NewUserData (паралельно проводиться синхронізація списку поточних користувачів), в іншому випадку функція поверне False. function FindUser (Name, Surname, Group: String): Integer; Функція-метод, що виробляє пошук користувача по унікальним у сукупності даними: Name (імені), Surname (прізвища), Group (групі) в масиві FUsers. Повертає номер користувача в масиві, якщо не знайдений, то повертає - 1. function FindCurUsers (UserID: Integer): Integer; Функція-метод, що виробляє пошук індексного номера користувача в масиві FCurUsers за вказаною індексному номером цього користувача в масиві FUsers. Повертає номер користувача в масиві, якщо не знайдений, то повертає - 1. p align="justify"> Алгоритм роботи з об'єктами класу TTest:
Створюється примірник класу (наприклад, в обробнику події створення головної форми додатка).
2 Викликається метод Init, якому, як параметр передається ім'я тестового файлу, який потрібно відкрити.
Далі йде робота зі списком вже згенерованих питань TTest. Читається поточне питання методом GetQuestion і малюється формою на екран, викликається метод передачі відповіді користувача Answer (або не викликається, якщо питання пропускається), далі викликається метод переходу до наступного питання Next. У будь-який момент можна викликати метод переходу до попереднього питання Back. Після переходу до нового питання йде повторний виклик GetQuestion і т.д.
Коли дійшли до останнього питання, викликаємо метод ExistsSkiped, щоб визначити чи були користувачем пропущені деякі питання. Якщо не були, то викликаємо метод CalcResult і отримуємо оцінку. p align="justify"> У разі повторного тестування переходимо до пункту 2 цього списку.
Знищується екземпляр класу (наприклад, в обробнику події знищення г...