лекция. Зиборов. Справочник для опытных и как пособие для начинающих программистов. Компактдиск содержит исходные коды примеров из книги
Скачать 7.39 Mb.
|
Visual C# 2010 НА ПРИМЕРАХ Санкт-Петербург «БХВ-Петербург» 2011 3-59 Зиборов В. В. 3-59 Visual С#2010 на примерах. — СПб.: БХВ-Петербург, 2011. —432 е.: ил. + CD-ROM ISBN 978-5-9775-0698-4 Рассмотрено более 120 типичных примеров, встречающихся в практике реального программирования для платформы .NET Framework в среде Microsoft Visual С#2010: обработка событий мыши и клавиатуры, чтение/запись файлов, редактирование графических данных, управление буфером обмена, ввод/вывод данных, использование функций MS Word. MS Excel, AutoCAD и MATLAB, использование технологий LINQ и ADO.NET при работе с базами данных, разработка интерактивных Web-приложений, создание Web-служб, разработка WPF-приложений и многое другое. Материал располагается по принципу от простого к сложному, что позволяет использовать книгу одновременно как справочник для опытных и как пособие для начинающих программистов. Компакт-диск содержит исходные коды примеров из книги. Для программистов УДК681.3.068+800«2С# ББК 32.973.26-018.1 Группа подготовки издания: Главный редактор Екатерина Кондукова Зам. главного редактора Игорь Шишигин Зав. редакцией Григорий Добин Редактор Анна Кузьмина Компьютерная верстка Натальи Смирновой Корректор Наталия Першакова Дизайн серии Игоря Цырульникова Оформление обложки Елены Беляевой Зав. производством Николай Тверских Лицензия ИД № 02429 от 24.07.00. Подписано в печать 31.01.11. Формат 70x100V,e. Печать офсетная. Усл. печ. л. 34,83. Тираж 1500 экз. Заказ Ng 748 "БХВ-Петербург", 190005, Санкт-Петербург, Измайловский пр., 29. Санитарно-эпидемиологическое заключение на продукцию № 77.99.60.953.Д.005770.05.09 от 26.05.2009 г. выдано Федеральной службой по надзору в сфере защиты прав потребителей и благополучия человека. Отпечатано с готовых диапозитивов в ГУП "Типография "Наука" 199034, Санкт-Петербург, 9 линия, SBN 978-5-9775-0698-4 © Зиборов. В. В., 2011 © Оформление, издательство "БХВ-Петербург", 2011 Оглавление Введение ……………………….1 Глава 1. Простейшие программы с экранной формой и элементами управления ………………………………………………………………3 Пример 1. Форма, кнопка, метка и диалоговое окно ………………………3 Пример 2. Событие MouseHover ………………………8 Пример 3. Ввод данных через текстовое поле TcxtBoxс проверкой типа методом TryParse…………………………………..12 Пример 4. Ввод пароля в текстовое поле и изменение шрифта ……………………….16 Пример 5. Управление стилем шрифта с помощью элемента управления CheckBox ……………………………………………….17 Пример 6. Побитовый оператор "исключающее ИЛИ" ……………………….19 Пример 7. Вкладки TabControlи переключатели RadioButton ……………………….21 Пример 8. Свойство Visibleи всплывающая подсказка ToolTipв стиле Balloon ……………………….25 Пример 9. Калькулятор на основе комбинированного списка ComboBox ……………………….28 Пример 10. Вывод греческих букв, символов математических операторов. Кодовая таблица Unicode…………………..31 Глава 2. Программирование консольных приложений ...............................35 Пример 11. Ввод и вывод в консольном приложении ……………………….35 Пример 12. Вывод на консоль таблицы чисел с помощью форматирования строк…………………………………………………..38 Пример 13. Вызов MessageBox.Showв консольном приложении. Формат даты и времени……………………………………..39 Пример 14. Вызов функций Visual Basic из программы С# ………………………..41 Глава 3. Инициирование и обработка событий мыши и клавиатуры………………………………………………………………………………….45 Пример 15. Координаты курсора мыши относительно экрана и элемента управления…………………………………………….45 Пример 16. Создание элемента управления Button"программным" способом и подключение события для него…47 Пример 17. Обработка нескольких событий одной процедурой ……………………….50 Пример 18. Калькулятор …………………………...52 Пример 19. Ссылка на другие ресурсы LinkLabel ……………………………56 Пример 20. Обработка событий клавиатуры ……………………………58 Пример 21. Разрешаем вводить в текстовое поле только цифры ……………………………61 Пример 22. Разрешаем вводить в текстовое поле цифры, а также разделитель целой и дробной части числа ……..63 Глава 4. Чтение, запись текстовых и бинарных файлов, текстовый редактор……………………………………………………………………..67 Пример 23. Чтение/запись текстового файла в кодировке Unicode. Обработка исключений try...catch…………………..67 Пример 24. Чтение/запись текстового файла в кодировке Windows 1251 ………………………..71 Пример 25. Простой текстовый редактор. Открытие и сохранение файла. Событие формы Closing…………………………73 Пример 26. Программа тестирования знаний студента по какому-либо предмету…………………………………………………..78 Пример 27. Простой RTF-редактор ………………………..84 Пример 28. Печать текстового документа ………………………..89 Пример 29. Чтение/запись бинарных файлов с использованием потока данных …………………………..93 Глава 5. Редактирование графических данных …………………………97 Пример 30. Простейший вывод отображения графического файла в форму ………………………..97 Пример 31. Использование элемента PictureBoxдля отображения растрового файла с возможностью прокрутки101 Пример 32. Рисование в форме указателем мыши ………………………..102 Пример 33. Рисование в форме графических примитивов (фигур) ………………………..105 Пример 34. Выбор цвета с использованием ListBox ………………………..108 Пример 35. Печать графических примитивов ………………………..111 Пример 36. Печать BMP-файла ………………………..112 Пример 37. Построение графика ………………………..113 Глава 6. Управление буфером обмена с данными в текстовом и графическом форматах…………………………………………………119 Пример 38. Буфер обмена с данными в текстовом формате ………………………..119 Пример 39. Элемент управления PictureBox. Буфер обмена с растровыми данными……………………………………………..121 Пример 40. Имитация нажатия комбинации клавиш Пример 41. Запись содержимого буфера обмена в BMP-файл ……………………….126 Пример 42. Использование таймера Timer ……………………….128 Пример 43. Запись в файлы текущих состояний экрана каждые пять секунд ……………………….129 Глава 7. Ввод и вывод табличных данных. РЕШЕНИЕ СИСТЕМЫ УРАВНЕНИИ……………………………………………………………..133 Пример 44. Формирование таблицы. Функция String.Format ……………………….133 Пример 45. Форматирование ОсшЫе-переменных в виде таблицы. Вывод таблицы на печать. Поток StringReader136 Пример 46. Вывод таблицы в Internet Explorer ……………………….139 Пример 47. Формирование таблицы с помощью элемента управления DataGridView……………………………………………142 Пример 48. Табличный ввод данных. DataGridView. DataTable. DataSet. Инструмент для создания файла XML……144 Пример 49. Решение системы линейных уравнений. Ввод коэффициентов через DataGridView……………………………148 Глава 8. Элемент управления WebBrowser …………………………155 Пример 50. Отображение HTML-таблиц ……………………….155 Пример 51. Отображение Flash-файлов.... ……………………….157 Пример 52. Отображение Web-страницы и ее HTML-кода ……………………….158 Пример 53. Программное заполнение Web-формы ……………………….160 Глава 9. Использование функций MS Word, MS Excel, AutoCAD и MATLAB…………………………………………………………………..165 Пример 54. Проверка правописания в текстовом поле с помощью обращения к MS Word……………………………………165 Пример 55. Вывод таблицы средствами MS Word ……………………….168 Пример 56. Обращение к функциям MS Excel из Visual С# 2010 ……………………….171 Пример 57. Использование финансовой функции MS Excel ……………………….173 Пример 58. Решение системы уравнений с помощью функций MS Excel ……………………….176 Пример 59. Построение диаграммы средствами MS Excel ……………………….179 Пример 60. Управление функциями AutoCAD из программы на Visual С# 2010 ……………………….181 Пример 61. Вызов MATLAB из вашей программы на Visual С# 2010 ……………………….184 Пример 62. Решение системы уравнений путем обращения к MATLAB ……………………….186 Глава 10. Обработка баз данных с использованием технологии ADO.NET……………………………………………………………………….189 Пример 63. Создание базы данных SQL Server ……………………….189 Пример 64. Отображение таблицы базы данных SQL Server в экранной форме ……………………….191 Создание базы данных в среде MS Access ……………………….192 Пример 65. Редактирование таблицы базы данных MS Access в среде Visual Studio без написания программного кода194 Пример 66. Отображение таблицы базы данных MS Access в экранной форме ……………………….195 Пример 67. Чтение всех записей из таблицы БД MS Access на консоль с помощью объектов классов Commandи DataReader……………………………………………………………………………………………………………………………………………………………………..197 Пример 68. Создание базы данных MS Access в программном коде ……………………………..199 Пример 69. Запись структуры таблицы в пустую базу данных MS Access. Программная реализация подключения к БД201 Пример 70. Добавление записей в таблицу базы данных MS Access ………………………………204 Пример 71. Чтение всех записей из таблицы базы данных с помощью объектов классов Command, DataReaderи элемента управления DataGridView………………………………………………………………………………………………………………………………205 Пример 72. Чтение данных из БД в сетку данных DataGridViewс использованием объектов классов Command, Adapterи DataSet…………………………………………………………………………………………………………………………………………………………….208 Пример 73. Обновление записей в таблице базы данных MS Access ……………………………….210 Пример 74. Удаление записей из таблицы базы данных с использованием SQL-запроса и объекта класса Command214 Глава 11. Использование технологии LINQ …………………………….217 Пример 75. LINQ-запрос к массиву данных ……………………………217 Пример 76. LINQ-запрос к коллекции (списку) данных ……………………………220 Пример 77. Группировка элементов списка с помощью LINQ-запроса ……………………………225 Пример 78. LINQ-запрос к словарю данных Dictionary ……………………………227 Пример 79. Создание XML-документа методами классов пространства имен System.Xml.Linq………………………………….230 Пример 80. Извлечение значения элемента из XML-документа ……………………………..234 Пример 81. Поиск строк (записей) в XML-данных с помощью LINQ-запроса ……………………………239 Пример 82. LINQ-запрос к набору данных DataSet ……………………………242 Пример 83. Доступ к базе данных с помощью LINQ to SQL ……………………………245 Глава 12. Другие задачи, решаемые с помощью Windows Application………………………………………………………………………………..249 Пример 84. Проверка вводимых данных с помощью регулярных выражений ……………………………249 Пример 85. Управление прозрачностью формы ……………………………252 Пример 86. Время по Гринвичу в полупрозрачной форме ……………………………253 Пример 87. Ссылка на процесс, работающий в фоновом режиме, в форме значка в области уведомлений…………….256 Пример 88. Нестандартная форма. Перемещение формы мышью …………………………..259 Пример 89. Проигрыватель Windows Media Player 11 …………………………..261 Пример 90. Программирование контекстной справки. Стандартные кнопки в форме……………………………………………….265 Создание инсталляционного пакета для распространения программы …………………………..267 Глава 13. Программирование простейших Web-ориентированных приложений на Visual С# 2010……………………………………..269 Создание Web-страницы на языке HTML. Интернет-технологии ……………………………….269 Web-хостинг на платформах UNIX и Windows …………………………..271 Клиент-серверное взаимодействие на основе технологии ASP.NET …………………………..271 Отладка активного Web-приложения …………………………..272 Пример 91. Создание простейшей активной Web-страницы на Visual С# 2010 ………………………..273 Пример 92. Проверка введенных пользователем числовых данных с помощью валидаторов………………………………….276 Пример 93. Проверка достоверности ввода имени, адреса e-mail, URL-адреса и пароля с помощью валидаторов…279 Пример 94. Регистрация и аутентификация пользователя с помощью базы данных Access……………………………………….284 Пример 95. Таблица с переменным числом ячеек, управляемая двумя раскрывающимися списками……………………..293 Пример 96. Организация раскрывающегося меню гиперссылок с помощью DropDownList………………………………………..295 Пример 97. Передача данных между Web-страницами через параметры гиперссылки……………………………………………..298 Пример 98. Передача данных HTML-формы на ASPX-страницу методами класса Request…………………………………………..302 Пример 99. Передача значений элементов управления на другую Web-страницу с помощью объекта PreviousPage..305 Пример 100. Отображение табличных данных в Web-форме с помощью элемента управления GridView…………………309 Пример 101. Отображение в Web-форме хэш-таблицы …………………………311 Глава 14. Типичные Web-ориентированные приложения ASP.NET на Visual С# 2010 ………………………….315 Пример 102. Чтение/запись текстового файла Web-приложением …………………………315 Пример 103. Программирование счетчика посещений сайта с использованием базы данных и объекта Session………320 Пример 104. Чтение/запись cookie-файлов …………………………325 Пример 105. Вывод изображения в Web-форму …………………………329 Пример 106. Формирование изображения методами класса Graphicsи вывод его в Web-форму………………………………333 Пример 107. Гостевая книга …………………………336 Пример 108. Программирование капча …………………………341 Пример 109. Отображение времени в Web-форме с использованием технологии AJAX …………………………347 Глава 15. Создание Web-служб и их клиентов ………………………….349 О Web-службах …………………………349 Пример 110. Клиентское Web-приложение, потребляющее сервис Web-службы "Прогноз погоды"………………………….350 Пример 111. Клиентское Windows-приложение, использующее Web-службу "Прогноз погоды"………………………………..355 Пример 112. Создание простейшей Web-службы ………………………..358 Пример 113. Создание Windows-приложения — потребителя сервиса Web-службы…………………………………………………..361 Пример 114. Web-служба "Торговая рекомендация на рынке Forex" …………………………………363 Пример 115. Клиентское приложение, потребляющее сервис Web-службы "Торговая рекомендация на рынке Forex"367 Пример 116. Клиентское Web-приложение, потребляющее сервис Web-службы "Морфер"………………………………………. 368 Пример 117. Получение данных от Web-службы Центрального банка РФ Web-приложением…………………………………….371 Пример 118. Получение данных от Web-службы Национального банка Республики Беларусь Windows-приложением373 Глава 16. Использование технологии WPF ………………………………..377 Что может нам дать WPF? …………………………………..377 Пример 119. Создание простейшего WPF-приложения. Компоновка элементов управления с помощью сетки Grid….378 Пример 120. Использование одного из эффектов анимации …………………………………..383 Пример 121. Эффект постепенной замены (прорисовки) одного изображения другим………………………………………………..З86 Пример 122. Закрашивание области текста горизонтальным линейным градиентом…………………………………………………..389 Пример 123. Проверка орфографии в элементе управления редактирования текста……………………………………………………390 Пример 124. Программирование WPF-проигрывателя. Компоновка элементов управления с помощью панели StackPanel……………………………………………………………………………………………………………………………………………………………………………393 Пример 125. Наложение текста на видео ………………………………….398 Пример 126. Переходы в WPF-приложениях ………………………………….400 Приложение. Описание компакт-диска ……………………………….405 Предметныи указатель ……………………………….421 Microsoft_Windows_и_Интернета'>Microsoft_Visual__С2010'>Введение Система разработки программного обеспечения Microsoft Visual С#2010 является хорошим средством быстрой разработки программ для ускоренного создания приложений для Microsoft Windows и Интернета. Цель книги — популяризация программирования. Автор стремился показать, как малой кровью можно написать, почти сконструировать, как в детском конструкторе, довольно-таки функционально сложные приложения. Для реализации этой цели автор выбрал форму демонстрации на примерах решения задач от самых простых, элементарных, до более сложных. Так, рассмотрены примеры программ с экранной формой и элементами управления в форме, такими как текстовое поле, метка, кнопка и др. Написанные программы управляются событиями, в частности событиями мыши и клавиатуры. Поскольку большинство существующих программ взаимодействует с дисковой памятью, в книге приведены примеры чтения и записи файлов в долговременную память. Описаны решения самых типичных задач, которые встречаются в практике программирования, в частности работа с графикой и буфером обмена. Рассмотрены манипуляции табличными данными, использование обозревателя Web-страниц для отображения различных данных. Приведены примеры программирования с применением функций (методов) объектных библиотек систем Microsoft Office, MATLAB и AutoCAD. Разобраны вопросы обработки баз данных SQL Server и MS Access с помощью технологии ADO.NET. Рассмотрены методы обработки различных источников данных с использованием технологии LINQ. Приведены примеры программирования Web-ориентированных приложений, а также использования и разработки Web-сервисов. Новейшая технология WPF представлена несколькими выразительными примерами. Несколько слов об особенностях книги. Спросите у любого программиста, как он работает (творит...) над очередной поставленной ему задачей. Он вам скажет, что всю задачу он мысленно разбивает на фрагменты и вспоминает, в каких уже решенных им задачах он уже сталкивался с подобной ситуацией. Далее он просто копирует фрагменты отлаженного программного кода и вставляет их в новую задачу. Сборник таких фрагментов (более 120 примеров) содержит данная книга. Автор пытался выделить наиболее типичные, актуальные задачи и решить их, с одной стороны, максимально эффективно, а с другой стороны, кратко и выразительно. Вместе с книгой читателю предлагается компакт-диск с рассмотренными в книге примерами. Самая серьезная проблема в программировании больших, сложных программ — это сложность, запутанность текстов. Из-за запутанности программ имеются ошибки, нестыковки и проч. Как следствие — страдает производительно сть процесса создания программ и их сопровождение. Решение этой проблемы состоит в структуризации программ. Появление объектно-ориентированного программирования связано в большой степени со структуризацией программирования. Мероприятия для обеспечения большей структуризации — это проектирование программы как иерархической структуры, отдельные процедуры, входящие в программу, не должны быть слишком длинными, неиспользование операторов перехода goto и проч. Кроме того, современные системы программирования разрешают в названиях переменных, методов, свойств, событий, классов, объектов использовать русские буквы. Между тем современные программисты, как правило, не используют данную возможность, хотя когда вдруг в среде англоязычного текста появляются русские слова, это вносит большую выразительность в текст программы, и тем самым большую структуризацию. Программный код начинает от этого лучше читаться, восприниматься человеком (транслятору, компилятору — все равно). Данная книга предназначена для начинающих программистов, программистов среднего уровня, а также для программистов, имеющих навыки разработки на других языках и желающих ускоренными темпами освоить новый для себя язык Visual С# 2010. Как пользоваться книгой? Эффективно пользоваться книгой можно, последовательно решая примеры в порядке их представления в книге, поскольку примеры расположены от простого к более сложному. И тем самым постепенно совершенствуя свои навыки программирования на Visual С#.А для программистов среднего уровня можно посоветовать искать выборочно именно те задачи, которые возникли у них при программировании их текущих задач. Надеюсь, что читатель получит одновременно удовольствие и пользу от использования данной книги в своей работе и творчестве. Свои впечатления о данной книге присылайте по адресу ziborov@ukr.net, я с удовольствием их почитаю. |