Зиборов В.В. Visual Basic 2010 на примерах – скачать книгу бесплатно Скачать книгу

Поиск книг на сайте  |  Каталог книг в формате pdf, djvu, fb2  |  Читайте нас вЧитайте нас в twitter!
Не нашли нужную книгу? Закажите
Подпишитесь на бесплатную рассылку новых книг

Скачать книгу Зиборов В.В. Visual Basic 2010 на примерах

Зиборов В.В. Visual Basic 2010 на примерах

Зиборов В.В. Visual Basic 2010 на примерах. -СПб.: БХВ-Петербург, 2010. -336 с.: ил. + CD-ROM. ISBN 978-5-9775-0402-7.

Программирование в Visual Basic 2010 - объяснение с помощью примеров

Пример 13. Греческие буквы, математические операторы. Символы Unicode

Немного ликбеза. Хранение текстовых данных в памяти ЭВМ предполагает кодирование символов по какому-либо принципу. Таких кодировок несколько. Каждой кодировке соответствует своя таблица символов. В этой таблице каждой ячейке соответствует номер в таблице и символ. Мы упомянем такие кодовые таблицы: ASCII, ANSI Cyrillic (другое название этой таблицы Windows 1251), а также Unicode.

Первые две таблицы являются однобайтовыми, т. е. каждому символу соответствует 1 байт данных. Поскольку в 1 байте – 8 битов, байт может принимать 28 = 256 различных состояний, этим состояниям можно поставить в соответствие 256 различных символов. Так в таблице ASCII от 0 до 127 – базовая таблица – есть английские буквы, цифры, знаки препинания, управляющие символы. От 128 до 255 – это расширенная таблица, в ней находятся русские буквы и символы псевдографики. Некоторые из этих символов соответствуют клавишам IBM. Еще эту таблицу называют «ДОСовской» по имени операционной системы DOS, где она используется. Эта кодировка используется также в Интернете.

В операционной системе Windows используется преимущественно ANSI (Windows 1251). Базовые символы с кодами от 0 до 127 в этих таблицах совпадают, а расширенные – нет. То есть русские буквы в этих таблицах находятся в разных местах таблицы. Из-за этого бывают недоразумения. В ANSI нет символов псевдографики. ANSI Cyrillic – другое название кодовой таблицы Windows 1251.

Существует также двухбайтовый стандарт Unicode. Здесь один символ кодируется двумя байтами. Размер такой таблицы кодирования – 216 = 65 536 ячеек. Unicode включает в себя практически все современные письменности. Разве что здесь нет старославянских букв. Когда в текстовом редакторе MS Word мы выполняем команду Вставка | Символа, то вставляем символ из таблицы Unicode. Также в Блокноте можно сохранять файлы в кодировке Unicode: Сохранить как | Кодировка Юникод. В этом случае в Блокноте будут, например, греческие буквы, математические операторы и др. Кстати, греческая буква сигма и математический оператор сигма занимают разные ячейки в Unicode. Размер файла при сохранении в Блокноте будет в два раза больше.

Напишем программу, которая приглашает пользователя ввести радиус R, чтобы вычислить длину окружности. При программировании этой задачи длину окружности в метке Label называем греческой буквой бета, приводим формулу для вычислений с греческой буквой пи = 3,14. Результат вычислений выведем в диалоговое окно MessageBox также с греческой буквой.

После традиционного запуска VB2010 и выбора шаблона Windows Forms Application перетащим в форму метку Label и текстовое поле TextBox. Посмотрите на рис. 1.19, так должна выглядеть форма после программирования этой задачи. Кстати, поскольку на метке Label1 мы располагаем несколько строчек текста, в свойстве Autosize метки Label1 укажем False.

Вывод греческих букв на метку Label1 и в диалоговое окно MessageBox можно осуществить, например, таким путем. В текст программы через буфер обмена вставляем греческие буквы из текстового редактора MS Word. В этом случае VB.NET требовал «Save with UNICODE encoding», т. е. записи файла From1.vb в кодировке Unicode. Однако VB2010 сохраняет файлы vb-файлы в формате Unicode по умолчанию. Заметьте, что такой возможности в VB6 не было.

