Модераторы: Akina

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Работа с файлом, Как добавить в фаил текст 
V
    Опции темы
Wilmor
  Дата 18.4.2006, 14:58 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 113
Регистрация: 26.2.2006
Где: NET

Репутация: нет
Всего: нет



Как добавить в фаил текст, не стирая текста который там уже есть.
 smile  
--------------------
  
PM   Вверх
boevik
Дата 18.4.2006, 16:54 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Участник Клуба
Сообщений: 1452
Регистрация: 31.5.2004
Где: Израиль

Репутация: 12
Всего: 35



Код

Const ForReading = 1, ForWriting = 2, ForAppending = 8
Dim fso as Object, f as Object

   Set fso = CreateObject("Scripting.FileSystemObject")
   Set f = fso.OpenTextFile("c:\testfile.txt", ForAppending, True)
   f.Write "Hello world!"
   f.Close

 


--------------------
Никогда не говори никогда
PM MAIL WWW   Вверх
ИгнатьевАлексей
Дата 21.4.2006, 16:07 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 369
Регистрация: 18.11.2005

Репутация: нет
Всего: 3



Скажите пожалуйста!
А зачем здесь объявление констант в первой строке? 


--------------------
Vingrad - FOREVER !!! 

"Как вы яхту назовете - так она и поплывет!" 
 Капитан Врунгель 
PM MAIL   Вверх
Akina
Дата 21.4.2006, 17:29 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Советчик
****


Профиль
Группа: Модератор
Сообщений: 20581
Регистрация: 8.4.2004
Где: Зеленоград

Репутация: 34
Всего: 454



Цитата(ИгнатьевАлексей @  21.4.2006,  17:07 Найти цитируемый пост)
А зачем здесь объявление констант в первой строке?

а для получения читаемого кода. 


--------------------
 О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума.

PM MAIL WWW ICQ Jabber   Вверх
goldstarKZ
Дата 3.5.2006, 05:57 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 12
Регистрация: 14.4.2006
Где: Казахстан

Репутация: нет
Всего: нет



А просто 
Open "C:\test.txt" for Append as #1 
Не канает? 
PM MAIL WWW   Вверх
Akina
Дата 3.5.2006, 09:01 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Советчик
****


Профиль
Группа: Модератор
Сообщений: 20581
Регистрация: 8.4.2004
Где: Зеленоград

Репутация: 34
Всего: 454



Цитата(goldstarKZ @  3.5.2006,  06:57 Найти цитируемый пост)
А просто
Код
Open "C:\test.txt" for Append as #1
Не канает?

1) Пользуемся тегом "Код".
2) Обходимся без сленга.
3) В объектно-ориентированном языке желательно избегать процедурно-ориентированных приемов программирования. 


--------------------
 О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума.

PM MAIL WWW ICQ Jabber   Вверх
XPurple
Дата 4.5.2006, 14:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 140
Регистрация: 4.5.2006
Где: Челябинск

Репутация: 1
Всего: 1



А прочитать все строчки из текстового файла ?
[off]просьба не пинать - у меня пока не установлены MSDN и нет книги[/off] 
--------------------
Кто никогда ни о чем не спрашивает: тот либо знает все, либо не знает ничего.  Не помню, кто сказал, может быть, я   (с) 
PM MAIL   Вверх
boevik
Дата 4.5.2006, 14:31 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Участник Клуба
Сообщений: 1452
Регистрация: 31.5.2004
Где: Израиль

Репутация: 12
Всего: 35



Цитата(XPurple @  4.5.2006,  14:02 Найти цитируемый пост)
просьба не пинать - у меня пока не установлены MSDN и нет книги

MSDN есть в online на сайте microsoft.


Цитата(XPurple @  4.5.2006,  14:02 Найти цитируемый пост)
А прочитать все строчки из текстового файла ?

Код

Const ForReading = 1, ForWriting = 2, ForAppending = 8
Dim fso as Object, f as Object
Dim sFile as String

   Set fso = CreateObject("Scripting.FileSystemObject")
   Set f = fso.OpenTextFile("c:\testfile.txt", ForReading, True)
   sFile = f.ReadAll()
   f.Close


 


