Запись в существующий файл без перезаписывания того, что в нем используется с помощью VB6?

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

Ответы

Ответ 1

Откройте файл "для добавления".

Это приведет к стиранию файла:

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

Это не приведет к стиранию существующего содержимого:

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

Ответ 2

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

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

'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

Ответ 3

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

Ответ 4

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)