Курсовая: Работа с файлами в Visual Basic - текст курсовой. Скачать бесплатно.
Банк рефератов, курсовых и дипломных работ. Много и бесплатно. # | Правила оформления работ | Добавить в избранное
 
 
   
Меню Меню Меню Меню Меню
   
Napishem.com Napishem.com Napishem.com

Курсовая

Работа с файлами в Visual Basic

Банк рефератов / Программирование

Рубрики  Рубрики реферат банка

закрыть
Категория: Курсовая работа
Язык курсовой: Русский
Дата добавления:   
 
Скачать
Архив Zip, 266 kb, скачать бесплатно
Заказать
Узнать стоимость написания уникальной курсовой работы

Узнайте стоимость написания уникальной работы

- 51 - Оглавление Стр. Введение ……………………………………………………………………. 3 §1. Работа с файлами в Visual Basic ………………………………… … . 5 1.1 Типизированные файлы …………………………………… 6 1.2 Текстовые файлы …………………………………………… 1 2 1.3 Нетипизированные файлы ………………………………… 1 4 § 2. Файловые элементы управления Visual Basic ………………….. 1 6 2.1 DriveListBox .................................................................... . 1 7 2.2 DirListBox ………………………………………………… …. 17 2.3 File ListBox ……………………………………………… …… 19 § 3. Модель FSO …………………………………………………………… 2 4 3.1 FileSystemObject …………………………………………….. 2 5 3.2 Drive …………………………………………………………… 2 6 3.3 Folder/ File ……………………………………………………. 2 7 3.4 Text Stream …………………………………………………... 2 9 Заключение …………………………………………………………………. 3 2 Литература .......................................................................................... 3 3 Приложение 1 Обработка двух типизированных файлов ……………………………. 3 4 Приложение 2 Обработка двух текстовых файлов …………………………………… 34 Приложение 3 Обработка двух нетипизированных файлов ………………………… 3 7 Приложение 4 Приложение «Поиск» ……………………………….. 3 9 Приложение 5 Приложение «Свойство дисков» ………………….. 4 4 Приложение 6 Приложение «Свойство дисков» ………………….. 4 6 Приложение 7 Работа с объектами Folder , File и TextStream ……………………… ………………… … 4 9 Введение Среда разработки приложений Visual Basic, является мощным программным средством, позволяющим реализовать широкий спектр практических задач. Основное её достоинство состоит в оптимальном сочетании простоты использования, доступности и большого набора разнообразных возможностей, позволяющих охватить все основные направления деятельности разработчика прикладных программ . Одним из таких направлений является управление файлами. Управление файлами – это одна из интереснейших задач для программиста в любой системе программирования. При проектировании приложений достаточно часто возникает необходимость работать непосредственно с файлами. Это требуется, например, для добавления, удаления файлов и каталогов , записи данных в файлы или чтение из них как программно, так и в интерактивном режиме. Необходимость работы с файлами возникает также при создании программы инсталляции разработанного приложения на пользовательские компьютеры, чтение данных из файлов при инициализации приложения с использованием файлов настройки, организации вывода файлов на печать. Поэтому данная тема очень актуальна как для начинающих программистов , так и для профессионалов. Visual Basic предоставляет различные операторы, функции и методы для выполнения общих задач управления файлами. Основной целью данной курсовой работы является изучение операторов, методов и функций Visual Basic для работы с файлами, их основных свойств и событий , а также их применения на практике . Немаловажным являются вопросы использования элементов управления и системы файловых объектов Visual Basic . Основная задача, которая ставилась при выполнении данной курсовой работы, состоит в том, чтобы понять и изучить принципы и способы сохранения данных в среде программирования Visual Basic. Для выполнения данной задачи изучалась различная литература : Ананьев А.И., Фёдоров А.Ф. Самоучитель Visual Basic 6.0., Глушаков С.В. , Сурядный А.С. Программирование на V isual Basic 6.0. Все примеры приложений выполнены в среде программирования Visual Basic 6.0. Курсовая работа состоит из введения, трёх параграфов заключения и семи приложений . В первом параграфе приводятся стандартные операторы , функции и методы для работы с файлами различных типов. Во втором параграфе описываются элементы управления для работы с файлами и способы их использования . В третьем параграфе приводятся сведения по работе с системой файловых объектов, даётся информация о каждом из объектов с описанием больш ого количеств а методов. Приложения содержат программные коды приложений, приведённых в качестве примеров в данной курсовой работе. § 1. Работа с файлами Файлом называют область на жёстком диске или другом машинном носителе (например, на дискете), имеющая название и содержащая определённую информацию. Управление файлами ( file management ) – термин, используемый для описания действий, которые выполняются с файлами, сохранёнными на дисковых драйверах. Управление файлами включает в себя действия, такие как копирование файлов, удаление неиспользуемых файлов для освобождения области дисковой памяти, перемещение файлов с одного диска (или папки) на другие и создание или удаление каталогов диска. Управление файлами включает также такие виды обработки как просмотр списка файлов в папке для определения размера файла или даты и времени, когда этот файл был модифицирован последний раз. Существует несколько разновидностей файлов, которые определяют формат хранения данных, в особенности программного доступа к ним: · типизированные (двоичные файлы); · текстовые; · нетипизированные (файлы записей). Подобное деление файлов на типы достаточно условно и определяется особенностями организации файлов и доступа к данным в них. Например, текстовый файл можно открыть и в режиме двоичного доступа. Если этот файл имеет разделители, то для работы с ним придётся написать специальную процедуру обработки разделителей и разбора данных, так как двоичный доступ обеспечивает побайтовую запись \ чтение из файла. Очевидно, что это неудобно. Именно поэтому введено условное деление файлов на типы в зависимости от формата файла и доступа к данным. Соответственно сгруппированы и функции Visual Basic для записи \ чтения данных. Тип файла задаёт оптимальный набор функций записи и чтения данных из файла. Поэтому для работы с файлами для написания эффективной программы всегда необходимо иметь представление о типах файлов, с которыми будет работать программа, и об организации хранения данных в этих файлах. Это даёт возможность обеспечить оптимальный доступ и использовать соответствующие этому доступу функции. Рассмотрим работу с каждым из типов файлов, понимая, что такое разделение на типы достаточно условно, но позволяет обеспечить наиболее эффективную обработку данных для каждого типа . 1.1 . Типизированные файлы. Содержание типизированных файлов рассматривается как последовательность произвольных данных, которые представлены в двоичном виде. К достоинствам этого типа относится экономичность при хранении информации. С понятием типизированного файла тесно связано понятие указателя на текущий элемент файла. Другими словами, при работе с двоичным файлом в любой момент времени один из элементов файла является "активным", т.е. с ним могут производится какие-либо действия. Все операции с такими файлами осуществляются поэлементно , причём указатель может быть перемещён на заданное количество байт в любом направлении по содержанию файла. Необходимо отметить, что каждый элемент двоичного файла имеет свой порядковый номер, по которому к нему следует обращаться, причём нумерация начинается с единицы (см. рис. 1). В типизированных файлах может содержаться любая информация, однако всякий хранящийся элемент занимает определённое количество байт. Поэтому при его извлечении следует использовать переменные соответствующего типа, чтобы данные были корректно обработаны. Например, если извлекать число 257 (тип Integer ) в переменную типа Byte , диапазон значений которой [0; 255], то резу льтатом будет число 1 (см. рис. 2 ). Следует точно знать элементы каких типов и в каком порядке хранятся в двоичном файле, т.е. где расположен каждый элемент и сколько он занимает байт. Иначе, если указатель будет перемещён не на первый байт очередного элемента, то, по аналогии с предыдущим примером, обработка информации будет выполнена некорректно и приведёт к ошибочным результатам. Например, если первым элементом двоичного файла было записано 2 – байтовое число 257 и после этого во второй байт было занесено число 0, то в этом случае вместо числа 257 будет снова получено число 1, т.к. его 8-ой бит, принадлежащий второму байту, был обнулён (см. рис. 2 ). Обработка любого файла начинается с его открытия, а при окончании работы с файлом его необходимо закрыть. Во время работы приложения могут быть одновременно открыты несколько файлов. Поэтому, для того, чтобы не возникло путаницы при обращении к ним, с каждым из файлов в программе отождествляется специальная переменная, называемая файловым номером и определяющая его положение в списке открытых в данный момент файлов. Все операции по обработке файлов в программе выполняются посредством обращения к соответствующим файловым номерам. 1. Открытие файла. Любой файл создаётся или открывается при помощи оператора Open , синтаксис которого зависит от его разновидности. Для двоичных файлов общий вид данного оператора выглядит следующим образом: Open Путь For Binary As номер Здесь Open – служебное слово, используемое при открытии или создании файла; Путь – строка или переменная типа String , содержание которой является полный путь к требуемому файлу; For – ключевое слово для определения типа файла; Binary – служебное слово, используемое при создании или открытии двоичного файла; As – ключевое слово для определения переменной, содержащей файловый номер, посредством которого будет в дальнейшем осуществляется обработка файла; Номер – имя переменной, содержащей номер файла. В дополнении к сказанному следует заметить, что в качестве параметра Путь может быть указано только имя файла. В этом случае работа с файлами будет происходить в том каталоге, который по умолчанию является рабочим в среде Visual Basic . Для работы с каталогами и дискетами существует несколько функций и операторов (см. табл. 1). Таблица 1 . Функции и операторы дл я работы с каталогами и дисками Название Описание ChDir (путь) Оператор, устанавливающий новый рабочий каталог на текущем диске ChDrive (диск) Оператор для определения нового рабочего диска CurDir Функция, возвращающая путь к рабочему каталогу MkDir (путь) Оператор, создающий новый каталог RmDir (путь) Оператор для удаления существующего каталога, который может быть пуст 2. Закрытие файла . По окончании работы с любым файлом его необходимо закрыть при помощи оператора Close , синтаксис которого одинаков для всех типов файлов: Close номер 3. Удаление файла . В случае необходимости удаления файла с диска используется оператор Kill , формат которого аналогичен оператору Close . Не стоит забывать, что перед удалением файла его необходимо обязательно закрыть. 4. Определение файлового номера . Если в программе открыто несколько файлов, то для каждого из них определён свой файловый номер. Для того, чтобы определить значение первого свободного номера для очередного открытого файла, следует использовать функцию FreeFile , результат выполнения которой присваивается переменной-номеру: Переменная-номер = FreeFile 5. Переименование файла . В том случае, когда необходимо дать файлу новое имя, следует вначале его закрыть, а затем воспользоваться оператором Name , синтаксис которого следующий: Name Путь1 As Путь2, где Путь1 – строка или переменная типа String , которого содержит путь к исходному файлу; Путь 2 - строка или строковая переменная, содержимым которой является новый путь к файлу. Следует заметить, что если на диске уже существует файл с таким же полным названием, т.е. Путь2 , то при выполнении оператора Name возникает ошибка . 6. К опирование файла . П ри необходимости создания копии какого-либо файла применяется оператор FileCopy , перед выполнением которого копируемый файл должен быть закрыт. FileCopy Путь 1, Путь 2, где Путь 1 – путь к исходному файлу; Путь 2 – путь к новому файлу. При работе с открытым файлом возможно выполнение двух операций: занесение данных и считывание информации. 7. Запись в файл . Для того, чтобы записать в двоичный файл какую-либо информацию, следует воспользоваться оператором Put . Put номер, Позиция, Переменная Здесь Номер – переменная, которая содержит файловый номер; Позиция – порядковый номер байта, начиная с которого будет заноситься информация; Переменная – название переменной, содержимое которой записывается в файл. 8. Извлечение из файла . Для извлечения информации из файла применяется оператор Get , формат которого совпадает с оператором Put . Get Номер, Позиция, Переменная. При выполнении оператора Get в П еременную заносится информация из файла с указанным Номером, расположенная в нём по адресу Позиция . В дополнение к описанию операторов Put и Get следует заметить, что перед номером файла можно указывать знак #. Обработка данных в файлах любого типа осуществляется с учётом положения указателя. Для того, чтобы определить порядковый номер обрабатываемого элемента, следует применять функцию Seek . Seek ( Н омер). Результатом вызова функции Seek будет текущая позиция, которую занимает указатель в файле с заданным Номером. Следует отметить, что в названиях дисков, каталогов и файлов можно указывать как прописные, так и строчные буквы, хотя для Windows или языка Visual Basic в данном случае они означают одно и то же. Пример 1. Требуется на диске С: создать каталог TEXT и назначить его рабочим, затем в нём в свою очередь , создать файлы a 1. bin и a 2. bin . После этого необходимо заполнить файл a 1. bin значениями массива arrA , состоящего из 10 элементов типа Integer , которые четвёртые степени целых чисел от 1 до 10. Затем требуется извлечь содержимое файла a 1. bin в массив arrB , в котором после этого необходимо вычислить квадратные корни всех элементов. Последней операцией должно быть занесение содержимого массива arrB в файл a 2. bin . После выполнения всех действий оба файла необходимо закрыть и удалить. Затем назначить рабочим тот каталог C :\ Program Files , после чего удалить TEXT (см. рис. 3 ) . Решение данной задачи продемонстрировано в Приложении 1. 1.2 . Текстовые файлы Содержимым текстовых файлов является последовательность строк произвольной длинны, которые были созданы при помощи кого- либо текстового редактора. П ри этом в конце каждой строки находится особое сочетание символов, которое означает её окончание и состоит из "возврата каретки" (код в таблице символов = 13) и "перевода строки" (код 10). В дополнение к сказанному следует заметить, что любой файл, независимо от типа, всегда завершается специальным символом "конец строки" (код = 26). Хранение числовых данных в текстовых файлах не является эффективным, т.к. каждый элемент будет представлен в виде последовательности символов. Следовательно, если необходимо хранить в файле, например, восьмизначные числа (тип Long), которые занимают в памяти 4 байта, то для каждого из них в текстовом файле будет отведено 8 байт – по 1 байту на один символ. Операции с текстом должны выполняться построчно, при этом после обработки очередной строки указатель автоматически перемещается на следующую строку. Если в ходе выполнения программы необходимо проверить условие достижения конца файла, то следует применять функцию Eof (номер) , результатом которой является логическое значение ( True или False ). 1. Открытие файла . Для того, чтобы открыть текстовый файл, используется оператор Open следующего формата Open путь For назначение As номер Здесь, в отличие от формата, применяемого при работе с двоичными файлами, после служебного слова For в качестве назначения для открываемого файла используются: Input – файл открывается для считывания из него информации; Output – файл открывается для редактирования его содержания; Append – файл открывается для добавления в него новых строк. При использовании в операторе Op e n ключевого слова Input открываемый файл должен существовать, в противном случае возникает ошибка. С другой стороны, служебные слова Output и Append можно применять как для открытия, так и для создания текстовых файлов. При этом, если файл уже открыт, например, для извлечения данных, то для добавления строк его необходимо вначале закрыть ( Close ), а затем открыть с указанием соответствующего назначения. 2. Добавление строк . Для добавления новых строк в файл используется оператор Print, формат которого следующий: Print # номер , переменная При выполнении данного оператора в конец файла с указанным номером , открытого при помощи ключевого слова Append , будет добавлена новая строка из переменной. Для изменения содержимого имеющегося текстового файла его необходимо вначале открыть с помощью служебного слова Output , а затем воспользоваться описанным выше оператором Print . В этом случае изменения будут внесены в начало файла. 3. Извлечение информации из файла . В языке Visual Basic существуют несколько возможных вариантов извлечения информации из текстового файла. Оператор Line Input – используется для занесения в программу переменных строк из файла. Синтаксис этого оператора следующий: Line Input # номер, переменная Функция Input - применяется для извлечения в строковую переменную заданного количества символов из файла и имеет следующий формат: Input (число, номер) Результатом вызова данной функции является указанное число символов, скопированных из файла с определённым номером. Пример 2 . Требуется создать на диске С каталог Text, в котором необходимо создать те кстовый файл a.txt и занести в него информацию, состоящую из нескольких строк. После этого файл следует закрыть и затем открыть его в режиме чтения, одновременно с этим нужно создать новый файл b.txt и скопировать в него все строки из a.txt. Затем требуется добавить в b.txt ещё одну строку и определить размер обоих файлов. После всех выполненных действий необходимо закрыть оба файла, удалить их, а также удалить каталог Text (см. рис. 4) . Решение данной задачи продемонстрировано в Приложении 2. 1.3 . Нетипизированные файлы Информация в нетипизированных файлах хранится в виде набора одинаковых записей определённой структуры. Размер одной записи является значением суммы размеров всех её полей. 1. Открытие файла . Для того, чтобы открыть файл записей, необходимо воспользоваться оператором Open , аналогично рассмотренным ранее типам файлов. Однако его формат в этом случае несколько отличается от предыдущих, так как необходимо указывать размер записей, которые содержаться в файле: Open путь [For Random] As номер Len= размер В этом случае в операторе O pen указывать тип с использованием служебного слова [ For Random ] необязательно, так как данный режим используется по умолчанию. Размер используемых записей задаётся при помощи ключевого слова Len . При этом, если запись, добавляемая в файл будет больше указанного размера , то в результате выполнения операции возникает ошибка. 2. Занесение в файл и извлечение из файл а . Для занесения содержимого записи в файл используется оператор Put , как при работе с двоичными файлами: Put номер, позиция, переменная Отличие заключается в том, что под позицией понимается порядковый номер записи в нетипизированном файле. Аналогичным образом, для извлечения определённой записи из файла в переменную соответствующего типа применяется оператор Get : Get номер, позиция, переменная В этом операторе также, как и в операторе Put , позицией является порядковый номер записей в файле. Пример 3. Необходимо описать в программе следующую структуру для записей, которую следует назвать Ses s ion: Name As String*30 Number As Long Phisics As Byte Math As Byte Progr As Byte And Type После этого требуется создать на диске С: каталог Record, в котором необходимо создать файл записей a.dat и записать в него 2 одинаковые записи типа Session при помощи переменной Rec1. Затем нужно извлечь вторую запись из файла в переменную Rec2, после чего изменит в ней значения полей Name, Number, Progr. Отредактированную запись следует вновь поместить в файл a.dat с порядковым номером 2. После всех выполненных действий следует закрыть a.dat, удалить его, а также удалить каталог Record (см. рис. 5) . Решение данной задачи продемонстрировано в Приложении 3. § 2. Файловые элементы управления В языке V isual Basic у разработчика имеются широкие возможности работы с файловой системой, которые представляют изученный ранее диалоги C ommon Dialog , набор файловых операторов и функций, рассмотренных в п1, а также файловые элементы управления и модель объекта файловой системы. Все файловые элементы управления, как правило, используются в тесной взаимосвязи друг с другом с целью обеспечения максимальной гибкости и простоты разрабатываемого приложения. С их помощью разработчик получает доступ к системной информации, а также возможность задавать свойства данных элементов для того, чтобы определить, что именно будет отображаться на экране в случае тех или иных действий пользователя. Существует три файловых элемента управления: 1. DriveListBox ( С писок дисков ) 2. DirListBox ( С писок каталогов) 3. FileListBox ( С писок файлов) 2.1 . DriveListBox ( С писок дисков ) Данный элемент управления представляет собой ниспадающий список, в котором по умолчанию отображается диск, являющийся текущим. Если в процессе работы приложения пользователю нужно сменить обозначение диска, то сделать это можно двумя способами. Во-первых, при помощи мыши раскрыть список, щёлкнуть на стрелке в правой части объекта, с последующим выбором требуемого элемента. Во-вторых, задать нужное название, используя для этого стрелки управления курсором, когда объект имеет фокус. Имеется возможность задать программным образом диск, который будет использоваться по умолчанию, т.е. который будет являться текущим при запуске приложения. Для этого следует воспользоваться свойством D r ive (Устройство), присвоив ему соответствующее значение в процедуре загрузки главной формы Form_Load , например: Private Sub Form_Load() DrvSearch.drive=”C:” End Sub . Однако необходимо отметить , что выбор пользователем того или иного диска из имеющегося списка не приводит к автоматической установке в операционной системе нового текущего диска. Для выполнения этого действия необходимо воспользоваться оператором ChD rive , указав выбранный диск в качестве параметра, например: chDrive drvSearch.Drive 2.2 . DirListBox ( С писок каталогов) Этот элемент управления представляет собой древовидную структуру, отображающую каталоги того диска, который на данный момент является текущим. Первым элементом списка является текущий диск, под которым расположены находящиеся в нём каталоги, смещённые на одну позицию вправо (корневой каталог). Если пользователь открывает один из них при помощи двойного щелчка мыши, то в этом случае список изменяется таким образом, что в нём после названия текущего каталога отображаются только название его подкаталогов, смещённые ещё на одну позицию вправо (каталог первого уровня) и т.д . (см. рис. 6 ) . Иными словами, информация в данном случае выводится в том же виде, что и в левой части Проводника Windows. Слева от каждого элемента списка находится изображение папки. Если каталог открыт, то папка отображается раскрытой и наоборот. Открывается тот или иной каталог из списка также при помощи клавиши Enter , предварительно выделив его название, используя стрелки управления курсором. Однако в этом случае требуется дополнительная программная обработка данного действия. Так же, как и при работе с дисками, можно установить каталог, который будет являться текущим, используя свойство Path (Путь) для элемента D irList Box , например: Private Sub Form_Load() DirSearch.Path=”C:\ Мои документы ” End Sub Аналогично работе с дисками для установления в операционной системе нового текущего каталога изменение свойства Path будет недостаточно. С этой целью необходимо воспользоваться оператором ChDir , указав в качестве параметра требуемый каталог: ChDir dirSearch.Path Так как элемент управления DirListBox представляет собой список, то для него так же, как и для обычных списков, имеется возможность доступа к элементам и их обработки с помощью свойств List (Список), ListIndex (Текущий элемент списка), List Count (Количество элементов в списке). Однако имеется глобальное различие в системе, используемой для обработки значения свойства ListIndex. Для каталога, путь к которому совпадает со значением свойства Path элемента управления DirListBox, свойство ListIndex всегда равно -1, независимо от того, на каком уровне он расположен. Каталог, расположенный на один уровень выше текущего, имеет свойство ListIndex , равное -2, и т.д. Завершением этой последовательности является корневой каталог текущего диска. Соответственно, первый по порядку подкаталог текущего каталога, имеет свойство ListIndex , равное 0. Для второго по счёту каталога ListIndex=1 и т.д. В данном случае для изображения каталогов значения свойства ListIndex приведены в таблице 2 . Таблица 2. Значение свойства ListIndex для дерева каталогов Название каталога Значение ListIndex C:\ -3 Program Files -2 VB98 -1 Date&Time 0 First 1 Setup 2 Template 3 Wizards 4 Значением свойства ListCount для выбранного каталога является количество его подкаталогов. 2.3 . FileListBox ( С писок файлов) Данный элемент управления представляет собой список, отображающий файлы, которые располагаются в каталоге, указанном в свойстве Path . Как правило, этот объект используется вместе со списком каталогов ( DirListBox ), поэтому, когда пользователь в приложении выбирает нужный ему каталог, то в программе при этом должен выполняться следующий оператор присваивания: FileSearch.Path=dirSearch.path В данном случае для выбранного пользователем каталога будет автоматически отображаться список содержащихся в нём файлов. Для того, чтобы ограничить количество выводимых файлов каким-то именем, расширением и т.д. (т.е. шаблоном), необходимо воспользоваться свойством Pattern , которое позволяет задать один или несколько шаблонов. При этом следует заметить, что в последнем случае в качестве разделителя используется точка с запятой, например: FileSearch.Pattern=”*.txt; *.exe” Любому файлу в каталоге может быть задан один из следующих атрибутов (или свойств) или сразу несколько из них: · ReadOnly – только чтение · Archive - архивный · Normal - нормальный · Hidden - скрытый · System - системный При отображении файлов, имеющих в текущем каталоге, помимо ограничения в виде одного или шаблонов (свойство Pattern ), можно также фильтровать список выводимых файлов на предмет наличия какого-либо атрибута или их сочетания. Для этого следует присваивать в программе соответствующим свойствам элемента FileListBox значения True или False , в зависимости от того, какие именно атрибуты должны быть заданы для отображаемых файлов. Следует отметить тот факт, что свойства Archive , ReadOnly и Normal по умолчанию принимают значение True , в то время как свойства Hidden и System равны значению False . Другими словами, в списке будут по умолчанию отображаться все файлы, кроме скрытых и системных. Если свойство Normal элемента FileListBox имеет значение True , то в этом случае отображаются файлы без атрибутов, а также с атрибутами ReadOnly и\или Archive . С другой стороны, если свойство Normal имеет значение False , то в списке могут быть отображены файлы с любыми атрибутами , в том числе Readonly и Archive , если присвоить соответствующим свойствам значения True, например: With FileSearch Normal=False ReadOnly=True Archive=True End with Однако таким образом нельзя устанавливать атрибуты для выбранных файлов из списка. С этой целью следует использовать процедуру SetAttr , которая имеет следующий формат: SetAttr ( путь, атрибут ) Здесь в качестве параметра Путь используется путь к требуемому файлу, а значение параметра Атрибут выбирается в соответствии с таблицей 3 . Но при этом для последнего могут быть использованы только следующие константы (или их числовые значения): VbNormal, VbReadO n ly, VbHidden, VbSystem, VbArchive. Аналогичным образом можно выяснить атрибуты выбранного файла. Для этого используется функция GetAttr , результатом которой является числовое значение, соответствующее определённому атрибуту или их сочетанию. Формат команды в этом случае имеет следующий вид: Переменная = GetAttr (путь) Параметр Путь , используемый как в процедуре SetAttr , так и в процедуре GetAttr , представляет собой путь к каталогу, в котором находится указанный файл, в сочетании с его названием. Например путь к файлу a.txt расположенному в каталоге Text диска С, будет выглядеть следующим образом: C:\ text \ a . txt . При этом П еременной будет присвоено значение в соответствии с таблицей 3 . Таблица 3 . Описание констант при работе с атрибутами. Константа Значение Описание VbNormal 0 Нормальный VbReadOlly 1 Только чтение VbHidden 2 Скрытый VbSystem 4 Системный VbVolume 8 Метка тома VbDirectory 16 Каталог VbArchive 32 Архивный VbAlias 64 Алиас (псевдоним) Д ля того, чтобы получить в программе доступ к оп ре д еленному файлу, необходимо воспользоваться свойством Fil e N a m e элемента Fi le Li st B ox, установив перед этим выбран ный пользователем каталог в качестве текущего на уровне систе мы (оператор C hDir ). Д ругая возможность заключается в совме стном использовании значений: следующих свойств: P at h и Fil e N a m e . Например, требуется установить атрибуты R ea d Only и H i dd e n файлу a.txt, расположенному в каталоге С:\ТЕХТ. Ниже приведены два примера программного кода для выпол нения данной задачи, используя обе описанные возможности. При этом предполагается, что пользователь выбрал в списке ка талогов название TEXT , а в списке файлов - название a.txt 1. Установка текущего каталога. C hDir d irSearch.Path strPath = fil.Search.Filename strAttr = vbReadOnly + v bHidden SetAttr strPath, strAttr 2. Использование свойств P at h и Fil e n a m e . strPath = filSearch.Path + "\" + _ filSearch.FileName strAttr = vbReadOnly + v bHidden SetAttr strPath , strAttr При работе с файловым списком имеетс я возможность выбора не только одного, но и нескольких файлов. Для этого использует ся свойство Mul t i Se l ect, которое может принимать следую щие значения: 1- N o n e (мо ж но выделить только один файл); 2 - S imp le (при каждом щелчке в группу добавляется вы деленный файл или удаляется из нее, если он ужё был в группе); 3 - E xte nd ed (выделение файлов осуществляется так ж е, как и в программе Проводник - с использованием клавиш S hift и Ctr l ). Если в списке выделены несколько файлов, то доступ к их на званиям можно получить, проверяя значение свойства Selected для каждого элемента списка, аналогично работе с Li st B ox и Со mb оВох . Пример 4 . Для иллюстрации возможностей работы с фай ловыми элементами управления будет рассмотрено приложение "Поиск", которое отображает файлы текущего каталога в зависи мости от указанного пользователем шаблона, а также от задан ных атрибутов (см. рис. 7 ) . Решение данной задачи продемонстрировано в Приложении 4. § 3. Модель FSO Для работы c дисками, каталогами (папками) и файлами в Visual Basic помимо стандартного набора операторов, процедур и функций, имеется также новая модель, которая носит название FSO ( File System Object – объект файловой системы). Данная модель даёт возможность разработчику использовать синтаксис, применяемый при работе с объектами, и содержит множество методов, свойств и событий в дополнение к известным операторам. Основой модели FSO являются объекты, описание котор о й приведено в таблице 4 . Таблица 4 . Описание объектов, используемых в модели FSO. Название Описание FileSystemObject Позволяет работать с любыми элементами файловой системы: дисками, папками, файлами. Drive Даёт возможность получения информации о дисках. Это касается не только чистого диска, но также дисководов, устройств чтения компакт дисков или виртуальных дисков. Folder Позволяет выполнять любые действия с папками: копировать, перемещать, удалять и т.д. File Даёт возможность обрабатывать файлы: перемещать, копировать, удалять и т.д. Text Stream Позволяет обрабатывать текстовые файлы, т.е. считывать и заносить информацию. Для того чтобы получить возможность обработки файловой системы с помощью модели FSO, необходимо вначале проверить, установлена ли в среде разработки её поддержка. Для проверки (или установки) библиотеки Scripting, содержащей модель FSO, необходимо выполнить следующую последовательность действий: 1. Открыть меню Project; 2. Выполнить команду Referernces; 3. В появившемся диалоговом окне следует установить ссылку Microsoft Scripting Runtime и нажать Ok. Новые методы системы FSO расширяют и дополняют традиционные возможности Visual Basic при работе с файлами. Использование системы FSO состоит из трёх этапов: 1. Создание объекта системы FSO. 2. Настройка требуемых методов объекта FSO. 3. Настройка доступных свойств объекта FSO. Создать объект системы FSO можно объявлением переменной типа FSO: Dim NewFSO As New FileSystemObject Для создания объекта можно также использовать следующий оператор: Set NewFSO=CreateObject (“Scripting.FileSystemObject”) В данном случае Scripting . FileSystemObject – это тре буемый объект с указанием библиотеки После этого можно работать со свойствами и методами объекта NewFSO как со всеми другими объектами приложения. Далее будут рассмотрены все объекты модели FSO с описанием их свойств и методов. Для того, чтобы получить более подробное описание, можно воспользоваться окном Object Bro w ser. 3.1. Объект FileSystemObject Данный объект позволяет обрабатывать любой элемент файловой системы, будь то каталог, файл или диск, поэтому многие действия из тех, которые будут описаны ниже, могут быть также выполнены при помощи методов объектов модели FSO . При использовании данного объекта разработчик может оперировать одним из методов, приведённых в таблице 5 . Таблица 5 . Перечень основных методов объекта FileSystemObject Название Описание CopyFile Копирование файла CopyFolder Копирование папки CreateFolder Создание папки CreateTextFile Создание текстового файла DeleteFile Удаление файла DeleteFolder Удаление папки DriveExists Проверка существования диска FileExists Проверка существования файла FolderExists Проверка существования папки GetDrive Получение доступа к диску GetDriveName Получение имени диска GetFile Получение доступа к файлу GetFileName Получение имени файла GetFolder Получение доступа к папке MoveFile Перемещение файла MoveFolder Перемещение папки OpenTextFile Открытие текстового файла 3.2. Объект Drive Этот объект используется для работы с дисками. Свойства, используемые в этом случае, приведены в таблице 6 . Таблица 6 . Перечень свойств объекта Drive Название Описание AvailableSpase Объём доступного места на диске в байтах DriveLetter Обозначение диска DriveType Тип диска FileSystem Тип файловой системы диска FreeSpace Объём свободного места на диске в байтах IsReady Доступность диска Path Путь к диску RootFolder Корневой каталог диска SerialNumber Серийный номер диска ShareName Разделяемое имя диска TotalSize Полный размер диска в байтах VolumeName Метка тома или диска Пример 5 . В качестве иллюстрации возможности работы с дисками при помощи объекта Drive будет рассмотрено приложение «Свойства дисков», отображающее на форме некоторые свойства выбран ного диска (см. рис. 8 ). Решение данной задачи продемонстрировано в Приложении 5. 3.3. Объекты Folder и File Объект Folder применяется при обработке каталогов. Используемые с этой целью свойства и методы приведены в таблицах 7 и 8 . Объект File используется для обработки файлов, причём практически все свойства и методы в этом случае совпадают для объекта Folder, за исключением тех, которые не имеет смысла использовать при обработке файлов, например , свойство SubFolders и IsRootFolder . Таблица 7 . Свойство объектов Folder \ File Название Описание Attributes Атрибуты папки \файла DateCreated Дата создания папки \файла DateLastAccessed Дата последнего использования папки \файла Drive Получение диска, содержащего папку \файл Folder.Files Набор файлов папки Folder.IsRootFolder True , если каталог является корневым Name Имя папки \файла ParentFolder Имя родительской папки Path Путь к папке \файлу Shortname Краткое имя папки \файла Shortpath Краткий путь к папке \файлу Size Полный размер папки \файла Folder.SubFolders Набор подкаталогов папки Type Тип папки \файла Таблица 8 . Перечень методов объектов Folder/File Название Описание Copy Копирование папки \файла Folder.CreateTextFile Создание в папке текстового файла Delete Удаление папки \файла Move Переименование папки \файла File.OpenAsTextStream Открытие файла как текстового потока Пример 6 . Для того чтобы показать возможности обработ ки каталогов и файлов при помощи объектов Folder и File , будет рассмотрено приложение "Свойства папок и файлов", которое отображает на форме свойства выбранного каталога и файла, (см. рис. 9 ). Решение данн ой задачи продемонстрировано в П риложении 6. 3.4 . Объект TextStream Данный объект применяется для работы с текстовыми файла ми. Используемые в этом случае свойства и методы приведены в табл. 9 и 1 0 . Следует заметить, что последовательный тек стовьай файл также носит название "текстового потока". Таблица 9 . Перечень свойств объекта Text S tream Название Описание AtEndOfLi n e Является ли текущая позиция концом строки AtEndOf Stream Я вляется ли текущая позиция концом текстового потока Соl umn Номер позиции в текущей строке Line Номер текущей строки Табпица 1 0 . Перечень методов объекта TextStream Название Описание Close Закрывает текстовый поток Read Читает из файла в строковую пере менную указанное количество символов Read all Читает в строковую переменную весь текстовый файл ReadLine Читает из файла в строковую пере менную указанную строку Skip Пропускает указанное количество символов в текстовом файле SkipLine Пропускает текущую строку Write Записывает в файл содержимое стро ковой переменной WriteBlankLi nes Записывает в файл указанное количе ство пустых строк WriteLi ne Записывает в файл содержимое стро ковой переменной, а также символ конца строки Пример 7 . Для и л люстрации работы с текстовым файлом при помощи объекта TextStre am будет рассмотрена следующая задача. Пусть в корневом каталоге требуетея создать каталоги Dir1 и Diг2. После этого непбходимо в каталогах Dir1 создать тек стовый файл a.txt и записать в нег o информацию произвольного содержания. Затем нужно переместить данный файл в каталог Dir2, после этого скопировать его снова в каталог Dir1. Завер шающим действием должно быть удаление созданных каталогов (см. рис. 1 0 ) . Решение данной задачи продемонстрировано в Приложении 7. Заключение В д анной курсовой работе были рассмотрены стандартные операторы, функции и методы Visual Basic для работы с файлами различных типов, файловые элементы управления и объекты файловой системы, а также показаны примеры их применения на практике. Тема работы с файлами является очень актуальной, так как управление файлами находит своё применение в приложениях различных типов и имеет большое практическое значение. Не одна задача современного программирования не обходится без решения вопроса сохранения данных. Данная работа может быть использова на студентами для изучения операторов, функция и методов Visual Basic, которые позволяют выполнять различные задачи управления файлами. Литература 1 . Microsoft Visual Basic 6.0 для профессионалов. Шаг за шагом. 2 . Азбука Технологий Программирования - сервер о технологиях программирования Visual Basic , VB , VBScript , ASP , Базы Данных, СУБД, VBA , C ++, Утилиты, Справочники . - http :// www . azbukavb . narod . ru / vb . html 3. Ананьев А.И., Фёдоров А.Ф. Самоучитель Visual Basic 6.0. – СПб.: БХВ - Петербург , 2002. – 624 с.: ил. 4. Глушаков С.В. , Сурядный А.С. Программирование на V isual Basic 6.0. – М.: «Фолио» , 2002. – 497с. 5. Кузьменко В . Г . Visual Basic 6. Самоучитель . Второе издание. - М Бином , 2003 . – 432с.: ил . 6 . Лукин С . Н . Visual Basic 6.0 : Самоучитель для начинающих 7 . Симонович С.В. , Евсеев Г.А. Занимательное программирование: Visual Basic. – М.: АСТ-Пресс Книга: Информком-Пресс, 2001. – 320с. Приложение 1 Обработка двух типизированных файлов Формулировка задачи . Требуется на диске С: создать каталог TEXT и назначить его рабочим, затем в нём в свою очередь, создать файлы a 1. bin и a 2. bin . После этого необходимо заполнить файл a 1. bin значениями массива arrA , состоящего из 10 элементов типа Integer , которые четвёртые степени целых чисел от 1 до 10. Затем требуется извлечь содержимое файла a 1. bin в массив arrB , в котором после этого необходимо вычислить квадратные корни всех элементов. Последней операцией должно быть занесение содержимого массива arrB в файл a 2. bin (см. рис. 11) . После выполнения всех действий оба файла необходимо закрыть и удалить. Затем назначить рабочим каталог C :\ Program Files , после чего удалить TEXT . Программный код . Обработка двух типизированных файлов Option Explicit Dim FPath1 As String Dim FPath2 As String Dim DPath As String Private Sub Form_Load() Dim FNum1 As Integer Dim Fnum2 As Integer Dim arrA(1 To 10) As Integer Dim arrB(1 To 10) As Integer Dim i As Byte ' Создание каталога C :\ TEXT DPath = " C :\ text " MkDir DPath 'Назначение каталога C :\ TEXT рабочим ChDir DPath FPath1 = "a1.bin" FPath 2 = " a 2. bin " ' Определение свободного файлового номера FNum1 = FreeFile 'Открытие файла a1.bin Open FPath1 For Binary As FNum1 'Определение свободного файлового номера Fnum 2 = FreeFile 'Открытие файла a2.bin Open FPath2 For Binary As Fnum2 For i = 1 To 10 'Заполнение массива arr A arrA(i) = i ^ 4 'Заполнение файла a1.bin Put FNum1, i * 2 - 1, arrA(i) Next For i = 1 To 10 'Извлечение из файла a1.bin в массив arrB Get FNum1, i * 2 - 1, arrB(i) 'Вычисление квадратного корня arrB ( i ) = Sqr ( arrB ( i )) 'Заполнение файла a2.bin Put Fnum2, i * 2 - 1, arrB(i) Next 'Закрытие файлов Close FNum1 Close Fnum2 Dir1.Path = "C:\text" End Sub Private Sub Command1_Click() 'Удаление файлов с диска Kill (FPath1) Kill ( FPath 2) 'Назначение рабочего каталога ChDir (" C :\") 'Удаление пустого каталога TEXT RmDir (" C :\ TEXT ") End Sub Private Sub Dir1_Change() File1.Path = Dir1.Path End Sub Необходимо обратить внимание на использованную в данном примере адресацию, т.е. вычисление выражений для того, чтобы получить порядковый номер байта для очередного элемента. В качестве использовано выражение i * 2 – 1, в котором переменная i принимала значения от 1 до 10. Таким образом, последовательность формируемых адресов была следующей: 1, 3, 5, . . . , 19. Эта адресация была использована в виду того, что каждая переменная типа Integer занимает в памяти 2 б айта, а нумерация в двоичном файле начинается с 1 Приложение 2 Обработка двух текстовых файлов Формулировка задачи . Требуется создать на диске С каталог Text, в котором необходимо создать текстовый файл a.txt и занести в него информацию, состоящую из нескольких строк. После этого файл следует закрыть и затем открыть его в режиме чтения, одновременно с этим нужно создать новый файл b.txt и скопировать в него все строки из a.txt. Затем требуется добавить в b.txt ещё одну строку и определить размер обоих файлов. После всех выполненных действий необходимо закрыть оба файла, удалить их, а также удалить каталог Text (см. рис. 12 ) . Программный код . Обработка двух текстовых файлов Option Explicit Dim FPath1 As String Dim FPath2 As String Private Sub Form_Load() Dim FNum1 As Integer Dim FNum2 As Integer Dim i1 As Integer Dim i2 As Integer Dim strA As String MkDir ("C:\text") ChDir ("C:\text") FPath1 = "a.txt" FPath2 = "b.txt" FNum1 = FreeFile ' Редактирование файла a.txt Open FPath1 For Output As FNum1 strA = " Создан текстовый файл ," Print #FNum1, strA strA = "который состоит" Print #FNum1, strA strA = "из нескольких строк" Print #FNum1, strA Close FNum1 FNum1 = FreeFile Open FPath1 For Input As FNum1 FNum2 = FreeFile Open FPath2 For Append As FNum2 'Копирование a.txt и b.txt Do Until EOF(FNum1) Line Input #FNum1, strA Print #FNum2, strA Loop 'Добавление новой строки в b.txt strA = "Добавлена новая строка" Print #FNum2, strA 'Определение размеров a.txt и b.txt i1 = LOF(FNum1) 'Результат: 63 i2 = LOF(FNum2) ' Результат : 88 Print #FNum2, Str(i1) Print #FNum2, Str(i2) Close FNum1 Close FNum2 Dir1.Path = "C:\text" End Sub Private Sub Command1_Click() Kill (FPath1) Kill (FPath2) ChDir ("C:\") RmDir ("C:\text") End Sub Private Sub Dir1_Change() File1.Path = Dir1.Path End Sub Приложение 3 Обработка двух нетипизированных файлов Формулировка задачи . Необходимо описать в программе следующую структуру для записей, которую следует назвать Ses s ion: Name As String*30 Number As Long Phisics As Byte Math As Byte Progr As Byte And Type После этого требуется создать на диске С: каталог Record, в котором необходимо создать файл записей a.dat и записать в него 2 одинаковые записи типа Session при помощи переменной Rec1. Затем нужно извлечь вторую запись из файла в переменную Rec2, после чего изменит в ней значения полей Name, Number, Progr. Отредактированную запись следует вновь поместить в файл a.dat с порядковым номером 2. После всех выполненных действий следует закрыть a.dat, удалить его, а также удалить каталог Record (см. рис. 13 ) . Программный код . Обработка двух нетипизированных файлов ' Объявление нового типа Private Type Session Name As String * 30 Number As Long Phisics As Byte Math As Byte Progr As Byte End Type Option Explicit Dim FPath As String Private Sub Form_Load() Dim rec1 As Session Dim rec2 As Session Dim FNum As Integer Dim NRec As Integer 'Заполнение переменной rec1 With rec1 .Name = "Иванов Иван Иванович" .Number = 123456 .Phisics = 4 .Math = 5 .Progr = 3 End With MkDir ("C:\Record") ChDir ("C:\Record") FPath = "a.dat" FNum = FreeFile 'Определение размера перменнной rec1 NRec = LenB(rec1) 'Открытие файла a.dat Open FPath For Random As FNum Len = NRec 'Запись двух одинаковых записей Put FNum, 1, rec1 Put FNum, 2, rec1 'Извлечение второй записи в переменную rec2 Get FNum, 2, rec2 ' Редактирование rec2 With rec2 .Name = "Петров Пётр Петрович" .Number = 111111 .Progr = 5 End With 'Занесение изменённой записи в файл Put FNum, 2, rec2 Close FNum Dir1.Path = "C:\Record" End Sub Private Sub Command1_Click() Kill (FPath) ChDir ("C:\Program Files") RmDir ("C:\Record") End Sub Private Sub Dir1_Change() File1.Path = Dir1.Path End Sub Приложение 4 Приложение « Поиск » Формулировка задачи . Для иллюстрации возможностей работы с фай ловыми элементами управления будет рассмотрено приложение "Поиск", которое отображает файлы текущего каталога в зависи мости от указанного пользователем шаблона, а также от задан ных атрибутов (см. рис. 1 4 ) . Решение. Элементы управления, которые будут использованы в данной программе, а также значение их основных свойств при ведены в таблице 11 . Таблица 11 . Элементы управления в приложении "Поиск" и их свойства Элемент Свойство Значение Список дисков (Name) D r ive1 Список каталогов (Name) D ir 1 Список файлов (Name) F i l e1 P attern *.* Текстовое поле для шаблона ( N ame) Text1 Text *.* Метка отображе- ния количества файлов ( N a m e) lblValue Кнопка для поиска (Name) Command 1 Caption Поиск Кнопка для выхода ( N ame) Command2 Ca p t i o n Выход Программный к од приложения " Поиск " Option Explicit Private Sub Command2_Click() End End Sub Private Sub Command1_Click() With File1 'Шаблон (ы) .Pattern = Text1.Text ' Атрибут (ы) .ReadOnly = (Check1.Value = vbChecked) .Archive = (Check2.Value = vbChecked) .Normal = (Check3.Value = vbChecked) .Hidden = (Check4.Value = vbChecked) .System = (Check5.Value = vbChecked) 'Количество отображаемых файлов lblvalue.Caption = .ListCount End With End Sub Private Sub Dir1_Change() 'Изменение текущего каталога File1.Path = Dir1.Path ChDir Dir1.Path lblvalue.Caption = File1.ListCount End Sub Private Sub Dir1_KeyPress(KeyAscii As Integer) 'Нажата -ли клавиша Enter для выбора каталога If KeyAscii = 13 Then With Dir1 If .Path <> .List(.ListIndex) Then .Path = .List(.ListIndex) End If End With End If End Sub Private Sub Drive1_change() ' Изменение текущего диска Dim vntMessage On Error GoTo ErrorLabel Dir1.Path = Drive1.Drive ChDrive Drive1.Drive Exit Sub ' Если устройство не готово, то выводится сообщение ErrorLabel: vntMessage = "Диск " + UCase(Drive1.Drive) + Chr(13) + Chr(10) vntMessage = vntMessage + "отсутствует." vntMessage = MsgBox(vntMessage, vbOKOnly + vbExclamation, "Ошибка") Drive1.Drive = Dir1.Path End Sub Private Sub Form _ Load () ' Установка текущего каталога Drive 1. Drive = " C :\" ' Количеатво отображаемых файлов lblvalue.Caption = File1.ListCount End Sub Приложение 5 Приложение «Свойство дисков» Формулировка задачи . В качестве иллюстрации возможности работы с дисками при помощи объекта Drive будет рассмотрено приложение «Свойства дисков», отображающее на форме некоторые свойства выбран ного диска (см. рис. 1 5 ). Решение . Для реализации данного приложения будут использованы следующие объекты: DrvList – для отображения списка всех дисков; Lb l Info – для отображения свойств выбранного диска. На стадии разработки свойство Caption элемента LblInfo будет равно пустой строке, а в дальнейшем будет заполняться в зависимости от того, какой диск был выбран пользователем. Код приложения «Свойства дисков» Private DrvName Option Explicit Private Sub drvList_Change() Dim vntMessage On Error GoTo ErrorLabel 'Отображение свойства выбранного диска DriveInfo DrvName = drvlist . Drive Exit Sub ' Сообщение об отсутствии диска ErrorLabel: vntMessage = "Диск" + " " + UCase(drvlist.Drive) + " " + Chr(13) + Chr(10) vntMessage = vntMessage + "отсутсвует." vntMessage = MsgBox(vntMessage, vbOKOnly + " " + vbExclamation, "Ошибка") drvlist.Drive = DrvName End Sub Private Sub Form_Load() ' Установка первого отображаемого диска drvlist . Drive = " c :\" DrvName = drvlist.Drive Call DriveInfo End Sub Private Sub DriveInfo() ' Объявление переменной типа объект FileSystemObject Dim fso As New FileSystemObject 'Объявление переменной для работы с дисками Dim drv As Drive Dim strInfo, drvType ' Получение доступа к выбранному диску Set drv = fso.GetDrive(fso.GetDriveName(drvlist.Drive)) ' Работа со свойствами объекта класса Drive With drv strInfo = "Метка тома:" & .VolumeName & vbCrLf & vbCrLf strInfo = strInfo & "Серийный номер:" & .SerialNumber & vbCrLf & vbCrLf drvType = . DriveType ' Определение типа диска Select Case drvType Case 0: drvType = "неизвестный" Case 1: drvType = "сменный" Case 2: drvType = "жёсткий" Case 3: drvType = "сетевой" Case 4: drvType = "CD-Rom" Case 5: drvType = "Ram" End Select strInfo = strInfo & " Тип:" & drvType _ & vbCrLf & vbCrLf strInfo = strInfo & "Файловая система:" _ & .FileSystem & vbCrLf & vbCrLf strInfo = strInfo & "Свободно:" _ & .FreeSpace & "байт" & vbCrLf & vbCrLf strInfo = strInfo & "Ёмкость: " _ & . TotalSize & "байт" End With ' Отображение свойств выбранного диска lblinfo.Caption = strInfo End Sub Приложение 6 Приложение «Свойства папок и файлов» Формулировка задачи . Для того чтобы показать возможности обработ ки каталогов и файлов при помощи объектов Folder и File , будет рассмотрено приложение "Свойства папок и файлов", которое отображает на форме свойства выбранного каталога и файла (см. рис. 16 ). Решен и е . Для реализации данной задачи будут использованы следующие объекты: D ir 1 - для отображения списка каталогов; F il e 1 - для отображения списка файлов, находящихся в выбранном каталоге; lbl F ile - значения свойств выбранного файла; lbl Folder - значения свойств выбранной папки. Программный код . Приложение "Свойства папок и файлов" Option Explicit Private fldInfo Private FiIInfo Private Sub Dir1_click() ' Отображение свойств выбранной папки Call DirInfo File1.Path = Dir1.Path ChDir Dir1.Path End Sub Private Sub DirInfo() Dim fso As New FileSystemObject Dim fld As Folder On Error GoTo ErrorLabel Set fld = fso.GetFolder(Dir1.Path) With fld If Not (.IsRootFolder) Then fldInfo = "Название: " & .Name _ & vbCrLf & vbCrLf fldInfo = fldInfo & "Тип: " & .Type _ & vbCrLf & vbCrLf fldInfo = fldInfo & "Путь: " _ & .Path & vbCrLf & vbCrLf fldInfo = fldInfo & "Размер: " _ & .Size & " байт" _ & vbCrLf & vbCrLf fldInfo = fldInfo & "Содержит:" _ & vbCrLf fldInfo = fldInfo & " файпов: " _ & .Files.Count & vbCrLf fldInfo = fldInfo & " папок: " _ & .SubFolders.Count & vbCrLf _ & vbCrLf fldInfo = fldInfo & "Изненен: " _ & .DateLastModified & vbCrLf _ & vbCrLf lblfolder.Caption = fldInfo Else lblfolder.Caption = "" End If lblfile.Caption = "" End With Exit Sub ErrorLabel : MsgBox "Некоторые свойства недоступны" End Sub Private Sub FileInfo() Dim fso As New FileSystemObject Dim fil As File Set fil = fso.GetFile(File1.FileName) With fil FiIInfo = "Название: " & .Name _ & vbCrLf & vbCrLf FiIInfo = FiIInfo & "Тип: " & .Type _ & vbCrLf & vbCrLf FiIInfo = FiIInfo & "Путь: " & .Path _ & vbCrLf & vbCrLf FiIInfo = FiIInfo & "Размер: " & .Size _ & " байт" & vbCrLf & vbCrLf lblfile.Caption = FiIInfo End With End Sub Private Sub File1_Click() ' Отображенне свойств :выбранного файла Call FileInfo End Sub Private Sub Form_Load() Dir1.Path = "C:\" End Sub Приложение 7 Работа с объектами Folder , File и TextStream в приложении, реализующем действия с файлами и папками Формулировка задачи . Для и л люстрации работы с текстовым файлом при помощи объекта TextStre am будет рассмотрена следующая задача. Пусть в корневом каталоге требуетея создать каталоги Dir1 и Diг2. После этого непбходимо в каталогах Dir1 создать тек стовый файл a.txt и записать в нег o информацию произвольного содержания. Затем нужно переместить данный файл в каталог Dir2, после этого скопировать его снова в каталог Dir1. Завер шающим действием должно быть удаление созданных каталогов (см. рис. 17 ) . Решение . В программе понадобятся сле дующие переменные: fso As New FileSystemObject - объект модели FSO; fld 1, fld 2 As Folder - переменные для работы с пап ками; fil 1, f il 2 As File - переменные для работы с файлами; txt As TextStream - переменная для обработки тексто вого потока; st r Text As String - строковая переменная для передачи информации из одного текстового файла в другой. Программный код . Работа с объектами Folder , File и TextStream в приложении, реализующем действия с файлами и папками Option Explicit Dim fld1 As Folder Dim fld2 As Folder Private Sub Form_Load() Dim fso As New FileSystemObject Dim fil1 As File Dim fil2 As File Dim txt As TextStream Dim strText As String ' Создание каталогов с:\ dir 1 и с:\ dir 2 Set fld1 = fso.CreateFolder("C:\dir1") Set fld2 = fso.CreateFolder("C:\dir2") 'Создание файлов 'с:\ dir 1\ a . txt и с:\ dir 2\ b . txt fso.CreateTextFile ("C:\dir1\a.txt") fso.CreateTextFile ("C:\dir2\b.txt") ' Получение доступа к созданным файлам Set fil1 = fso.GetFile("C:\dir1\a.txt") Set fil2 = fso.GetFile("C:\dir2\b.txt") 'Открытие текстового потока для записи в файл c :\ dir 1\ a . txt Set txt = fil1.OpenAsTextStream(ForWriting) txt . Write ("Информация произвольного типа") txt . Close 'Открытие текстового потока для чтения из файла с:\ dir 1\ a . txt Set txt = fil1.OpenAsTextStream(ForReading) strText = txt . ReadAll txt . Close 'Открытие текстового потока для записи в файл с:\ dir 2\ b . txt Set txt = fil2.OpenAsTextStream(ForWriting) txt.Write (strText) txt.Close 'Копирование: с:\dir1\a.txt -> c:ldir2\a1.txt fil1.Copy (fld2.Path & "\" & "а1.txt") 'Перемещение: с:\ dir 2\ b . txt -> с:\ dir 2\ b 1. txt fil2.Move (fld1.Path & "\" & "b1.txt") End Sub Private Sub Command1_Click() 'Удаление каталогов fld 1. Delete fld 2. Delete End Sub Private Sub Dir1_Change() File1.Path = Dir1.Path End Sub
1Архитектура и строительство
2Астрономия, авиация, космонавтика
 
