Файл: Справочник для опытных и как пособие для начинающих программистов. Компактдиск содержит исходные коды примеров из книги.doc
ВУЗ: Не указан
Категория: Не указан
Дисциплина: Не указана
Добавлен: 11.01.2024
Просмотров: 2505
Скачиваний: 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, я с удовольствием их почитаю.
ГЛАВА 1 Простейшие программы с экранной формой и элементами управленияПример 1. Форма, кнопка, метка и диалоговое окноПосле инсталляции системы программирования VisualStudio 2010, включающей в себя Visual С#2010, загрузочный модуль системы devenv.exe будет, скорее всего, расположен в папке: C:\ProgramFiIes\MicrosoftVisualStudio 10.0\Common7\ IDE.Целесообразно создать ярлык на рабочем столе для запуска Visual С#. После запуска увидим начальный пользовательский интерфейс, показанный на рис. 1.1.Рис. 1.1. Фрагмент стартовой страницы системы VisualStudio 2010Чтобы запрограммировать какую-либо задачу, необходимо в пункте меню File выполнить команду NewProject. В появившемся окне NewProject в левой колонке находится список инсталлированных шаблонов (InstalledTemplates). Среди них— шаблоны языков программирования, встроенных в VisualStudio, в том числе: VisualBasic, Visual С#, Visual С++, VisualF# и др. Нам нужен язык Visual С#. В средней колонке выберем шаблон (Templates) WindowsFormsApplicationC# и щелкнем на кнопке ОК. В результате увидим окно, представленное на рис. 1.2.В этом окне изображена экранная форма— Form1, в которой программисты располагают различные компоненты графического интерфейса пользователя или, как их иначе называют, элементы управления. Это поля для ввода текста TextBox. командные кнопки Button, строчки текста в форме — метки Label, которые не могут быть отредактированы пользователем, и прочие элементы управления. Причем здесь используется самое современное так называемое визуальное программирование, предполагающее простое перетаскивание мышью из панели элементов Toolbox, где расположены всевозможные элементы управления, в форму. Таким образом, стараются свести к минимуму непосредственное написание программного кода.Ваша первая программа будет отображать такую экранную форму, в которой будет что-либо написано, например "MicrosoftVisual С#2010", также в форме будет расположена командная кнопка с надписью "Нажми меня". При нажатии кнопки появится диалоговое окно с сообщением "Всем привет!"
Рис. 1.2. Окно для проектирования пользовательского интерфейсаНаписать такую программку — вопрос 2—3 минут. Но вначале я хотел бы буквально двумя словами объяснить современный объектно-ориентированный подход к программированию. Подход заключается в том, что в программе все, что может бытьназвано именем существительным, называют объектом. Так, в нашей программе мы имеем четыре объекта: форму Form, надпись на форме Label, кнопку Button и диалоговое окно MessageBox с текстом "Всем привет!" (окно с приветом). Итак, добавьте метку и кнопку на форму примерно так, как показано на рис. 1.3.Рис. 1.3. Форма первого проектаЛюбой такой объект можно создавать самому, а можно пользоваться готовыми объектами. В данной задаче мы пользуемся готовыми визуальными объектами, которые можно перетаскивать мышью из панели элементов управления Toolbox. В этой задаче нам нужно знать, что каждый объект имеет свойства (properties). Например, свойствами кнопки являются (рис. 1.4): имя кнопки (Name)— button1, надпись на кнопке (Text), расположение кнопки (Location) в системе координат формы х, у, размер кнопки size и т. д. Свойств много, их можно увидеть, если щелкнуть правой кнопкой мыши в пределах формы и выбрать в контекстном меню команду Properties; при этом появится панель свойств Properties (см. рис. 1.4).Указывая мышью на все другие элементы управления в форме, можно просмотреть их свойства: формы Form1 и надписи в форме — метки label1.Вернемся к нашей задаче. Для объекта label1 выберем свойство Text и напишем напротив этого поля "MicrosoftVisual С# 2010" (вместо текста label1). Для объекта button1 также в свойстве Text напишем "Нажми меня".Кроме того, что объекты имеют свойства, следует знать, что объекты обрабатываются событиями. Событием, например, является щелчок на кнопке, щелчок в пределах формы, загрузка (Load) формы в оперативную память при старте программы и проч.Управляют тем или иным событием посредством написания процедуры обработки события в программном коде. Для этого вначале нужно получить "пустой" обработчик события. В нашей задаче единственным событием, которым мы управляем, является щелчок на командной кнопке. Для получения пустого обработчика этого события следует в свойствах кнопки