Имя: Пароль:
1C
1С v8
Добавление строки в текстовый файл.
0 Калиостро
 
06.07.12
13:00
Надо добавить строку в конец текстового файла.
Сейчас делаю так:

   ИмяФайлаИни = КаталогОбмена + "ini.txt";  
   ИмяФайлаТмп = КаталогВременныхФайлов() + "tmp.txt";  
   
   ТекстЧтение = Новый ЧтениеТекста(ИмяФайлаИни, КодировкаТекста.ANSI);
   ТекстЗапись = Новый ЗаписьТекста(ИмяФайлаТмп, КодировкаТекста.ANSI);
       
   Стр = ТекстЧтение.ПрочитатьСтроку();
   
   Пока Стр <> Неопределено Цикл
       ТекстЗапись.ЗаписатьСтроку(Стр);
       Стр = ТекстЧтение.ПрочитатьСтроку();
   КонецЦикла;
   ТекстЧтение.Закрыть();
       
   Стр = """ИНН = " + СокрЛП(Организация.ИНН) + """,""Наименование=" + СокрЛП(Организация.Наименование) + """";
   ТекстЗапись.ЗаписатьСтроку(Стр);
   ТекстЗапись.Закрыть();
   
   КопироватьФайл(ИмяФайлаТмп, ИмяФайлаИни);


Чувствую, должен быть способ попроще. Собственно, в этом вопрос.
1 H A D G E H O G s
 
06.07.12
13:01
Я бы на месте 1С вас бы послал.
2 H A D G E H O G s
 
06.07.12
13:02
И "это" работает?  А что оно делает? А что должно?
3 Eugene_life
 
06.07.12
13:05
как-то так:
Текст = Новый ТекстовыйДокумент;
Текст.Прочитать("c:\temp\text.txt");
Текст.ДобавитьСтроку(Стр);
Текст.Записать("c:\temp\text.txt");
4 Jaap Vduul
 
06.07.12
13:06
ЗаписьТекста (TextWriter)
По имени файла
Синтаксис:

Новый ЗаписьТекста(<ИмяФайла>, <Кодировка>, <РазделительСтрок>, <Дописывать>, <РазделительСтрокВФайле>)

...

<Дописывать> (необязательный)

Тип: Булево. Если параметр принимает значение Истина, то содержимое файла сохраняется, если файл уже существует. Если файла не существует, создается новый с именем, указанным в первом параметре конструктора.
5 H A D G E H O G s
 
06.07.12
13:07
ППЦ, народ, вы в логику посмотрите.
6 PCcomCat
 
06.07.12
13:07
А вот так не проще, т.е. правильнее?

   Текст = Новый ТекстовыйДокумент;
   //Текст.Прочитать("C:\НакопленныеСуммы.txt",КодировкаТекста.ANSI);
   
       
       Текст.ДобавитьСтроку("АУ!");
       

   
   Текст.Записать("C:\НакопленныеСуммы.txt",КодировкаТекста.ANSI);
7 H A D G E H O G s
 
06.07.12
13:08
(6) Вооо
8 zharkin
 
06.07.12
13:09
Дописывать    = Истина;
   ЗаписьТекста = Новый ЗаписьТекста(ИмяФайлаПротокола, КодировкаТекста.UTF8, , Дописывать);
   ТекстСообщений     = "Начало проведения:   " + ТекущаяДата();
   ЗаписьТекста.ЗаписатьСтроку(ТекстСообщений);
   ....
   ТекстСообщений     = "Окончание проведения: " + ТекущаяДата();
   ЗаписьТекста.ЗаписатьСтроку(ТекстСообщений);
   ЗаписьТекста.Закрыть();
Оптимист верит, что мы живем в лучшем из миров. Пессимист боится, что так оно и есть.