powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Как создать файл?
21 сообщений из 21, страница 1 из 1
Как создать файл?
    #32444390
DDX
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Глупый вопрос, но у меня с этим возникла проблема.

Надо:
1. Проверить, есть ли папка по пути "Путь_папки"
2. Если нет, то создать
3. Если папка есть, то проверить, есть ли в ней файл "файл"
4. Если файл етсь, открыть для дозаписи и внести "строку1
если файла нет, то создать и внести "строку1"

НЕ получается!!
пробовал :

авторSet fs = CreateObject("Scripting.FileSystemObject")
Set a = fs.CreateTextFile("c:\testfile.txt", True)
a.WriteLine("This is a test.")
a.Close

Посылает!! Говорит Object not defined
...
Рейтинг: 0 / 0
Как создать файл?
    #32444423
Фотография Лифчик
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Я делаю так:
Код: plaintext
1.
2.
3.
Dim fs As FileSystemObject
Set fs = New FileSystemObject
fs.FileExists - для проверки существования файла
fs.FolderExists - для директории

и т.д.
Но все это работает после подключения библиотеки
Scripting Runtime
...
Рейтинг: 0 / 0
Как создать файл?
    #32444977
Alexus12
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
правильно говорит уважаемые Лифчик - нужно подключить эту бибилотеку
и почитать про File System Object на любом сайте про VB

или не заморачиваться
и пользовать стандартные операторы

Open filename for Append as #1
Print #1, ...
Close

несуществование файла/пути проверь отловом ошибки открытия например
...
Рейтинг: 0 / 0
Как создать файл?
    #32445179
Фотография Владимир Саныч
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
Для проверки существования есть функция Dir.
...
Рейтинг: 0 / 0
Как создать файл?
    #32445609
DDX
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Спасибо!
А создать-то как файл и папку?
...
Рейтинг: 0 / 0
Как создать файл?
    #32445613
DDX
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Или как подключить этут библиотеку?
...
Рейтинг: 0 / 0
Как создать файл?
    #32445762
Michael Vasilev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вот пример кода создания текстового файла. Что делает: проверяет наличие директории, если нет создает, если есть переходит в нее. Затем создает файл и записывает туда твою строку. Файл переписывает заново. Если нужно дополнить, то посмотри свойство оператора Open. Проверку на наличие файла делай аналогично проверке наличия директории.

Public Sub CreateFile(ByVal NameFile As String, _
ByVal TextFile As String, ByVal NameDir as String)

Dim hFile As Long
If Dir(strNameDir) = "" Then
MkDir strNameDir
Else
ChDrive "C"
ChDir strNameDir
End If
hFile = FreeFile
Open NameFile For Output Access Write As hFile
Write #hFile, TextFile
Close hFile
End Sub
...
Рейтинг: 0 / 0
Как создать файл?
    #32445774
DDX
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Спасибо!
...
Рейтинг: 0 / 0
Как создать файл?
    #32474283
LeonRom
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Для проверки наличия директории - указать параметр vbDirectory.
Я сделал так:

If Dir$(dirObmin, vbDirectory) = "" Then
s = s & vbCrLf & "нету'" & dirObmin & "'"
End If

и получилось! Это из MSDN'овского HELP'а ;))
...
Рейтинг: 0 / 0
Как создать файл?
    #32474403
Фотография Shuhard
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А в Access 97 упадет на несуществующем драйве
там еще нужен
On Error Goto
...
Рейтинг: 0 / 0
Как создать файл?
    #32474413
DDX
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Да! Вот как раз на это я и напоролся, как только скинул базу юзеру! :))
Именно таким способом и разрешил эту проблему :)
Только Acess и 2000 и XP на этом падают =)
...
Рейтинг: 0 / 0
Как создать файл?
    #32542971
Фотография Артист
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Как дописать в файл не могу найти ...
подскажите плиз
...
Рейтинг: 0 / 0
Как создать файл?
    #32542979
Фотография Владимир Саныч
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
Open ... For Append ...
...
Рейтинг: 0 / 0
Как создать файл?
    #32542993
Фотография Артист
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
спасибо!
Саныч, а нельзя ли в определеную строку писать?
мне надо бы в самую первую писать ...
...
Рейтинг: 0 / 0
Как создать файл?
    #32543021
Фотография paparome
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
автора нельзя ли в определеную строку писать?

Вроде нельзя
Можно только извращаться

(ИМХО)
...
Рейтинг: 0 / 0
Как создать файл?
    #32543039
Фотография Владимир Саныч
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
Можно. Сейчас найду.
...
Рейтинг: 0 / 0
Как создать файл?
    #32543045
Фотография Артист
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Саныч!
Я тут пока помолюсь ....
...
Рейтинг: 0 / 0
Как создать файл?
    #32543085
Фотография Shuhard
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
можно с помощью Put + структура которая отмотает нужное число байт вперед
сейчас поищу свой топик делал апреле
...
Рейтинг: 0 / 0
Как создать файл?
    #32543087
Фотография Владимир Саныч
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
:^) Нашел. Смотри хелп по:

Seek
Put
...
Рейтинг: 0 / 0
Как создать файл?
    #32543104
Фотография Shuhard
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
пример замены байтика со смещением 25 от начала внутри файла
структура Swop нужна обязательно

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
модуль mdb

Type Swop 'нужен Put и  Get (или Чук и Гек)
    Delta As String * 29
    MyStr As Byte
End Type


событие кнопки

Dim MyRecord As Swop
Dim Fref As Long
Dim MyFile As String
Fref = FreeFile
On Error GoTo no_file
MyFile = Nz(P_File, " ") ' P_File - поле с именем файла
If Len(Dir(MyFile)) >  0  Then
Open MyFile For Random As Fref Len = Len(MyRecord)
Get Fref,  1 , MyRecord
  If (MyRecord.MyStr <>  101 ) Then
   MyRecord.MyStr =  101 
   Put Fref,  1 , MyRecord
  End If
Get Fref,  1 , MyRecord
If (MyRecord.MyStr <>  101 ) Then MsgBox ("облом")
Close Fref
                 Else
                 MsgBox ("А файлик тютю")
End If
Exit Sub
no_file:         MsgBox ("А файлик тютю")
End Sub
...
Рейтинг: 0 / 0
Как создать файл?
    #32543585
В существующем текстовом файле заменить строку можно только строкой той же длины. Нужно знать номер 1-го байта (начиная с 0) и длину строки (количество символов).
1. Файл открывается в режиме Binary
hFile=FreeFile
Open Путь For Binary As hFile
2. Преобразовать строку в динамический байтовый массив
bytArr=StrConv(Строка,vbFromUnicode)
3. Выполнить Put
Put hFile, Адрес, bytArr

В других случаях прийдется открыть файл на чтение и новый файл на запись, прочитать в цикле строки и записать в новый файл, при этом заменить/исключить/добавить. По окончанию операции удалить старый файл и переименовать новый.
...
Рейтинг: 0 / 0
21 сообщений из 21, страница 1 из 1
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Как создать файл?
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]