Сайт для программистов
Показаны сообщения с ярлыком Книги. Показать все сообщения
Показаны сообщения с ярлыком Книги. Показать все сообщения

среда, 27 мая 2009 г.

Microsoft Visual C# в задачах и примерах

Новая книга Н.Культина Microsoft Visual C# в задачах и примерах является переработанным вариантом книги C# в задачах и примерах. Изменения оказались в лучшую сторону. Если в раннем варианте для примеров использовался Turbo C#, то в этот раз используется Visual C#. Сами примеры также были переработаны, а также добавлены новые полезные задачи. В книге можно найти примеры различной степени сложности - от простейших программ вычисления курса валют до приложений, связанных с графикой и базами данных, том числе Microsoft Access и Microsoft SQL Server Compact Edition. Также в книге показано использование новой технологии LINQ. Справочник, входящий в книгу, содержит описание базовых компонентов, событий, исключений и наиболее часто используемых функций. К книге прилагается компакт-диск со всеми проектами, представленными в книге.
Книга рассчитана для начинающих программистов, которые хотят повысить свою квалификацию. Автор предлагает практичные примеры, взятые из жизни, и понятные для восприятия. Я с удовольствием почитал эту книжку и, даже, нашел для себя что-то новое. Например, описание функции Windows API TaskDialog, которая появилась в Windows Vista/Windows 7 (на момент покупки книги я еще не был близко знаком с библиотекой Windows Vista Bridge Sample Library).
Рекомендую приобрести и почитать книжку всем, кто только начинает программировать на C#.
Счастливого вам чтения!

пятница, 5 сентября 2008 г.

Обмен книгами

Недавно узнал о существовании замечательного проекта БукРивер, который проходит под девизом Поменяй книгу - спаси дерево. Проект построен по принципу социальных сетей, наподобие Одноклассники.ру, VKontakte.ru и т.п. Цель проекта - обменять свои книги на другие (или подарить). На странице есть ТОП активных участников, у которых счет обменянных книг идет десятками. Если у вас скопилась гора прочитанных книг, то вступайте в эту сеть.
Удачного вам чтения!

суббота, 2 августа 2008 г.

Visual Basic 2005. Рецепты программирования

Недавно у меня был День Варенья. Решил к празднику купить себе какую-нибудь книжку по программированию. Остановил свой выбор на книжке Visual Basic 2005. Рецепты программирования. Книга по сути похожа на мою книгу C#. Советы программистам. Где-то наши советы пересекаются, но имеются и другие советы и темы, которые я не затрагивал. Книга очень толстая, советов много. Даются хорошие пояснения и комментарии. Наверняка, часть примеров я перепишу для C#. Если вы програмируете на Visual Basic, то рекомендую и вам приобрести эту книгу.
Удачного вам чтения!

суббота, 26 июля 2008 г.

Обновление совета: Определение версии операционки

В своей книге C#. Советы программистам я приводил пример определения версии операционной системы. Хотелось бы дополнить слегка устаревший пример. На данный момент, операционные системы Windows Vista SP1 и Windows Server 2008 имеют одинаковые номер 6.0.6001. Поэтому возникает проблема в определении операционки. На сайте http://www.vb-helper.com/howto_2005_os_version.html предлагается для решения проблемы прочитать значение ключа из реестра (пример на Visual Basic). Ниже предлагается мой вариант для C# (для краткости я не учитываю устаревшие версии Windows 3.1/95/98/Me/NT)


private const string REG_PRODUCT_KEY = @"HKEY_LOCAL_MACHINE\Software\Microsoft\Windows NT\CurrentVersion";
private string GetOSVersion()
{
OperatingSystem osInfo = Environment.OSVersion;
string osName = "Не определено";
switch (osInfo.Platform)
{
case PlatformID.Win32NT:
{
switch (osInfo.Version.Major)
{
case 5:
{
if (osInfo.Version.Minor == 0)
{
osName = "Windows 2000";
}
else if (osInfo.Version.Minor == 1)
{
osName = "Windows XP";
}
else if (osInfo.Version.Minor == 2)
{
osName = "Windows Server 2003";
}
break;
}
case 6:
{
string info = Microsoft.Win32.Registry.GetValue(REG_PRODUCT_KEY, "ProductName", "").ToString();
if (info.ToLower().Contains("vista"))
{
osName = "Windows Vista";
}
if (info.ToLower().Contains("server"))
{
osName = "Windows 2008";
}
break;
}
}
break;
}
}
return osName;
}

