1. Требуются разработчики и тестеры для проекта codebyOS. Требования для участия в проекте: Знание принципов работы ОС на базе Linux; Знание Bash; Крайне желательное знание CPP, Python, Lua; Навыки системного администрирования. Подробнее ...

    Скрыть объявление
Скрыть объявление

Уважаемый Гость, в 23:30 по мск форум будет закрыт на профилактику на 1,5 часа до 01:00 24.10.2017

работа с файлами *.xls

Тема в разделе "1C и всё что с ней связано", создана пользователем Stim, 13 фев 2007.

  1. Stim

    Stim Гость

    Репутация:
    0
    Никак не могу найти решение своей задачи, если у кого-нибудь есть желание и возможность, то помогите составить алгоритм/программу для открытия из заданого каталога всех файлов с заданым расширением.
     
  2. Zab

    Zab Well-Known Member

    Репутация:
    0
    Регистрация:
    7 авг 2006
    Сообщения:
    583
    Симпатии:
    0
    Алгоритм:
    1.Начало
    2.Получаем очередной файл
    3.Если файл получен, идем на п.4.
    иначе на п.5
    4.Если расширение = заданному, открываем файл
    иначе идем к п.2
    5.Конец
     
  3. Zab

    Zab Well-Known Member

    Репутация:
    0
    Регистрация:
    7 авг 2006
    Сообщения:
    583
    Симпатии:
    0
    Код:
    	
    ПроцедураОткрытьФайлы(Путь, Маска=)
    ИмяФайла=ФС.НайтиПервыйФайл(Путь+Маска); 
    Пока Сокрлп(ИмяФайла)<>"" Цикл
    ИмяФайла=ФС.НайтиСледующийФайл();
    Если (ИмяФайла<>"") И (ИмяФайла<>".") И (ИмяФайла<>"..") Тогда 
    ФС.АтрибутыФайла(Путь+ИмяФайла,,АтрибФайла,,,,); 
    АтрибФайла=Сред(АтрибФайла,4,1); 
    Если (АтрибФайла<>"1") тогда
    Если (Прав(ИмяФайла,4)=".xls") тогда	 
    ПутькФайлу=Путь+ИмяФайла;
    ИмяФайла=Лев(ИмяФайла,СтрДлина(ИмяФайла)-4);					
    // Выполняем действия по открытию файла
    КонецЕсли;	
    КонецЕсли;
    КонецЕсли;	
    КонецЦикла;
    Код не мой, думаю, можно написать оптимальнее, но работает. Надеюсь поможет.
    И ты перестанешь флудить во всех ветках форума...
     
  4. Stim

    Stim Гость

    Репутация:
    0
    Ура... щас попробую интегрировать это в мою программу. З.ы я тоже надеюсь поможет, а флуда небыло, был оффтоп, за что награжден уже предупреждением. Спасибо что помог.
     
  5. Stim

    Stim Гость

    Репутация:
    0
    ммм...так 1ый же файл не будет читаться ??
    ИмяФайла=ФС.НайтиПервыйФайл(Путь+Маска);
    Пока Сокрлп(ИмяФайла)<>"" Цикл
    ИмяФайла=ФС.НайтиСледующийФайл();
    т.к в цикле сразу стоит найтиследфайл.
    так будет правильно
    Код:
    	ПроцедураОткрытьФайлы(Путь, Маска=)
    ИмяФайла=ФС.НайтиПервыйФайл(Путь+Маска); 
    Пока Сокрлп(ИмяФайла)<>"" Цикл
    Если (ИмяФайла<>"") И (ИмяФайла<>".") И (ИмяФайла<>"..") и 
    (ИмяФайла=ФС.НайтиПервыйФайл(Путь+Маска)) тогда
    ФС.АтрибутыФайла(Путь+ИмяФайла,,АтрибФайла,,,,); 
    АтрибФайла=Сред(АтрибФайла,4,1); 
    Если (АтрибФайла<>"1") тогда
    Если (Прав(ИмяФайла,4)=".xls") тогда	 
    ПутькФайлу=Путь+ИмяФайла;
    ИмяФайла=Лев(ИмяФайла,СтрДлина(ИмяФайла)-4); 
    // Выполняем действия по открытию файла
    КонецЕсли;	
    КонецЕсли;
    иначе
    ИмяФайла=ФС.НайтиСледующийФайл();
    если (ИмяФайла<>"") И (ИмяФайла<>".") И (ИмяФайла<>"..") тогда
    ФС.АтрибутыФайла(Путь+ИмяФайла,,АтрибФайла,,,,); 
    АтрибФайла=Сред(АтрибФайла,4,1); 
    Если (АтрибФайла<>"1") тогда
    Если (Прав(ИмяФайла,4)=".xls") тогда	 
    ПутькФайлу=Путь+ИмяФайла;
    ИмяФайла=Лев(ИмяФайла,СтрДлина(ИмяФайла)-4); 
    // Выполняем действия по открытию файла
    
    КонецЕсли;	
    КонецЕсли;
    КонецЕсли;
    конецЦикла;
    ммм.да, некрасиво получилось, но надеюсь читабельно. :blink:
    зачем это нужно можешь пояснить???
     
  6. Zab

    Zab Well-Known Member

    Репутация:
    0
    Регистрация:
    7 авг 2006
    Сообщения:
    583
    Симпатии:
    0
    А это не важно, т.к. первый файл это ".". А нам он не нужен.
    Хочешь, чтоб было правильнее, опусти получение следующего файла в конец цикла. :blink:
    Чтобы не брать каталоги
    Согласен, что исходный код для тебя не оптимален, я всего-навсего нарезал тебе куски исходника, с несклоько большей функциональностью. Но ты что-то странное натворил ;)
    Извини, не вникал сильно в твой код, но, ИМХО, он нерабочий, т.к. цикл будет вечным.
    ты постоянно получаешь первый файл.
     
  7. Stim

    Stim Гость

    Репутация:
    0
    да чото намудрил... опустить в конец мудрое решение )))) сэнк ю еще раз
     
Загрузка...
Похожие Темы - работа файлами xls
  1. gx6060
    Ответов:
    2
    Просмотров:
    1.915
  2. seoman2
    Ответов:
    21
    Просмотров:
    1.219
  3. NickProstoNick
    Ответов:
    22
    Просмотров:
    1.732
  4. vladis222
    Ответов:
    3
    Просмотров:
    1.229
  5. Lyuska
    Ответов:
    1
    Просмотров:
    1.245

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