Записать в существующий файл без перезаписи того, что в нем используется VB6? - PullRequest
14 голосов
/ 11 мая 2010

Мне нужно записать в текстовый файл для записи набора баллов. Каждый раз, когда я пишу в текстовый файл, он перезаписывает то, что изначально было в файле. Может кто-нибудь сказать мне, как не дать ему перезаписать то, что есть, или как заставить его начать писать в пустом пространстве?

Ответы [ 4 ]

18 голосов
/ 11 мая 2010

Открыть файл «для добавления».

Это сотрет файл:

Open "C:\path\to\file.txt" For Output As FILE

Это не удалит существующий контент:

Open "C:\path\to\file.txt" For Append As FILE
1 голос
/ 16 мая 2016

Используйте текстовое дополнение для этого

Обычно добавить текст

'Start append text to file
    FileNum = FreeFile
    Open "D:\45.txt" For Append As FileNum
    Print #FileNum, Text1.Text
    Close FileNum
'End

Сохранение в путь к приложению

'Start append text to file
    FileNum = FreeFile
    Open App.Path & "\45.txt" For Append As FileNum
    Print #FileNum, Text1.Text
    Close FileNum
'End
0 голосов
/ 10 октября 2017
Dim path as String = "S:\My Documents\New folder (2)"
Dim filename as string = "\test.txt"

'To write into a file that will erase text:
FileOpen(1, path & filename, OpenMode.Output)

'To write into a file that will add to text:
FileOpen(1, path & filename, OpenMode.Append)
0 голосов
/ 12 мая 2010

Работа с файлами в VB6 - отстой. Если вам нужно прочитать файл и сразу же записать данные (которые не добавлены) в один и тот же цикл для преобразования / какой-либо манипуляции. Откройте исходный файл, манипулируйте им, но запишите в «новый» файл с другим именем в том же каталоге. В конце процесса вы сохраняете новый файл, удаляете оригинальный и затем переименовываете новый файл в старый.

...