private void button2_Click(object sender, EventArgs e)
{
MessageBox.Show(GetOSVersion());
}


Удачного вам программирования!

воскресенье, 29 июня 2008 г.

Солянка

Сегодня не будет какой-то конкретной темы. Поговорим понемногу обо всем. Начнем с поисковой системы. Когда-то давно в сети (лет 10 назад) появилась поисковая система, которая искала запросы в исходных кодах. Я в то время увлекался программированием на Visual Basic 5.0/6.0 и тем поисковым сайтом я пользовался достаточно регулярно. К сожалению, уже не помню адрес этого сайта. Сейчас появились другие поисковые системы, которые также ищут ответы в исходных кодах. Но я ими не пользуюсь. Мне хватает обычного Google. Но недавно наткнулся на интересный проект. На этот раз предлагают искать ответы в текстах книг по программированию. Адрес проекта - http://www.codefetch.com.
Выбираем язык программирования, вбиваем запрос и вперед. Понятно, что поиск идет среди англоязычных книг. Возьмите на заметку.
Вторая тема - .NET Compact Framework. Очень интересное предложение сделал в своем блоге программист Крис Крафт. Он обещал в течение месяца написать 30 полезных программ, по одной программе в день. И свое обещание сдержал. На данный момент уже выложено 27 программ. Все программы поставляются в двух вариантах - готовые приложения и исходные коды. Найти это чудо можно по адресу http://www.cjcraft.com/blog/default,month,2008-06.aspx.
Меня поразила схожесть наших интересов. Одна треть этих программ уже имелась в моем арсенале. Вторую треть программ я только собирался написать. Теперь сэкономлю время и изучу готовые примеры. А остальная часть программ - это приложения, которые я хотел бы написать, но не представлял, с чего начинать. Эти примеры меня восхитили больше всего. С удовольствием изучу их, найти бы только время на изучение.
Третья тема - изучение IDE. Недавно стал нажимать на все кнопочки и менюшки в Visual Studio и обнаружил в ней новое окно Document Outline. Честно признаюсь, не знаю, когда это окно появилось в Visual Studio, может оно всегда там было? Окно это можно вызвать через View Other Windows или через Ctrl+Alt+T.
В этом окне как на ладони видны все элементы управления проекта. Их можно перемещать, удалять и добавлять из панели инструментов. Я пока не оценил практическую ценность окна, так как использовал простые проекты для исследования. Но, что-то мне подсказывает, что это полезная вещь в хозяйстве.
Четвертая тема - функции Windows API. Недавно я закончил писать пример выключения компьютера при помощи функции ExitWindowsEx. Чтобы использовать эту функцию в Windows XP/Vista, необходимо также вызывать функции GetCurrentProcess, OpenProcessToken, LookupPrivilegeValue, AdjustTokenPrivileges. Я не стану приводить этот пример здесь. Он будет доступен пользователям, которые приобрели мой справочник по фунциям Windows API. Остальные могут поискать ответ самостоятельно в интернете. Следующими функциями для изучения станут функции Windows Vista, связанные с Aero Glass. Немного об этих функциях было сказано в апрельском номере журнал MSDN Magazine за 2007 год. Надо это дело разобрать по косточкам и поместить в справочник.
Есть еще несколько интересных тем для разговора. Но, я, пожалуй, оставлю их до следующего раза.
Удачного вам программирования!

суббота, 21 июня 2008 г.

Советы Сары Форд на русском

Постоянные читатели моего блога помнят, что я предлагал ознакомиться с советами Сары Форд, которые она публиковала с завидной периодичностью на своей англоязычной страничке. У меня для вас хорошая новость. Эти же советы теперь можно будет читать и на русском языке. Найти это чудо можно по адресу http://blogs.msdn.com/rusaraford/. Надеюсь, советы на русском будут также появляться регулярно.
Первый совет был посвящен инкрементному поиску. Кстати, такой же совет имеется и в моей книге C#. Советы программистам (глава Интегрированная среда разработки (IDE)).
P.S. А сборная России по футболу уже в полуфинале Чемпионата Европы!
Удачного вам боления!

суббота, 7 июня 2008 г.

Админ ли ты?

