Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Как создать файл? / 21 сообщений из 21, страница 1 из 1
16.03.2004, 19:19
    #32444390
DDX
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
16.03.2004, 19:51
    #32444423
Лифчик
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как создать файл?
Я делаю так:
Код: plaintext
1.
2.
3.
Dim fs As FileSystemObject
Set fs = New FileSystemObject
fs.FileExists - для проверки существования файла
fs.FolderExists - для директории

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

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

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

несуществование файла/пути проверь отловом ошибки открытия например
...
Рейтинг: 0 / 0
17.03.2004, 12:31
    #32445179
Владимир Саныч
Модератор форума
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как создать файл?
Для проверки существования есть функция Dir.
...
Рейтинг: 0 / 0
17.03.2004, 15:19
    #32445609
DDX
DDX
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как создать файл?
Спасибо!
А создать-то как файл и папку?
...
Рейтинг: 0 / 0
17.03.2004, 15:20
    #32445613
DDX
DDX
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как создать файл?
Или как подключить этут библиотеку?
...
Рейтинг: 0 / 0
17.03.2004, 16:12
    #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
17.03.2004, 16:16
    #32445774
DDX
DDX
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как создать файл?
Спасибо!
...
Рейтинг: 0 / 0
08.04.2004, 17:52
    #32474283
LeonRom
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как создать файл?
Для проверки наличия директории - указать параметр vbDirectory.
Я сделал так:

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

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

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

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

Seek
Put
...
Рейтинг: 0 / 0
01.06.2004, 16:04
    #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
01.06.2004, 19:37
    #32543585
Как создать файл?
В существующем текстовом файле заменить строку можно только строкой той же длины. Нужно знать номер 1-го байта (начиная с 0) и длину строки (количество символов).
1. Файл открывается в режиме Binary
hFile=FreeFile
Open Путь For Binary As hFile
2. Преобразовать строку в динамический байтовый массив
bytArr=StrConv(Строка,vbFromUnicode)
3. Выполнить Put
Put hFile, Адрес, bytArr

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


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