Рассылка закрыта
При закрытии подписчики были переданы в рассылку "BloggLand и Я | Блоггландия" на которую и рекомендуем вам подписаться.
Вы можете найти рассылки сходной тематики в Каталоге рассылок.
← Сентябрь 2005 → | ||||||
1
|
3
|
4
|
||||
---|---|---|---|---|---|---|
5
|
6
|
7
|
8
|
9
|
10
|
11
|
12
|
13
|
14
|
15
|
16
|
17
|
18
|
19
|
20
|
22
|
23
|
24
|
25
|
|
26
|
27
|
28
|
29
|
30
|
Статистика
0 за неделю
#48:
Информационный Канал Subscribe.Ru |
.Net Собеседник #48
Содержание- От автора
- Обзор новостей
- Взаимодействуем с ОС через .NET и WMI
- Время кода - Ключевые слова на C# : B
- Форумы .Net на www.sql.ru
От автора
Здравствуйте, коллеги!
На этом всё- желаю интересного чтения.
Обзор новостей
-
Вышел
Aspose.Word 3.1
- Aspose.Word - компонент для работы с документами в формате Word, который позволяет вам читать и писать документы Word без использования Microsoft Word и автоматизации Microsoft Office в приложениях .Net, которые работают как на сервере, так и на клиенте.
-
Вышел
ExcelLite 2.0
- Используя этот, на 100% управляемый компонент .Net, легко создавать, конвертировать, читать и писать файлы в формате Microsoft Excel (как XLS, так и CSV).
ExcelLite является высокопроизводительным компонентом (как по оптимальному использованию памяти, так и по скорости работы) в части создания, конвертирования, записи и чтения файлов в формате Microsoft Excel (файлы XLS в формате BIFF или файлы CSV в текстовом формате) без задействования самого Microsoft Excel – в его присутствии нет надобности ни на машине разработчика ни на машине клиента. - Используя этот, на 100% управляемый компонент .Net, легко создавать, конвертировать, читать и писать файлы в формате Microsoft Excel (как XLS, так и CSV).
-
Вышел IrisSkin для
Microsoft VisualStudio.NET(Winforms)
- Sunisoft выпустила новую версию IrisSkin для разработчиков, использующих Microsoft VisualStudio.NET (Winforms).
IrisSkin является самым простым решением по созданию скинов для приложений .NET, разрабатываемых в Microsoft VisualStudio.NET (WinForms). С помощью этого продукта скин автоматически налагается на все формы вашего приложения. И вам никогда не придётся тратить массу времени на программирование поддержки скинов в вашем приложении. - Sunisoft выпустила новую версию IrisSkin для разработчиков, использующих Microsoft VisualStudio.NET (Winforms).
-
Вышли Web Services Enhancements (WSE) 3.0 Beta для Microsoft .NET
- WSE 3.0 упрощают разработку и установку безопасных веб-сервисов.
-
Вышел
веб-вариант Source Safe – SS Web Interface 1.3.6
- Эта версия содержит много обновлений и исправлений, которые привели к улучшению производительности. Появились также такие новшества, как поддержка Visual Diff и поддержка установщика для Microsoft Small Business Server.
-
Вышел поставщик данных Firebird ADO.NET Data Provider 2.0 Alpha 2
- Доступен для скачивания Firebird ADO.NET Data Provider 2.0 (также известный как FirebirdClient). Firebird – сервер баз данных с открытым исходным кодом, который использует базы данных выполненные одним файлом.
-
Доступна августовская Visual
Studio 2005 CTP
- На сайте MSDN выложена августовская предварительная версия Visual Studio 2005 August CTP, которая доступна всем подписчикам MSDN. Версия содержит редакцию Professional, Standard, Visual Studio Team System, Team Foundation Server и Visual Studio Tools for Office.
Статья номера
Взаимодействуем с ОС через .NET и WMI
ЯЗЫК: C#
Автор статьи: Тони Паттон, полную версию статьи читайте в №5 журнала "Алгоритм"
ПЕРЕВОД: Чужа В.Ф. ака hDrummer
Обзор WMI
WMI предлагает управленческую функциональность. Она доступна на Windows XP и на некоторых Windows более ранних версий. Файл System.Environment.dll поддерживает функциональность WMI, поэтому ссылка на него должна быть добавлена в приложение .NET. Он также использует COM для работы с операционной системой.
Вы можете создать свои собственные поставщики (или провайдеры). WMI включена в ОС Windows начиная с Windows ME, но доступные провайдеры зависят от версии Windows. Microsoft предлагает также инструменты администрирования WMI, с помощью которых можно посмотреть, например, какие из провайдеров вам доступны.
WMI в действии
Основная идея WMI нам ясна, теперь посмотрим на неё в коде .NET. Добавим ссылку на файл System.Environment.dll в ваш проект, а также пространство имён System.Environment в ваш код (пишем using в C#, import в J# и Imports в VB.NET). В следующем примере мы получим доступ ко многим параметрам системы:
using System; using System.Management; namespace Builder { class WMIExample { [STAThread] static void Main(string[] args) { try { ManagementObject mo = new ManagementObject("Win32_ComputerSystem.Name=\"PENTIUM4\""); Console.WriteLine("Описание: " + mo["Description"].ToString()); Console.WriteLine("Модель: " + mo["Model"].ToString()); Console.WriteLine("Число процессоров: " + mo["NumberOfProcessors"].ToString()); } catch (ManagementException e) { Console.WriteLine("Сгенерировано исключение: " + e.ToString()); } catch (Exception e) { Console.WriteLine("Сгенерировано исключение: " + e.ToString()); } } } } |
Обращу ваше внимание на некоторые участки кода. Во-первых, объект класса ManagementObject используется для работы с WMI. Вы можете использовать объект класса ManagementObject для работы с любым объектом, доступным через WMI. Класс WMI (Win32_ComputerSystem.Name="Pentium") используется для создания объекта MangementObject. Можно использовать уже упомянутые инструменты администрирования (WMI Object Browser или Просмотрщик Объектов WMI) для просмотра классов WMI, доступных на целевой системе. И, конечно, все полученные значения можно не только считывать, но и изменять.
Функциональность, доступная при необходимости
WMI является важным аспектом .NET Framework, которой уделяется мало внимания. Этот инструментарий позволяет вам взаимодействовать и манипулировать многими аспектами системы, на которой работает приложение. К тому же, можно отслеживать изменения в системе с помощью WMI с помощью событий.
Время кода
Ключевые слова на C# : B
ЯЗЫК: C#
Автор статьи: В.Чужа ,
полную версию статьи читайте в №4 журнала "Алгоритм"
bool
Итак, продолжим наш рассказ. Сегодня мы поговорим о ключевом слове bool, которое является псевдонимом к типу System.Boolean. Переменные этого типа (или структуры, если вам будет угодно) служат для хранения значений true и false. Объявление самой структуры выглядит таким образом:
Листинг 1. Реализация метода CompareTo в структуре System.Boolean |
public sealed virtual int CompareTo(object obj) { if (obj == null) {return 1;} if (!(obj is Boolean)) {throw new ArgumentException(Environment.GetResourceString("Arg_MustBeBoolean"));} if (m_value == ((bool)obj).m_value) {return 0;} if (!m_value) { return -1;} else {return 1;} } |
Наибольший интерес представляет собой некая переменная m_value, которая является ни чем иным, как членом структуры, имеющей тип bool и хранящей текущее значение переменной этого типа.
Что касается интерфейса IConvertible, то мы знаем, что он содержит описания методов, конвертирующих значение одного типа в значение другого типа. Один из методов этого интерфейса, реализованный в нашей структуре, выглядит так, как показано в Листинге 2. Здесь можно обратить внимание на два момента. Первый – конверитруется уже знакомая нам переменная m_value. Второй – метод не является совместимым с CLS (Common Language Specification или Общей Спецификацией Языка).
Листинг 2. Метод, конвертирующий булево значение в целое типа ushort. |
[CLSCompliantAttribute(false)] ushort IConvertible.ToUInt16(IFormatProvider provider) { return Convert.ToUInt16(m_value); } |
Примеры
В примере, приведенном в Листинге 5, мы просим пользователя программы ввести один символ, а затем, пользуясь булевыми переменными, выводим информацию об этом символе – является ли он буквой и, если да, то, в каком регистре она введена.
Листинг 5. Пример использование булевых переменных |
using System; namespace boolproject { class BoolExample { [STAThread] static void Main(string[] args) { bool charIsLetter = false; bool charIsUpper = false; Console.Write("Введите 1 символ: "); char c = (char)Console.Read(); if (Char.IsLetter(c)) { charIsLetter = true; Console.WriteLine("Ваш символ является буквой {0}.", c); if (Char.IsUpper(c)) { charIsUpper = true; Console.WriteLine("Ваш символ является буквой в верхнем регистре."); } } if (charIsLetter==false) { Console.WriteLine("Вы ввели не букву."); } else { if (charIsUpper==false) { Console.WriteLine("Вы ввели маленькую букву."); } } }}} |
В следующем примере, приведенном в Листинге 6, мы увидим как можно упаковать и распаковать переменную булевого типа.
Листинг 6. Упаковка и распаковка переменной булевого типа. |
using System; namespace boolproject { internal class BoolExample2 { [STAThread] private static void Main(string[] args) { bool test = true; /*упаковка, можем упаковать, * т.к. стурктуры хранятся в стеке */ object booltest = test; Console.WriteLine(booltest); //вывод на консоли: True bool testfalse = false; //распаковка testfalse = (bool)booltest; Console.WriteLine(testfalse); //вывод на консоли: True } } } |
Упаковкой называется процесс преобразования структурного типа (который размещается в стеке) в ссылочный (находящийся в управляемой куче). При этом в управляемой куче создаётся новый объект, которым в нашем случае является object booltest, в него копируются все внутренние данные из переменной структурного типа. При распаковке происходит обратный процесс – объект из управляемой кучи (всё тот же booltest) копируется в переменную структурного типа (bool testfalse), однако перед самим процессом копирования проверяется, совпадает ли тип упакованной переменной со структурным типом и, если нет, то генерируется исключение.
{К содержанию}
Форумы .Net - вопросы оставшиеся без ответа
Анонимный
доступ к Sharepoint'у
Что лучше
Графики
и диаграммы
Mono
(.Net) + PostgreSQL8 - кодировка :(
интересные
штуки происходят иногда с VALIDATION контролами
Помогите
с CR!
Загвогдка
с TextBox
Как
контролировать работу принтера в Windows?
Построчное
сохранеие в гриде! Как? (VS 2005)
До следующего номера.
Чужа Виталий Ф. aka hDrummer, MCAD, MCDBA, MCP
hdrummer ухо gmail точка ru - жду ваши предложения и замечания.
Subscribe.Ru
Поддержка подписчиков Другие рассылки этой тематики Другие рассылки этого автора |
Подписан адрес:
Код этой рассылки: comp.soft.prog.dotnetgrains |
Отписаться
Вспомнить пароль |
В избранное | ||