- •Курс лекций
- •Лекция 1. Технология программирования - основа разработки качественных программных средств
- •1.1. Программа как формализованное описание процесса обработки данных. Понятие «программное средство».
- •Определение требований к программному средству.
- •1.3. Спецификация качества программного средства.
- •Технология программирования как технология разработки качественных программных средств.
- •. Этапы развития технологии программирования.
- •2.1. Специфика разработки программных средств.
- •Виды программных продуктов и специализация программистов
- •Лекция 2. Общие принципы разработки программных средств
- •2.2. Основные этапы решения задач на эвм и их характеристика.
- •Основные этапы решения задач на эвм и их характеристика
- •Постановка задачи.
- •Формализация задачи.
- •Построения алгоритма
- •Составление программы на языке программирования.
- •Отладка и тестирование программы
- •Разработка документации.
- •Сопровождение опытной эксплуатации.
- •2.3. .Источники ошибок в программных средствах
- •2.3.1. Интеллектуальные возможности человека
- •2.3.2. Неправильный перевод как причина ошибок в программных средствах.
- •Модель перевода.
- •Основные пути борьбы с ошибками.
- •Лекция 3. Разработка структуры программы и модульное программирование.
- •3.1. Основные классы архитектур программных средств.
- •Структура программы. Методы разработки структуры программы. Блок - схема программы
- •Модульное программирование. Основные характеристики модуля.
- •Основные характеристики программного модуля.
- •Спецификация программного модуля содержит,
- •Порядок разработки программного модуля.
- •Контроль структуры программы.
- •Лекция 5. Представление основных структур программы в языках высокого уровня
- •Основные языки программирования и их характеристика.
- •Структура данных в языках программирования высокого уровня
- •Типы данных
- •6. Лекция 6. Стандартные типы данных в языках программирования Visual Basic.
- •Простые целые и вещественные типы переменных. И операции с ними
- •Логические типы данных и операции с ними.
- •7. Лекция 7. Представление строковых типов данных, типы данных Date и Variant.
- •Строковые типы данных и функции работы сними.
- •7.1.1. Операции со строковым типом данных.
- •Переменные типа Data и стандартные функции работы с ними.
- •Лекция 8. Структуры ветвления (операторы условного перехода) и повторения ( циклы) и особенности их использования в программах.
- •Операторы ветвления
- •8.2. Структуры повторения (Циклы).
- •Лекция 9. Структурированные типы данных. Массивы и пользовательские типы данных, их использование в программах
- •Типы данных, определяемые пользователем.
- •9.1. Массивы. Статические массивы.
- •9.2. Динамические массивы
- •9.3. Функции, предназначенные для работы с массивами.
- •9.4. Типы данных, определяемые пользователем.
- •Лекция 10. Основные строительные блоки программы, процедуры и функции.
- •Процедуры, назначение, написание, размещение.
- •10.2. Процедуры обработки событий.
- •Процедуры общего назначения.
- •Вызов процедуры.
- •Выход из процедуры до ее завершения.
- •Лекция 11. Функции . Области видимости переменных, функций и процедур
- •Функции. Стандартные функции
- •Функции, создаваемые пользователем
- •Модульная конструкция программы. Модули, формы. Стандартные модули, модули класса.
- •Области видимости переменных, процедур и функций
- •Лекция 12. Хранение информации в файлах.
- •12.1. Файлы с последовательным доступом.
- •12.1. Открытие файла с последовательным доступом.
- •12.3. Чтение данных из файла с последовательным доступом.
- •12.3. Запись информации в файл с последовательным доступом.
- •12.4. Работа с файлами произвольного доступа.
- •12.5. Ввод и вывод информации записями
- •Лекция 13. Операции с файлами.
- •13.1. Операции работы с файлами
- •13.2. Установка атрибутов файлов
- •Стандартные объекты для работы с файлами.
- •13.4. Вывод информации на печать
- •Лекция 14. Методы структурного программирования. Методы доказательства и отладки программ. Вопросы:
- •Методы структурного программирования
- •14.2. Пошаговая детализация и понятие о псевдокоде.
- •Пример пошагового составления программы
- •Доказательство свойств программы.
- •14.3.1. Обоснования программ. Формализация свойств программ.
- •Свойства простых операторов.
- •Свойства основных конструкций структурного программирования.
- •14.4.4. Завершимость выполнения программы.
- •Пример доказательства свойства программы.
- •Лекция 15 Отладка программы
- •15.1. Типы ошибок в программе
- •15.2. Программные средства для обнаружения ошибок.
- •Ошибки в структуре программы.
- •Перехват и устранение ошибок
- •15.5. Инструменты отладки
- •6. Отображение значений переменных и функций.
- •Лекция 16. Обьекто - ориентированное программирование.
- •16.1. Основные понятия объекто – ориентированного программирования.
- •16.2. Стандартные объекты управления, свойства, методы, события
- •16.3. . Пользовательские элементы управления
- •Лекция 17. Применение технологии ole в программировании и завершение проекта.
- •17.1.. Применение технологии ole в программировании на языках высокого уровня
- •Объект управления ole Container
- •Технология ole Automation.
- •17.4. Состав проекта
- •Создание дистрибутива программного средства
- •Документирование программных средств
- •Аттестация программного средства.
13.4. Вывод информации на печать
Несмотря на стремление к безбумажному офису, вероятно нам еще долго придется переносить результаты обработки данных на бумагу.
Для печати данных VB предоставляет несколько возможностей.
Использование метода Print позволяет осуществить вывод информации в одно из следующих четырех мест:
В экранную форму
На принтер
В объект управления Picture Box
В окно Debug (Отладка)
При направлении вывода в экранные формы или в графическое окно метод Print выводит информацию в фон объекта. Это означает, что выводимая информация будет появляться позади объектов управления , расположенных на экранной форме или в графическом окне.
При печати информации на экране целесообразно создать для этой цели отдельное графическое окно. Это позволит осуществлять ввод в чистое поле.
Метод Print направляет выходной поток Диспетчеру печати Print Maneger Windows, чтобы напечатать сформированные страницы.
Для вызова метода Print используется следующая синтаксическая запись
[objectName.] Print [expressionlist]
где
objectName – является именем объекта, в который выводится информация. Это должно быть имя экранной формы либо графического окна, объект или окно Debug. Если параметр objectName опущен. программа по умолчанию выводит информацию на текущую экранную форму.
[expressionlist – переменная, содержащая выводимую на печать информацию.
Информация , выводимая на печать с помощью оператора Print. может содержать единственную строку или численное значение, либо может содержать несколько выражений, значения которых выводятся в указанные позиции:
expr1[, | ; ] [Spc(n) | Tab(m) ] [, | ; expr2]
Выражения expr1, expr2 могут быть любыми численными или строковыми выражениями. Это могут быть литералы, переменные, либо функции, возвращающие строку или число. При наличии в операторе нескольких выражений они должны быть разделены запятой либо точкой с запятой. При использовании точки с запятой второе выражение будет выводиться сразу после последнего символа первого выражения. При использовании запятой второе выражение будет выводиться. начиная с первой позиции следующей зоны вывода. Размер каждой зоны вывода равен 14 символам.
Для дополнительного управления расположением выражения на печатной строке можно использовать функции Spc(n) и Tab(m). Функция Spc(n) определяет количество пробелов, (задаваемое как n) перед печатью следующего выражения .Функция Tab(m) определяет номер позиции (задаваемой, как m), с которой должна начинаться печать следующего выражения. При включении указанных функций в список вывода, они должны быть отделены от выражения запятой или точкой с запятой.
При каждом обращении к методу Print вывод начинается с новой строки, если только после последнего выражения последнего выполнявшегося оператора не стояла точка с запятой.
Выбор шрифта, цвета шрифта используются свойства Font имеющиеся для формы, графического окна и объекта Printer. К этим свойствам относятся:
Font.Name – определяет используемый шрифт
Font. Size – определяет размер шрифта в пунктах
Font. Bold – определяет полужирный шрифт
Font. Italic – определяет используется ли курсив
Font.Underline – определяет используется ли подчеркивание текста
Font.StrikeThrught – определяет производится ли перечеркивание текста.
Эти свойства можно изменять с помощью операторов в вашем коде.
В экранных формах и в графических окнах для изменения начальной установки шрифта можно воспользоваться в режиме проектирования программы диалогом Properties. начальная установка шрифта принтера определяется Диспетчером печати Windows.
Определение размера области вывода
Печатная страница как правило имеет формат А4. К сожалению размеры в Vb задаются не в сантиметрах а в твипах (Один дюйм составляет приблизительно 1440 твипсов. Кроме того может изменяться ориентация листа (Portrait – книжная, Landscape – альбомная). Наиболее удобным способом определения размера объекта, в которую вы собираетесь осуществить вывод является использование свойств Height – высота, Width – ширина.
Для определения высоты и ширины объекта используются следующие команды.
ResultHT = ObjectName.Hight
ResultWd = ObjectName.Width
Значения высоты и ширины Экранной формы и графического окна можно задать с помощью следующей записи.
ObjectName.Hight = Value
ObjectName.Width = Value
Определение размера выводимого элемента
Причина по которой необходимо определение размера области вывода связана с тем, что в методе Print не предусмотрена проверка согласования размера выводимого элемента и размера поля вывода.
Методы Text Hight и TextWidht позволяет определить размер текста по вертикали и по горизонтали.
Синтаксис использования метода следующий:
ResulTxHt = ObjectName. TextHight (stringexp)
ResulTxWd = ObjectName. TextWidht (stringexp)
ResulTxHt и ResulTxWd – переменные, в которые будут записаны значения возвращаемые методами
stringexp – переменная, представляющая проверяемую строку. Этим выражением может быть литерал, переменная или функция. При оценке размера числа его следует преобразовать в строку с помощью функции Str или CStr
Пример листинга для выполнения переноса слов при выводе текста.
prntvar = txtInput.Text
objwid = picWord.Widht
Do
endpos = 0
txtlen = 0
prntlen = “ “
Do
strtpos = endpos + 1
endpos = InStr(strtpos, prntvar, “ “)
prntlen = Left$(prntvar, endpos)
txtlen = picWord. TextWidth (prntin)
Loop Untill txtlen > objwid or endpos =0
If endpos = 0 Then
prntln = prntvar
prntvar = “ “
Else
prntln = Left$(prntvar, strtpos –1)
prntvar = Ltrim$(Mid$9prntvar< strtpos))
End If
PicWord. Print prntln
Loop While Len(prntvar) > 0
Первая строка кода выполняет ввод строки из текстового редактора. Вторая строка определяет ширину текстового окна.
Третья строка является началом цикла. По мере вывода текста в строку уменьшается размер текста, хранящегося в переменной prntvar, Цикл завершается когда размер оставшегося текста будет равен 0.
При каждой итерации цикла инициализируются три переменные для обработки оставшейся части текста. Это выполняют три первые строки в теле цикла. После инициализации переменных начинает выполняться внутренний цикл. Этот цикл предназначен для выделения из оставшегося текста строку максимальной длины, умещающейся в печатную строку. При выполнении внутреннего цикла сначала выполняется поиск пробела с помощью функции InStr, если пробел не найден возвращается 0 и цикл завершается .Если функция InStr возвращает число , формируется строка, включающая весь текст до пробела. Длина полученной строки сравнивается с длиной области вывода, Если размер строки превышает размер области вывода, цикл завершается. В противном случае выполняется поиск следующего пробела в тексте.
После выполнения внутреннего цикла строка для печати сформирована. Если функция InStr возвратила нулевое значение (записанное в переменную endpos) весь оставшийся текст запоминается в выходной переменной, а переменную, содержащую оставшуюся часть текста , записывается строка нулевой длины. Если значение переменной endpos отлично от нуля, в выходную переменную записывается часть текста, умещающаяся в строку вывода, остальная часть текста записывается в строку остатка. Последней операцией является вывод выходной информации с помощью метода Print.
Управление размещением текста осуществляется с помощью задания значений свойствам CurrentX и CurrentY, Эти два свойства определяют положение верхнего левого угла фрагмента текста. При выводе методом Print текст выводится в область, расположенную справа и снизу от этой точки
Для очистки экранной формы или графического окна используется метод Cls.
