
- •5. Проектирование разветвляющихся вычислительных процессов
- •5.1. Условный оператор
- •5.2. Проектирование приложения, реализующего разветвляющийся вычислительный процесс
- •Используемые переменные
- •5.2.5. Интерфейс с пользователем
- •5.2.6. Код программы
- •5.2.7. Реализация проекта
- •5.2.8. Анализ проекта
- •5.2.9. Выполнение программы и анализ полученных результатов
- •5.4. Пример использования оператора выбора
- •6. Проектирование приложений с циклами
- •6.1. Назначение операторов цикла
- •6.2. Условные циклы
- •6.3. Проектирование приложения на базе условного цикла с верхним окончанием
- •Используемые переменные
- •6.3.5. Интерфейс с пользователем
- •6.3.6. Код программы
- •6.3.7. Анализ проекта
- •6.3.8. Выполнение программы и анализ полученных результатов
- •6.4. Проектирование приложения с использованием условного цикла с нижним окончанием
- •Используемые переменные
- •6.4.5. Интерфейс с пользователем
- •6.4.6. Код программы
- •6.4.7. Анализ проекта
- •6.4.8. Выполнение программы и анализ полученных результатов
- •Планируемые расходы на ремонт офиса
- •6.5. Цикл со счетчиком
- •6.6. Проектирование приложения с использованием цикла со счетчиком
- •6.6.7. Реализация проекта
- •6.6.8. Анализ проекта
- •6.6.9. Выполнение программы и анализ полученных результатов
- •Остаток товаров на 17.09.01
- •7. Массивы данных
- •7.1. Общие сведения о сложных типах
- •Стоимость товаров
- •7.2. Описание и обращение к массивам
- •7.3. Динамические массивы
- •7.4. Использование массивов при решении экономической задачи
- •Используемые данные
- •7.4.5. Интерфейс с пользователем
- •7.4.6. Код программы
- •7.4.7. Реализация проекта
- •7.4.8. Анализ проекта
- •7.4.9. Выполнение программы и анализ полученных результатов
- •Прайс-лист
- •8. Массивы элементов управления
- •8.1. Назначение и создание массивов элементов управления
- •"Группа переключателей"
- •8.2.4. Структура данных
- •Используемые данные
- •8.2.5. Интерфейс с пользователем
- •8.2.6. Код программы
- •8.2.7. Реализация проекта
- •8.2.8. Анализ проекта
- •8.2.9. Выполнение программы и анализ полученных результатов
- •9. Пользовательский тип данных
- •9.1. Определение и обращение
- •9.2. Оператор присоединения With
- •10. Файлы
- •10.1. Назначение файлов
- •10.2. Операции с файлами
- •10.3. Режимы доступа
- •10.4. Файлы с произвольным доступом
- •10.5. Проектирование приложения с файлами
- •10.5.1. Постановка задачи
- •10.5.2. Экономико-математическая модель
- •10.5.3. Алгоритм решения задачи
- •10.5.4. Структура данных
- •10.5.5. Интерфейс с пользователем
- •10.5.6. Код проекта
- •10.5.7. Реализация проекта
- •10.5.8. Анализ проекта
- •9.5.9. Выполнение программы и анализ полученных результатов
- •Данные по заказу на крепежные изделия
- •11. Процедуры и функции
- •11.1. Назначение процедур и их виды
- •11.2. Описание процедур
- •11.3 Вызов процедуры
- •11.4. Функции
- •11.5. Использование процедур и функций при решении экономической задачи
- •11.5.1. Код проекта
- •11.5.2. Реализация проекта
9.2. Оператор присоединения With
Часто возникает необходимость обращаться к полям одних и тех же переменных пользовательского типа в небольшом фрагменте кода процедуры. Для того чтобы многократно не повторять имя такой переменной, используется оператор присоединения With, который имеет следующий вид
With <переменная>
[<операторы>]
End With
Внутри оператора With можно обращаться к полям переменной пользовательского типа только с помощью имени, перед которым ставится точка.
Пример использования оператора With:
With udt Мебель
.strНаименование = "Стол"
.udtПроизводитель.strГород = "Харьков"
curСтоимость = .curЦена * .intКоличество
End With
Примечание. Оператор With имеет более широкое назначение. В его заголовке кроме переменных пользовательского типа могут использоваться любые объекты VB для ссылок в теле на семейства, объекты, свойства и методы.
Пример применения оператора With к объекту текстовое поле txtСтоимость.
With txtСтоимость
.Text = "0" 'Начальное значение
.Enabled = True 'Недоступный
.BackColor = vbGreen 'Цвет фона
End With
10. Файлы
10.1. Назначение файлов
Если файл рассматривать как единый информационный объект, то он представляет собой именованную область на диске или другом носителе информации.
Важное значение файлов объясняется тремя причинами:
1) любой процесс может связываться со своим окружением только с помощью файлов. Если бы приложение каждый раз обрабатывало одни и те же данные, то смысла в таком приложении не было бы. Приложения создаются, как правило, для обработки большого количества комплектов данных (реализуется свойство массовостиалгоритма), т.е. при каждом запуске оно работает с новыми данными. Такие данные поступают в приложения с помощью файлов;
2) процессы обычно длятся недолго: приложение загружается в оперативную память и выполняется, а по окончании выполнения одного приложения память поступает в распоряжение другого. Если приложение не изменяет ни одного файла во время своей работы, эффект будет таким же, как если бы оно вовсе не работало (т.е. выполняется свойство алгоритма результативность);
3) файлы могут хранить гораздо больше информации, чем оперативная память компьютера. Понятие файла лежит в основе баз данных.
Однотипные файлы могут обрабатываться одним и тем приложением, например, если известны результаты работы рабочих цехов и эти результаты записаны в разные файлы (Цех1.dat, Цех2.dat и Цех5.dat), то начисление зарплаты для этих цехов может производиться одним и тем же приложением Зарплата. Это приложение при первом запуске обрабатывает файл Цех1.dat, при втором – файл Цех2.dat и т.д.
Для обеспечения такой универсальной работы приложения рассматривают два понятия – файл, который содержит конкретные данные, и канал ввода/вывода, по которому передаются эти данные из внешнего носителя в приложение и наоборот. Для связи приложения с файлом вначале устанавливается определенный канал ввода/вывода, а затем вне зависимости от конкретных данных (например, фамилия рабочего) в приложении описывается процесс обработки отдельных этапов начисления заработной платы для данных, поступающих по этому каналу.
Благодаря наличию каналов одним и тем же приложением можно обрабатывать несколько файлов. И наоборот, один файл можно обрабатывать разными приложениями, в которых указаны разные каналы. Например, информация, хранящаяся в файле Цех1.dat, может обрабатываться приложениями бухгалтерии (для начисления зарплаты), планово-экономического отдела (для определения процента выполнения плана в целом и каждым рабочим), а также отдела кадров (для определения пропусков рабочих дней).
Канал ввода/вывода определяется номером в диапазоне от 1 до 511 и назначается файлу при его открытии.
Если в приложении используется несколько каналов, то для определения номера первого свободного канала можно воспользоваться встроенной функцией FreeFile, обращение к которой имеет вид:
FreeFile [(НомерДиапазона)]
где НомерДиапазона необязательный параметр равный либо 0 (по умолчанию), либо 1. Если НомерДиапазона равен нулю, то функция FreeFile возвращает номер свободного канала из диапазона 1 – 225, а если – один, то из диапазона 256 – 511.
Например, для выбора номера канала из первого диапазона можно воспользоваться оператором:
intСвобКанал=FreeFile()
Номер канала ввода/вывода в литературе еще называется дескриптором файла.