|
Private Type типПерсонажDate: 2015-10-07; view: 422. Dim Игра(1 To 30) As типИгра Персонаж(1 To 20) As String End Type Теперь можно использовать такие операторы: Игра2.Персонаж(4) = "Криган" Игра1.Персонаж(12) = "Fenix" Debug.Print Игра1.Персонаж(10)
Усложним задание: Вы хотите создать базу данных о 30 играх. Для этого достаточно вместо объявлений Dim Игра1 As типИгра Dim Игра2 As типИгра объявить массив: Теперь можно использовать операторы: Игра(16).Название = "StarCraft" 'название 16-й игры Игра(8).Персонаж(12) = "Солдат" 'двенадцатый персонаж восьмой игры Debug.Print Игра(16).Название, Игра(8).Персонаж(12)
Еще усложним задание: Вы хотите задать более подробную информацию о персонажах, а не только их имя. Вас интересует имя персонажа, количество его здоровья (в численном виде), название его оружия. Для этого вы определяете еще один пользовательский тип. Вот программа: 'Сначала создаем пользовательский тип персонажа, 'так как без него нельзя определить пользовательский тип игры: Имя As String Здоровье As Integer Оружие As String End Type 'Затем создаем пользовательский тип игры: Private Type типИгра Название As String Объем As Integer Графика_хорошая As Boolean Персонаж(1 To 20) AsтипПерсонаж 'Не больше 20 персонажей в одной игре End Type 'Отводим в памяти место под информацию об играх: Dim Игра(1 To 30) As типИгра
Private Sub Form_Load() Игра(8).Персонаж(12).Имя = "Солдат" Игра(8).Персонаж(12).Здоровье = 140 Debug.Print Игра(8).Персонаж(12).Имя, Игра(8).Персонаж(12).Здоровье End Sub
Если вы захотите более подробно описать оружие, то можете создать еще один пользовательский тип. И так далее. Массивы и пользовательские типы могут вкладываться друг в друга, как матрешки, до бесконечности. Так создаются иерархии данных практически в любой области знаний.
Задание 121: Создайте базу данных о своих родственниках. О каждом родственнике должно быть известно: · Имя · Год рождения · Цвет глаз Массивы не используйте. Программа должна: · Распечатать ваш возраст и цвет глаз · Ответить на вопрос – правда ли, что ваш дядя старше тети.
Задание 122: Создайте базу данных о своих однокашниках. О каждом однокашнике должно быть известно: · Фамилия · Имя · Пол · Год рождения Обязательно используйте массив не меньше, чем из 10 записей. Программа должна: · Вычислить средний возраст ваших однокашников · Определить, кого среди них больше – дам или кавалеров · Ответить на вопрос – есть ли в вашей базе тезки (это нелегко).
Базы данных являются настолько распространенным средством хранения информации, что в Visual Basic есть специальные мощные инструменты для работы с ними. Мы рассмотрим их в Глава 22.
|