Программирование >>  Разработка пользовательского интерфейса 

1 ... 28 29 30 [ 31 ] 32 33 34 ... 147


Object (G&rGrqQ

Proa. (declftfftii(ift6)

Pwblit Sub HftinO For nitem = 1 To 1в

aSaniplePrraci(nltni) = nltsn

fippertd proc

End Sub

Priuate Tunction ftppend procC)

Debug.Print nlteai End Function

Рис. 4.8. Пример простейшей программы в Visual Basic

Наберите следующую строчку для объявления используемого массива и переменной как целых чисел:

Dim aSampleArray(10), nItem As Integer

Переключитесь в раскрывающемся списке Proc на пункт Main и наберите следующий текст:

Public Sub Main() For nItem = 1 To 10 aSampleArray(nItem) Append proc

Next

End Sub

nItem

Теперь создадим новую процедуру с помощью команды Procedure меню Insert и в ней запишем код для функции, которая будет отображать процесс заполнения массива:

Private Function Append proc() Debug.Print nItem End Function

Запустим нашу программу на выполнение командой Start в меню Run. Можно воспользоваться и соответствующей кнопкой на панели инструментов или просто нажать клавишу F5.

В отличие от Visual FoxPro в Visual Basic нельзя направить вывод результатов выполнения программы в главное окно. Его просто нет. Сначала надо создать какое-то окно, обычно в виде формы, а затем уже в него направлять вывод данных. Чтобы не усложнять нашу задачу, мы сознательно выбрали простейший вариант, используя для вывода окно отладки (Debug Window). Для этого перед командой Print необходимо указать через точку Debug. Для того чтобы увидеть результат, откройте окно отладки командой Debug Window в меню View.

Обратите внимание, что коды программ в Visual FoxPro и в Visual Basic очень похожи; код Visual Basic может легко читаться программистом, знающим только Visual FoxPro, и наоборот. В то же время существуют и определенные различия, которые с увеличением сложности программы разрастаются. Посмотрите на команды вызова функции и объявления переменных - в Visual Basic в отличие от Visual FoxPro мы должны явно объявить все используемые переменные и указать их тип.

Что касается СУБД Access, то, как мы уже говорили, многие воспринимают ее как типичное средство создания личных информационных систем, предусматривающее использование только имеющихся в Access диалоговых средств. Поэтому пользователи часто останавливаются на результатах, достигнутых с помощью визуальных средств разработки, и считают, что самостоятельное создание таблиц, не говоря уже о создании форм и отчетов, это нечто из ряда вон выходящее. На самом деле все не совсем так, и стоит относиться к Мастерам как к



4.3. Горячая десятка

Если вы следовали руководящим указаниям авторов, то вам не трудно написать простейшую программу. Если вы написали даже очень простую программу, то вы, несомненно, можете сказать, что являетесь программистом. Если вы являетесь программистом, то пришла пора заглянуть в красивую коробку, в которой, мы надеемся, вы принесли от продавца Access, Visual Basic или Visual FoxPro, и вместо Руководства пользователя вытащить оттуда Руководство программиста. Если после всего этого у вас упало настроение и стало рябить в глазах от длинных списков многочисленных объектов, команд и функций, не надо впадать в отчаяние.

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

10. Пока мы учимся программировать, нам очень поможет самая простая команда вывода данных в Visual FoxPro ? ?? Expression

Мы даем здесь не полный ее синтаксис, так как эта команда вряд ли пригодится вам для чего-то более виртуозного, чем вывод нужного значения в процессе разработки и отладки прикладной программы. Ее очень удобно набирать в окне Command. Один знак вопроса всегда выводит значение выражения Expression с новой строки, два знака вопроса - на той же строке. В Visual Basic этой команде в наибольшей степени соответствует конструкция

чернорабочим, которые строят каркас здания, а отделкой лучше заниматься самостоятельно.

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

Вы можете создать какую-либо процедуру после открытия контейнера БД. Для создания программ в Access используется язык программирования Visual Basic, о котором мы уже говорили. Перейдите на страницу Модули контейнера базы данных и создайте новый модуль. Меню Access слегка видоизменится. Надо привыкнуть, что меню динамически меняется, то есть при смене объекта, с которым вы работаете, загружается новое меню.

Теперь можно набрать следующую строчку Sub Ясоздаюбазуданныхвручную()

Не забудьте, что каждая процедура должна заканчиваться командой End Sub, но набирать эту строчку не обязательно - после нажатия клавиши Enter она появится автоматически.

Ваша процедура должна выглядеть следующим образом:

Sub ЯсоздаюБазуДанныхВручную() Dim MyDb As DATABASE

Set MyDb = DBEngine.Workspaces(0).CreateDatabase( МояБазаДанных , dbLangCyrillic)

End Sub

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

Для того чтобы в программе можно было разобраться хотя бы на следующий день после написания, не ленитесь писать комментарий к выполняемым действиям. Для написания строк комментария в Visual FoxPro надо в начале строки поставить звездочку * [Comments]

Знак звездочки часто используется также для разделения отдельных смысловых фрагментов программы. Строки комментария нельзя вставлять внутрь команды, если, например, она написана на нескольких строчках с использованием символа переноса - точки с запятой.

При написании комментария на одной строке с командой текст команды и комментария разделяется двумя амперсендами: && [Comments]

Эти знаки можно опустить только после команд, начинающихся на END. В Visual Basic признаком комментария является знак апострофа: [Comments]

Он может применяться и в начале строки, и после команды на одной строке с ней. Признаком переноса командной строки в Visual Basic является знак подчеркивания, а в Visual FoxPro - точка с запятой.



Debug.Print Expression

которая выводит значение Expression в окно отладки Debug Window.

9. Для запуска программы или для передачи управления другой программе в Visual FoxPro дайте команду Do из меню Program и выберите файл с нужным именем, или в окне Command наберите команду

DO ProgramName1 ProcedureName [WITH ParameterList] [IN ProgramName2]

Если в ProgramName1 расширение не указывается, то Visual FoxPro будет пытаться запустить эту версию программы в следующей последовательности расширений для файла с одним и тем же именем:

EXE - исполняемая версия.

APP - прикладная программа.

FXP - откомпилированная версия.

PRG - программа.

Опция WITH используется для передачи параметров (заранее определенных данных) в программу (число параметров не должно превышать 27). По умолчанию параметры передаются по ссылке, для передачи по значению необходимо установить SET UDFPARMS TO VALUE. В ProgramName2 можно указать файл, в котором размещается вызываемая программа.

В Visual Basic сходные задачи выполняет команда Call Name([ParameterList])

Как ее использовать покажем на примере вызова на выполнение подпрограммы:

Call PrintToDebugWindow( Печать в окне отладки ) Sub PrintToDebugWindow(cString) Debug.Print AnyString

End Sub

8. Ранее мы научились определять в программе нужные нам переменные с требуемым типом данных. При обработке данных программисту в силу различных причин часто приходится преобразовывать данные из одного типа в другой.

В языке программирования Visual FoxPro для этого существует большое количество функций, из которых наиболее часто используемыми можно назвать следующие: STR(nExpression [, nLength [, nDecimalPlaces]])

Преобразует числовое выражение nExpression в строку символов. Необязательные параметры nLength и nDecimalPlaces позволяют задать длину и число десятичных разрядов соответственно. VAL(cExpression)

Преобразует в число строку символов, представляющую собой набор цифр.

В Visual Basic существуют аналогичные функции: Str(nExpression) Val(cExpression)

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

В Visual FoxPro по частоте употребления можно выделить следующие функции: SUBSTR(cExpression, nStartPosition [, nCharactersReturned])

Возвращает фрагмент строки символов из строкового выражения cExpression, начинающийся с позиции nStartPosition и длиной nCharactersReturned. LEFT(cExpression, nExpression)

Возвращает из строкового выражения cExpression фрагмент, включающий первые nExpression символов.

RIGHT(cExpression, nExpression)

Возвращает из строкового выражения cExpression фрагмент, включающий последние nExpression символов. ALLTRIM(cExpression)

Исключает все начальные и конечные пробелы из строкового выражения.

В Visual Basic существуют аналогичные функции:



1 ... 28 29 30 [ 31 ] 32 33 34 ... 147

© 2006 - 2024 pmbk.ru. Генерация страницы: 0
При копировании материалов приветствуются ссылки.
Яндекс.Метрика