Поможем написать учебную работу
Если у вас возникли сложности с курсовой, контрольной, дипломной, рефератом, отчетом по практике, научно-исследовательской и любой другой работой - мы готовы помочь.
Если у вас возникли сложности с курсовой, контрольной, дипломной, рефератом, отчетом по практике, научно-исследовательской и любой другой работой - мы готовы помочь.
Цель лабораторной работы состоит в изучении средств VB и средств VS для работы с текстовыми файлами.
4.10.1. Вопросы, подлежащие изучению
Понятие файла. Текстовые файлы.
Основные средства VB для работы с текстовыми файлами.
Средства обработчика ошибок времени исполнения.
Классы и объекты VS для работы с текстовыми файлами.
Использование классов StreamReader, StreamWriter и объекта
My.Computer.FileSystem для работы с текстовыми файлами.
Печать текстовых файлов.
4.10.2. Задание
Выбрать вариант задания для реализации процедуры обработки строковых данных из
таблицы 4.9-1.
Создать с помощью стандартной программы MS Windows «Блокнот» текстовый
файл с исходными данными, соответствующий варианту задания п.1.
Разработать интерфейс пользователя, предусмотрев в нем несколько кнопок: для ввода данных из текстового файла, для обработки данных, для вывода результата в текстовый файл.
Написать программный код процедур пользователя для чтения и записи данных в/из
текстового файла. Причем обмен данными между пользовательскими процедурами
должен осуществляться через параметры, без использования глобальных переменных .
Разработать проект, который вводит исходные данные из текстового файла и
отображает их на форме, а затем обрабатывает в соответствии с заданием.
Дописать программный код проекта, в котором событийные процедуры должны
содержать только операторы вызова пользовательских процедур.
Подготовить тесты для контрольного решения задачи.
Выполнить созданный проект и получить решение.
4.10.3. Варианты задания
Варианты задания для реализации процедуры обработки строковых данных приведены в таблице 4.9-1.
4.10.4. Содержание отчета
Графический интерфейс пользователя;
Таблица свойств объектов;
Программный код с использованием процедур.
4.10.5. Пример выполнения задания
Тема и название работы:
Текстовые файлы Создание проекта Проект-4-10-Лаб.
Задание на разработку проекта и вариант задания:
Создать проект, который вводит из двух файлов строки a и b , отображает их на форме, а затем обрабатывает, удаляя из строки a все символы, расположенные на нечетных позициях строки b, результат обработки необходимо отобразить на форме и сохранить в текстовом файле.
Формализация и уточнение задания:
Разработка проекта
Разработанная форма интерфейса пользователя приведена на рис. 4.10-1.
Рис. 4.10-1
Свойства объектов управления разработанной формы студенты могут установить самостоятельно.
Программный код, решаемой задачи представлен на рис. 4.10-2 который содержит процедуры vvod( ), vivod( ), Обработка( ), Чтение( ) и Запись( ). Так как
разработанный интерфейс имеет не одну, а несколько кнопок, которые работают с
первой строкой, то эта строка должна быть доступна нескольким событийным
процедурам, и поэтому в программном коде ее необходимо сделать глобальной
(видимой для всех процедур), и объявить в начале программы, до описания всех
процедур.
Public Class Form1 Dim Str1 As String 'Функция ввода исходн. данных из TextBox Function vvod(ByVal T As TextBox) As String Return T.Text End Function 'Процедура вывода результата в TextBox Sub vivod(ByVal z As String, ByRef t As TextBox) If z.Length <> 0 Then t.Text = z Else t.Text = "Все удалено" End If End Sub 'Процедура решения задачи удаления символов из строки Sub Обработка(ByVal b As String, ByRef a As String) Dim d, m, i, j As Short m = CShort(a.Length) 'длина строки a d = CShort(b.Length) 'длина строки b For i = 0 To CShort(d-1) Step 2 'перебор нечетных символов j = 0 Do While j < m 'перебор всех символов строки a If a.Substring(j, 1) = b.Substring(i, 1) Then a = a.Remove(j, 1) 'пока симв. совп.- удаляем из a m = CShort(m - 1) 'уменьшаем длину строки a Else j = CShort(j + 1) 'переход к след. символу строки a End If Loop Next i End Sub 'Процедура записи строки в файл. Sub Запись(ByVal ПутьФ As String, ByVal str1 As String)
If (My.Computer.FileSystem.FileExists(ПутьФ) = True) Then If (MsgBox("Файл существует. Переписать?", _ MsgBoxStyle.YesNo Or MsgBoxStyle.Question, _ "Overwrite") <> MsgBoxResult.Yes) Then Exit Sub End If ' Сохраняем данные. Try My.Computer.FileSystem.WriteAllText(ПутьФ, Str1, False) Catch ex As Exception MsgBox("Файл не может быть записан на диск " & _ "из-за ошибки:" & vbCrLf & vbCrLf & ex.Message) End Try End Sub 'Процедура чтения данных из файла целиком в одну строку Sub Чтение(ByRef Str3 As String, ByVal filename As String) ' Открываем существ. файл и загружаем его текст в строку Try Str3 = My.Computer.FileSystem.ReadAllText(filename) Catch ex As Exception MsgBox("Файл не может быть открыт " & _ " из-за ошибки:" & vbCrLf & vbCrLf & ex.Message) End Try End Sub 'Событийная проц. для записи обработанной перв. строки в файл Private Sub Button2_Click(ByVal sender As System.Object, ByVal e _ As System.EventArgs) Handles Button2.Click Dim ПутьФ As String = "" ПутьФ = vvod(TextBox1) Запись(ПутьФ, Str1) End Sub ' Событийная проц. для чтения первой строки из первого файла Private Sub Button1_Click(ByVal sender As System.Object, _ ByVal e As System.EventArgs) Handles Button1.Click Dim ПутьФ1 As String = "" ПутьФ1 = vvod(TextBox1) Чтение(Str1, ПутьФ1) vivod(Str1, TextBox2) End Sub ' Событийная проц. для чтения второй строки из второго файла и ' обработки строк Private Sub Button3_Click(ByVal sender As System.Object, _ ByVal e As System.EventArgs) Handles Button3.Click Dim Str2 As String = "" Dim ПутьФ2 As String = "" ПутьФ2 = vvod(TextBox5) Чтение(Str2, ПутьФ2) Обработка(Str2, Str1) vivod(Str2, TextBox3) vivod(Str1, TextBox4) End Sub Private Sub Button4_Click(ByVal sender As System.Object, _ ByVal e As System.EventArgs) Handles Button4.Click End End Sub End Class |
Рис. 4.10-2
Выполнение приложения и получение результатов
Выполнить проект и получить результаты на рис. 4.10-3.
Рис. 4.10-3
Доказательство правильности работы программы
4.10.6. Контрольные вопросы по теме
«Текстовые файлы»
Какие классы используются для работы с файлами?
Каким образом можно обработать ошибки времени выполнения?
Что такое потоковый доступ к файлам?
Какая функция открывает текстовый файл?
Какая функция закрывает текстовый файл?
Какие функции осуществляют операции чтения и записи?
Какие методы используются для обработки строк?
ема 4.10. ЛР «Текстовые файлы» Страница 122