Файлы

Тема в разделе "1C и всё что с ней связано", создана пользователем Vunda, 24 окт 2008.

Статус темы:
Закрыта.
  1. Vunda

    Vunda Гость

    Здраствуйте мне очень нужно:
    Проверить существует ли файл (например "test.ini") в папке с базой.
    Если нет создать, и записать в него несколько строк ("строка 1", "строка 2", "строка 3")
    Если есть прочитать значения в переменные ("перем 1", "перем 2", "перем 3")

    Подскажите пожалуйста как это сделать в 8 версии.
     
  2. x84

    x84 Гость

    Открывай конфигуратор, Справка - Поиск по справке, пишем в поле поиска слово "файл", тама находим функций работы с файлами.

    Я бы хранил значения в файле в разделенными каким то символом в виде строки, например вот так aaa$bbb$ccc, записывал и читал бы из файла эту строку и разбивал её на кусочки, получая значения переменных, для этого я бы использовал объект "ИзвлечениеТекста". Ну, почитай там и выбери удобный тебе вариант.
     
  3. Vunda

    Vunda Гость

    Спасибо, но лутше хранить разные параметры в разних строках, оно и читабельнее будет :)
    А по справках порыюсь...
    Только если можне какая функцыя возвращает значение каталога, где находиться база??
     
  4. SeverBap

    SeverBap Well-Known Member

    Регистрация:
    18 сен 2007
    Сообщения:
    440
    Симпатии:
    0
    Vunda
    КаталогИБ() - возращает каталог базы!!!
    Я бы разделял так: "Перем1","Перем2"
    А потом:
    Код (Text):
    Текст=СоздатьОбъект("Текст");
    Текст.КодоваяСтраница(1);
    Текст.Открыть(Каталог+ИмяФайла);
    Для Сч=1 По Текст.КоличествоСтрок() Цикл
    Стр=Текст.ПолучитьСтроку(Сч);
    Если ПустаяСтрока(Стр)=1 Тогда
    Продолжить;
    КонецЕсли;
    СписокЗначенийЗагрузки.УдалитьВсе();
    СписокЗначенийЗагрузки.ИзСтрокиСРазделителями(Стр);
    Перем1=СокрЛП(СписокЗначенийЗагрузки.ПолучитьЗначение(1));
    ......
    КонецЦикла;
    Полный код с выбором:
    Код (Text):
    Процедура кнОткрыть()
    Фильтр="txt";
    ИмяФайла="";
    Каталог="";
    Стр="Файл загрузки (*." + Фильтр + ")|*." + Фильтр + "";
    Если ФС.ВыбратьФайл(0,ИмяФайла,Каталог,"Открыть файл",Стр,,)=0 Тогда
    Возврат;
    КонецЕсли;
    ТаблицаДанных.УдалитьСтроки();
    СписокЗначенийЗагрузки=СоздатьОбъект("СписокЗначений");
    Текст=СоздатьОбъект("Текст");
    Текст.КодоваяСтраница(1);
    Текст.Открыть(Каталог+ИмяФайла);
    Стр=Текст.ПолучитьСтроку(1);
    СписокЗначенийЗагрузки.УдалитьВсе();
    СписокЗначенийЗагрузки.ИзСтрокиСРазделителями(Стр);
    Если СписокЗначенийЗагрузки.ПолучитьЗначение(1)="DataBaseForPODR_ALL:PODRAZ-NAME" Тогда
    Для Сч=2 По Текст.КоличествоСтрок() Цикл
    Стр=Текст.ПолучитьСтроку(Сч);
    СписокЗначенийЗагрузки.УдалитьВсе();
    СписокЗначенийЗагрузки.ИзСтрокиСРазделителями(Стр);
    Если ПустаяСтрока(Стр)=1 Тогда
    Продолжить;
    КонецЕсли;
    ТаблицаДанных.НоваяСтрока();
    ТаблицаДанных.Статус=НеОбработан;
    ТаблицаДанных.Код=Число(СокрЛП(СписокЗначенийЗагрузки.ПолучитьЗначение(1)));
    ТаблицаДанных.Наименование=СокрЛП(СписокЗначенийЗагрузки.ПолучитьЗначение(2));
    Состояние("Количество записей: "+Сч);
    КонецЦикла;
    ТаблицаДанных.Сортировать("+Код");
    КонецЕсли;
    КонецПроцедуры
     
  5. Vunda

    Vunda Гость

    У меня в 8 версии не катит
     
  6. vitfil

    vitfil IT-интегратор

    Регистрация:
    2 апр 2004
    Сообщения:
    2.070
    Симпатии:
    0
    Vunda
    Конечно не катит. Вот что бывает, когда в названии темы не указана версия 1С.
    КаталогИБ() работает в 7.7
     
Загрузка...
Похожие Темы - Файлы
  1. lmike
    Ответов:
    27
    Просмотров:
    258
  2. garrick
    Ответов:
    25
    Просмотров:
    660
  3. sgfsdg
    Ответов:
    1
    Просмотров:
    427
  4. vovanabali
    Ответов:
    0
    Просмотров:
    535
  5. anatoliygorbunov
    Ответов:
    1
    Просмотров:
    753
Статус темы:
Закрыта.

Поделиться этой страницей