3Безопасность жизнедеятельности
4Биология
 
5Военная кафедра, гражданская оборона
 
6География, экономическая география
7Геология и геодезия
8Государственное регулирование и налоги
 
9Естествознание
 
10Журналистика
 
11Законодательство и право
12Адвокатура
13Административное право
14Арбитражное процессуальное право
15Банковское право
16Государство и право
17Гражданское право и процесс
18Жилищное право
19Законодательство зарубежных стран
20Земельное право
21Конституционное право
22Конституционное право зарубежных стран
23Международное право
24Муниципальное право
25Налоговое право
26Римское право
27Семейное право
28Таможенное право
29Трудовое право
30Уголовное право и процесс
31Финансовое право
32Хозяйственное право
33Экологическое право
34Юриспруденция
 
35Иностранные языки
36Информатика, информационные технологии
37Базы данных
38Компьютерные сети
39Программирование
40Искусство и культура
41Краеведение
42Культурология
43Музыка
44История
45Биографии
46Историческая личность
47Литература
 
48Маркетинг и реклама
49Математика
50Медицина и здоровье
51Менеджмент
52Антикризисное управление
53Делопроизводство и документооборот
54Логистика
 
55Педагогика
56Политология
57Правоохранительные органы
58Криминалистика и криминология
59Прочее
60Психология
61Юридическая психология
 
