Язык программирования Перфолента.Net - Официальный сайт

 Язык программирования Перфолента.Net - Официальный сайт.

Поиск   
Главная :: О проекте :: Контакты :: Обратная связь :: Благодарности :: ВходГость

   >   >   > 


Пример «Работа с COM объектами»

Файлы:

  • Интеграция
    • Работа с COM объектами.перфо

Пример программы на языке программирования Перфо:



//Эта программа написана на языке Перфо
//для демонстрации работы с COM объектами

// Пример 1.
// Работа с объектом Shell

//(Перем Шелл (Новый COMОбъект "Shell.Application"))
(Перем Шелл (ГлобальныйМодуль.ПолучитьCOMОбъект "" "Shell.Application"))
(Вывод "Число открытых окон проводника = " (.(Шелл.Windows)Count) пс)
(Вывод "Объём памяти компьютера = " (Шелл.GetSystemInformation "PhysicalMemoryInstalled") пс)
//Важно!!! Если не освободить COMОбъект, то он останется в памяти до конца программы,
//а может и вовсе остаться висеть в памяти после завершения программы (зависит от устройства объекта). 
(COMОбъект.Освободить Шелл)


// Пример 2.
// Работа с Эксель. 

//Для правильной работы программы в текущем каталоге
//должен существовать файл Книга.xls,
//а на компьютере должна быть установлена программа Excel

(Попытка(
    (Перем Эксель (ГлобальныйМодуль.ПолучитьCOMОбъект "" "Excel.Application"))
    (Перем Книга (.(Эксель.Workbooks)Open (& ФС.ТекущийКаталог "Книга.xls")))
    (Вывод "Тип объекта ""Книга"" = " (ТипЗнчСтр Книга) пс)
    (Перем НомПП 0)
       (ДляКаждого (Лист Книга.Sheets)
       
           (++ НомПП) 
       
           (Вывод "Имя листа = " Лист.Name пс)
       
           (Вывод "(.(Лист.Cells 1 1)Value) = " (.(Лист.Cells 1 1)Value) пс)
           
           (Вывод "(.(Лист.Cells 2 1)Value) = " (ЕслиНеопределено (.(Лист.Cells 2 1)Value) "") пс)
           
           (Уст . (Лист.Cells 2 1) Value "77")
           
           //после второго листа можем вызвать ошибку
           //что бы убедиться, что Эксель закроется нормально и в этом случае
           //(Если (= НомПП 2) (ошибочный_идентификатор))
           
       )//КонецЦикла
       
       (Книга.Save)
   )
   //Исключение
   (    
       (Вывод "Ошибка: " ОписаниеОшибки пс)
   )
   //Завершение
   (
       //закрываем книгу и выходим из Экселя
       
       //Внимание!!! Эксель может спросить "Сохранить ли файл?"
       //но на Windows 10 (а может и на других)
       //диалог вопроса может оказаться под окном консоли !!!!!!!
       //а вы подумаете, что программа зависла...
       
       (Если (Определено? Эксель) //эта проверка на случай, если СОМ объект не получилось создать
         (
           (.(Эксель.ActiveWorkbook)Close)
           (Эксель.Quit)
           (Вывод "Эксель закрыт!" пс)
         )
       )     
       (COMОбъект.Освободить Эксель)
       (Вывод "Эксель особожден!" пс)
   )
)//КонецПопытки



К началу статьи


Вернуться в раздел:
Примеры по языку Перфо

Перейти в раздел:
Примеры
  Поддержи проект!

Вы можете поддержать разработку Перфоленты, перечислив любую удобную сумму, которая пойдет на развитие языка и поддержку инфраструктуры сайта.

  Новости:
      21.01.2026 На сайт добавлена статья "Конструируем класс. События"
      20.01.2026 Опубликован новый релиз 0.4.18.0_NY языка программирования Перфолента.Net
      29.12.2025 Анонс: Новая возможность - разрабатываем веб-сайты, веб-приложения и веб-API на Перфоленте!
      07.06.2025 Небольшие дополнения к документации на сайте - описание атрибута поля &Атомарное
      09.05.2025 На сайте опубликован релиз 0.4.16.0_SE дистрибутива языка программирования Перфолента.Net
      27.04.2025 Дополнена статья про циклы
      04.01.2025 Опубликован новый релиз дистрибутива языка программирования Перфолента.Net версии 0.4.15.0_CE
      23.09.2024 Опубликована новая статья: "Конструируем класс. Делегаты."
      30.08.2024 Опубликован новый релиз дистрибутива языка программирования Перфолента.Net версии 0.4.14.0
      24.05.2024 Обновлён справочный раздел сайта
      01.07.2023 Новая версия 0.4.13.0 языка программирования Перфолента.Net
       Все новости