Сайт для программистов

четверг, 20 марта 2008 г.

GetDrives и IsReady

Сегодня продолжим разговор о новинках, которые появились в .NET Framework 2.0. Рассмотрим метод GetDrives и свойство IsReady из класса DriveInfo. Метод GetDrives получает массив имен всех логических дисков на компьютере. Естественно, используя этот массив, мы можем пройтись по всем дискам и получить информацию о каждой диске. Но, чтобы не нарваться на ошибку, желательно воспользоваться свойством IsReady, который определяет доступность диска, например, можно определить наличие компакт-диска в CD-ROM. Берем на вооружение все вышесказанное и пишем следующий пример.
using System;
using System.IO;
class Test
{
public static void Main()
{
DriveInfo[] allDrives = DriveInfo.GetDrives();
foreach (DriveInfo d in allDrives)
{
Console.WriteLine("Диск {0}", d.Name);
Console.WriteLine(" Тип диска: {0}", d.DriveType);
if (d.IsReady == true)
{
Console.WriteLine(" Полный размер диска: {0, 15} bytes ", d.TotalSize);
}
}
}
}
Описываемые метод и свойство я добавил в свой справочник по .NET Framework, доступный зарегистрированным пользователям. Кстати, вы можете бесплатно получить один выпуск справочника, если выполните одно условие. Вам необходимо выбрать любой пример, написанный на Visual Basic 6.0 с сайта Русский_Проект и портировать его на язык C# или VB.NET. Хочу обратить ваше внимание, что нужно, именно, портировать исходник, а не присылать похожий пример. Примеры можете присылать по адресу rusproject@mail.ru.
Удачного вам программирования!

среда, 12 марта 2008 г.

Перетаскивание строчек кода в IDE

Сегодня в блоге Сары Форд (надеюсь, все уже нашли адрес ее блога и подписались?) прочитал очень интересный совет.
Сначала вспомним, как обычно мы управляем строчками кода. Если нужно переместить строчки кода в другое место, то просто выделяем нужный фрагмент и перемещаем текст (а-ля Word). Если нужно скопировать кусочек текста, то мы сначала выделяем текст, выбираем команду Copy, щелкаем мышкой в другом месте редактора кода и сновы вызываем контекстное меню для команды Paste (либо пользуемся комбинациями клавиш). Но есть еще один интересный способ. Выделите строчку кода, затем нажмите на правую кнопку мыши и, удерживая ее, перетащите выделенную строчку в нужное место. Когда вы отпустите кнопку мыши, то
увидите всплывающее меню с командами "Move here, Copy here и Cancel." Очень удобно для быстрого копирования или перемещения кода. Возьмите на заметку. Счастливого вам программирования!

воскресенье, 2 марта 2008 г.

Недавно в справочник добавил пример с применением функций SetPowerRequirement и ReleasePowerRequirement. С помощью этих функций можно сделать так, чтобы экран мобильного устройства не выключался, если долго не нажимать на кнопки или не пользоваться пером. Это может пригодиться, например, при просмотре видео. Приведу объявление одной функции на VB:
Declare Function SetPowerRequirement Lib "coredll.dll" (ByVal pvDevice As String, _ ByVal DeviceState As PowerState, _ ByVal DeviceFlags As Integer, _ ByVal pvSystemState As IntPtr, _ ByVal StateFlags As Integer) As IntPtr

Чтобы экран не выключался, нужно сделать так:
' Отключаем автоматическое выключение экрана
Public Sub Activate()
'request full power handle = SetPowerRequirement("BKL1:", CEDEVICE_POWER_STATE.D0, 1, IntPtr.Zero, 0)
End Sub
Более полное описание функций и примеры на C# и Visual Basic можно найти в справочнике по функциям Windows API.
Кстати, новость для тех, кто интересуется программированием для мобильных устройств. Microsoft поменяла главную страницу Windows Mobile Developer Center. Теперь на этой странице в более удобном виде собраны ресурсы для разработчика под платформу Windows Mobile. Рекомендую всем. (А вечером многие страницы Microsoft были недоступны. Надеюсь, это временное явление).