62Радиоэлектроника
63Религия
 
64Сельское хозяйство и землепользование
65Социология
66Страхование
 
67Технологии
68Материаловедение
69Машиностроение
70Металлургия
71Транспорт
72Туризм
 
73Физика
74Физкультура и спорт
75Философия
 
76Химия
 
77Экология, охрана природы
78Экономика и финансы
79Анализ хозяйственной деятельности
80Банковское дело и кредитование
81Биржевое дело
82Бухгалтерский учет и аудит
83История экономических учений
84Международные отношения
85Предпринимательство, бизнес, микроэкономика
86Финансы
87Ценные бумаги и фондовый рынок
88Экономика предприятия
89Экономико-математическое моделирование
90Экономическая теория

 Анекдоты - это почти как рефераты, только короткие и смешные Следующий
Скромные, вежливые и внимательные к другим люди живут незаметно и пользуются пистолетом с глушителем.
Anekdot.ru

Узнайте стоимость курсовой, диплома, реферата на заказ.

Обратите внимание, курсовая по программированию "Работа с файлами в Visual Basic", также как и все другие рефераты, курсовые, дипломные и другие работы вы можете скачать бесплатно.

Смотрите также:


Банк рефератов - РефератБанк.ру
© РефератБанк, 2002 - 2016
Рейтинг@Mail.ru