Отправляет email-рассылки с помощью сервиса Sendsay
  Все выпуски  

Практикуемся с консольными приложениями и строками.


➲перейти к началу ➲перейти к концу
Практическая работа с Visual Studio.Net и Microsoft Office

Оглавление

➲Краткие сведения об этой рассылке
➲Практическая работа с Visual Studio.Net
➲Практическая работа с Microsoft Office
➲Web-технология
➲Создание реальных проектов
➲Вопросы и ответы

Краткие сведения об этой рассылке

Статистика
Номер выпуска рассылки 3
Дата выпуска рассылки 2006-02-21
Время выпуска рассылки 23:15:18
Возраст рассылки в днях 17
Количество подписчиков 74
Динамика подписчиков за вчера +2
Динамика подписчиков за неделю +8

Подпишись на эту рассылку

Рассылки Subscribe.Ru
Практическая работа с Visual Studio.Net и Microsoft Office

Дружественные ресурсы

Рассылки Subscribe.Ru
Visual Basic для новичков и профессионалов
Обсуждение VS.Net 2003, MSOffice 2003


Частичная автоматизация.

Данный выпуск рассылки подвергся частичной автоматизации посредством Microsoft Access 2003. Теперь выпуски собираются из рубрик в автоматическом режиме. И хотя до достижения настоящей автоматизации ещё далеко, этот способ позволяет избежать досадных ошибок, которые присутствовали в предыдущем выпуске рассылки.

К сожалению, не могу сказать ничего утешительного для пользователей текстовой версии, так как она генерируется автоматически при помощи директивы @@AUTOTEXT@@. В этом случае возможны такие варианты ошибок, как пробелы внутри слов, неправильный перенос строк, ошибочное преобразование таблиц и многое другое.

➲перейти к оглавлению

Практическая работа с Visual Studio.Net

Разбор главной процедуры.

Каждая программа Visual Basic должна содержать процедуру называемую Main. Эта процедура служит начальной точкой вашего приложения. Она вызывается, когда ваш модуль загружен.

ë

Когда вы объявляете процедуру Main в классе, вы должны использовать ключевое слово Shared. В модуле эта необходимость отпадает.

Вот четыре пути объявления процедуры Main:

  1. Наипростейший способ объявить процедуру Sub. В таком случае аргументы (аргумент в переводе с английского - довод) или возвращаемое значение не требуется.

    Á

    Sub Main()

    End Sub

  2. Main так же может возвращать целочисленное значение Integer, код которой зависит от действующей операционной системы. Другие программы могут испытывать (тестировать) это значение, просматривая значение Windows ERRORLEVEL. Как видите, возвращаемое значение выводится в определённом формате, поэтому здесь и далее я буду называть его кодом функции. Для получения кода функции вы должны объявить Main как процедуру Function вместо процедуры Sub.

    Á

    Function Main() As Integer

     MsgBox("Hello World!") ' Показывает сообщение на экране компьютера.

     Return 0 ' Обычно ноль обозначает удачное завершение.

    End Function

  3. Main может также брать строковой аргумент. Каждая строка в массиве содержит одну командную строку аргументов, используемую для обращения к вашей программе. Вы можете выполнять различные действия зависящие от их значений. Для извлечения командной строки аргументов, вы должны объявить Main следующим образом:

    Á

    Function Main(ByVal CmdArgs() As String) As Integer

     Dim ArgNum As Integer ' Параметр отдельной командной строки.

     If CmdArgs.Length > 0 Then ' Смотрим есть ли какие-либо аргументы.

       For ArgNum = 0 To UBound(CmdArgs)

         ' Осматриваем CmdArgs(ArgNum) для получения параметра.

       Next ArgNum

     End If

     MsgBox("Hello World!") ' Выдаём сообщение на экран.

     Return 0 ' Обычно ноль обозначает удачное завершение.

    End Function

    Как видите, здесь используется цикл проходящийся по массиву командных строк . Способ извлечения аргументов оставлен на ваше усмотрение

  4. Вы так же можете объявить процедуру Main для осмотра командной строки, но не возвращать значение кода:

    Á

    Sub Main(ByVal CmdArgs() As String)

    End Sub

