Замена строки в текстовом файле при нажатии клавиши - VB

Узнай цену своей работы

Формулировка задачи:

Приветствую всех форумчан. Я здесь впервые, делаю робота, пишу под него программу управления на ВБ 6.0. Столкнулся с проблемой, которую два дня не могу самостоятельно решить. Прошу поддержки зала. Моя задача. Имеется текстовый файл MP710.local.set. В нем написаны следующие строки:
;CMD=0 ;PRG=0 PORT11=0:NC PORT12=0:NC
При нажатии клавиши «стрелка вверх» третья строка PORT11=0:NC должна поменяться на PORT11=128:NC. Я добился результата, только лишь стирая все содержимое файла и вписывая все значения заново. Ниже кусок моего кода. Но мне надо сохранить значения в остальных строках и заменять именно нужную мне строку. Подскажите, пожалуйста, как заменить третью строку в текстовом файле не трогая остальные? Пробовал Replace, но что-то не совсем работает, видимо недопонимаю.
Листинг программы
  1. Private Sub Form_KeyDown(KeyCode As Integer, Shift As Integer)
  2. If KeyCode = vbKeyUp Then
  3. Open "d:\MP710.local.set" For Output As #1 'Открываем файл для добавления записи, с номером канала 1
  4. Print #1, ";CMD=0" ' Записываем в файл текст
  5. Print #1, ";PRG=0" ' Записываем в файл текст
  6. Print #1, "PORT11=128:NC" ' Записываем в файл текст
  7. Print #1, "PORT12=0:NC" ' Записываем в файл текст
  8. Close #1 'Закрываем файл
  9. End If
  10. End Sub
Заранее благодарен.

Решение задачи: «Замена строки в текстовом файле при нажатии клавиши»

textual
Листинг программы
  1. Dim textline As String
  2.  
  3. Private Sub Command1_Click()
  4. ' Читаем файл в переменную
  5. textline = Space(FileLen("d:\MP710.local.set"))
  6. fo = FreeFile
  7. Open "d:\MP710.local.set" For Input As #fo
  8. textline = Input(LOF(fo), #fo)
  9. Close #fo
  10. ' Изменяем содержимое
  11. textline = Replace(textline, "PORT11=0:NC", "PORT11=128:NC")
  12. ' Сохраняем в файл
  13. FileNum = FreeFile
  14. Open "d:\MP710.local.set" For Output As FileNum
  15. Print #FileNum, textline
  16. Close #FileNum
  17.  
  18. End Sub

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

9   голосов , оценка 3.667 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы