Sh3R3iF Ответов: 2

Проблема с открытием текстового файла в моем приложении двойным щелчком мыши


эй
я работаю над проектом Блокнота
и я хочу открыть файлы .txt с помощью своего приложения
он работал
НО
когда я открываю файл ,изменяю его и сохраняю... только сохраняйте, а не сохраняйте как
он открывает файл save as
я хочу изменить открытый файл

отлично работает, когда файл открывается из opendialog

Что я уже пробовал:

вот код, который я использую
Shared Sub DoubleClickFile(Textbox As TextBox)
    If System.Environment.GetCommandLineArgs().Length > 1 Then
        Dim i As Integer
        For i = 1 To System.Environment.GetCommandLineArgs().Length - 1
            Dim zReader As StreamReader
            zReader = New StreamReader(System.Environment.GetCommandLineArgs(i), True)
            Textbox.Text = zReader.ReadToEnd
        Next
    Else
    End If
End Sub

2 Ответов

Рейтинг:
1

Wendelius

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

Так что, возможно, Вам следовало бы это сделать.

Textbox.Text = Textbox.Text & zReader.ReadToEnd

Другое дело, что вы, кажется, начинаете цикл массива с индекса 1. должна ли Начальная позиция быть 0?

РЕДАКТИРОВАТЬ:
-----

Основываясь на обсуждении, код, вероятно, должен быть чем-то вроде
Shared Sub DoubleClickFile(Textbox As TextBox)
    If System.Environment.GetCommandLineArgs().Length > 1 Then
        Dim i As Integer
        For i = 1 To System.Environment.GetCommandLineArgs().Length - 1
            Dim zReader As StreamReader
            zReader = New StreamReader(System.Environment.GetCommandLineArgs(i), True)
            Textbox.Text = zReader.ReadToEnd
            EditorForm.DocumentName = System.Environment.GetCommandLineArgs(i)
        Next
    End If
End Sub


Sh3R3iF

спасибо за ответ
когда я открываю файл двойным щелчком мыши из проводника и изменяю его, он использует save as not save, я хочу перезаписать текущий загруженный файл
но
когда я открываю файл из диалогового окна "открыть" и "изменить", а затем нажимаю кнопку "Сохранить"... работает

Wendelius

Я немного запутался. Код, который вы опубликовали, не имеет ничего общего с сохранением файла.

Sh3R3iF

Shared Sub Save(txtDisplay As TextBox)
Если EditorForm.DocumentName = "Untitled", То
Сохранить как(txtDisplay)
Еще
Дим Файл Сохранения Как Нового Модулю Записи StreamWriter(Форму Редактор.DocumentPath)
файл сохранения.Write(txtDisplay.Текст)
файл сохранения.Закрывать()
txtDisplay.Modified = False
Конец, Если
Конец Подводной Лодки

Общая подпункт "сохранить как" (txtDisplay как TextBox)
Dim SaveFileDialog1 Как Новый SaveFileDialog
С SaveFileDialog1
SaveFileDialog1.Filter = "текстовые файлы (*.txt) |*.txt"
SaveFileDialog1.Title = "Сохранить Как"
Если .Метод Showdialog = Dialogresult Значения.Тогда ладно
Форму редактор.DocumentPath = .Именем
Дим Файл Сохранения Как Нового Модулю Записи StreamWriter(Форму Редактор.DocumentPath)
файл сохранения.Write(txtDisplay.Текст)
файл сохранения.Закрывать()
txtDisplay.Modified = False
Дим FileInfo Может Как New FileInfo Может(Форму Редактор.DocumentPath)
Форму редактор.Имя_документа = FileInfo Может.Название
Конец, Если
Конец С
Конец Подводной Лодки

Sh3R3iF

это для сохранения и сохранения как
моя проблема с двойным щелчком файла

Wendelius

Если вы хотите сохранить документ вместо "сохранить как", поместите точку останова в следующую строку

Если EditorForm.DocumentName = "Untitled", То

Скорее всего, свойство DocumentName является "Без названия", даже если вы открыли существующий файл.

Если это так, измените метод, открывающий файл, чтобы установить правильное значение для свойства DocumentName.

Взгляните на измененный ответ

Рейтинг:
1

Richard MacCutchan

Вы уже опубликовали этот вопрос на форуме Visual Basic. Пожалуйста, не делайте репостов.