В общем, вы можете, получать возвращаемый код или не получать, и использовать строки аргументов или нет. Всё зависит от того, чего вы хотите добиться.

Библиотеки Net Framework SDK.

Следует отдельно отметить, что для того, чтобы сработали функции языка Visual Basic , вы должны будете использовать ссылку на пространство имён Microsoft.VisualBasic. Привыкайте, ведь в среде разработки Visual Studio.Net библиотеки Net Framework SDK являются основным источником уже готового к употреблению программного кода. По большому счёту, кроме синтаксических конструкций и этих библиотек больше ничего не нужно для написания большинства программ. Конечно, ещё существуют разработчики драйверов, они используют DDK в своих целях, но это нам не нужно.

Что же такое SDK? В расшифровке это звучит так, Software Development Kit, что в переводе обозначает программный пакет разработки. В предыдущей версии Visual Studio библиотеки назывались Platform SDK. Может они и по разному организованы, но суть у них одна, получить доступ к функциям Windows. Это что-то вроде удобного интерфейса к таким библиотекам как kernel32.dll, user32.dll и сотням других. Подробнее я расскажу об этом в следующих рассылках.

Вот и конец сегодняшней рубрики, надеюсь, вы не расстроились, что в ней была в основном теория. Ничего, в следующих выпусках примеры будут сложнее, намного сложнее, хотя и не сразу. Даю домашнее задание, внимательно осмотрите сегодняшний код, попытайтесь понять всё, вплоть до символов. Повторите назначение каждой инструкции и функции. Если вы ещё не знаете, что из чего берётся, загляните в справку MSDN. Конечно, в будущих примерах я буду объяснять назначение отдельных элементов, но больший упор сделаю на практике, иначе мне просто придётся копировать чужие статьи.

➲перейти к оглавлению

Практическая работа с Microsoft Office

Работа со строками.

Безусловно, в любой системе программирования работа со строками является очень важной задачей. Строки используются практически везде, но чаще всего для того, чтобы объяснить что-либо пользователю. Например, простой текст книги, написанный разговорным языком, или язык программирования для задания компьютеру инструкций в виде понятном для пользователя. Кстати, существуют два типа языков программирования. Первый называется компилятором, то есть составителем. Для того, чтобы компьютер понял, что вы ему написали в виде строк, потребуется процесс называемый компиляцией - составлением. Другой зовётся интерпретатором, то есть он понимает ваши каракули без преобразования в машинный код. Попробуйте самостоятельно понять, к какому типу относятся следующие языки: Visual Basic 6.3, HTML, Visual Basic.Net, Visual C++.Net, VBScript, JScript.

Так как мы находимся в рубрике, которая описывает программный пакет Microsoft Office, то естественно будем пользоваться языком программирования Visual Basic 6.3. Альтернатива использовать Редактор Сценариев, но во-первых, там все равно надо решать брать за основу VBScript или JScript, а во-вторых, в таких программах как Access, такой подход будет жутко не эффективен, ведь редактор сценариев доступен лишь для объектов страниц.

А теперь попрактикуемся. Зайдите в любую программу от Microsoft Office. Выберите в меню Сервис вкладку Макрос, а затем щёлкните на элементе Редактор Visual Basic. Или просто нажмите сочетания клавиш Alt+F11. Так же его значок может присутствовать на панели инструментов, зависит от ваших настроек.

Перед нами открылся редактор, в нём мы будем работать с кодом текущего документа. Запустите Object Browser. Как всегда существуют три способа:

  1. Найти на вкладке View
  2. Нажав клавишу F2. Вот как его любят, запускается одной клавишей!!!
  3. Выбрав кнопку на панели инструментов. Он изображён в виде жёлтой коробки, из которой лезут всякие непотребности, на типа методов, свойств и ещё какого-то красного куба.

N