--------------------
Никогда не говори никогда
PM MAIL WWW   Вверх
XPurple
Дата 5.5.2006, 05:03 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 140
Регистрация: 4.5.2006
Где: Челябинск

Репутация: 1
Всего: 1



Благодарю за информацию и насчет MSDN - тоже. 
--------------------
Кто никогда ни о чем не спрашивает: тот либо знает все, либо не знает ничего.  Не помню, кто сказал, может быть, я   (с) 
PM MAIL   Вверх
XPurple
Дата 5.5.2006, 05:24 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 140
Регистрация: 4.5.2006
Где: Челябинск

Репутация: 1
Всего: 1



А как избежать ошибки при открытии несуществующего файла? Если файл не существует, то выдается run-time error. 
--------------------
Кто никогда ни о чем не спрашивает: тот либо знает все, либо не знает ничего.  Не помню, кто сказал, может быть, я   (с) 
PM MAIL   Вверх
boevik
Дата 5.5.2006, 07:59 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Участник Клуба
Сообщений: 1452
Регистрация: 31.5.2004
Где: Израиль

Репутация: 12
Всего: 35



Цитата(XPurple @  5.5.2006,  05:24 Найти цитируемый пост)
А как избежать ошибки при открытии несуществующего файла? Если файл не существует, то выдается run-time error.  

Так же при помощи FSO, можно проверить существование файла:
Код

Function ReportFileStatus(filespec)
   Dim fso, msg
   Set fso = CreateObject("Scripting.FileSystemObject")
   If (fso.FileExists(filespec)) Then
      msg = filespec & " exists."
   Else
      msg = filespec & " doesn't exist."
   End If
   ReportFileStatus = msg
End Function
 


--------------------
Никогда не говори никогда
PM MAIL WWW   Вверх
XPurple
Дата 5.5.2006, 09:48 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 140
Регистрация: 4.5.2006
Где: Челябинск

Репутация: 1
Всего: 1



благодарствую. 
--------------------
Кто никогда ни о чем не спрашивает: тот либо знает все, либо не знает ничего.  Не помню, кто сказал, может быть, я   (с) 
PM MAIL   Вверх
XPurple
Дата 5.5.2006, 13:55 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 140
Регистрация: 4.5.2006
Где: Челябинск

Репутация: 1
Всего: 1



А как избежать ошибки чтения файла нулевой длины ?
Сейчас при открытии такого файла на чтение выдается Run-time сообщение "Input past end of file" 
--------------------
Кто никогда ни о чем не спрашивает: тот либо знает все, либо не знает ничего.  Не помню, кто сказал, может быть, я   (с) 
PM MAIL   Вверх
vbCrLf
Дата 5.5.2006, 14:20 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 54
Регистрация: 3.5.2006
Где: Севастополь

Репутация: 1
Всего: 1



Перед чтением файла проверь его размер.
Делается это с помощью функции FileLen(PathName as String) As Long,
которая возвращает размер файла в байтах.
Код

if FileLen(MyFile)= 0 then MsgBox "Файл нулевой длинны!"
 
PM MAIL ICQ   Вверх
Тутанхамец
Дата 5.5.2006, 14:40 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 612
Регистрация: 10.10.2005
Где: в пирамидЕ!

Репутация: 4
Всего: 6



А учитывая, что "в объектно-ориентированном языке желательно избегать процедурно-ориентированных приемов программирования", то так:

Код

Dim fs As Scripting.FileSystemObject, f As Scripting.File, sz As Long

'Dim fs As variant, f As variant, sz As Long 'можно объявить и так

    Set fs = CreateObject("Scripting.FileSystemObject")
    If (fs.FileExists("c:\qq.txt")) Then
            Set f = fs.GetFile("c:\qq.txt")
             sz = f.Size
             MsgBox CStr(sz)
     end if

 
PM MAIL   Вверх
Ответ в темуСоздание новой темы Создание опроса
Правила форума "VB6"
Akina

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Литературу по VB обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • Используйте теги [code=vb][/code] для подсветки кода. Используйтe чекбокс "транслит" (возле кнопок кодов) если у Вас нет русских шрифтов.


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Akina.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | VB6 | Следующая тема »


 




[ Время генерации скрипта: 0.1143 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.