10 лабы
.docxФедеральное агентство связи Ордена
Трудового Красного Знамени
федеральное бюджетное образовательное учреждение высшего образования
«Московский Технический Университет Связи и Информатики»
(МТУСИ)
Кафедра Информатики
Лабораторная работа № 10
Тема:
«Создание приложений, работающих с потоковыми файлами»
Вариант 00
Выполнил:
Москва 0000
Задание 4
Код проекта 5
Option Strict On
Option Explicit On
Public Class Form1
Sub Запись(ByVal ПутьФ As String, ByVal str1 As String)
Dim stroki() = Split(str1, vbNewLine)
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
Function vvod(ByVal T As TextBox) As String
Return T.Text
End Function
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 vivodList(ByVal Z As String, ByVal LB As ListBox)
LB.Items.Add(Format(Z))
End Sub
Sub Обработка(ByRef str4 As String, ByVal путьф2 As String, ByRef result As String) 'str - вводимый поток
Dim stroki() As String = Split(str4, vbNewLine), sWord1 As String = "", sWord2 As String = "", i As Integer,
Min As Integer, Max As Integer, k As Integer, z() As String, n As Integer
For i = 0 To UBound(stroki) 'идет работа по строкам сверху вниз
z = Split(stroki(i)) 'разделение каждой строки на подстроки (слова)
Max = CInt(10 ^ (-38))
Min = CInt(10 ^ 4)
For j = 0 To UBound(z) 'разбор каждого слова в отдельной строке
n = 0
For k = 0 To z(j).Length - 1 'подсчет кол-ва букв в слове
n = n + 1
Next
If n < Min Then
Min = n
sWord1 = z(j)
End If
If n > Max Then
Max = n
sWord2 = z(j)
End If
Next
If stroki(i).IndexOf(sWord2) < stroki(i).IndexOf(sWord1) Then
result += stroki(i) + vbNewLine
TextBox4.Text = result
End If
Next
End Sub
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Dim str1 As String = ""
Dim ПутьФ1 As String = ""
Dim ПутьФ2 As String = ""
Dim result As String = ""
ПутьФ1 = vvod(TextBox1)
ПутьФ2 = vvod(TextBox2)
Чтение(Str1, ПутьФ1)
vivod(Str1, TextBox3)
Обработка(Str1, ПутьФ2, result)
Запись(ПутьФ2, result)
End Sub
End Class
6 Выполнение