У программиста должна быть сильно развита наблюдательность, хотя бы по сравнению с обычным, нет, не порошком, пользователем. Впрочем, пользователь тоже может развить достаточную степень сосредоточенности, чтобы замечать то, мимо чего у других проскальзывает взгляд. Программируя или просто пользуясь компьютером, вы не должны терять сосредоточенность. Это очень важно!!! Например, вспомните, как выглядит кнопка открыть на панели инструментов Microsoft Office. Даже если вы назвали открытую жёлтую папку, вряд ли кто-нибудь вспомнит её точные контуры, и уж точно единицы назовут изогнутую синею стрелку справа вверху. Вы скажете, зачем мне забивать голову такой дурью, но именно из таких незаметных деталей складывается картина происходящего. Ведь то, что вы видите на экране, кажется вовсе не тем, что происходит на самом деле. А точнее, не то, как это надо себе представлять, чтобы эффективно программировать.

Теперь в поле со списком All Libraries выберите элемент VBA. После этого в Object Browser будут показаны только члены библиотеки Visual Basic For Applications, что в переводе обозначает Наглядная Основа Для Приложений. Найдите в списке классов модуль Strings. Список членов классов изменился, сейчас он показывает все члены модуля Strings. Вы видите, что кроме процедур в текущем модуле ничего нет, скажу даже более, все процедуры являются функциями, то есть всегда возвращают значение. Ниже я привожу таблицу этих функций, распределённых по группам. Советую вам скопировать этот документ в Word или Excel, и распечатать, чтобы они были всегда перед глазами. Вдумчиво прочитайте таблицу и попытайтесь понять, как работает каждая из функций.

Библиотека: VBA. Класс: Strings.
Группы Члены Возврат Описание
Автострока MonthName String Получает название месяца от его положения
Space По умол. Возвращает строку с определённым числом пробелов
Space$ String Возвращает строку с определённым числом пробелов
String По умол. Возвращает строку с определённым числом заданного символа
String$ String Возвращает строку с определённым числом заданного символа
WeekdayName String Получате название недели от его положения
Массив Filter По умол. Ищет строки в массиве и возвращает подмассив строк с 0 основой
Join String Соединяет в строку строки из массива
Split По умол. Возвращает массив подстрок разделяемой строки
Обрезка LTrim По умол. Срезает пространственные символы с левой стороны строки
LTrim$ String Срезает пространственные символы с левой стороны строки
RTrim По умол. Срезает пространственные символы с правой стороны строки
RTrim$ String Срезает пространственные символы с правой стороны строки
Trim По умол. Срезает пространственные символы с обоих сторон строки
Trim$ String Срезает пространственные символы с обоих сторон строки
Подстроки InStr По умол. Возвращает число возникновения подстроки в строке (поиск с начала)
InStrB По умол. Возвращает число возникновения подстроки в строке (поиск с начала)
InStrRev Long Возвращает число возникновения подстроки в строке (поиск с конца)
Left По умол. Возвращает некоторое кол-во символов с левой стороны строки
Left$ String Возвращает некоторое кол-во символов с левой стороны строки
LeftB По умол. Возвращает некоторое кол-во символов с левой стороны строки
LeftB$ String Возвращает некоторое кол-во символов с левой стороны строки
Mid По умол. Возвращает некоторое кол-во символов с любой стороны строки
Mid$ String Возвращает некоторое кол-во символов с любой стороны строки
MidB По умол. Возвращает некоторое кол-во символов с любой стороны строки
MidB$ String Возвращает некоторое кол-во символов с любой стороны строки
Replace String Заменяет в строке одну подстроку другой
Right По умол. Возвращает некоторое кол-во символов с правой стороны строки
Right$ String Возвращает некоторое кол-во символов с правой стороны строки
RightB По умол. Возвращает некоторое кол-во символов с правой стороны строки
RightB$ String Возвращает некоторое кол-во символов с правой стороны строки
Преобразование Asc Integer Возвращает первый символ строки в виде целого числа
AscB Byte Возвращает первый символ строки в виде числа байта
AscW Integer Возвращает первый символ строки Unicode в виде целого числа
Chr По умол. Возвращает символ связанный с определённым числом симв. Кода
Chr$ String Возвращает символ связанный с определённым числом симв. Кода
ChrB По умол. Возвращает символ связанный с определённым числом симв. Кода
ChrB$ String Возвращает символ связанный с определённым числом симв. Кода
ChrW По умол. Возвращает символ связанный с определённым числом симв. Кода
ChrW$ String Возвращает символ связанный с определённым числом симв. Кода
Строки Len По умол. Возвращает число символов в строке
LenB По умол. Возвращает число байтов в строке
StrComp По умол. Сравнивает строки и возвращает результат
StrReverse String Выстраивает символы строки в обратном порядке
Формат Format По умол. Возвращает форматированную строку в зависимости от условий
Format$ String Форматирует выражение в зависимости от условий форматирования
FormatCurrency String Форматирует выражение ввалюту
FormatDateTime String Форматирует выражение в дату и время
FormatNumber String Форматирует выражение в число
FormatPercent String Форматирует выражение в проценты
LCase По умол. Преобразует все символы в прописные
LCase$ String Преобразует все символы в прописные
StrConv По умол. Различные видыпреобразования строки (ASCII, Unicode)
UCase По умол. Преобразует все символы в заглавные
UCase$ String Преобразует все символы в заглавные

