Запись алгоритмов
Представление данных в памяти, типов данных, идентификаторов, переменных, массивов. Определение структуры программ на VBA, операторы описания, операторы присваивания. Оценка понятия макроса, создания, отладки, использования среды для отладки программ.
Рубрика | Программирование, компьютеры и кибернетика |
Вид | дипломная работа |
Язык | русский |
Дата добавления | 27.09.2017 |
Размер файла | 142,1 K |
Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже
Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
Для работы со свойствами файлов:
Функция FileDateTime - Возвращает значение типа Variant (Date), содержащее дату и время создания или последнего изменения файла.
FileDateTime(путь)
Обязательный аргумент путь является строковым выражением, указывающим имя файла. Аргумент путь может содержать имя каталога или папки и диска.
Функция FileLen - Возвращает значение типа Long, содержащее размер файла в байтах.
FileLen(путь)
Обязательный аргумент путь является строковым выражением, определяющим файл. Аргумент путь может содержать имя каталога или папки и диска.
Если в момент вызова функции FileLen указанный файл открыт, возвращается размер этого файла до его открытия. Для определения размера открытого файла следует использовать функцию LOF.
Функция GetAttr - возвращает значение типа Integer, содержащее атрибуты файла, каталога или папки.
GetAttr(путь)
Обязательный аргумент путь является строковым выражением, указывающим имя файла. Аргумент путь может содержать имя каталога или папки и диска.
Значение, возвращаемое функцией GetAttr, являются суммой следующих значений:
vbNormal 0 Обычный.
vbReadOnly 1 Только чтение.
vbHidden 2 Скрытый.
vbSystem 4 Системный.
vbDirectory 16 Каталог или папка.
vbArchive 32 Файл был изменен после последнего резервирования.
Для определения установленных атрибутов следует с помощью оператора And выполнить поразрядное сравнение значения, возвращенного функцией GetAttr , и значения, соответствующего нужному атрибуту файла. Ненулевой результат означает, что данный атрибут установлен. Например, значение следующего выражения будет нулевым, если архивный атрибут не установлен:
Result = GetAttr(FName) And vbArchive
Если архивный атрибут установлен, будет возвращено ненулевое значение.
Инструкция SetAttr - задает атрибуты файла.
SetAttr pathname, attributes
Здесь pathname (Обязательный) - строковое выражение, указывающее имя файла; может содержать имя каталога или папки и диска.
attributes (Обязательный) - константа или числовое выражение, задающее атрибуты файла.
Ниже приведены допустимые значения аргумента attributes:
vbNormal 0 Обычный (по умолчанию).
vbReadOnly 1 Только чтение.
vbHidden 2 Скрытый.
VbSystem 4 Системный.
vbArchive 32 Файл был изменен после последнего резервирования.
При попытке изменения атрибутов открытого файла возникает ошибка выполнения.
Для манипулирования файлами:
Инструкция FileCopy - Копирует файл.
FileCopy source, destination
Здесь source (Обязательный) - строковое выражение, указывающее имя файла, подлежащего копированию. Аргумент source может содержать имя каталога или папки и диска.
destination (Обязательный) - строковое выражение, указывающее имя результирующего файла. Аргумент destination может содержать имя каталога или папки и диска.
При попытке скопировать открытый файл с помощью инструкции FileCopy возникает ошибка.
Инструкция Name - Изменяет имя файла, каталога или папки.
Name староеИмя As новоеИмя
Здесь староеИмя (Обязательный) - строковое выражение, указывающее имя и положение существующего файла; может содержать имя каталога или папки и диска.
новоеИмя (Обязательный) - строковое выражение, указывающее новое имя и положение файла; может содержать имя каталога или папки и диска. Файл с таким именем не должен существовать.
Оба аргумента, новоеИмя и староеИмя, должны указывать на один и тот же диск. Если путь, указанный с помощью аргумента новоеИмя существует и отличен от указанного с помощью аргумента староеИмя, инструкция Name переместит файл в новый каталог или папку и переименует его (если требуется). Если пути, указанные с помощью аргументов новоеИмя и староеИмя, разные, а имена файлов совпадают, инструкция Name переместит файл в новый каталог или папку без изменения его имени. С помощью инструкции Name, можно переместить файл из одного каталога (или папки) в другой, однако нельзя переместить каталог или папку.
При попытке переименовать открытый файл с помощью инструкции Name возникает ошибка. Прежде чем приступить к изменению имени файла, необходимо его закрыть. В аргументах инструкции Name не допускается использование подстановочных знаков для нескольких символов (*) и оного символа (?).
Инструкция Kill - удаляет файлы с диска.
Kill путь
Обязательный аргумент путь является строковым выражением, указывающим имена одного или нескольких файлов, подлежащих удалению. Аргумент путь может содержать имя каталога или папки и диска.
Инструкция Kill поддерживает использование подстановочных знаков для нескольких символов (*) и для одиночного символа (?) для указания нескольких файлов.
При попытке удалить открытый файл с помощью инструкции Kill возникает ошибка. Для удаления каталогов следует использовать инструкцию RmDir.
Для управления файлами:
Инструкция Open - разрешает выполнение с файлом операций ввода/вывода.
Open путь For режим [Access доступ] [блокировка] As [#]номерФайла [Len=длина]
Здесь путь (Обязательный) - строковое выражение, указывающее имя файла; может содержать имя каталога или папки и имя диска.
режим (Обязательный) - ключевое слово, указывающее режим файла: Append, Binary, Input, Output или Random. По умолчанию, файл открывается в режиме Random.
доступ (Необязательный) - ключевое слово, указывающее операции, разрешенные с открытым файлом: Read, Write или Read Write.
блокировка (Необязательный) - ключевое слово, указывающее операции, разрешенные с открытым файлом другим процессам: Shared, Lock Read, Lock Write и Lock Read Write.
номерФайла (Обязательный) - допустимый номер файла в интервале от 1 до 511 включительно. Для определения следующего свободного номера файла следует использовать функцию FreeFile.
длина (Необязательный) - Число, меньшее либо равное 32 767 (байт). Для файлов, открытых в режиме Random, это значение является длиной записи. Для файлов с последовательным доступом это значение является числом буферизуемых символов.
Чтобы получить возможность выполнить любую операцию ввода/вывода, файл необходимо открыть. Инструкция Open резервирует буфер ввода/вывода для файла и определяет режим использования этого буфера.
Если аргумент путь описывает несуществующий файл, такой файл будет создан при открытии в режиме Append, Binary, Output или Random.
Если файл уже открыт другим процессом и указанный режим доступа не разрешен, инструкция Open не будет выполнена и возникнет ошибка.
Если аргумент режим имеет значение Binary, предложение Len игнорируется.
В режимах Binary, Input и Random можно еще раз открыть уже открытый файл под другим номером, не закрывая его. В режиме Append и Output необходимо закрыть файл, чтобы получить возможность открыть его еще раз под другим номером.
Функция FreeFile - Возвращает значение типа Integer, представляющее следующий номер файла, доступный для использования с инструкцией Open.
FreeFile[(диапазонНомеров)]
Необязательный аргумент диапазонНомеров является выражением типа Variant, указывающим диапазон, из которого возвращается следующий свободный номер файла. Значение 0 (используется по умолчанию) задает возвращение номера файла из диапазона 1 - 255 включительно. Значение 1 задает возвращение номера файла из диапазона 256 - 511.
Функцию FreeFile используют для возвращения незанятого номера файла.
Инструкция Close - завершает операции ввода/вывода с файлом, открытым с помощью инструкции Open.
Close [списокНомеровФайлов]
Необязательный аргумент списокНомеровФайлов может представлять один или несколько номеров файлов. При этом используется следующий синтаксис, где номерФайла представляет любой допустимый номер файла:
[[#]номерФайла] [, [#]номерФайла] . . .
Если аргумент списокНомеровФайлов опущен, закрываются все активные файлы, открытые с помощью инструкции Open.
При закрытии файла, открытого в режиме Output или Append, в него добавляется содержимое последнего буфера вывода. Все буферы, связанные с закрытым файлом, освобождаются.
Инструкция Close разрывает связь между файлом и соответствовавшим ему номером файла.
Инструкция Reset - Закрывает все файлы, открытые с помощью инструкции Open.
Reset
Инструкция Reset закрывает все активные файлы, открытые с помощью инструкции Open, и записывает содержимое всех буферов файлов на диск.
Для позиционирования в открытом файле:
Функция Seek - возвращает значение типа Long, определяющее текущее положение указателя чтения/записи внутри файла, открытого с помощью инструкции Open.
Seek(номерФайла)
Обязательный аргумент номерФайла является выражением типа Integer, содержащим допустимый номер файла.
Функция Seek возвращает значение в интервале от 1 до 2 147 483 647 (т.е. 2^31 - 1) включительно.
Ниже приведено описание значений, возвращаемых для каждого режима доступа к файлу.
Random Номер записи, которая будет считана или записана следующей.
Binary, Output, Append, Input Номер байта, с которого начинается выполнение следующей операции ввода/вывода. Первому байту файла соответствует 1, второму 2 и т.п.
Функция EOF - Возвращает значение типа Integer содержащее логическое значение True при достижении конца файла.
EOF(номерФайла)
Обязательный аргумент номерФайла является выражением типа Integer, содержащим любой допустимый номер файла.
С помощью функции EOF можно избежать ошибок, возникающих при попытках чтения или записи после достижения конца файла.
Функция EOF возвращает значение False до тех пор, пока не будет достигнут конец файла. При использовании с файлами, открытыми в режиме Random или Binary, функция EOF возвращает значение True, если последней выполненной инструкции Get не удалось считать целую запись; в противном случае возвращается значение False.
Для файлов, открытых для доступа в режиме Binary, попытка чтения файла с помощью функции Input до возвращения функцией EOF значения True приводит к ошибке. При чтении двоичных файлов с помощью функции Input следует вместо функции EOF использовать функции LOF и Loc или использовать с функцией EOF инструкцию Get.
Ввод/вывод в файлы различных типов доступа.
Последовательный доступ к файлам:
Последовательный доступ лучше применять к файлам, состоящим только из текста, созданного в текстовом редакторе. В них невыгодно хранить числа, так как в строковом виде они занимают больше места, чем в числовом.
Файлы, открытые для последовательного доступа, допускают следующие операции:
ввод символов в файл (Input);
вывод символов из файла (Output);
добавление символов в файл (Append).
Чтобы открыть файл для последовательного доступа, следует использовать оператор Open:
Open pathname For [Input | Output | Append] As filenum [Len = Buffersize]
Когда последовательный файл открывается для ввода (Input), файл должен существовать, иначе возникнет ошибка. Однако при попытке открыть несуществующий файл для операций вывода (Output) или добавления (Append) оператор Open сначала создает файл, а затем открывает его. Номер файла filenum является обязательным и может быть получен с помощью функции FreeFile. Необязательный параметр Len задает число символов в буфере для операций копирования данных из файла в приложение. Чем больше буфер, тем реже производятся обращения к диску. После открытия файла для операций Input, Output или Append его надо закрыть с помощью оператора Close, прежде чем открывать для операции другого типа.
Для редактирования файла сначала надо прочитать его содержимое в программные переменные, затем изменить переменные и записать их содержимое обратно в файл. Чтобы получить содержимое текстового файла, следует открыть его для операции последовательного ввода (Input). Затем используют оператор Line Input #, Input () или Input #, чтобы скопировать файл в программные переменные. Существуют операторы и функции, которые для последовательных файлов читают и записывают один символ или одну строку за одну операцию. Следующий фрагмент читает файл строка за строкой:
Dim Lines As String, NextLine As String
Do Until EOF (FileNum)
Line Input # FileNum, NextLine
Lines = Lines + NextLine + Chr(13) + Chr(10)
Loop
Оператор Line Input # распознает последовательность символов CR/LF, но не включает их в переменную. О сохранении этих символов должен позаботиться программист.
Можно также использовать оператор Input #, который читает числа и/или строковые выражения, записанные в файл. Например, для чтения строки адреса можно использовать следующий оператор:
Input # FileNum, name, street, city, zip, country
Можно использовать функцию Input () для копирования любого числа символов из файла в переменную при условии, что они могут поместиться в этой переменной:
Lines = Input (n, FileNum)
Чтобы скопировать целый файл в переменную, следует использовать функцию InputB. Так как она возвращает строку в коде ANSI, для преобразования ее в строку UNICODE надо применять функцию StrConv:
Lines = StrConv(InputB(LOF(FileNum), FileNum), vbUnicode)
Для записи строк в файл следует открыть его для последовательного вывода (Output) или добавления (Append), а затем использовать оператор Print #, например:
Print #FileNum, Text
Существует также оператор Write #, который записывает список чисел и/или строковых выражений в файл. Он автоматически отделяет каждое выражение запятой и заключает строковые выражения в кавычки:
AnyString = "AnyChars" : AnyNum = 12345
Write #FileNim, AnyString, AnyNum
Результат будет выглядеть так:
"AnyChars",12345
Рассмотрим более полный пример, в котором читается текстовый файл, ищутся строки, начинающиеся с одинаковой буквы, и выводятся в другой текстовый файл:
Sub пример12()
Dim first() As String, s() As String
Dim n As Integer, i As Integer, k As Integer
Dim fn As Integer, x As String
i = 1: k = 0
fn = FreeFile
Open "D:\input.txt" For Input As fn
Do While Not EOF(fn)
ReDim Preserve s(1 To i)
ReDim Preserve first(1 To i)
Line Input #fn, s(i)
first(i) = Left(s(i), 1)
i = i + 1
Loop
Close #fn
i = i - 1
fn = FreeFile
Open "D:\output.txt" For Output As fn
For n = 1 To i
If n <> i Then
For k = n + 1 To i
If first(k) = first(n) Then
Print #fn, s(n), s(k)
End If
Next k
End If
Next n
Close #fn
End Sub
Произвольный доступ к файлам:
Байты в файлах произвольного доступа формируют записи, каждая из которых содержит одно или более полей. Запись с одним полем соответствует любому стандартному типу. Запись с несколькими полями соответствует определяемому пользователем типу. Например, тип Worker, определяемый ниже, создает 19 байтные записи, которые состоят из трех полей:
Type Worker
LastName As String * 10
Title As String * 7
Rank As String * 2
End Type
После определения типа, соответствующего записи, следует объявить другие переменные, которые необходимы в процессе открытия файла для произвольного доступа, например:
'Переменная записей
Public Employee As Worker
'Текущая запись
Public Position As Long
'Номер последней записи в файле
Public LastRecord As Long
Открыть файл для производного доступа можно с помощью следующего синтаксиса оператора Open:
Open pathname [ For Random] As filenumber Len = reclength
Так как типом доступа по умолчанию является произвольный (random), ключевые слова For Random не обязательны.
Выражение Len = reclength задает размер каждой записи в байтах. Заметим, что каждая строковая переменная в VBA хранится в формате Unicode, и надо задать длину этой строки. Если reclength меньше, чем действительная длина записываемой в файл записи, генерируется ошибка. Если reclength больше действительной длины записи, то запись сохраняется, но дисковое пространство при этом будет расходоваться нерационально.
Для открытия файла можно использовать следующий код:
Dim FileNum As Integer, RecLength As Long, Employee As Person
' Вычисляем длину каждой записи.
RecLength = LenB (Employee)
' Получаем следующий доступный номер файла.
FileNum = FreeFile
' Открываем новый файл оператором Open.
Open "MYFILR.FIL" For Random As FileNum Len = RecLength
Чтобы отредактировать файл произвольного доступа, сначала следует считать записи из файла в программные переменные, затем изменить значения переменных и записать переменные обратно в файл. В следующих разделах обсуждается, как редактировать файлы, открытые для произвольного доступа.
Для копирования записей в переменные следует использовать оператор Get. Например, чтобы скопировать запись из файла Employee Records в переменную Employee, можно использовать следующий код:
Get FileNum, Position, Employee
В этой строке Employee содержит номер, который оператор Open использовал для открытия файла; Position содержит номер записи, которая копируется; переменная Employee, объявленная с определенным пользователем типом Worker, получает содержимое записи.
Добавлять или изменять записи в файлах, открытых для произвольного доступа, можно с помощью оператора Put. Чтобы заменить запись, следует использовать оператор Put, задавая положение записи в файле, например:
Put # FileNum, Position, Employee
Этот код заменит запись с номером, заданным переменной Position, данными из переменной Employee.
Чтобы добавить новые записи в конец файла, открытого для произвольного доступа, следует использовать оператор Put, показанный в предыдущем фрагменте кода. Для этого надо установить значение переменной , Position равным на единицу больше номера последней записи в файле. Например, чтобы добавить новую запись в файл, содержащий пять записей, следует установить переменную Position равной 6.
Следующий оператор добавляет запись в конец файла:
LastRecord = LastRecord + 1
Put #FileNum, LastRecord, Employee
Можно удалить запись, очистив ее поля, но тогда запись все еще останется в файле. Не стоит просто очищать записи в файле, так как, оставаясь в нем, они расходуют пространство и служат помехой при выполнении операций последовательного доступа. Лучше скопировать остающиеся в файле записи в новый файл, и затем удалить старый.
Чтобы удалить запись в файле произвольного доступа, следует:
1. Создать новый файл.
2. Скопировать все необходимые из исходного файла в этот новый файл.
3. Закрыть исходный файл и с помощью оператора Kill удалить его.
4. С помощью оператора Name переименовать новый файл, дав ему имя исходного файла.
Доступ к двоичным файлам:
Двоичный доступ дает возможность полного управления файлом, так как байты в файле могут представлять собой все что угодно. Например, можно сократить дисковое пространство, построив записи переменной длины. Двоичный доступ следует использовать, если важно сохранить небольшой размер файла.
Чтобы открыть файл для двоичного доступа, используют следующий синтаксис Open:
Open pathname For Binary As filename
Отличие от оператора для произвольного доступа заключается в отсутствии указания длины записи с помощью предложения Len = RecLength. Будучи включено в оператор открытия двоичного файла, оно просто игнорируется, поскольку предполагается, что записи имеют произвольную длину. Отсюда следует, что невозможно организовать доступ к записям в произвольном порядке, а только последовательно, определяя длину каждой записи. В то же время можно непосредственно обращаться к каждому байту в файле.
ИСПОЛЬЗОВАНИЕ ОБЪЕКТОВ, ИХ СВОЙСТВА И МЕТОДЫ. ФОРМЫ. ОБЪЕКТНАЯ МОДЕЛЬ FSO
Работа с объектами
При создании приложения в VBA в основном происходит работа с объектами. Можно использовать объекты, предоставляемые VBA: элементы управления, формы и объекты доступа к данным. Можно также управлять объектами других приложений из приложения VBA. Можно даже создавать свои собственные объекты и определять для них дополнительные свойства и методы.
Что такое объект?
Объект - это комбинация кода и данных, которую можно рассматривать как одно целое. Объект может быть частью приложения, как элемент управления или форма. Целое приложение также может быть объектом. В таблице приведены примеры типов объектов, которые можно использовать в VBA:
Объект |
Описание |
|
Кнопка управления |
Элементы управления на форме, например кнопки управления и рамки, являются объектами |
|
Форма |
Каждая форма в проекте VBA является отдельным объектом |
|
База данных |
Базы данных являются объектами и содержат другие объекты, например, поля и индексы |
|
Диаграмма |
Диаграмма в Microsoft Excel является объектом |
Происхождение объектов
Каждый объект в VBA определен классом (class). Класс используется для создания объектов и определяет их характеристики. Приведем два примера взаимоотношений между классами и объектами в VBA:
- Элементы управления Панели элементов управления в VBA представляют классы. Объект, известный как элемент управления, не существует, пока он не нарисован на форме. Когда создается элемент управления, создается копия, или экземпляр (instance) класса элемента управления
- Форма, используемая во время разработки, является классом. Во время выполнения VBA создает экземпляр класса формы
Окно Properties (Свойства) отображает класс и свойство Name (Имя) объектов в разработанном приложении VBA.
Все объекты создаются как идентичные копии своих классов. Свойства индивидуальных объектов можно изменять. Например, если на форме созданы три кнопки управления, каждый объект кнопка управления является экземпляром класса ConroandButton. Объекты одного класса используют общий набор характеристик и способностей (свойств, методов и событий). Каждому объекту дано свое имя, их можно по отдельности заблокировать и разблокировать, поместить в разные места на форме и т. д.
Понятие "класс объекта" не часто упоминается. Просто надо помнить, что, например, термин "элемент управления списком" означает "экземпляр класса ListBox".
Что можно делать с объектами?
Объект предоставляет в распоряжение разработчика готовый исполняемый код. Например, вместо того чтобы программировать собственные диалоги File Open (Открыть файл) и File Save (Сохранить файл), можно использовать элемент управления общим диалогом (объект, предоставляемый VBA). Можно написать собственный код управления планированием и ресурсами, но вместо этого проще использовать объекты Calendar (Календарь), Resources (Ресурсы) и Task (Задача), предоставляемые Microsoft Project (Проект).
VBA может комбинировать объекты из других источников
VBA предоставляет инструменты, которые позволяют комбинировать объекты из различных источников. Можно строить решения, комбинируя самые мощные возможности VBA и приложений, поддерживающих Automation (Автоматизация) (ранее известная как OLE Automation). Автоматизация (automation) - это свойство составной модели объекта (Component Object Model, СОМ), промышленного стандарта, используемого приложениями для раскрытия своих объектов инструментам разработки и другим приложениям.
Можно строить приложения, объединяя внутренние элементы управления VBA и объекты, предоставляемые другими приложениями. Предположим, что эти объекты помещены на форму VBA:
- Объект Microsoft Excel chart (Диаграмма Microsoft Excel)
- Объект Microsoft Excel Worksheet (Рабочий лист Microsoft Excel)
- Объект Microsoft Word Document (Документ Microsoft Word)
Эти объекты можно использовать для создания приложения. Это сохранит время разработчика, так как не надо писать код, воспроизводящий все функциональные возможности объектов Microsoft Excel и Microsoft Word.
Основы работы с объектами
Объекты VBA поддерживают свойства, методы и события. В VBA данные объекта (установки или атрибуты) называются свойствами, тогда как процедуры, которые оперируют с объектом, называются его методами. Событие - это действие, распознаваемое объектом, например, щелчок кнопкой мыши или нажатие клавиши клавиатуры, и программист может написать код, реагирующий на это событие.
Можно изменять характеристики объекта, меняя его свойства. Рассмотрим радио: одно из свойств радио - громкость (volume). В терминах обсуждаемой темы можно сказать, что радио обладает свойством "Volume", которое регулируется изменением его значения. Предположим, что можно установить регулятор громкости радио в положения от 0 до 10. Если бы радио управлялось с помощью VBA, можно было бы написать код процедуры, которая изменяла бы значение свойства "Volume" от 3 до 5, чтобы радио работало громче:
Radio.Volume = 5
Кроме свойств объекты обладают методами. Методы - это такая же часть объектов, как и свойства. В целом, методы - это действия, которые можно выполнить, тогда как свойства - это атрибуты, которые устанавливаются или восстанавливаются. Например, чтобы позвонить по телефону, надо набрать номер (dial). Можно было бы сказать, что телефоны обладают методом "Dial", и использовать этот синтаксис для набора номера 555111:
Phone.Dial 5551111
Объекты также обладают событиями. События инициируются, когда изменяются некоторые свойства объекта. Например, радио может иметь событие "VolumeChange" (Изменение громкости). Телефон может иметь событие "Ring"(Звонок).
Управление объектами с помощью свойств
Индивидуальные свойства меняются. Некоторые можно установить во время разработки. Для этого лучше использовать окно Properties (Свойств), что позволяет вообще не писать никакого кода. Другие свойства не доступны во время разработки, следовательно, необходимо программировать установку таких свойств во время выполнения.
Свойства, которые можно установить или значения которых можно получить только во время выполнения, называются изменяемыми (read-write properties). Свойства, значения которых можно только прочитать во время выполнения, называются неизменяемыми (read-only properties).
Установка значений свойств
Значение свойства устанавливается, только если необходимо изменить внешний вид или поведение объекта. Например, свойство Text элемента управления TextBox изменяют, если необходимо изменить содержимое поля.
Для установки значения свойства применяется следующий синтаксис:
object.property = expression
Следующие операторы демонстрируют, как можно устанавливать значения свойств:
Textl.Top = 200 ' Значение свойства Тор равно 200 твипам.
Textl.Visible = True ' Отображает текстовое поле.
Textl.Text = "hello" ' Отображает 'hello' в текстовом поле.
Получение значений свойств
Получают значение свойства тогда, когда хотят определить состояние объекта до выполнения каких-либо действий из кода, например, присвоить значение свойству другого объекта. Можно проанализировать содержимое текстового поля (значение свойства Text этого элемента управления) перед выполнением кода, который может изменить это значение.
В большинстве случаев, чтобы получить значение свойства, применяется следующий синтаксис:
variable = object.property
Можно также использовать значение свойства, как часть более сложных выражений, без присваивания этого значения переменной. В следующем примере значение свойства Top (Верх) нового члена массива элементов управления вычисляется как значение свойства Top предыдущего члена плюс 400:
Private Sub cmdAdd_Click()
' [операторы]
optButton(n).Top = optButton(n-l).Top + 400
' [операторы] End Sub
Примечание
В случае многократного использования значения свойства код будет выполняться быстрее, если хранить это значение в переменной.
Использование методов в коде
Методы могут воздействовать на значения свойств. Например, в аналоге радио метод SetVolume (Установить громкость) изменяет свойство volume (громкость). Списки VBA имеют свойство List (Список), которое можно изменить методами clear (Очистить) и Additem (Добавить элемент).
При использовании метода в коде запись соответствующего оператора зависит от того, сколько параметров требуется передать в метод, и возвращает ли метод значение. Если методу не требуются параметры, его можно вызвать с помощью следующего синтаксиса:
object.теthod.
В следующем примере метод Refresh (Освежить) перерисовывает картинку:
Picturel.Refresh ' Перерисовка элемента управления.
Некоторые методы, как метод Refresh, не имеют параметров и не возвращают значения.
Если методу требуется более одного параметра, они отделяются друг от друга запятыми. Например, метод circle (Круг) требует задать положение, радиус и цвет круга на форме:
' Нарисовать голубой круг радиусом 1200 твипов.
Forml.Circle (1600, 1800), 1200, vbBlue
Если необходимо сохранить возвращаемое методом значение, следует заключить в круглые скобки его параметры. Например, метод GetData (Получить данные) возвращает картинку из буфера обмена (clipboard):
Picture = Clipboard.GetData (vbCFBitmap)
Если метод не возвращает никакого значения, параметры задаются без круглых скобок. Например, метод Additem (Добавить элемент) не возвращает значения:
Listi.Additem "yourname" ' Добавить текст 'yourname' в список.
Взаимосвязь объектов
Если на форму помещаются две кнопки управления, они являются отдельными объектами с различными значениями свойства Name (Имя) (command1 и Command2), НО ОНИ СОВМССТНО ИСПОЛЬЗУЮТ ОДИН И ТОТ ЖЕ КЛАСС: CommandButton.
Кроме того, они расположены на одной форме. Но рассмотренный выше в этой главе элемент управления также принадлежит этой форме. Это выстраивает элементы управления в некоторую иерархию. Чтобы сослаться на элемент управления, сначала нужно сослаться на форму, точно так же необходимо набрать код страны или код области, прежде чем набирать конкретный номер телефона.
Рассматриваемые кнопки управления также являются элементами управления - это их общая характеристика. Все элементы управления имеют общие характеристики, что отличает их от форм и других объектов в окружении VBA. Далее будет рассматриваться использование наборов VBA для объединения родственных объектов в группы.
Иерархия объектов
Иерархия объектов (object hierarchy) определяет, как объекты связаны друг с другом и как к ним можно обратиться. В большинстве случаев программисту нет необходимости заботиться об иерархии объектов VBA, однако:
- При обращении к объектам других приложений следует знать иерархию объектов этого приложения.
- Работая с объектами доступа к данным, следует знать иерархию Data Access Objects (Объектов доступа к данным)
Наборы объектов
Наборы объектов имеют собственные свойства и методы. Объекты в наборе называются членами набора (members of the collection). Все члены набора перенумерованы последовательно, начиная с 0. Номер члена в этой последовательности называется его индексом (index number). Например, набор Controls (Элементы управления) состоит из всех элементов управления на заданной форме, как показано на рис. 5.10. Наборы применяются для упрощения кода, если необходимо выполнить одну и ту же операцию над всеми объектами в наборе.
Например, следующий код последовательно просматривает набор controls и заносит имя члена в список:
Dim MyControl as Control For Each MyControl In Forml.Controls
' Имя каждого элемента управления заносится в список.
Listl.AddItem MyControl.Name Next MyControl
Применение свойств и методов к членам наборов
Существует два общих способа адресации члена набора:
" Задать имя члена. Следующие выражения эквивалентны:
Controls("List1") Controls!List1
- Использовать индекс члена:
Controls(3)
Коль скоро имеется возможность адресации ко всем членам сразу и к индивидуальным членам, применять свойства и методы можно следующим образом:
' Установить значение свойства Тор списка равным 200.
Controls! List1. Top = 200
или так:
Dim MyControl as Control
For Each MyControl In Form1.Controls ()
' Установить значение свойства Top каждого члена равным 200.
MyControl.Top = 200
Next MyControl
Объекты, содержащие другие объекты
В VBA некоторые объекты содержат другие объекты. Например, обычно форма содержит один или более элементов управления. Удобство использования объектов в качестве контейнеров (containers) для других объектов заключается в том, что можно ссылаться на контейнер в коде для уточнения, какой объект используется. Например, могут быть две разные формы. Обе формы могут иметь списки с именем istAcctNo. Для точного указания списка можно использовать ссылку на форму, содержащую этот список:
frmReceivable.IstAcctNo.AddItem 1201
или
frmPayable.IstAcctNo.AddItem 1201
Общие наборы в VBA
В VBA существуют некоторые общие случаи, когда один объект содержит другие объекты. В таблице кратко описаны наиболее часто используемые наборы VBA.
Формы.
Первым шагом при разработке приложения на VBA является создание интерфейса, видимой части приложения, с которым взаимодействует пользователь. Формы и элементы управления как раз и являются строительными блоками при создании интерфейса. Именно с этими объектами приходится работать при построении приложений.
Формы - это объекты, которые обладают свойствами, определяющими их внешний вид, методами, определяющими их поведение, и событиями, которые определяют их взаимодействие с пользователем. Установкой свойств формы и разработкой кода VBA для отклика формы на события создается объект, удовлетворяющий требованиям определенного приложения.
Элементы управления - это объекты, содержащиеся внутри объектов-форм. Каждый тип элемента управления имеет свой собственный набор свойств, методов и событий, что делает его пригодным для определенной цели. Некоторые элементы управления, используемые в приложениях, лучше всего подходят для ввода или отображения текста. Другие элементы управления обеспечивают доступ к другим приложениям и данным процессов таким образом, как будто бы удаленное приложение является частью самого приложения.
Данная глава знакомит читателя с основными понятиями, необходимыми для работы с формами и элементами управления и связанными с ними свойствами, методами и событиями. Обсуждается большое количество стандартных элементов управления, а также специфические для форм вопросы: меню и окна диалога.
Разработка формы
Формы являются основными строительными блоками приложения VBA, теми окнами, с которыми взаимодействует пользователь при работе с приложением. У форм есть свои свойства, события и методы, которые позволяют управлять их внешним видом и поведением.
Первым шагом в разработке формы является установка значений ее свойств. Свойства формы можно установить во время разработки в окне Properties (Свойства) или во время выполнения (run time) приложения, написав соответствующий код.
Установка свойств формы
Многие из свойств формы воздействуют на ее внешний вид, т.е. то, как ее видит пользователь. Свойство Caption (Название) определяет текст заголовка окна (title bar) формы. Изменяя установку свойства BorderStyle, можно управлять размерами формы.
Свойства Height (Высота) и Width (Ширина) определяют начальные размеры формы; свойства Left (Левый) и Top (Верхний) определяют местоположение формы по отношению к левому верхнему углу экрана монитора.
Свойство Name (Имя) устанавливает имя, по которому можно обращаться к форме из кода. По умолчанию, когда форма впервые добавляется к проекту, ее имя может быть одним из последовательности имен Form1, Form2 и т. д. Однако для программиста удобнее, если свойство Name будет иметь более выразительное значение, например, frmГлавная для первой формы приложения.
Наилучший путь познакомиться с многочисленными свойствами форм - это поэкспериментировать с ними. Изменить значения некоторых свойств формы в окне Properties, затем запустить приложение и проанализировать воздействие новых значений. Узнать больше о каждом свойстве можно также, выбрав его и нажав F1
События и методы формы
Как объекты, так и формы могут выполнять методы и реагировать (откликаться) на события.
При каждом изменении размера формы в результате действий пользователя или программным способом инициируется событие Resize (Изменить размер) формы. Это позволяет изменять размеры элементов управления на форме или перемещать их, когда изменены размеры самой формы.
Событие Activate (Активизировать) происходит всегда, когда форма становится активной, а событие Deactivate (Деактивировать) - когда активной становится другая форма приложения. Эти события удобны для организации поведения формы при ее инициировании и завершении работы с ней. Например, можно написать код, который в случае события Activate выделит текст в каком-нибудь тeкcтoвoм окне, а в случае события Deactivate внесенные изменения будут сохранены в файле или базе данных.
Чтобы сделать форму видимой, следует вызвать метод show (Показать):
Form2.Show
Вызов метода show имеет тот же эффект, что и установка значения свойства visible (Видимый) формы в True (Истина).
Многие из методов формы работают с текстом или графикой. Методы Print (Печатать), Line (Линия), Сircle (Окружность) и Refresh (Обновить) полезны для печати или рисования непосредственно на поверхности формы.
Свойство Container
Свойство container (Набор) используется для изменения набора объектов внутри формы. Следующие элементы управления могут содержать другие элементы управления:
- Рамка
- Графическое окно
Следующий пример демонстрирует перемещение кнопки управления из одного набора на форме в другой. Откроем новый проект и создадим на форме рамку, графическое окно и кнопку управления.
Следующий код в процедуре обработки события click (Щелчок) формы увеличивает переменную цикла и использует конструкцию select case для поочередного перемещения кнопки управления из контейнера в контейнер:
Private Sub Form_Click()
Static intX as Integer
Select Case intX
Case 0
Set Command1.Container = Picture1
Command1.Top= 0
Command1.Left= 0
Case 1
Set Coinmand1. Container = Frame1
Command1.Top= 0
Command1.Left= 0
Case 2
Set Command1.Container = Form1
Conmiand1. Top= 0
Commandl.Left= 0
End Select
intX = intX + 1
End Sub
Связь между объектами
Кроме использования и создания объектов в VBA можно организовать коммуникационную связь с другими приложениями и управлять их объектами из разрабатываемого приложения. Возможность совместного использования данных приложениями - одна из ключевых в операционной системе Windows. VBA предоставляет большую гибкость при организации взаимодействия с другими приложениями.
Создание объектов
Самый простой способ создать объект - щелкнуть два раза на элементе управления в Панели управления. Однако для реализации всех возможностей объектов, доступных в VBA и из других приложений, следует использовать программные возможности VBA для создания объектов во время выполнения:
- Можно создавать ссылки на объект с помощью переменных
- Можно создавать собственные объекты с самого начала с помощью модулей классов
- Можно создавать собственные наборы с помощью объекта collection (Набор.)
Использование переменных для объектов
Переменная может ссылаться на объекты. Присваивание объектов переменным выгодно по тем же причинам, что и присваивание переменным значений:
- Имена переменных, как правило, короче и их легче запомнить, чем значения, которые они содержат (или, как в данном случае, объекты, на которые они ссылаются)
- Во время выполнения кода переменные можно изменять, организуя ссылки на другие объекты
- Ссылка на переменную, содержащую объект, более эффективна, чем постоянная ссылка на сам объект
Использование переменной для объекта аналогично использованию обычной переменной, но с одним дополнительным шагом - присваиванием объекта переменной:
- Сначала ее объявляют:
Dim variable As class
- Затем ей присваивают объект:
Set variable = object
Объявление переменных для объектов
Переменные для объектов объявляют так же, как и другие переменные, с помощью операторов Dim, ReDim, Static, Private или public. Единственное отличие заключается в наличии необязательного ключевого слова New (Новый) и параметра class (класс), они обсуждаются ниже в этой главе. Синтаксис задания переменной для объекта следующий:
(Dim | ReDim | Static | Private | Public} variable As [New] class
Например, можно объявить переменную для объекта, которая ссылается на форму с именем frmMain в приложении:
Dim FormVar As New frmMain ' Объявление объектной переменной типа frmMain.
Можно также объявить переменную, которая может ссылаться на любую форму в приложении:
Dim anyForm As Form ' Переменная родовой формы.
Подобным же образом можно объявить переменную для ссылки на любое текстовое поле в приложении:
Dim anyText As TextBox ' Может ссылаться на любое текстовое поле
Можно объявлять переменные для объекта, которые ссылаются на элемент управления любого вида:
Dim anyControl As Control ' Переменная родового элемента управления.
Заметим, что можно объявлять переменную формы, которая будет ссылаться на конкретные формы в приложении, но нельзя объявить переменную элемента управления, которая будет ссылаться на конкретный элемент управления. Можно объявлять переменные, которые ссылаются на определенный тип элемента управления, например TextBox или ListBox, но не на конкретный элемент данного типа, например txtEntry или Listl. Но можно присвоить определенный элемент управления переменной соответствующего типа. Например, для формы со списком, имеющим имя istSample, можно написать код:
Dim objDemo As ListBox
Set objDemo = IstSample
Назначение объектов переменным
Назначить или присвоить объект переменной можно оператором Set:
Set variable = object
Этот оператор следует применять, если необходимо, чтобы переменная ссылалась на какой-то объект.
Иногда можно использовать переменные для объектов, иногда переменные для определенного типа элементов управления, просто для того, чтобы сократить размер набираемого кода. Например:
If frmAccountDisplay.txtAccountBalance.Text < 0 Then
FrmAccountDisplay.txtAccountBalance.BackColor = 0 _
FrmAccountDisplay.txtAccountBalance.ForeColor = 255
End If
Этот код можно значительно сократить, если применить переменную для элемента управления:
Dim Bal As TextBox
Set Bal = frmAccountDisplay.txtAccountBalance
If Bal.Text < 0 Then
Bal.BackColor = 0
Bal.ForeColor = 255
End If
Типы конкретных и родовых объектов
Переменные для конкретных объектов (specific object variables) должны ссылаться на один конкретный тип объекта или класса. Переменная для конкретной формы может ссылаться только на одну форму в приложении (хотя она может ссылаться на одну форму из множества экземпляров этой формы). Точно так же переменная для конкретного элемента управления может ссылаться только на один конкретный тип элемента управления в приложении, например, TextBox или ListBox. Чтобы посмотреть, как это делается, откроем новый проект и поместим на форму поле ввода. Добавим следующий код к форме:
Private Sub Form_Click()
Dim anyText As TextBox
Set anyText = Textl
anyText.Text = "Hello"
End Sub
Запустим приложение и щелкнем кнопкой мыши на форме. Свойство Text (Текст) поля ввода изменится на "Hello".
Переменные для родовых объектов (generic object variables) могут ссылаться на один из многих конкретных типов объектов. Переменная для родовой формы, например, может ссылаться на любую форму в приложении; переменная для родового элемента управления может ссылаться на любой элемент управления на любой форме в приложении. Чтобы посмотреть, как это делается, откроем новый проект и поместим несколько элементов управления рамкой, меткой и кнопок управления на форму в произвольном порядке. Добавим следующий код к форме:
Private Sub Form_Click()
Dim anyControl As Control
Set anyControl = Formi.Controls(3)
anyControl.Caption = "Hello"
End Sub
Запустим приложение и щелкнем кнопкой мыши на форме. Надпись на элементе управления, помещенном на форму третьим, изменится на "Hello".
В VBA существуют три типа родовых объектов:
- Form. Ссылается на любую форму в приложении
- control. Ссылается на любой элемент управления в приложении
- object. Ссылается на любой объект
Переменные для родовых элементов управления полезны, если не известен конкретный тип объекта, на который будет ссылаться переменная во время выполнения. Например, в коде, который будет оперировать с любой формой в приложении, необходимо использовать переменную для родовой формы.
Формы как объекты
Наиболее часто формы используются для создания интерфейса приложения, но они также являются объектами, которые можно вызывать из других модулей приложения. Формы тесно связаны с модулями классов. Главное различие между ними заключается в том, что формы могут быть видимыми объектами, тогда как модули не имеют видимого интерфейса.
Добавление разработанных пользователем методов и свойств
Можно добавлять разработанные методы и свойства к формам и обращаться к ним из других модулей в приложении. Чтобы создать новый метод для формы, следует объявить процедуру с ключевым словом public:
' Пользовательский метод на Form1
Public Sub LateJobsCountO
. ' <операторы>
End Sub
Процедуру LateJobsCount можно вызвать из другого модуля оператором:
Form1.LateJobsCount
Создать новое свойство так же просто, как объявить открытую переменную в модуле формы:
Public IDNumber As Integer
Можно устанавливать и возвращать значение свойства IDNumber формы Form1 из других модулей двумя операторами:
Form1.IDNumber = 3
Textl.Text = Form1.IDNumber
Можно также использовать процедуры property (Свойство) для добавления разработанных свойств к форме.
Примечание
Можно обратиться к переменной, разработанному методу или установить значение разработанного свойства формы без ее загрузки. Это позволяет выполнить код на форме без загрузки ее в память. Точно так же ссылка на элемент управления без ссылки на какое-то из его свойств или методов не загружает форму.
Ключевое слово New
Ключевое слово New применяется для создания нового объекта в соответствии с его определением в своем классе. Его можно применять для создания экземпляров форм, классов, определенных в модулях классов, и наборов.
Использование ключевого слова New с формами
Каждая создаваемая во время разработки форма является классом. С помощью ключевого слова New можно создавать новые экземпляры этого класса. Чтобы увидеть, как это делается, создадим кнопку управления и несколько других элементов управления на форме. В окне Properties присвоим свойству Name формы значение sample. Добавим следующий код в процедуру обработки события click кнопки управления:
Dim x As sample
Set x = New sample
х. Show
Запустим приложение и щелкнем несколько раз кнопкой мыши на кнопке управления. Передвинем первую форму в сторону. Так как форма является классом с видимым интерфейсом, мы увидим дополнительные копии. Каждая форма имеет те же самые элементы управления, что и форма во время разработки.
Примечание
Чтобы сделать форму переменной и сохранять экземпляр загруженной формы, следует использовать переменные Static (Статический) или Public (Открытый) вместо локальных переменных.
Использование ключевого слова New другими объектами
Ключевое слово New используется для создания наборов и объектов классов, определенных в модулях классов. Рассмотрим пример, демонстрирующий создание экземпляров класса с помощью ключевого слова New. Откроем новый проект и создадим кнопку управления на форме Form1. Выполним команду Add Class Module (Добавить модуль класса) меню Project для добавления модуля класса в проект. Установим значение свойства Name модуля класса в showMe.
Следующий код в модуле Form1 создает новый образец класса ShowMe и вызывает процедуру, содержащуюся в модуле класса:
Public cisNew As ShowMe
Private Sub Commandl Click()
Set cisNew = New ShowMe
cisNew.ShowFrm
End Sub
Процедура ShowFrm в модуле класса создает новый образец класса sample и показывает ее:
Sub ShowFrm()
Dim frmNew As sample
Set frmNew = New sample
frmNew.Show
End Sub
Запустим приложение и щелкнем кнопкой мыши несколько раз на кнопке управления. Получаем эффект, как в предыдущем примере, но ключевое слово New использовалось для создания класса.
Ограничения на использование ключевого слова New
С ключевым словом New нельзя:
- Объявлять переменные основного типа данных, например: Dim x As New Integer
- Объявлять переменные любого родового объекта, например: Dim x As New Control
- Объявлять переменные типа для любого конкретного элемента управления, например: Dim X As New ListBox
- Объявлять переменные для любого конкретного элемента управления, например: Dim X As New IstNames.
Освобождение ссылок на объекты
Каждый объект использует память и системные ресурсы. Хорошим стилем программирования является освобождение этих ресурсов, когда объект больше не нужен. Этого можно добиться с помощью:
- Оператора unload (Выгрузить) для выгрузки формы или элемента управления из памяти
- Значения Nothing (Ничего) для освобождения ресурсов, используемых переменной для объекта. Следует присвоить значение Nothing переменной для объекта оператором Set.
Передача объектов в процедуры
В VBA можно передавать объекты в процедуры. В следующем примере предполагается, что на форме существует кнопка управления:
Private Sub Commandl_Click()
' Вызов процедуры Demo sub и передача ей формы.
Demo Form1
End Sub
Private Sub Demo(x As Formi)
' Прижать вправо.
x.Left = 0
End Sub
Также можно передать объект через параметр по ссылке и затем внутри процедуры установить таким образом, чтобы он ссылался на новый объект. Откроем проект и введем в него вторую форму. Поместим на нее графическое окно. Для свойства Name объекта Form2 необходимо установить значение picture2, а для свойства Picture - имя файла иконки *.ico
Процедура Form1_click обработки события вызывает процедуру GetPicture в форме Form2 и передает ей пустую картинку:
Private Sub Form_Click()
Form2.GetPicture Picture1
End Sub
Процедура GetPicture в форме Form2 присваивает значение свойства Picture (Картинка) графического окна на форме Form2 пустой картинке на форме Form1:
Private objX As PictureBox Public
Sub GetPicture(x As PictureBox)
' Присваивает переданное графическое окно объектной переменной.
Set objX = x
' Присваивает значение свойства Picture графическому окну на Formi
objX.Picture = picture2.Picture
End Sub
Запустим это приложение и щелкнем кнопкой мыши на форме Form1. Увидим значок формы Form2 в графическом окне на форме Form1.
Объектная модель FileSystemObject
Объектная модель FileSystemObject представляет собой не иерархическую структуру объектов (классов), позволяющих получать информацию о файловой системе компьютера и выполнять различные операции с файлами и каталогами этой системы.
Порядок использования объектной модели FileSystemObject, т.е. ее объектов с их свойствами и методами при программировании приложения следующий:
- Подключить к проекту библиотеку типов SCRRUN.DLL. Эта библиотека входит в комплект поставки последних разновидностей Windows95, а все более новые Windows, как 9x, так и NT содержат ее обязательно. Получить эту бибилотеку можно бесплатно на сайте Microsoft http://msdn.microsoft.com/scripting.
- Создать новый объект типа FileSystemObject стандартными методами (посредством New или CreateObject)
- Использовать его методы и свойства для получения необходимой информации, в том числе ссылок на другие (подчиненные) объекты модели. Соответственно, использовать методы и свойства подчиненных объектов модели.
После завершения работы закрыть все использованные объекты, начиная с нижних в иерархии. Там где это необходимо использовать для закрытия объектов их методы, в прочих случаях использовать
Set objvar=Nothing
Объектная модель включает следующие классы
Класс (тип объекта) |
Назначение |
|
FileSystemObject |
Обеспечивает доступ к файловой системе компьютера. |
|
Drives |
Cодержит объекты Drive, каждый из которых ассоциируется ровно с одним диском в файловой системе компьютера, с учетом сети. |
|
Drive |
Обеспечивает доступ к информации о заданном диске компьютера002E |
|
Folders |
Семейство Folders содержит объекты Folder, каждый из которых ассоциируется ровно с одним подкаталогом заданного каталога. ... |
Подобные документы
Использование математических функций для алгоритмизации задач и отладки программ. Операторы сравнения и логические функции; реализация циклического процесса. Организация и обработка данных при помощи массивов. Функции преобразования и работы со строками.
методичка [135,5 K], добавлен 24.10.2012Разработка программ на языке Turbo Pascal на основе использования массивов данных. Особенности хранения данных, способы объявления переменных, действия над элементами массивов, их ввод и вывод. Практическое применение одномерных и многомерных массивов.
методичка [17,8 K], добавлен 25.11.2010Изучение составляющих этапов разработки программ, процесса их тестирования, отладки и документирования в контексте курса обучения начинающих программистов. Теоретический анализ постановки задачи и модели программы, создания текста, семантической отладки.
курсовая работа [29,2 K], добавлен 28.11.2010Обзор существующих моделей параллельного программирования, основные средства отладки эффективности MPI-программ, общие проблемы всех средств трассировки. Создание экспериментальной системы отладки эффективности MPI-программ, этапы работы анализатора.
дипломная работа [767,2 K], добавлен 14.10.2010Программирование линейных алгоритмов. Процедуры ввода READ и READLN и вывода WRITE и WRITELN. Примеры решения задач на языке Паскаль. Оператор присваивания и выражения. Основные способы формирования структурных операторов. Операторы вызова процедур.
курсовая работа [44,3 K], добавлен 18.03.2013Синтаксис языка РНР, его переменные и чувствительность их имен к регистру. Гибкость в отношении типов переменных, преобразование типов. Набор основных типов данных при работе с переменными. Методы передача переменных скрипту. Операторы цикла и выбора.
дипломная работа [27,3 K], добавлен 15.04.2009Средства интегрированной среды Microsoft Visual Studio, предоставляемые программисту для реализации программ на языке С++. Особенности стиля написания программ. Типовые приемы и методы создания и отладки программ. Листинги программ и их тестирование.
лабораторная работа [814,3 K], добавлен 26.05.2013Роль вычислительной техники в информационных системах. Компьютеризация учебного процесса. Технологичность программного обеспечения. Особенности отладки и испытания пpогpамм. Операторы языка СИ. Указатели и структуры данных. Основы доступа к файлам.
тезисы [603,6 K], добавлен 10.05.2015Модели параллельного программирования; отладка параллельных программ. Реализация экспериментальной версии системы сравнительной отладки Fortran-OpenMP программ: получение, сбор и запись трассы, инструментарий программ, используемый формат файлов трассы.
дипломная работа [92,8 K], добавлен 17.10.2013Отладка - процесс обнаружения, устранения синтаксических и семантических ошибок. Точки отслеживания (трассировки). Выполнение отладки в режиме останова. Мониторинг содержимого переменных. Пошаговое выполнение кода. Разработка тестов для отладки программы.
презентация [743,6 K], добавлен 09.12.2013Общая характеристика языков программирования. Описание языка Паскаль: основные субъекты языка; структура Паскаль-программы; типизация и объявление данных. Операторы присваивания и выражения. Структурные операторы, организация ветвлений и циклов.
дипломная работа [276,6 K], добавлен 26.01.2011Решение задач прикладного программирования. Оформление разработанных алгоритмов в виде графических схем. Написание программ с использованием подпрограмм, их отладка. Блок-схемы и листинг программ. Наборы тестов для отладки разработанных программ.
курсовая работа [575,8 K], добавлен 06.12.2013Рассмотрение совокупности программ и языковых средств (специальных языков описания и манипулирования данными), предназначенных для создания, ведения и использования баз данных. Определение языков общения. Исследование принципов построения банка данных.
реферат [56,9 K], добавлен 07.08.2017Понятие массива и правила описания массивов в программах на языке С. Рассмотрение основных алгоритмов обработки одномерных массивов. Примеры программ на языке С для всех рассмотренных алгоритмов. Примеры решения задач по обработке одномерных массивов.
учебное пособие [1,1 M], добавлен 22.02.2011Изучение и анализ функциональных возможностей СУБД. Структура языка реляционных БД SQL (Structured Query Language). Типы данных SQL. Операторы DDL - операторы определения объектов базы данных. Примеры использования операторов манипулирования данными.
курсовая работа [39,6 K], добавлен 21.07.2012Ознакомление со структурой, комментариями, переменными и типами данных, константами, перечислениями, преобразованием типов языка программирования высокого уровня С++. Ключевые понятия языка, идентификаторы, ключевые слова, функции, операторы, выражения.
контрольная работа [31,2 K], добавлен 12.12.2009Особенности использования переменных вещественного типа в программе. Основные виды типов данных: простые, структурированные, указатели, процедурные, объекты. Работа и структура оператора while. Характеристика основных отличий while от оператора repeat.
контрольная работа [31,4 K], добавлен 17.08.2010Решение задач, прямо связанных с применением циклов и массивов. Условия применения различных видов циклической структуры. Операторы цикла с предусловием while, постусловием do-while и for. Особенности работы с одномерными и двумерными массивами.
курсовая работа [1,1 M], добавлен 31.08.2019Пузырьковый алгоритм сортировки числовых данных, листинг программы. Основные типы данных и их представление в памяти компьютера. Логическая и физическая структура. Запись как структура данных в Паскале. Оператор присоединения, операции над множествами.
лабораторная работа [242,0 K], добавлен 30.09.2013Изучение понятия архивации, сжатия файлов с целью экономии памяти и размещения сжатых данных в одном архивном файле. Описания программ, выполняющих сжатие и восстановление сжатых файлов в первоначальном виде. Основные преимущества программ-упаковщиков.
контрольная работа [534,7 K], добавлен 11.01.2015