Более технологично пойти другим путем, а именно вставлять подобные символы с помощью функции ChrW, а на вход этой функции подать номер символа в таблице Unicode. Этот номер легко выяснить, выбрав в редакторе MS Word пункты меню Вставка | Символ. Здесь в таблице следует найти этот символ и соответствующий ему код знака в шестнадцатеричном представлении. Чтобы перевести шестнадцатеричное представление в десятичное, следует перед шестнадцатеричным числом поставить &Н. Например, после выполнения оператора n = &Н3В2 в переменной n будет записано десятичное число 946. На этом месте в таблице Unicode расположена греческая буква пи.

Именно таким образом мы программировали данную задачу (листинг 1.13). Листинг 1.13. Использование символов Unicode
Программа демонстрирует возможность вывода в форму, а также в 1 диалоговое окно MessageBox греческих букв. Программа приглашает 1 пользователя ввести радиус R, чтобы вычислить длину окружности

Public Class Form1
Private Sub Form1_Load(ByVal sender As System.Object,
ByVal e As System.EventArgs) Handles MyBase.Load
Me.Font - New System.Drawing.Font("Times New Roman", 12.0!)
Me.Text = "Греческие буквы"
Label1.Text = "Найдем длину окружности:" &
vbCrLf & ChrW(&H3B2) & " = 2" & ChrW(&H2219) & ChrW(&H3C0) & ChrW(&H2219) & "R, " & vbCrLf & "где " & ChrW(&H3C0) & " = " & Math.PI & vbCrLf & vbCrLf & " Введите радиус R:"
TextBoxl.Clear() End Sub
Private Sub TextBoxl_KeyDown(ByVal sender As Object, ByVal e As
System.Windows.Forms.KeyEventArgs) Handles TextBoxl.KeyDown
Dim beta As Decimal
1 Если пользователь нажал клавишу <Enter>: 1 If e.KeyCode - Keys.Return Then If e.KeyData = Keys.Return Then
' Проверка – число ли введено:
If IsNumeric(TextBoxl.Text) = False Then
MessageBox.Show("Вводите число") : Exit Sub
beta = 2 * Math.PI * CType(TextBoxl.Text, Decimal)
1 ChrW(&H3B2) - греческая буква бета MessageBox.Show("Длина окружности " &
ChrW(&H3B2) & " = " & String.Format("{0:F4}", beta))
' или просто Format(beta, "##0.000") End If End Sub End Class

Обрабатывая событие Form1_Load, мы задали шрифт Times New Roman, 12 пунктов, и инициализировали свойство Text длинной метки Label1. Различные шестнадцатеричные номера соответствуют греческим буквам и арифметической операции "умножить", в инициализации строки участвует также константа пи = 3,14. Ее более точное значение получаем из Math.pi. Константа vbCrLf означает переход на новую строку, ее можно вызвать из перечисления Controlchars, здесь она называется CrLf.

Обрабатывая событие TextBoxijceyDown (генерируется в момент первоначального нажатия клавиши), мы отслеживаем нажатие клавиши <Enter>, сравнивая данные о нажатой клавише e.KeyData с кодом клавиши <Enter> Keys.Return. Пользователь вводит в текстовое поле значение радиуса и после того как нажимает клавишу <Enter>, мы проверяем с помощью функции isNumeric, число ли введено в текстовое поле. Если число (True), то вычисляем значение beta, при этом выполняем преобразование строковой переменной TextBox1.Text в переменную типа Decimal (десятичный тип) с помощью функции стуре. Заметим, что тип Decimal появился в Visual Basic, начиная с версии VB.NET, он сменил тип currency (типа currency теперь нет). Десятичный тип представляет восьмибайтовое число (как Double), которое может иметь до 28 десятичных знаков.

После вычисления длины окружности beta выводим ее значение вместе с греческой буквой бета – СhrW (&H3B2) в диалоговое окно MessageBox. Здесь используем функцию string. Format, выражение "{0:F4}" означает, что значение переменной beta следует выводить по фиксированному формату с четырьмя знаками после запятой. В комментарии показано, как можно было бы воспользоваться функцией Format для той же цели. Функция Format существовала еще в VB6.
Убедиться в работоспособности программы можно, открыв решение Unico.sln в папке Unico.

