Скачиваний:
60
Добавлен:
27.04.2015
Размер:
213.5 Кб
Скачать

Тема 4.10. Лабораторная работа

«Текстовые файлы»

Цель лабораторной работы состоит в изучении средств VB и средств VS для работы с текстовыми файлами.

4.10.1. Вопросы, подлежащие изучению

  1. Понятие файла. Текстовые файлы.

  1. Основные средства VB для работы с текстовыми файлами.

  1. Средства обработчика ошибок времени исполнения.

  2. Классы и объекты VS для работы с текстовыми файлами.

  3. Использование классов StreamReader, StreamWriter и объекта

My.Computer.FileSystem для работы с текстовыми файлами.

  1. Печать текстовых файлов.

4.10.2. Задание

  1. Выбрать вариант задания для реализации процедуры обработки строковых данных из

таблицы 4.9-1.

  1. Создать с помощью стандартной программы MS Windows «Блокнот» текстовый

файл с исходными данными, соответствующий варианту задания п.1.

  1. Разработать интерфейс пользователя, предусмотрев в нем несколько кнопок: для ввода данных из текстового файла, для обработки данных, для вывода результата в текстовый файл.

  2. Написать программный код процедур пользователя для чтения и записи данных в/из

текстового файла. Причем обмен данными между пользовательскими процедурами

должен осуществляться через параметры, без использования глобальных переменных .

  1. Разработать проект, который вводит исходные данные из текстового файла и

отображает их на форме, а затем обрабатывает в соответствии с заданием.

  1. Дописать программный код проекта, в котором событийные процедуры должны

содержать только операторы вызова пользовательских процедур.

  1. Подготовить тесты для контрольного решения задачи.

  2. Выполнить созданный проект и получить решение.

4.10.3. Варианты задания

Варианты задания для реализации процедуры обработки строковых данных приведены в таблице 4.9-1.

4.10.4. Содержание отчета

  1. Тема и название работы

  2. Задание на разработку проекта и вариант задания

  3. Формализация задания

  4. Разработка проекта:

  1. Графический интерфейс пользователя;

  2. Таблица свойств объектов;

  3. Программный код с использованием процедур.

  1. Результаты выполнения проекта.

  2. Доказательство правильности работы программы.

4.10.5. Пример выполнения задания

  1. Тема и название работы:

Текстовые файлы – Создание проекта Проект-4-10-Лаб.

  1. Задание на разработку проекта и вариант задания:

Создать проект, который вводит из двух файлов строки a и b , отображает их на форме, а затем обрабатывает, удаляя из строки a все символы, расположенные на нечетных позициях строки b, результат обработки необходимо отобразить на форме и сохранить в текстовом файле.

  1. Формализация и уточнение задания:

  1. Разработка проекта

    1. Разработка графического интерфейса пользователя

Разработанная форма интерфейса пользователя приведена на рис. 4.10-1.

Рис. 4.10-1

    1. Установка свойств объектов

Свойства объектов управления разработанной формы студенты могут установить самостоятельно.

    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

  1. Выполнение приложения и получение результатов

Выполнить проект и получить результаты на рис. 4.10-3.

Рис. 4.10-3

  1. Доказательство правильности работы программы

4.10.6. Контрольные вопросы по теме «Текстовые файлы»

  1. Какие классы используются для работы с файлами?

  1. Каким образом можно обработать ошибки времени выполнения?

  1. Что такое потоковый доступ к файлам?

  2. Какая функция открывает текстовый файл?

  3. Какая функция закрывает текстовый файл?

  4. Какие функции осуществляют операции чтения и записи?

  5. Какие методы используются для обработки строк?

Тема 4.10. ЛР «Текстовые файлы» Страница 122

Соседние файлы в папке ЛР-Раздел-04-2008