Отправляет email-рассылки с помощью сервиса Sendsay
  Все выпуски  

RusFAQ.ru: Программирование на Basic / VBA


РАССЫЛКИ ПОРТАЛА RUSFAQ.RU

/ КОМПЬЮТЕРЫ И ПО / Языки программирования / Basic/VBA

Выпуск № 511
от 22.04.2007, 12:35

Администратор:Калашников О.А.
В рассылке:Подписчиков: 257, Экспертов: 41
В номере:Вопросов: 1, Ответов: 4


Вопрос № 82859: Пожалуста, кто может, покажите, как создать текстовый файл, добавить в него несколько строк и сохранить в нужном месте?...

Вопрос № 82.859
Пожалуста, кто может, покажите, как создать текстовый файл, добавить в него несколько строк и сохранить в нужном месте?
Отправлен: 16.04.2007, 21:32
Вопрос задал: Beruboi (статус: Посетитель)
Всего ответов: 4
Мини-форум вопроса >>> (сообщений: 6)

Отвечает: Alec Perle
Здравствуйте, Beruboi!
Практически классическими операторами Basic. См. код в приложении. Папка D:VBPrimer должна существовать.

Приложение:

---------
Пессимист - это хорошо информированный оптимист (а оптимист - хорошо проинструктированный пессимист)

Ответ отправил: Alec Perle (статус: 7-ой класс)
Ответ отправлен: 16.04.2007, 21:48
Оценка за ответ: 5
Комментарий оценки:
Замечательный ответ, но второй ещё лучше, самое то, без изменений вставляю в свой код!!!
Благодарность объявляю Вам!

Отвечает: Филатов Евгений Геннадьевич
Здравствуйте, Beruboi!
Если нужно создать текстовый файл из программы на VB, то пример в приложении.
Используется инструкция :
Open путь For режим [ Access доступ ] [ блокировка ] As [ # ] номерФайла [ Len=длина ]
Ограничение на длину файла 32767 байт, и после ввода обязательно закрыть инструкцией Close.
Для уточнения констант посмотрите справку на эти инструкции.
По-умолчанию текст сохранится в Windows-кодировке. Чтобы сохранить в DOS-кодировке необходимо преобразование символов - для этого я пользуюсь созданной DLL ( если текст только на английском языке, то преобразование не нужно ) .
Во втором примере создается bat файл и запускается на выполнение. Возвращаемое значение функции Shell представляет собой идентификатор программы. Можно использовать для приостановки выполнения текущей программы до окончания выполнения запущенного bat файла ( используется API и немного сложнее код программы ) .
С уважением.

Приложение:

Ответ отправил: Филатов Евгений Геннадьевич (статус: 7-ой класс)
Ответ отправлен: 16.04.2007, 22:06
Оценка за ответ: 4
Комментарий оценки:
Очень объёмно, больше чем я хотел узнать:), но в будущем, конечно, пригодится. Немного не понятно(айкью у меня наверное низковат:)) и наверное глупость сделал, но запустил этот код в Бейсике, так он выдал еггог: "инвалид оутсайд процедур" на слово Set... Такие пироги...

Отвечает: PsySex
Здравствуйте, Beruboi!
Файл создается автоматически, если файл уже существует, то работа идет с существующим файлом.
=====================================
Open "c: est.txt" For Output As #1
'Open "c: est.txt" For Append As #1
Print #1, "First Message"+vbCrLf
Print #1, "Second Message"
Close #1
=====================================
При открытии(создании) файла таким образом строки помещаются с начала документа. Если же открывать файл с флагом "For Append"(закоментированная строка), то строки будут добавляться к концу файла. vbCrLf - переход на следующую строку.
--------------------------------------------------------
По поводу минифорума. А где цикл-то сам??
Вообщем сначала в цикле формируйте текстовую переменную, а потом используйте:
For fi = 20 To 27
sReportedString = sReportedString + Str(fi) + vbCrLf
'...
Next fi
Open "c:eport.txt" For Output As #1
Print #1, sReportedString
Close #1
---------------------
Кстати, Chr$(13) + Chr$(10) тоже самое, что vbCrLf

---------
Bom Shankar!
Ответ отправил: PsySex (статус: Практикант)
Ответ отправлен: 16.04.2007, 22:09
Оценка за ответ: 5
Комментарий оценки:
Замечательно! Append помог, причём +vbCrLf писать вовсе не обязательно, режим доступа Append и так с новой строки добавляет символы.
>Кстати, Chr$(13) + Chr$(10) тоже самое, что vbCrLf
Новость для меня, благодарю, буду пользоваться.

Отвечает: AlbusFalco
Здравствуйте, Beruboi!

Open Путь_и_имя файла For Режим_открытия_файла as #номер_потока
Print #номер_потока, "строка"
Close #номер_потока

Режим_открытия_файла: Append, Binary, Output, или Random
Если вместо Append использовать Output, то файл (если он уже существует) будет перезатираться, а при Append строки будут добавляться в конец файла.

Приложение:

Ответ отправил: AlbusFalco (статус: 1-ый класс)
Ответ отправлен: 17.04.2007, 11:02
Оценка за ответ: 4
Комментарий оценки:
Тема раскрыта. Но уже не актуально...


Отправить вопрос экспертам этой рассылки

Приложение (если необходимо):

* Код программы, выдержки из закона и т.п. дополнение к вопросу.
Эта информация будет отображена в аналогичном окне как есть.

Обратите внимание!
Вопрос будет отправлен всем экспертам данной рассылки!

Для того, чтобы отправить вопрос выбранным экспертам этой рассылки или
экспертам другой рассылки портала RusFAQ.ru, зайдите непосредственно на RusFAQ.ru.


Форма НЕ работает в почтовых программах The BAT! и MS Outlook (кроме версии 2003+)!
Чтобы отправить вопрос, откройте это письмо в браузере или зайдите на сайт RusFAQ.ru.


© 2001-2007, Портал RusFAQ.ru, Россия, Москва.
Авторское право: ООО "Мастер-Эксперт Про"
Email: support@rusfaq.ru, тел.: +7 (926) 535-23-31
Авторские права | Реклама на портале
Версия системы: 4.50 (beta) от 15.04.2007
Яндекс Rambler's Top100

В избранное