Главная страница
Навигация по странице:

  • Private Sub Имя элемента Key Press (Key Press II As Integer) ………………………. End Sub

  • X$=String (10, “Z”) X$=String (10, “ZYZYVA”) X$=String (10, 122)

  • Mid (строка, начало [длина])

  • Mid (“Visual Basic”, 1.5)= “Visua” с какой позиции, 5- количество символов Mid (“Visual Basic”, 1.6)= “Visual”

  • Public"имя переменной". As Тип переменной илиGlobal"имя переменной". As Тип переменной

  • 6.7 Добавление и удаление программных модулей

  • 6.9 Создание объектов, которые неподдерживаются библиотекой объектов

  • 6.10 Общие методы OLE контейнера

  • 6.11 Работа с базами данными.

  • Глава 7. Организация данных. 7.1 Управляющие массивы

  • Private Sub txt, Change (Index As Integer) .......................... End Sub

  • Лекции по АТП. В состав бпо входят


    Скачать 419 Kb.
    НазваниеВ состав бпо входят
    Дата28.02.2018
    Размер419 Kb.
    Формат файлаdoc
    Имя файлаЛекции по АТП.doc
    ТипДокументы
    #37413
    страница4 из 6
    1   2   3   4   5   6

    6.3 ПРОЦЕДУРЫ И ФУНКЦИИ: ПЕРЕДАЧА


    ПО СЫЛКИ, ПЕРЕДАЧА ПО ЗНАЧЕНИЮ.

    Существует 2 способа передать переменную в качестве аргумента процедуры: по значению или по сылки. В случае, когда переменная аргумент передается по сылки, любое изменение соответствующего параметра внутри процедуры приводит к изменению значения оригинального аргумента. При передаче по значению переменная аргумент остается неизменной после окончания работы процедуры - независимо от того, какие операции производились над данным параметром внутри ее. Например:

    Display Variable 1, (Variable2) в данном случае для процедуры Sub с именем Display передают Variable 1 по сылки, а Variable2 по значению. При этом компилятор создает копию для Variable2, передает ее в функцию и затем удаляет после завершения работы процедуры.

    РАССМОТРИМ ПРИМЕР:

    Sub T (Num As Integer)

    Num= Num*3

    Print Num

    END SUB.
    При запуске следующей процедуры переменная Amt передается по ссылке в качестве параметра Num:
    Sub Form_Click ()

    Dim Amt As Integer

    Amt=2

    Print Amt

    T Amt

    Print Amt

    END SUB.

    На экране появится: 2

    6

    6
    В данном случае использовалась только одна область памяти. Сначала в первой строке кода процедуры Click выделяется область памяти для хранения значения Amt(!). Когда вызывается процедура Sub, параметр Num утраивается, оно становится равным (3).После окончания работы процедуры параметр Num исчезает, но его значение содержится в Amt (n).

    Amt Amt Amt Amt


    2


    2

    6

    6


    (1) (2) (3) (4)

    ---- Num Num -----
    Теперь рассмотрим ту же процедуру Form_Click, но с оператором T (Amt), что означает передачу параметра по значению. Результат работы будет следующий: 2

    6

    2
    В данном случае используется 2 области памяти. Во-первых, первая строка кода приводит к выделению области памяти для хранения значения Amt (1). После вызова процедуры Sub для параметра Num отводится еще одна область памяти (2). Когда значение Num утраивается, оно становится=6 (3). После окончания работы процедуры область памяти, отведенная Num, исчезает (4).
    Amt Amt Amt Amt


    2


    2

    2

    2


    (1) (2) (3) (4)


    6

    2


    Num Num

    6.4 Процедура Key Press

    Почти все объекты VB способны обрабатывать события клавиатуры. Если нажатая клавиша генерирует обычный код ANSII, она перехватывается процедурой Key Press. В этой процедуре можно не только принять символы, вводимые пользователем, но и измерять их или ограничивать число допустимых символов ввода. Синтаксис для данной процедуры обработки событий слегка отличается от всех раннее описанных процедур. Шаблон процедуры Key Press выглядит следующим образом:

    Private Sub Имя элемента Key Press (Key Press II As Integer)

    ……………………….

    End Sub
    Когда VB определяет, что пользователь нажал клавишу с кодом ANSII внутри элемента управления, поддерживающего обработку событий клавиатуры, он вызывает процедуру Key Press. Параметры данной функции является код клавиши нажатой пользователем.

    6.5 Строковые функции.

    1) Space. Синтаксис следующий:

    Space (число пробелов)

    Функция в результате выдаёт строку, состоящую из одних пробелов, при этом число символов в строке определяется параметром в скобках.

    2) String- число, строковое выражение ( $ ) - синтаксис.

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

    X$=String (10, “Z”)

    X$=String (10, “ZYZYVA”)

    X$=String (10, 122)

    Все ниже приведённые примеры для функции String, формируют одинаковую строку из 10-ти символов Z.

    3) Mid- позволяет выделить из строки символы либо подстроки. Синтаксис:

    Mid (строка, начало [длина])

    Первый параметр представляет строку где, указывается позиция символа, с которого начинается выделяемая подстрока. Дополнительный 3-й параметр обозначает число символов данной подстроки. Последние два параметра должны быть целочисленными (Integer или Long Integer) или выражениями которые VB мог бы округлить до правильных.

    Mid (“Visual Basic”, 1.5)= “Visua”

    1. с какой позиции, 5- количество символов

    Mid (“Visual Basic”, 1.6)= “Visual”

    Mid (“Visual Basic”, 8.5)= “Basic”

    4) Left, Right.

    Left- извлекает символ, начинается с первого символа строки

    Right- выводит их с конца.

    1. Функция Mid имеет ещё одно полезное свойство. Её можно использовать для измения содержания внутри текущей строки. Например:

    Если A$=”Power Basic”, тогда в результате операции

    Md (A$, 1.6)= “Quick”

    Строковая переменная A получает значение Quick Basic в данном случае, второй параметр функции указывает, с какого символа вставляется новая строка поверх части старой, а второй какое количество символов будет взято из строки в правой части оператора присваивания.
    6.6 Модули. Стандартные модули.
    VB Позволяет создавать функции и процедуры с переменным числом аргументов. Дополнительные аргументы представляют собой значения типа variant и являются последними в списке. Необязательных аргументов может быть сколько угодно. Функции и процедуры, имеющие произвольное число аргументов, работают медленнее, чем те, у которых присутствует фиксированное число аргументов определенного типа.

    Когда VB начинается подготовка больших проектов, очень остро встаёт вопрос о говорном использовании программного кода, по этой причине часто необходимо хранить процедуры и функции в отдельных модулях, нежели подключать их к форме окна Project Explorer представляет доступ ко всем модулям формы проектов стандартным модулям, модулям классов, а также пользовательским элементам управления.
    В данных модулях размещается программный код доступ, к которому должен иметь весь проект, они применяются для повторного использования кода, новый модуль создаётся при помощи меню Project и под меню Add Module существующий модуль можно открыть, используя Project под Menu/Add File.

    По умолчанию стандартные модули имеют расширение *.bas. Процедуру Sub и функции в программных модулях определяет так, чтобы они были доступны для всего проекта. Это происходит, потому что место, в котором размещены процедуры или определённые переменные и константы определяют ту часть проекта, где они доступны. Если подключить процедуру к модулю она станет доступной всему проекту.

    Аналогичным образом можно объявить переменную значение, которой будет доступно в любой части проекта:

    Public"имя переменной". As Тип переменной

    или

    Global"имя переменной". As Тип переменной

    в разделе Declaration.

    Зарезервированные слова Public и Global используются только в стандартных модулях, если же используется стандартный синтаксис Private или Dim, то такие переменные будут доступны только процедурам внутри данного модуля кода.

    После того как модуль создан, его легко сохранить на диск, для этого нужно открыть Меню/Файл и выбрать Save Module As . На экране появится диалоговая панель, в которой необходимо указать путь к файлу и нажать Enter.
    6.7 Добавление и удаление программных модулей

    Для добавления существующего к проекту необходимо открыть меню/Project и выбрать пункт Add Module после этого нужно выбрать закладку Existing File/Open, где необходимо указать имя файла. Необходимо помнить, что программные модули имеют расширение *.bas, а модули форм *.frm, кроме того код одного модуля может конфликтовать с кодом из другого модуля.

    Для того чтобы добавить код из файла к существующему модулю, необходимо выбрать пункт Меню/Insert под меню/файл, а затем использовать диалоговую панель, которая появится.

    Иногда необходимо удалять программный код из формы или из модуля. Для этого проделывают следующее:

    1) открывают окно Project Explorer

    2) выбирают программный модуль или модуль формы для удаления

    3) используя пункт Remove контекстного меню или аналогичный пункт Меню/Project - удаляем программный модуль
    6.8 OLE. Создание OLE объектов

    OLE, сокращенно от object linking and embedding (связывание и встраивание), сначала рассматривалась как технология, дополняющая и расширяющая динамический обмен данными DDE. Впоследствии она далеко ушла от своего начального предназначения.

    Одним из отличий OLE от DDE является то, что переданный объект полностью сохраняет свой внешний вид и свойства, которыми он обладал в создавшем его приложении, т.е. электронные таблицы представляются как электронные таблицы, текстовые документы выглядят так же, как они выглядели в текстовом процессоре и т. д. После того как проект VB добавляет контейнерный элемент OLE, по сути дела создается мост, связывающий пользователя пользователями с другими приложениями Windows, и этот элемент выглядит точно так же, как он выглядел в другом приложении.

    При работе с OLE первым и самым важным понятием является объект. Объект представляет собой данные, которые представляются приложением Windows, поддерживающим OLE, например, для Excel это электронная коммерция (или ее часть). Для работы с объектами OLE необходимо использовать переменные типа object, а для передачи информации в эти объекты используется тип данных variant.

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

    Другая часть OLE, называемая OLE Automation, позволяет управлять другим приложением. Несомненно, также и то, что приложения VB могут управляться из других приложений. Например, из VB можно управлять приложением Excel, используя его встроенную версию языка VB.

    И, наконец, что в настоящий момент OLE является составной частью более общей технологии, которую очень часто называют COM/ OLE (сокращение происходит от component object model). Суть идеи основывается на важности понятия объекта. Использование COM/ OLE предоставляется достаточно удобным способом пересылки объектов по сети.

    Перед тем как приступить к дальнейшему описанию технологии OLE, необходимо дать определение следующему термину: класс OLE (OLE class). Это приложение, которое представляет OLE объект. Любое приложение поддерживающее технологию OLE, имеет уникальное имя класса, например, «word document» или «excel worksheet» (необходимо отметить то, что в названии класса, учитывается реестр символов). Можно получить список доступных имен классов, нажав на изображение эллипса в свойстве class в окне Properties для управляющего элемента OLE. Существует 4 способа создания OLE. Простейшим из них является следующий:

    • Встроить или установить связь с объектом для контейнерного элемента OLE. Такой способ позволяет изменять объекты на форме во время выполнения приложения и просто добавлять связанные объекты


    Создание OLE объекта при помощи панели инструментов

    Для добавления OLE объекта к панели инструментов необходимо выполнить следующие шаги:

    1. выбрать Project/components и перейти к закладке Insertable objects

    2. установить необходимый флажок типа объекта в появившейся диалоговой панели


    Доступ к объектам через пункт меню Project/References

    Большинство современных OLE компонентов приложений доступно через диалоговую панель, появившеюся при вызове пункта меню Project/References. Эти библиотеки объектов очень полезны, так как они содержат описание все объектов, методов и свойств, которые можно просмотреть при помощи Object Browser. Более того, всегда оказывается доступной справочная информация по используемым форматам команд из Object Browser.

    После того как установлена ссылка на библиотеку объектов при помощи диалоговой панели Project/References, можно воспользоваться функцией Create Object с предварительно определенной объектной переменной для создания такого объекта в коде программы. Ниже приведем пример для объекта электронной таблицы excel:

    Dim objected As Object

    Set objected= Create Object(«excel. sheet»)

    Приведенные строки кода создают объектную переменную (в данном случае она имеет имя objected). Это объектная переменная может быть использована для управления электронной таблицей excel.
    6.9 Создание объектов, которые неподдерживаются библиотекой объектов

    Библиотеке объектов не поддерживают некоторых объектов «таких, как Word6.0»:хотя они и поддерживают технологию OLE. В частности, приложения, не поддерживающие библиотеки объектов, могут не давать информацию об объектах, их методах и свойствах. В таких случаях необходимо использовать функцию Create Object для создания ссылки на объект. Например:

    Dim objWordBasic As Object

    Set objWordBasic= Create Object(«WordBasic»)

    Не надо забывать установить объектную переменную в значение Nothing после ее использования: Set objWordBasic= Nothing.
    Использование OLE в процессе разработки приложения

    После того, как пользователь добавит клиентский элемент управления OLE в форму, немедленно появится диалоговая панель, на которой приведены названия всех приложений Windows, объекты из которых можно встроить свое приложение. Два переключателя в левой части панели предназначены для того, предполагается ли работать с файлами, созданными соответствующими приложениями (связанные объекты) или требуется вызвать другое приложение для создания нового объекта (встраиваемые объекты). Если выбрать опцию Create from File (для создания связи с объектом, хранящимся в файле), то на экране появится панель, позволяющая выбрать необходимый файл.

    Примечание:

    Можно щелкнуть по клавише Cancel, если надо установить свойство OLE при помощи кода программы. В этом случае отпадает необходимость в работе с диалоговыми панелями.
    Свойства OLE

    Свойство SizeMode позволяет устанавливать, как будет выглядеть элемент управления во время выполнения программы. Если надо растянуть изображения по размерам управляющего элемента OLE следует установить значение этого свойства в 1 (VBOLESizeStretch). И, наконец, можно указать элементу, чтобы он автоматически изменял свои размеры, установив значение свойства в 2 (VBOLESizeAutoSize). Свойство Class указывает на приложения содержащее данные. Свойство OLE Type Action определяет тип объекта, который будет создаваться, т. е. Будет ли он связанным, встроенным или и тем и другим одновременно.

    Свойство SourceDoc содержит имя связанного объекта или файла, использующегося в качестве шаблона для встроенного объекта.

    СвойствоSourceItem используется только для связанных объектов и указывает ту часть связанного документа приложения VB, которое будет с ним работать (например, любая часть электронной таблицей может быть задана путем установки этого свойства в значении типа «R1C1:R1C10»).
    6.10 Общие методы OLE контейнера
    Существует ряд важных методов, которые позволяют точно указать действия, которые необходимо произвести с OLE объектом. Требуется ли обновить объект, создать или удалить его, сохранить информацию объекта в файле, считать ее из файла.

    CreatEmbed. Этот метод создает встроенный OLE объект. Чтобы сделать это, сперва необходимо установить (через диалоговую панель OLE или посредством кода) оба свойства Class и OleTypeAllowed. Свойство OleTypeAllowed равно 0 для связывания, равно 1 для встраивания и 2-для того и другого. Свойство Class устанавливает тип OLE объекта. При создании нового встроенного OLE объекта необходимо, чтобы приложение, в котором он будет создаваться, было активным.

    CreatLink. Создает связанный OLE объект из существующего файла. Для этого сперва надо установить свойства OleTypeAllowed и SourceDoc. В этом случае OleTypeAllowed может быть равным 0 (связанный объект) или 2 (связанный и встроенный объект). Точно так же, как и в случае со встраиванием документа, приложение должно быть активным или же его путь должен быть известен системе.

    Copy. Этот метод пересылает все данные и свойства связанного объекта в буфер папки обмена Windows. Как связанная, так и встроенная информация может быть скопирована в буфер папки обмена.

    Paste. Копирует данные из буфера папки обмена в элемент управления OLE. Не надо забывать установить свойства PasteOk элемента управления.

    UpDate. Это очень важный метод так как именно он передает данные из приложения в элемент управления OLE.

    DoVerb. Этот метод позволяет управлять OLE объектом. Для его использования необходимо передать параметр Verb, который указывает действие, которое надо произвести над объектом.

    Close. Для OLE объектов этот метод используется только для встроенных объектов, так он затрагивает OLE объект и прекращает связь с приложениями, которое отвечает за объект.

    Delete. Этот метод следует использовать для удаления объекта. Объекты OLE автоматически удаляются при закрытии формы.

    SaveToFile. Этот метод важен для встроенных объектов OLE. Так как данные управляющего элемента OLE принадлежат только самому OLE объекту, то они могут быть потеряны, если не написать соответствующий код, использующий SaveToFile.

    InsertObjDlg. При вызове этого метода появляется диалоговая память Insert Object, которую VB использует при помещении OLE объекта на форму. Во время выполнения приложения можно использовать этот метод для обеспечения пользователю простого способа создания связанных и встроенных объектов.

    PasteSpecialDlg. Это метод вызывает на экран диалоговую панель Paste Special. Во время выполнения приложения эта диалоговая панель дает пользователю возможность вставить объекты из буфера папки обмена Windows.

    FetchVerbs. Используется для получения списка действий, поддерживаемых приложениями.

    SaveToOle1File. Этот метод следует использовать для обеспечения обратной совместимости с предыдущими версиями OLE.
    6.11 Работа с базами данными.

    Рассмотрим, как работает элемент управления данными: при помощи установки его свойств привязываем этот элемент конкретной базе данных и к конкретной таблице внутри этой базы.

    Сам по себе элемент управления данными не отображает ничего, он только сопровождает поток информации между проектом и базой данных. Элемент управления, который может работать с элементом управления и доступа к данным называется DATA AWARE или DATA BOUND, а процесс связывания DATA AWARE с элементом управления данными называется связывание элемента DATA AWARE. Среди стандартных элементов управления VB только поле ввода, надписи, флажки, элементы управления изображениями, списки, OLE-клиент и графические окна являются элементами DATA AWARE.
    Наблюдение за элементом управления в процессе работы.
    Элемент управления данными выглядит как VCR- управляющая панель.

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

    Свойства Data Base Name. Элемента управления данными определяет конкретную базу данных, к которой необходимо подключиться. Если открыть окно свойств (properties) и нажать на кнопку Data Base Name, то будет представлена общее диалоговое окно для выбора конкретной базы данных.

    Следует отметить, что можно воспользоваться списком «Type», который находиться слева, для изменения типа расширений файлов баз данных. По умолчанию выводится список только файлов с расширением .mdb

    Свойство RecordSource необходимо для определения таблицы или запросов к базе данных.

    Далее необходимо добавить элемент DATA AWARE к форме и привязать его к элементу управления данными. Например, поле ввода.

    Свойство DataSource должно быть установлено в соответствии с именем элемента управления данными для каждого элемента DATA AWARE. Только после установки этого свойства для элемента управления данными, элемент DATA AWARE может выводить на экран информацию из базы данных. Далее необходимо назначить новому элементу DATA AWARE, к какому столбцу из Record Source необходимо привязать информацию. Это выполняется путем установления в свойстве DataField элемента DATA AWARE имени столбца. Если VB позволяет осуществлять доступ к базе данных в процессе разработки приложения, то можно путем нажатия стрелки вниз свойства Data Field просмотреть список столбцов в Record Source, которые подключены с помощью свойства Data Source
    Общие свойства, устанавливаемые в процессе проектирования
    Connectэто свойство определяет тип базы данных. При работе с форматом Microsoft Access нет необходимости устанавливать это свойство. Значением свойства Connect обычно является тип файла базы данных.

    Exclusive. Это свойство имеет два значения – True / False. Установив к базе данных его значение True, пользователь запрещает доступ к базе данных до тех пор, пока он ее не закроет. По умолчанию это свойство установлено в значении False.

    Readonly. Это свойство имеет два значения – True / False. Оно устанавливается в значении True в том случае, если надо только посмотреть содержимое базы данных. Целесообразно устанавливать это свойство в значении True на стадии проектирования приложения.

    Record Set Type. Это свойство используется в том случае, если пользователь создает Record Set с помощью кода или другого управляющего элемента. Должна быть уверенность, что свойство Data Field привязанных данных соответствует полям в Record Set.


    Глава 7. Организация данных.

    7.1 Управляющие массивы

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

    Можно намеренно присвоить двум элементам одинаковые по типу имена или попытаться скопировать элементы Меню/Edit. Если это сделать, то мы увидим диалоговую панель. Всегда, когда в процессе создания имя элемента используется, более чем один раз VB спросит, действительно ли создаётся управляющий массив.

    Каждому новому элементу будет присваиваться имя управляющего массива. После создания двух элементов с одинаковым именем "VB", необходимо будет их как-то различать, это можно сделать с помощью нового свойства называемого индексом. Когда VB создаёт управляющий массив, он присваивает первому элементу этого массива значение индекса -0, второму -1 и т.д. Фактически если присваивается любое значение, свойству Index VB автоматически создаёт управляющий массив,

    Предположим, что необходимо работать с процедурой Change - поле ввода управляющего массива. Перейдя в окно программы, для этих полей мы увидим следующее:

    Private Sub txt, Change (Index As Integer)

    ..........................

    End Sub
    Заметим, что программа выглядит несколько иначе: в место отсутствия параметров в её заголовке как это бывает обычно процедура, сейчас использует новый параметр, например Index типа Integer. Этот индексный параметр является ключом для корректной работы управляющего массива
    1   2   3   4   5   6


    написать администратору сайта