Заглавная страница Избранные статьи Случайная статья Познавательные статьи Новые добавления Обратная связь FAQ Написать работу КАТЕГОРИИ: АрхеологияБиология Генетика География Информатика История Логика Маркетинг Математика Менеджмент Механика Педагогика Религия Социология Технологии Физика Философия Финансы Химия Экология ТОП 10 на сайте Приготовление дезинфицирующих растворов различной концентрацииТехника нижней прямой подачи мяча. Франко-прусская война (причины и последствия) Организация работы процедурного кабинета Смысловое и механическое запоминание, их место и роль в усвоении знаний Коммуникативные барьеры и пути их преодоления Обработка изделий медицинского назначения многократного применения Образцы текста публицистического стиля Четыре типа изменения баланса Задачи с ответами для Всероссийской олимпиады по праву Мы поможем в написании ваших работ! ЗНАЕТЕ ЛИ ВЫ?
Влияние общества на человека
Приготовление дезинфицирующих растворов различной концентрации Практические работы по географии для 6 класса Организация работы процедурного кабинета Изменения в неживой природе осенью Уборка процедурного кабинета Сольфеджио. Все правила по сольфеджио Балочные системы. Определение реакций опор и моментов защемления |
Файлы с произвольным доступомСодержание книги
Поиск на нашем сайте
Открытие файла Open ИмяФайла For Random [Access доступ ] [ блокировка ] _ Где: - Random – определяет режим доступа к данным - произвольный; - Access позволяет задать права доступа к открываемому файлу. Параметр Доступ задается константами: Read – только для чтения, Write – только на запись, Read Write – чтение и запись (действует по умолчанию); - Блокировка позволяет определить права доступа к данным файла при многопользовательской работе. Параметр может принимать значения: ü Shared – файл может использоваться всеми пользователями для чтения и записи; ü Lock Read – запрещает другим пользователям считывать данные этого файла; ü Lock Write – запрещает другим пользователям записывать данные в этом файл; ü Lock ReadWrite – запрещает другим пользователям считывать и записывать в файл. - ДлинаЗаписи - целое число. Оно должно быть равно длине переменной пользовательского типа, которая применяется для хранения одной записи файла. Если это значение меньше длины записи, то возникает ошибка, если больше, то будет использоваться больше дискового пространства.
Закрытие файла См. закрытие текстовых файлов. Запись в файл Для включения в файл произвольного доступа новой записи используется оператор: Put # ДескрипторФайла[, НомерЗаписи], ИмяПеременной НомерЗаписи - это номер (целое положительное число), который будет иметь запись, помещаемая в файл. Если номер записи не указан, то запись данных осуществляется в текущую запись (текущая запись – это запись на которой позиционирован указатель). ИмяПеременной - это имя переменной пользовательского типа, значением которой является запись, помещаемая в файл.
Чтение из файла Для извлечения записи из файла произвольного доступа применяется оператор: Get # ДескрипторФайла[, НомерЗаписи], ИмяПеременной Где: НомерЗаписи - это номер извлекаемой из файла записи. Если номер не указан, считывается текущая запись. ИмяПеременной - это имя переменной пользовательского типа, значением которой является запись, извлекаемая из файла. Пример решения задачи создания и обработки файла прямого доступа: Private Type ДанныеСтудент Фамилия As String * 15 Имя As String * 10 Группа As String * 4 ОцМатем As Integer ОцИнфор As Integer ОцФилос As Integer End Type Private Sub Command1_Click() Dim Студент As ДанныеСтудент, i As Integer Open "danst" For Random As #1 Len = Len(Студент) For i = 1 To 5 Студент.Фамилия = InputBox("Фамилия") Студент.Имя = InputBox("Имя") Студент.Группа = InputBox("Группа") Студент.ОцМатем = Val(InputBox("Оценка по математике")) Студент.ОцИнфор = Val(InputBox("Оценка по информатике")) Студент.ОцФилос = Val(InputBox("Оценка по философии")) Put #1, i, Студент Next Close 1 End Sub Private Sub Command2_Click() Dim Студент As ДанныеСтудент, i As Integer Open "danst" For Random As #1 Len = Len(Студент) For i = 1 To LOF(1)/Len(Студент) Get #1, i, Студент Print " " & Trim(Студент.Фамилия) & " " & _ Trim(Студент.Имя) & " " & Trim(Студент.Группа) Next i Close #1 End Sub
Файлы двоичного доступа
Для открытия двоичного файла применяется оператор: Open ИмяФайла For Binary As # ДескрипторФайла Как и в файл произвольного доступа в двоичный файл можно помещать записи с полями различного типа. Однако этот файл может содержать записи различной длины. Поэтому при объявлении типа данных у строковых полей длина может быть не фиксирована. Запись данных в файл происходит при помощи оператора: Put # ДескрипторФайла, НомерБайта, ИмяПеременной Где: НомерБайта - номер байта в файле, т.е. то место в файле, куда надо поместить данные. Чтение данных из двоичного файла осуществляется оператором: Get # ДескрипторФайла, НомерБайта, ИмяПеременной Где: НомерБайта - номер байта в файле, т.е. то место в файле, откуда надо прочитать данные. Найти этот номер байта бывает очень трудно. В этом заключается недостаток двоичного доступа. Пример: Private Type ФамИм Фамилия As String Имя As String End Type Dim фаим As ФамИм Dim mas() As String * 1 Private Sub Command1_Click() Open "Faim.bin" For Binary As #1 L% = 1 For i = 1 To 2 фаим.Фамилия = InputBox("Фамилия") Lf% = Len(фаим.Фамилия) фаим.Имя = InputBox("Имя") Li% = Len(фаим.Имя) Put #1, L, фаим.Фамилия Put #1, L + Lf, фаим.Имя L = L + Li + Lf Next Close 1 End Sub
Private Sub Command2_Click() Open " Faim.bin" For Binary As #1 k = LOF(1) ReDim mas(k) For i = 1 To k Get #1, i, mas(i) Print mas(i); Next Close #1 End Sub
|
||||
Последнее изменение этой страницы: 2017-02-08; просмотров: 391; Нарушение авторского права страницы; Мы поможем в написании вашей работы! infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 52.14.234.146 (0.006 с.) |