Рассылка закрыта
При закрытии подписчики были переданы в рассылку "BloggLand и Я | Блоггландия" на которую и рекомендуем вам подписаться.
Вы можете найти рассылки сходной тематики в Каталоге рассылок.
← Декабрь 2004 → | ||||||
1
|
2
|
3
|
4
|
5
|
||
---|---|---|---|---|---|---|
7
|
8
|
9
|
10
|
11
|
12
|
|
13
|
15
|
16
|
17
|
18
|
19
|
|
20
|
22
|
23
|
24
|
25
|
26
|
|
27
|
29
|
30
|
31
|
Статистика
0 за неделю
В двадцать восьмом выпуске рассылки '.Net Собеседник' вы можете прочесть обзор новых компонент и продуктов, разработанных с использованием платформы .Net, узнать, что должен знать программист ASP.NET о доменах приложения,
Информационный Канал Subscribe.Ru |
.Net Собеседник #28
Содержание- От автора
- Обзор новостей
- Что должен знать программист ASP.NET о доменах приложения
- Время кода - Раскладка клавиатуры и выбор языка
- Форумы .Net на www.sql.ru
От автора
Здравствуйте, коллеги!
Каким образом можно получить список логических дисков в системе на C#? Да очень просто:
using System;
namespace hDrummer.LogicalDrives { class LogicalDrives { [STAThread] static void Main(string[] args) { string[] LogicalDrives = Environment.GetLogicalDrives(); foreach(string s in LogicalDrives) { Console.WriteLine(s); } }}} //Вывод на экране - //A:\ //C:\ //D:\ //E:\ |
На этом всё - желаю интересного чтения.
Обзор новостей
-
Вышел JNBridgePro 2.2 – решение
для взаимодействия Java/.NET
- JNBridge выпустила JNBridgePro 2.2, последнюю версию для взаимодействия Java/.NET платформ. Бесплатная, полнофункциональная версия с ограничением по времени использования доступна по адресу www.jnbridge.com.
-
Вышел ASP Painter .NET 2.0
- ASPPainter .NET может быть использован для создания новых и редактирования существующих рисунков. Компонент работает с несколькими изображениями одновременно. Полный исходный код доступен для разработчиков.
-
Особенности
ReSharper IDE
- JetBrains, Inc. собирает информацию от членов сообщества .NET о функциональности, которую они хотели бы видеть в следующих версиях ReSharper IDE. Заполнившие анкету могут выиграть от 1 до 20 лицензий на ReSharper (плагин для VS .NET 2003).
-
Вышла новая версия
.netCHARTING 3.0 ASP.NET
- Просто новая версия хорошего компонента для отображения графиков и диаграмм на ваших веб-страничках.
-
Вышел
RichSuite
- Richer Components объявила о выходе RichSuite. RichSuite предлагает все свои компоненты в одном пакете - RichTextBox, RichDatePicker, RichSlider, и компонент, который скоро выйдет - RichHelpTip. Доступна бесплатная версия с ограничением времени использования.
Что должен знать программист ASP.NET о доменах приложения
Что должен знать программист ASP.NET о доменах приложения
ЯЗЫК:
Автор статьи: Scott Allen
ПЕРЕВОД: Чужа В.Ф. ака hDrummer
Тогда, когда мы запускаем программу Notepad в Windows, программа
исполняется в контейнере, известном как «процесс». Мы можем запустить несколько
экземпляров приложения Notepad, и каждый из них будет запущен в своём процессе.
Используя приложение Диспетчер Задач, можно просмотреть все процессы,
запущенные в нашей системе.
Познакомимся с доменом приложения
.NET представляет нам концепцию домена приложения или AppDomain.
Также, как и процесс, AppDomain является одновременно контейнером и
ограничителем. Библиотека времени выполнения .NET использует AppDomain как
контейнер для кода и данных, также, как это делает операционная система (ОС) в
случае с процессом. Также, как ОС поступает с процессом, изолируя его на случай
выполнения ошибочного кода, так и .NET использует AppDomain для изолирования
кода в безопасных границах.
Домены приложения и Вы
Вы создали два приложения ASP.NET на одном и том же сервере и не
делали никакой дополнительной конфигурации. Что произойдёт?
Теневые копии и рестарты
После того, как сборка загружена в AppDomain, уже нет способа
удалить её оттуда. Однако, есть возможность удалить сам домен приложения из
процесса.
Хозяин вашего домена
Домены приложения заменяют процесс ОС в качестве единицы изоляции кода .NET. Понимание концепции доменов приложений даст вам ощущение понимания того, что происходит за кулисами во время работы приложения ASP.NET. Используя свойство CurrentDomain класса AppDomain, вы можете исследовать свойства домена, в котором исполняется ваш код, включая настройки «Теневой Копии», о которой мы говорили в этой статье.
Время кода
Раскладка
клавиатуры и выбор языка
В этой статье рассказывается каким образом можно написать приложение WinForm,
которое автоматически устанавливает язык ОС.
ЯЗЫК: C#
АВТОР: Yariv Amar,
Информация об авторе
ПЕРЕВОД: Чужа В.Ф ака hDrummer
Код к статье:
TestLanguage.zip
Вступление
Я уверен, что большинство неангличан ОС Windows устанавливают как минимум с двумя языками. Руками сменить язык можно с использованием ALT+CTRL, но что делать, если вы хотели бы написать приложение WinForm, которое делало бы это автоматически? Читайте дальше.
Работаем с Windows API
Прочтите пожалуйста статью
C# и API' №79.
В этой статье я покажу как использовать:
- LoadKeyboardLayout
- GetKeyboardLayoutName
- Идентификатор языка: (полный список есть здесь - таблица языков)
Идентификатор | Язык |
0x0000 | Языконезависимый |
0x0409 | Английский (US) |
0x040d | Иврит |
Пример кода
OK, теперь, обладая необходимой информацией, можно приступить к
работе. В этом демонстрационном примере я покажу как создать библиотеку
LanguageSelector. Создадим новый проект C# - библиотеку классов, назовём её
LanguageSelector. Добавим:
using System.Runtime.InteropServices; |
const uint KLF_ACTIVATE = 1; //активизируем
раскладку
const int KL_NAMELENGTH = 9; // длина буфера клавиатуры const string LANG_EN_US = "00000409"; const string LANG_HE_IL = "0000040d"; |
Теперь импортируем функцию LoadKeyboardLayout из “user32.dll”
[DllImport("user32.dll")] private static extern
long LoadKeyboardLayout(
string pwszKLID, // передаём идентификатор местных специфик uint Flags // и его настройки ); |
Также импортируем функцию GetKeyboardLayoutName:
[DllImport("user32.dll")]
//[out] строка, получающая имя локального идентификатора private static extern long GetKeyboardLayoutName(System.Text.StringBuilder pwszKLID); |
Добавляем функциональность - Получаем имя текущей раскладки клавиатуры
Нижеследующий код является обёрткой для функции GetKeyboardLayoutName в более удобной форме, которую мы используем позже.
public static string getName() { System.Text.StringBuilder name = new System.Text.StringBuilder(KL_NAMELENGTH); GetKeyboardLayoutName(name); return name.ToString(); } |
Смена расладки клавиатуры
Следующие две функции принудительно сменяют раскладку клавиатуры. На моей машине установлены Еврейская и Английская раскладки, также можно добавить дополнительные языки – по желанию, используя соответствующий идентификатор языка.
public static void Hebrew()
{ //загружаем и активизируем раскладку для текущей нити LoadKeyboardLayout(LANG_HE_IL, KLF_ACTIVATE); } public static void English() { //загружаем и активизируем раскладку для текущей нити LoadKeyboardLayout(LANG_EN_US, KLF_ACTIVATE); } |
Строим приложение WinForm
Добавим новое приложение на C# и разместим на нём три кнопки с названиями English, Hebrew, Get language ID. Добавим ссылку на библиотеку LanguageSelector, а также добавим строчку using LanguageSelector; теперь щёлкнем на каждой кнопке и добавим следующий код:
private void buttonHE_Click(object sender,
System.EventArgs e)
{ KeyboardLayout.Hebrew(); } private void buttonEN_Click(object sender, System.EventArgs e) { KeyboardLayout.English(); } private void buttonGetID_Click(object sender, System.EventArgs e){ string keyboardID; keyboardID = KeyboardLayout.getName(); MessageBox.Show(this,"Current keyboard layout ID: " + keyboardID, "Keyboard layout",MessageBoxButtons.OK, MessageBoxIcon.Information); } |
На этом всё.
{К содержанию}
Форумы .Net - вопросы оставшиеся без ответа
Как в
DataSet добавить DataTable
Компонентная модель Access
INSERT INTO: как указать, что значение в VALUES это число со зн. после запятой?
.NET+Oracle
ShowInTaskBar
и Window Handle
Как
заюзать WSDL
autosize
для формы
На этом двадцать восьмой выпуск .Net Собеседника закончен.
До следующего номера.
Чужа Виталий Ф. aka hDrummer,
hdrummer@sql.ru - жду ваши предложения, вопросы и замечания.
http://subscribe.ru/
http://subscribe.ru/feedback/ |
Подписан адрес: Код этой рассылки: comp.soft.prog.dotnetgrains |
Отписаться |
В избранное | ||