В модуле выражение:
Private WithEvents Vvod1 As Vvod = New Vvod
является объявлением нового объекта wodi, которое является экземпляром класса vvod и содержит события (withEvents). Как видно, в начале класса объявлена процедура обработки события с ключевым словом Event, с указанием имени события Badinput и его строковым (типа string) параметром текст. Обычно принято в качестве параметров процедуры обработки события указать объект-источник Sender и информацию о событии (аргументы EventArgs). Однако для данного самого простого примера одного строкового параметра достаточно.

Стартовая точка модуля main о вызывает метод (процедуру) start () объекта vvod1. Здесь задан вечный цикл Do...Loop, в котором пользователю через функцию inputBox (эта функция из VB6) предлагается ввести число. Введенная пользователем строка say с помощью функции isNumeric подвергается проверке, может ли она рассматриваться как число. Если может, то происходит выход из программы Exit Sub. Если нет, то вызывается (RaiseEvent) событие "ПЛОХОЙ ВВОД" BadInput.
Не стоит читателю вручную набирать процедуру обработки события vvod1_BadInput. Вместо этого в левом раскрывающемся списке выбираем объект Vvodl, а в правом – событие BadInput. Это действие сгенерирует вне класса пустой обработчик события. В нем ключевое слово Handles сообщает исполнительной среде, какое событие обрабатывается этой процедурой. Между двумя сгенерированными строчками добавляем MsgBox (Текст).

Критично посмотрев на данную программу, читатель может возразить, стоило ли "городить огород" с инициированием события, если можно вывести сообщение через MsgBox или написать не процедуру обработки события, а просто обычную процедуру? Не забывайте, что мы здесь стремились минимальным количеством строк программного кода продемонстрировать возможность инициирования событий. Кроме того, очень удобно (иногда более естественно) назвать нечто в программе событием.
Убедиться в работоспособности программы можно, открыв решение Sobytie.sln в папке Sobytie.

Пример 15. Создание элемента управления Button программным способом и подключение события для него в Visual Basic 2010 на примерах

Мы знаем, как, используя панель элементов управления, в форму перенести мышью нужный элемент. Чтобы сделать разработку программы более управляемой, в данной программе научимся создавать элементы управления в форме "программным" способом, т. е. с помощью написания непосредственно программного кода, не используя при этом панель элементов управления Toolbox. Понятно, что название "программным" является более чем условным, поскольку в описываемой нами среде трудно назвать что-либо, что "программным" не является.
Итак, данная программа создаст командную кнопку в форме "программным" способом, задаст свойства кнопки: ее видимость, размеры, положение, надпись на кнопке и подключит событие "щелчок на кнопке".

Для этого создаем новый проект с формой. При этом, как обычно, запускаем VB2010, в окне New Project выбираем шаблон Windows Forms Application. Далее вводим программный код, представленный в листинге 2.2.

Не читаются скачанные книги в форматах djvu, pdf, rar, fb2? Не получается скачать книгу с depositfiles? Прочтите подсказки

Скачать электронную книгу в формате pdf djvu Скачать бесплатно книгу Зиборов В.В. Visual Basic 2010 на примерах

Читать фрагмент, купить и скачать в магазине электронных книг Купить  и  скачать  книгу Читать фрагмент, купить и скачать книгу fb2, epub, на андроид в магазине электронных книг ЛитРес

Читайте спиcок всех книг онлайн для бесплатного скачивания без регистрации: Формулы Excel

Каталог книг по темам для бесплатного скачивания в электронных форматах

Наш сайт регулярно обновляется, и Вы можете получать новинки – электронные книги, которые на нём размещаются.
Подпишитесь на обзор книжек, и он будет приходить на Вашу электронную почту.
Вы всегда сможете легко отказаться от этой бесплатной рассылки. --> Читать последний выпуск книжной рассылки
подписаться на новые книги:
 
Я
Ищу
в возрасте от до

 
Следите за книжными новинками в Twitter
Рейтинг@Mail.ru Яндекс.Метрика +Freabooks