Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

Шаг 52 - Инструкция Randomize




Next RecordNumber

End Type

ID As Integer

Dim MyArray(1 To 5,1 To 10) As Integer

118 байт распределяются следующим образом: 18 байт для дескриптора (2 + 8 * 2), и 100 байт для данных (5 * 10 * 2).
При записи массива фиксированной длины инструкция Put записывает только данные. Дескриптор не записывается.
При записи переменной любого другого типа (кроме строки переменной длины и переменной типа Variant), инструкция Put записывает только данные. Длина записи, указанная в предложении Len инструкции Open, должна быть больше либо равна длине записываемых данных.
Инструкция Put записывает элементы определяемых пользователем типов так, будто это отдельные переменные, за исключением того, что пространство между элементами не заполняется текущим содержимым буфера файла. На диске динамический массив типа, определенного пользователем (записанный с помощью инструкции Put) предваряется дескриптором, длина которого равняется (2 + 8 * числоРазмерностей) байт. Длина записи, указанная в предложении Len инструкции Open, должна быть больше либо равна сумме всех байтов, необходимых для размещения отдельных элементов, в том числе, массивов и их дескрипторов.
Для файлов, открытых в режиме Binary, применимы все перечисленные выше правила, за исключением следующих:
Предложение Len инструкции Open игнорируется. Инструкция Put записывает все переменные на диск непрерывно, т.е. без заполнения пространства между записями текущим содержимым буфера файла.
При записи любых массивов, кроме являющихся элементами типов, определяемых пользователем, инструкция Put записывает только данные. Дескриптор не записывается.
При записи строк переменной длины, не являющихся элементами типов, определяемых пользователем, 2-байтовый дескриптор не записывается. Число записываемых байт равняется числу символов, содержащихся в строке. Например, следующие инструкции запишут 10 байт в файл, которому соответствует номер 1:

VarString$ = String$(10," ")

Put #1,,VarString$

Пример
В данном примере инструкция PutRecord

Type Record ' Тип, определенный пользователем.

Name As String * 20

Dim MyRecord As Record, RecordNumber ' Объявляет переменную.

' Открывает файл произвольного доступа.

Open "TESTFILE" For Random As #1 Len = Len(MyRecord)

For RecordNumber = 1 To 5 ' Выполняет цикл 5 раз.

MyRecord.ID = RecordNumber ' Определяет номер.

MyRecord.Name = "My Name" & RecordNumber ' Создает строку.

Put #1, RecordNumber, MyRecord ' Записывает запись вфайл.

Close #1 ' Закрывает файл.

 

Инициализирует датчик случайных чисел.

Randomize [число ]

Параметры
число: Необязательный аргумент число представляет значение типа Variant или любое допустимое числовое выражение.

Замечания
Инструкция Randomize использует аргумент число для инициализации датчика случайных чисел функции Rnd, передавая ему новое опорное число. Если аргумент число опущен, в качестве нового опорного числа используется значение, возвращаемое системным таймером.
Если инструкция Randomize не используется, функция Rnd (без аргументов) использует в качестве опорного числа случайное число, возвращенное при предыдущем вызове.
Для повторения последовательности случайных чисел следует вызвать функцию Rnd с отрицательным аргументом сразу после использования инструкции Randomize с числовым аргументом. Повторное использование инструкции Randomize с тем же числовым аргументом не приведет к повторению предыдущей последовательности случайных чисел.

Пример
В данном примере инструкция Randomize используется для инициализации генератора случайных чисел. Поскольку числовой аргумент инструкции Randomize опущен, в качестве нового опорного числа используется значение, возвращаемое функцией Timer.




Поделиться с друзьями:


Дата добавления: 2015-06-27; Просмотров: 312; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.007 сек.