ПОСЛЕДНИЕ ФАЙЛЫ
Исходник антивируса DevelStuido
Исходник антивируса DevelStuido
Категория: Исходники
Комментарии: 3
Загрузок: 169
Браузер Волдер
Браузер Волдер
Категория: Прочее
Комментарии: 1
Загрузок: 82
Работа с горячими клавишами
Работа с горячими клавишами
Категория: Примеры
Комментарии: 1
Загрузок: 0
Компонент таблица
Компонент таблица
Категория: Примеры
Комментарии: 2
Загрузок: 97
Динамическое создание компонентов
Динамическое создание компонентов
Категория: Исходники
Комментарии: 1
Загрузок: 119
СТАТИСТИКА САЙТА
Всего: 385
Новых за месяц: 0
Новых за неделю: 0
Новых вчера: 0
Новых сегодня: 0
Онлайн всего: 1
Гостей: 1
Пользователей: 0
ОПРОС САЙТА
Чего больше заливать?
СВЕЖИЕ СТАТЬИ
Выравнивание компонентов
Выравнивание компонентов
Комментарии: 0
Просмотров: 1565
"Асинхронный" вызов функций используя потоки
Использование .NET Framework'а в Devel Studio
Использование .NET Framework'а в Devel Studio
Комментарии: 0
Просмотров: 2835
Конвертирование EXE в DVS проект
Конвертирование EXE в DVS проект
Комментарии: 6
Просмотров: 2784
Добавляем формы в компонент TPageControl.
Добавляем формы в компонент TPageControl.
Комментарии: 0
Просмотров: 2082


Использование .NET Framework'а в Devel Studio
Использование .NET Framework'а в Devel Studio
Вступление

Программированием на PHP я занялся не слишком то и давно, и поэтому особого опыта разработки на этом языке не имел, но зато у меня имеется неплохой опыт программирования с использованием модного нынче .NET Framework'а, возможности данной штуки безграничны, тем более, что он установлен почти на каждом компьютере.

Что сподвигло меня на написание данной статьи?

Ну, во-первых, навеяно этой темой, о использовании COM объектов в своих программах на Devel Studio.

Во-вторых, изучение PHP и DevelStudio wink

По умолчанию, фреймворк не доступен как COM объект для пользователей, но разработчики оставили такую шикарную возможность всем программистам, которые не хотят изучать отдельные языки для разработки с использованием .NET Framework'а.

Немного пошевелив извилинами, мне взбрело — а почему бы не попробовать аналогично использовать классы фреймворка как COM объекты в Devel Studio?

Трюк заключается в следующем, в папке с фреймворком есть файл — RegAsm.exe, сие файл позволяет регистрировать dll библиотеки фреймворка в системе как COM объект, и тем самым давая нам шикарную возможность их дальнейшего использования.

Запускаем командную строку (Пуск->Выполнить->cmd.exe), и прописываем:
Код
%WinDir%\Microsoft.NET\Framework\v2.0.50727\RegAsm.exe System.dll


Вот и все, теперь весь .NET Framework доступен для нашего использования!

Описание классов

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

Код
System.Net — Классы для работы с сетью
  System.Text — Классы для работы с текстом (кодировки)
  System.IO — Классы для работы с файловой системой
  System.Threading — Классы для работы с потоками
  System.Xml — Классы для работы с Xml
  System.Runtime — Использование Windows API
  System.Security — Безопасность, криптография
  System.CodeDom — Компилятор .NET сборок


В общем то это малая часть всего доступного нам, у большинства классов есть подклассы, объекты которых нам также доступны для использования.

Использование

Ну а теперь самое интересное! Рассмотрим парочку примеров использования фреймворка в Devel Studio.

Для начала рассмотрим что-нибудь простенькое, например WebClient, объект находится в пространстве имен System.Net и это необходимо учитывать при декларации объекта:
Код
$web = new COM('System.Net.WebClient');


Теперь мы можем использовать все методы этого объекта, к примеру загрузить исходный код страницы:
Код
$source = $web->DownloadString('http://develnet.ru/');


Или загрузить файл из интернета:
Код
$web->DownloadFile('http://site.com/file.exe', 'C:\file.exe');


Теперь рассмотрим объект SoundPlayer, он доступен в System.Media, для начала так же создадим объект:
Код
$player = new COM('System.Media.SoundPlayer');


Укажем путь к аудио файлу и воспроизведем его
Код
$player->SoundLocation = "C:\sound.wav";
$player->Play();


Ну а теперь пойдем дальше, создадим собственную форму для приложения. Перед началом зарегистрируем эту библиотеку, т.к. классы из нее будут использоваться отдельно:
Код
%WinDir%\Microsoft.NET\Framework\v2.0.50727\RegAsm.exe System.Windows.Forms.dll


Далее пишем:
Код
$form = new COM('System.Windows.Forms.Form');
$form->Text = "My Form"; // Заголовок
$form->Show(); // Показываем

В итоге при запуске у нас вылезет 2 формы, одна созданная Devel Studio, другая, нами при помощи фреймворка wink

Аналогичным способом можем создать кнопку
Код
$button = new COM('System.Windows.Forms.Button');
$button->Text= "Hello World!";
$button->Left= 170;
$button->Top = 120;
$button->Width = 150;
$button->Height = 20;


Но при добавлении на форму:
Код
$form->Controls->Add($button);


Возникает ошибка:
Код
main(): variant->zval: conversion from 0xd ret=-1


Возможно гуру помогут разобраться в чем именно проблемы)

В заключение

В .NET фреймворке огромнейшее количество всяческих классов, естественно для всего примеры привести не является возможным, но в помощь я могу предложить официальный онлайн справочник MSDN, в нем описаны все классы и все основные методы, а так же из какой библиотеки они идут + пример использования на VB.NET и/или C#
  • Просмотров: 2835
  • Добавил: Kzander
  • Комментарии: 0
  • Дата: 11.04.2013