Если вы не всё поняли, то откройте справку и наберите название функции в поиске и подтвердите его начало. Это можно сделать, просто нажав клавишу Enter. От того, где вы запросили помощь, зависит какую языковую версию вы получите. К примеру, запустим справку в программе работающей с базами данных Access. Наберём слово Replace и начнём поиск. Откройте страницу справки Функция Replace. Мы видим русскоязычную версию помощи по функции. Сделаем то же самое, но уже из Visual Basic. Откройте появившуюся ссылку Replace Function. Вы удивлены? Если нет, то кое-какой опыт работы с системой Microsoft Office у вас имеется. Вот так, документацию можно получить как на русском языке, так и на английском, всё зависит от ваших методов поиска.

Прочитайте внимательно документацию по функции Replace, что в переводе значит заместить, хотя чаще переводится как заменить. В следующих выпусках эта функция нам очень пригодиться

Сегодняшний выпуск этой рубрики подошёл к концу. В следующем мы поработаем со строковыми функциями на практике. А в будущем вас ждёт знакомство с различными видами структур, которые можно создать при помощи таблиц, такие как переменные, списки, графы. Это будет что-то вроде имитации для работы с элементами управления. Графы могут пригодиться для синхронизации с древовидным списком и так далее.

➲перейти к оглавлению

Web-технология

Введение в Web-технологии.

На сегодняшний день, Web-технологии занимают довольно большое пространство в мире программ. Получая эту рассылку по почте и читая её, вы тем самым может и не осознанно, используете их. Для локальных пользователей, почта не в счёт, лучше всего попробовать научиться программировать HTML, DHTML страницы. Помимо вызова в DHTML функций, можно так же воспользоваться механизмом Script Engine. Он включает в себя Jscript и VBScript, во всяком случае, так было со старыми версиями. Сейчас можно работать с другими видами исходников, но мы будем использовать уже устоявшиеся версии. Упор будет сделан на VBScript, не потому, что Jscript чем-то хуже. Нет просто VBScript универсальнее с точки зрения работы с приложениями VBScript. Хотя иногда я буду приводить для расширения кругозора код Jscript.

Если у вас установлен Microsoft Office, то вы можете воспользоваться справкой находящейся по следующему пути C:\Program Files\Microsoft Office\OFFICE11\1049. Существуют три файла справки, использование которых сильно пригодиться вам в работе.

  • HTMLREF.CHM
  • VBSCRIP5.CHM
  • JSCRIPT5.CHM

По названию нетрудно догадаться для чего служит каждый из них. На этом наша сегодняшняя рубрика подходит к концу.

➲перейти к оглавлению

Создание реальных проектов

Время реальных проектов ещё не пришло.

➲перейти к оглавлению

Вопросы и ответы

В этом выпуске данная рубрика отсутствует.

➲перейти к оглавлению

Практическая работа с Visual Studio.Net и Microsoft Office
➲перейти к началу ➲перейти к концу

В избранное