Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > VB .NET > работа с текстовым файлом


Автор: DENSHER 23.11.2010, 19:02
Нужна помощь в следующем.

Письменный пример:

Text.txt:
1) прочитать текстовой файл.
2) найти текст в текстовом файле.
3) если текст найден , не делать пункт 4!
4) дописать текст в текстового документа.

Text1.txt:
1) Проверить существует ли такой текстовой файл.
2) ели существует текстовой файл , не делать пункт 3!
3) создать текстовой файл.
4) перезаписать полностью текстовой файл.

Если были ответы на мой вопрос - извиняюсь , но я не нашел эти темы.

Автор: Feller 23.11.2010, 19:32
Сохранение файла
Код

 Public Sub SaveFile()
        'логика получения пути
        'формирование параметров для процедуры сохранения
        'вызов процедуры сохранения
        'отражение результаа сохранения
        Dim f As frmMain1
        f = CType(Me, Form).ParentForm

        FolderPath = GetFolderPath()
        With Me.SaveFileDialog1
            .InitialDirectory = FolderPath
            .Title = "Select a File"
            .Filter = "RTF Files|*.rtf"
        End With
        If strChange = True Then
            Try
                If FileName <> Me.Text Then
                    SaveFileDialog1.FileName = Me.Text
                    If SaveFileDialog1.ShowDialog = DialogResult.OK Then
                        FolderPath = SaveFileDialog1.FileName
                        'MsgBox(FolderPath) 'для тестирования
                        Call FileSaveParameter(rtbText, FolderPath)
                        Call setPathFile()
                    End If
                Else
                    Call FileSaveParameter(rtbText, FolderPath)
                End If
            Catch ex As Exception
                MessageBox.Show("Ошибка" & ex.ToString)
                'If ex.ToString = Nothing Then

                'End If
            End Try
        Else
            SaveFileDialog1.FileName = Me.Text
            If SaveFileDialog1.ShowDialog = DialogResult.OK Then

                FolderPath = SaveFileDialog1.FileName
                'MsgBox(FolderPath) 'для тестирования
                Call FileSaveParameter(rtbText, FolderPath)
                Call setPathFile()
            End If

        End If
        strChange = False

    End Sub

Открытия файла
Код

 ''' <summary>
    ''' Открывает файл из указаного диска
    ''' </summary>
    ''' <remarks></remarks>
    Private Sub FileOpen()
        Dim activeChild As frmChild = Me.ActiveMdiChild
        OpenFileDialog1.InitialDirectory = "C:\"
        OpenFileDialog1.Title = "Select a File"
        OpenFileDialog1.Filter = "RTF Files|*.rtf"
        If (Not activeChild Is Nothing) Then
            Try
                Dim theBox As RichTextBox = _
                CType(activeChild.ActiveControl, RichTextBox)
                If (Not theBox Is Nothing) Then
                    OpenFileDialog1.FileName = activeChild.Text
                    If OpenFileDialog1.ShowDialog = DialogResult.OK Then
                        'theBox.Text = System.IO.File.ReadAllText(OpenFileDialog1.FileName)
                        theBox.LoadFile(OpenFileDialog1.FileName, RichTextBoxStreamType.RichText)
                    End If
                    activeChild.Text = OpenFileDialog1.SafeFileName
                End If
            Catch ex As Exception
                MessageBox.Show("Ошибка" & ex.ToString)
            End Try
        Else
            If OpenFileDialog1.ShowDialog = DialogResult.OK Then
                Call FileOpenFirst()
            End If
        End If
    End Sub

Если хочешь скинь mail я тебе сброшу пример легкого редактора

Автор: DENSHER 23.11.2010, 19:51
Возможно я что-то неправильно объяснил.

Вот другой пример:

Код

' Чтение файла
Dim OpenFile As New System.IO.StreamReader("c:\test1.txt")
TextBox1.Text = OpenFile.ReadToEnd
OpenFile.Close()
' Далее
' Мне нужно выполнить поиск текста в TextBox1.Text
' Например найти текст - password
' если текст (password) найден ничего не делать , если не найден , дописать его в конце TextBox1.Text
' и
' Сохранить TextBox1.Text
Dim patch1 As New FileInfo("c:\test1.txt")
Dim savetxt1 As StreamWriter = patch1.AppendText() 
savetxt1.WriteLine("password")
savetxt1.Close()


Это который я пример описывал выше в текстовом виде (Text.txt).

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)