Продолжаю читать книжку Защищенный код для Windows Vista. Оказывается, если вы регистрировались в системе как Администратор, то все равно администратором по сути не являетесь. По умолчанию система дает вам права стандартного пользователя. Если вам необходимо выполнить административную задачу, то система предложит вам повысить свои права. Срабатывает механизм UAC (контроль учетных записей пользователей), который так раздражает многих пользователей. Автор книги рекомендует использовать системную функцию IsUserAnAdmin для проверки ваших текущих прав. К счастью, синтаксис этой функции очень прост и мне не составило труда написать объявление этой функции для C# через механизм P/Invoke:
[DllImport("shell32.dll")]
private static extern bool IsUserAnAdmin();

// Является ли пользователь администратором
Console.WriteLine("Вы админ?: {0}", IsUserAnAdmin().ToString());


Если запустите эту программу, то можете убедиться, что вы не являетесь администратором (False). Теперь найдите исполняемый файл проекта в Проводнике, щелкните правой кнопкой для вызова контекстного меню и выберите команду Запуск от имени администратора. Теперь программа будет выводить значение True. Вы повысили себе права до уровня администратора ручным способом.
Существует и другой аспект. Предположим, вы сами хотите реализовать возможность повышения уровня привилегий в своей программе. В таком случае воспользуйтесь следующим кодом:

Process p = new Process();
ProcessStartInfo psi = new ProcessStartInfo(@"cmd.exe");
psi.UseShellExecute = true;
psi.Verb = "runas";
p.StartInfo = psi;
p.Start();


В приведенном примере показано, как можно запускать новый процесс с повышенными привилегиями.

Итак, после прочтения очередных страниц книги, мы познакомились с новой функцией Windows API IsUserAnAdmin, которую я сразу же поместил в свой справочник по функциям Windows API и узнали, как программно повышать права при вызове нового процесса.
Удачного вам программирования!
P.S. Чемпионат Европы по футболу стартовал. Удачного вам боления!

вторник, 27 мая 2008 г.

Назад в будущее

В прошлом выпуске я поведал вам о выходе в свет книги C#. Советы программистам. Одна из глав книги посвящена различным трюкам, которые можно использовать в IDE Visual Studio. Сегодня узнал еще один интересный прием, который, похоже, не имеется в книге. Суть в следующем. Предположим у вас имеется большой проект. Вы выбираете в редакторе кода какое-нибудь слова и вызываете из контекстного меню команду Go To Definition. Вам мгновенно переносит в нужное место. Все это, безусловно, прекрасно. Но нам нужно вернуться теперь обратно, а проект очень большой... Неужели придется прокручивать редактор в поисках места, с которого вас выбросило? Запомните волшебную комбинацию клавиш Ctrl + -. Как только вы нажмете эту комбинацию, вы снова вернетесь на предыдущую позицию. Строго говоря, эта комбинация в паре с комбинацией Ctrl + Shift + - работает как кнопки Вперед и Назад в Internet Explorer.
Удачного вам программирования!

суббота, 24 мая 2008 г.

Моя новая книжка C#. Советы программистам

Издательство BHV-Петербург выпустило мою новую книжку C#. Советы программистам. Я постарался отобрать наиболее интересные примеры, которые я использовал в своей практике или собираюсь использовать в будущем. Более полную информацию о книге вы можете почерпуть с моей специальной странички, посвященной книжным новинкам. За написание книги я приступил около двух лет назад. Естественно, часть советов просто не попала в это издание. Поэтому я буду выкладывать новые советы на страницу FAQ. Наиболее интересные решения, возможно, попадут в следующее издании книги. Буду рад, если вы поделитесь своими замечаниями и предложениями по книге. Также можете присылать свои советы, которые я с удовольствием рассмотрю.
Счастливого вам чтения!

воскресенье, 11 мая 2008 г.

Новая книга Защищенный код для Windows Vista

Здравствуйте!
Недавно издательство Питер выпустило книгу Защищенный код для Windows Vista. Книга содержит очень много полезной информации о том, как правильно нужно писать программы под новую операционную систему Windows Vista. Большинство примеров в книге приводится на C++ и только небольшая часть на C#. Но тем не менее, книга очень нужная и своевременная. Я с удовольствием начал ее читать.

воскресенье, 17 февраля 2008 г.

На прошлой неделе купил книгу Чарльза Петцольда Microsoft Windows Presentation Foundation. Базовый курс. Мне нравится стиль изложения материала этого писателя, поэтому в моей библиотеке есть практически все его книги. Советую и вам приобрести эту книгу и освоить новую технологию WPF.
А на моем сайте есть специальный раздел Книги, в котором вы найдете другие полезные и интересные произведения, связанные с .NET Framework.