- 1 Алгоритм, его свойства, способы описания
- Алгоритм - предписание, однозначно задающее процесс
преобразования исходной информации в виде последовательности
элементарных дискретных шагов, приводящих за конечное число их
применений к результату.
-
- Свойства алгоритма
-
Если вычислительный процесс заканчивается получением результатов, то
говорят, что соответствующий алгоритм применим к рассматриваемой
совокупности исходных данных. В противном случае говорят, что
алгоритм неприменим к совокупности исходных данных. Любой применимый
алгоритм обладает следующими основными свойствами:
-
- дискретностью;
-
определенностью;
-
результативностью;
-
массовостью.
-
- Дискретность – последовательное выполнение простых или
ранее определённых (подпрограммы) шагов. Преобразование исходных
данных в результат осуществляется дискретно во времени.
-
- Определенность состоит в совпадении получаемых результатов
независимо от пользователя и применяемых технических средств
(однозначность толкования инструкций).
-
- Результативность означает возможность получения результата после
выполнения конечного количества операций.
-
- Массовость заключается в возможности применения алгоритма к
целому классу однотипных задач, различающихся конкретными значениями
исходных данных (разработка в общем виде).
- Способы описания алгоритмов
-
К основным способам описания алгоритмов можно отнести следующие:
-
словесно-формульный (на естественном языке);
-
структурный или блок-схемный;
-
с использованием специальных алгоритмических языков;
-
с помощью граф-схем (граф - совокупность точек и линий, в которой
каждая линия соединяет две точки. Точки называются вершинами, линии
- рёбрами);
-
с помощью сетей Петри.
-
- Перед составлением программ чаще всего используются
словесно-формульный и блок-схемный способы. Иногда перед
составлением программ на низкоуровневых языках программирования типа
языка Ассемблера алгоритм программы записывают, пользуясь
конструкциями некоторого высокоуровнего языка программирования.
Удобно использовать программное описание алгоритмов функционирования
сложных программных систем. Так, для описания принципов
функционирования ОС использовался Алголо-подобный высокоуровневый
язык программирования.
-
- 2 Понятие системы программирования
- Системой программирования называется комплекс программ,
-
предназначенный для автоматизации программирования задач на ЭВМ.
Система
-
программирования освобождает проблемного пользователя или
прикладного
-
программиста от необходимости написания программ решения своих задач
на
-
неудобном для него языке машинных команд и предоставляют им
возможность
-
использовать специальные языки более высокого уровня. Для каждого из
таких
-
языков, называемых входными или исходными, система программирования
имеет
-
программу, осуществляющую автоматический перевод (трансляцию)
текстов
-
программы с входного языка на язык машины. Обычно система
программирования
-
содержит описания применяемых языков программирования, программы-
-
трансляторы с этих языков, а также развитую библиотеку стандартных
-
подпрограмм. Важно различать язык программирования и реализацию
языка.
-
- Язык программи́рования — формальная знаковая система,
предназначенная для записи компьютерных программ. Язык
программирования определяет набор лексических, синтаксических и
семантических правил, задающих внешний вид программы и действия,
которые выполнит исполнитель (компьютер) под ее управлением.
-
- 3 Типы вычислительных процессов.
- Основные типы вычислительных процессов:
-
Линейный;
-
Разветвляющийся;
-
Циклический.
-
а)Линейный (линейные вычисления) - может изображаться в виде схемы,
где выполнение следующего блока идет за предыдущим.
-
- б)Разветвления - изображается схемой, где возможно несколько
путей выполнения в зависимости от выполнения определенных условий.На
языке Паскаль соответствует оператор If
-
- в)Циклические структуры (многократное выполнение некоторых
действий).
-
Цикл с послеусловием - вычисления выполняется несколько раз до тех
пор, пока выполнится условие выхода. Особенность: выполняется хотя
бы один раз.
-
На языке Паскаль соответствует оператор
-
Repeat, While
-
- 4 Структура программ на паскале. Правила написания программ
- program <имя программы>
-
var <раздел описаний>
-
begin
-
<операторы>
-
end.
-
- Текст программы.
-
Написание текста основной программы начинается после служебного
слова BEGIN и заканчивается END с точкой.
-
Любой исполнительный оператор завершается символом точка с запятой
«;». Отсутствие данного знака вызывает ошибку с кодом
85.
-
Комментарии, в программе, записываются в фигурных скобках «{}».
-
- 5 типы данных: Real
- Что делать, если число не целое, т.е. имеет десятичную точку?
-
Вещественный тип данных (Real).
-
Форма записи:
-
1.Обычная форма
-
0,7 может быть записано как 0.7 или .7
-
-2,1 может быть записано как -2.1
-
2.Запись с экспонентой
-
Число представляется в виде мантиссы, то есть дробной части числа,
умноженной на 10 в некоторой степени.
-
Например:
-
2700 = 2,7∙103. Число 10 записывается в виде буквы Е, а за ней
идет величина степени: 2.7Е3;
-
0,002 = 2∙10-3 соответствует записи 2Е-3.
-
- 6 Типы данных: integer
-
Целый тип (Integer) — один из простейших и самых
распространённых типов данных в языках программирования. Целые типы
подразделяются на беззнаковые (без знака) и знаковые (со знаком).
-
Тип данных integer - является стандартным типом данных, позволяющим
опереривать множеством целых чисел.
-
Число может быть заданно как в десятичной, так и в восьмеричной или
шестнадцатеричной системе счисления.
-
- 7 Типы данных: Boolean
- Логический тип данных (boolean) является одним из наиболее
интерестных типов данных для любого языка программирования. Тип
Boolean содержит в себе логическое значение (ИСТИНА/ЛОЖЬ) на
основании которого происходит исполнение программы.
- Boolean является логическим типом данных, а это значит, что
переменные этого типа могут иметь лишь 2 значения: истина (true) и
ложь (false).
-
Основной сферой применения логического типа boolean являются
управляющие конструкции, где определяется истинность какого–либо
вычисления и в зависимости от результата выполняются определенные
действия.
-
- 8 Типы данных: Char
- Так же, как переменная типа integer может хранить одно целое
число, переменная типа char может хранить один символ.
-
Переменные этого типа хранят символы: буквы, цифры,~ % # и т п.,
всего 256 символов.
-
- 9 оператор ввода
-
Для ввода исходных данных чаще всего используется процедура ReadLn:
-
- При вводе исходных данных происходит преобразование из внешней
формы представления во внутреннюю, определяемую типом переменных.
Переменные, образующие список ввода, могут принадлежать либо к
целому, либо к действительному, либо к символьному типам.
-
- Значения исходных данных могут отделяться друг от друга
пробелами и нажатием клавиш табуляции и Enter.
-
10 оператор вывода
- Для вывода результатов работы программы на экран используются
процедуры:
-
Write
-
WriteLn
-
Первый из этих операторов производит вывод значений переменных в
строку экрана. Второй оператор, в отличие от первого, не только
производит вывод данных на экран, но и производит переход к началу
следующей экранной строки. Если процедура writeln используется без
параметров, то она просто производит пропуск строки и переход к
началу следующей строки.
- Переменные, составляющие список вывода, могут относиться к
целому, действительному, символьному или булевскому типам.
-
- 11 оператор условного перехода if
-
Инструкция "if" используется для выбора одного из двух
направлений дальнейшего продолжения программы. Выбор той или иной
последовательности инструкций осуществляется в зависимости от
значения условия, заключенного в круглые скобки и записанного после
оператора if. Поэтому команда "if" часто называется
командой условного перехода или командой ветвления. Алгоритмы задач,
использующих команды ветвления, называют разветвляющимися.
- Простейшая форма оператора if имеет вид:
-
if (условие) оператор then
-
Наряду с простейшей или неполной формой оператора if существует еще
полная форма оператора if.
- if (условие) оператор1 else оператор2;
-
- 12 оператор цикла с параметром for
- Цикл с предопределенным числом повторений.
-
- for <имя переменной> := <начальное значение> to
<конечное значение> do
-
- <тело цикла>
- for i:=1 to n do
-
- Условия выполнения цикла проверяются перед выполнением блока
операторов. Если условие не выполнено, цикл For не выполняется.
-
- Особенностью арифметического цикла является то, что число
повторений операторов цикла должно быть известно заранее. Решение о
выполнении или невыполнении в очередной раз тела цикла принимается
до начала его прохождения, поэтому может случиться так, что тело
цикла не будет выполнено ни разу
-
- 13 оператор цикла с предусловием while
- Циклы с предусловием используются тогда, когда выполнение цикла
связано с некоторым логическим условием. Оператор цикла с
предусловием имеет две части: условие выполнения цикла и тело цикла.
-
- При выполнении оператора while определенная группа операторов
выполняется до тех пор, пока определенное в операторе while булево
условие истинно. Если условие сразу ложно, то оператор не выполнится
ни разу.
-
- Общая форма записи следующая
-
while <булево выражение> do
-
begin
-
группа операторов
-
end;
-
- На русском языке это звучит примерно так:
-
- пока выполняется это условие, делай
-
от начала
-
группа операторов
-
до конца;
-
- 14 оператор цикла с постусловием repeat
- Иногда при решении задач возникает необходимость выполнить тело
цикла хотя бы один раз, а потом, проверив условие, определить,
повторять ли тело цикла еще раз. Эту задачу выполнит другой вид
цикла – цикл Repeat.
-
- repeat {повторяй}
-
{операторы операторы}
-
until <условие>; {до тех пор, пока условие не будет истинным}
-
- 15 вложенные циклы
- Цикл — разновидность управляющей конструкции в
высокоуровневых языках программирования, предназначенная для
организации многократного исполнения набора инструкций. Также циклом
может называться любая многократно исполняемая последовательность
инструкций, организованная любым способом (например, с помощью
условного перехода).
-
- Цикл называется вложенным, если он размещается внутри другого
цикла. На первом проходе, внешний цикл вызывает внутренний, который
исполняется до своего завершения, после чего управление передается в
тело внешнего цикла. На втором проходе внешний цикл опять вызывает
внутренний.
- Цикл называется вложенным, если он находится в теле другого
цикла.
-
for i:=0 to n do
-
begin
-
for j:=0 to m do
-
begin
- for k:=0 to w do
-
begin
-
- end;
-
end;
-
end;
-
Внутренний цикл должен полностью находиться в теле внешнего цикла.
-
- 16 понятие массива
- Массив – однородная совокупность элементов
-
Самой распространенной структурой, реализованной практически во всех
языках программирования, является массив.
-
Массивы состоят из ограниченного числа компонент, причем все
компоненты массива имеют один и тот же тип, называемый базовым.
Структура массива всегда однородна. Массив может состоять из
элементов типа integer , real или char , либо других однотипных
элементов.
-
- Описание массива в Паскале. В языке Паскаль тип массива задается
с использованием специального слова array (англ. – массив), и
его объявление в программе выглядит следующим образом:
-
Type < имя _ типа >= array [ I ] of T;
- где I – тип индекса массива, T – тип его элементов.
-
- Ввод массива Паскаля
-
Для того чтобы ввести значения элементов массива, необходимо
последовательно изменять значение индекса, начиная с первого до
последнего, и вводить соответствующий элемент. Для реализации этих
действий удобно использовать цикл с заданным числом повторений, т.е.
простой арифметический цикл, где параметром цикла будет выступать
переменная – индекс массива Паскаля. Значения элементов могут
быть введены с клавиатуры или определены с помощью оператора
присваивания.
-
-
- 17 понятие файла его типы
-
Файловый тип данных или файл определяет упорядоченную совокупность
произвольного числа однотипных компонент.
- Понятие файла достаточно широко. Это может быть обычный файл на
диске, коммуникационный порт ЭВМ, устройство печати, клавиатура или
другие устройства.
- При работе с файлами выполняются операции ввода - вывода.
Операция ввода означает перепись данных с внешнего устройства (из
входного файла) в основную память ЭВМ, операция вывода - это
пересылка данных из основной памяти на внешнее устройство (в
выходной файл).
- Типы файлов
- поддерживает три файловых типа:
-
текстовые файлы;
-
типизированные файлы;
-
нетипизированные файлы.
- Типизированный файл - это последовательность компонент любого
заданного типа (кроме типа "файл").
-
Текстовый файл - это совокупность строк, разделенных метками конца
строки. Сам файл заканчивается меткой конца файла. Доступ к каждой
строке возможен лишь последовательно, начиная с первой.
Одновременная запись и чтение запрещены.
- Нетипизированные файлы - это последовательность компонент
произвольного типа.
-
- 18 интегрированная среда разработки Delphi
- Главное окно Delphi
-
Окно инспектора объектов
-
Окно конструктора формы
-
Окно редактора кода
-
Окно структуры(дерево)
-
Окно ошибок
-
Менеджер проектов
-
Что то еще....
- 19 порядок создания приложения в Delphi
- 1 по сети загрузить делфи
-
2 создаем форму file - New - VCL Forms application
-
3 конструирование формы
-
4 сохранение File Save Ass
-
сохранение модуля U_1_PRI
-
сохранение проекта File Save Project Ass PR_1_PRI
-
5 компиляция (исправление ошибок)
-
6 запуск
-
7 закрыть приложение
-
- 20 вкладка standard TMainMenu
- Главное меню формы. Состоит из пунктов, которые также имеют свои
свойства.
-
Свойства меню:
-
Images - выпадающий список с выбором компонента типа TImageList,
содержащего набор картинок. Если ни одного такого компонента нет на
форме - ничего страшного в этом нет. Картинки для пунктов меню можно
загрузить по отдельности.
-
Items - пункты меню. При нажатии на кнопочку с текстом "..."
откроется редактор меню. Всегда, когда вы видите такую кнопку, это
означает, что при нажатии на неё откроется окно для редактирования
свойства.
-
Name - имя компонента. По имени к компоненту обращаются, так что
это очень важное свойство. Компоненту всегда стоит задавать
осмысленное имя!
-
Action - выбор из списка метода, созданного с помощью компонента
ActionList. Он будет вызываться при выборе пункта меню.
-
- 21 вкладка standard TpopupMenu
- Контекстное меню вызывается в приложении Windows при щелчке
правой кнопки мыши и является стандартной возможностью многих
программ. Компонент TPopupMenu (Всплывающее меню) предназначен для
создания именно таких контекстных меню.
- Свойства меню:
-
Alignment - расположение всплывающего меню относительно курсора
мыши.
-
Images
-
Items
-
MenuAnimation - анимация меню при показе. Меню "выезжает"
с выбранных сторон. Работает только при включенной опции анимации
меню в системе.
-
Tag
-
TrackButton - кнопка мыши, при нажатии которой будет вызываться
меню.
-
- Для компонента TPopupMenu вызовем Menu Designer, щелкнув по
кнопке в правой половине строки Items инспектора объектов. Текст
пунктов вводится в строке Caption окна инспектора объектов.
-
- 22 вкладка standard TLabel
- Компонент TLabel (Надпись) используется для отображения текста в
форме, который нельзя изменять непосредственно через графический
интерфейс пользователя, хотя в программе с помощью надписи можно
выводить любой текст, что часто и делается.
- Свойства:
-
Align - выравнивание внутри компонента-родителя. У многих
визуальных компонентов есть это свойство.
-
Alignment - выравнивание текста внутри метки.
-
AutoSize - автоматический подгон размера под текст метки.
-
Caption - текст метки.
-
Color - цвет фона метки.
-
Cursor - выбор курсора мыши. Курсор меняется при его наведении на
метку.
-
Enabled - доступность (активность).
-
Font - шрифт. Свойство является объектом. Структура свойства:
-
Color - цвет шрифта.
-
Name - имя шрифта.
-
Size - размер шрифта в точках.
-
Style - стиль шрифта. Включая те или иные опции, вы настраиваете
вид шрифта.
-
Опции стиля:
-
fsBold - жирный шрифт.
-
fsItalic - наклонный шрифт.
-
fsUnderline - шрифт с подчёркиванием.
-
fsStrikeOut - перечёркнутый шрифт.
-
- 23 вкладка standard TEdit
- В компоненте TEdit (Поле ввода) хранится текст, который можно
помещать в данный компонент, как во время проектирования, так и во
время выполнения программы.
-
Компонент класса TEdit представляет собой однострочное
редактируемое текстовое поле. С его помощью можно вводить и/или
отображать достаточно длинные текстовые строки.
- Свойства:
-
- CharCase - регистр вводимых символов. Можно автоматически
сменять его на нижний или верхний, или оставлять вводимые данные без
изменения.
-
Color
-
Cursor
-
Enabled
-
Font
-
Height
-
Hint
-
Left
-
MaxLength - максимальное количество символов в поле.
-
PasswordChar - при установке свойства поле будет скрывать введённые
символы, вместо них на выводя на экран символ пароля (PasswordChar).
-
PopupMenu
-
ReadOnly - запрет редактирования содержимого поля.
-
ShowHint
-
TabOrder - порядковый номер компонента в списке при переходе по
нажатию клавиши TAB.
-
TabStop - определяет, будет ли компоненту передаваться фокус при
переходе по TAB.
-
Tag
-
Text - текст поля.
-
Top
-
Width
-
- События:
-
OnChange - происходит при изменении текста поля (основной
обработчик).
-
OnClick обработчик щелчка мыши. Щелчок подразумевает нажатие и
отпуск кнопки (основной обработчик).
-
OnEnter - происходит при передаче фокуса компоненту.
-
OnExit - происходит при потере фокуса компонентом.
-
OnKeyDown - происходит при нажатии клавиши.
-
OnKeyPress - также происходит при нажатии клавиши. Отличия будут
рассмотрены позже.
-
OnKeyUp - происходит при отпуске нажатой клавиши.
-
- 24 вкладка standard TMemo
- Компонент TMemo (Область просмотра) предназначен для вывода на
экран нескольких строк текста. Текст хранится в свойстве Lines
класса TStrings и, таким образом, представляет собой пронумерованный
набор строк (нумерация начинается с нуля).
- Свойства:
-
Lines - содержимое текстового поля. В отдельном окне откроется
мини-редактор для редактирования свойства.
-
MaxLength максимальное количество символов в поле.
-
ScrollBars - полосы прокрутки. Можно установить вертикальную,
горизонтальную, обе полосы, либо не показывать полосы даже при
необходимости прокрутки.
-
Text - хотя свойства нет в инспекторе объектов, оно позволяет
получать и изменять текст поля.
-
Top
-
WantTabs - определяет, можно ли пользователю вставлять символы
табуляции в текст. Если нельзя, тогда при нажатии TAB будет
происходить переход к следующему компоненту в списке Tab Order.
-
- 24 вкладка standard TMemo
- Компонент TMemo (Область просмотра) предназначен для вывода на
экран нескольких строк текста. Текст хранится в свойстве Lines
класса TStrings и, таким образом, представляет собой пронумерованный
набор строк (нумерация начинается с нуля).
- Свойства:
-
Lines - содержимое текстового поля. В отдельном окне откроется
мини-редактор для редактирования свойства.
-
MaxLength максимальное количество символов в поле.
-
ScrollBars - полосы прокрутки. Можно установить вертикальную,
горизонтальную, обе полосы, либо не показывать полосы даже при
необходимости прокрутки.
-
Text - хотя свойства нет в инспекторе объектов, оно позволяет
получать и изменять текст поля.
-
Top
-
WantTabs - определяет, можно ли пользователю вставлять символы
табуляции в текст. Если нельзя, тогда при нажатии TAB будет
происходить переход к следующему компоненту в списке Tab Order.
-
- 25 вкладка standard TButton
- Обычно с помощью компонента TButton (Кнопка) пользователь
инициирует выполнение какого-либо фрагмента кода или целой
программы. Другими словами, если щелкнуть на элемент управления
TButton, то программа должна выполнить определенное действие. При
этом кнопка принимает такой вид, будто она нажата.
- Кнопкам можно присваивать комбинации быстрых клавиш. Во время
выполнения нажатие такой комбинации клавиш эквивалентно щелчку мыши
на кнопке.
-
Свойства:
-
- Action - выбор метода, созданного с помощью TActionList. Он
будет использоваться в качестве обработчика OnClick.
-
Caption - текст кнопки.
-
- 26 вкладка standard TListBox
- Компонент TListBox (Список) очень часто применяется в программах
для Windows. Он позволяет выбрать одну или несколько строк в списке.
Строки могут содержать как текст, так и рисунки.
-
Первоначально компонент TListBox, размещенный в форме, изображается
в виде пустого квадрата. Его размеры можно настроить с помощью мыши.
- Свойства:
-
Columns - определяет число колонок в списке, которое будет
отображаться без необходимости прокрутки. Если заданного числа
колонок не хватает, оно будет увеличено до необходимого. Если
свойство равно 0, то все элементы будут отображаться в одну колонку
с вертикальной прокруткой.
-
ExtendedSelect - возможность выделять диапазон элементов списка
сразу, зажимая Shift. Не работает без свойства MultiSelect = True.
-
ItemIndex - индекс выделенного элемента списка. Элементы нумеруются
с нуля. В инспекторе свойства нет.
-
Items - элементы списка. Задаются в мини-редакторе.
-
MultiSelect - возможность выделять несколько произвольных элементов
списка, зажимая Ctrl.
-
Sorted - свойство указывает, будет ли компонент автоматически
сортировать список при добавлении или изменении элементов. Когда вы
устанавливаете свойство в True, список сразу сортируется.
-
- 27 вкладка standard TComboBox
- Компонент TComboBox (Комбинированный список) представляет собой
вариант списка с присоединенным дополнительным полем, в котором
отображается выбранный элемент списка. Это же поле может
использоваться для ввода новых элементов или для быстрого поиска
элемента по начальным символам. Если на экране отображается только
поле без списка, то для раскрытия списка можно использовать
комбинацию клавиш Alt+вниз, а для выбора элемента списка
используются клавиши перемещения (клавиши со стрелками).
- Свойства:
-
Style - стиль выпадающего списка. Чаще всего используются 3 значения
этого свойства:
-
csDropDown - вы можете выбрать элемент из списка, но и ввод данных
в текстовое поле возможен.
-
csDropDownList - вы можете только выбрать уже имеющийся элемент из
списка. В текстовое поле ввести что-либо нельзя.
-
csSimple - при установке этого значения список выполняет роль Edit.
Возможность выбора из выпадающего списка отсутствует.
-
Items - список строк, содержащихся в ComboBox. Редактируется в
мини-редакторе.
-
DropDownCount - высота (в элементах списка) списка при раскрытии.
-
- 28 вкладка win32 TTimer
- Компонент Timer позволяет задавать в приложении интервалы
времени . Таймер находит многочисленные применения: синхронизация
мультипликации, закрытие каких-то окон, с которыми пользователь
долгое время не работает, включение хранителя экрана или закрытие
связей с удаленным сервером при отсутствии действий пользователя,
регулярный опрос каких-то источников информации, задание времени на
ответ в обучающих программах - все это множество задач, в которых
требуется задавать интервалы времени, решается с помощью таймера.
- Данные свойства позволяют управлять компонентом. Свойство
Interval задает период срабатывания таймера. Через заданный интервал
времени после предыдущего срабатывания, или после программной
установки свойства Interval, или после запуска приложения, если
значение Interval установлено во время проектирования, таймер
срабатывает, вызывая событие OnTimer. В обработчике этого события
записываются необходимые операции.
-
- Если задать Interval = 0 или Enabled = False, то таймер
перестает работать. Чтобы запустить отсчет времени надо или задать
Enabled = True, если установлено положительное значение Interval,
или задать положительное значение Interval, если Enabled = False.
-
- 29 Вкладка Additional TStringGrid
- Компонент TStringGrid позволяет отображать текстовые данные в
ячейках, расположенных в строках и столбцах. В таблице строк
находится много свойств и методов для контроля и отображения данных,
так же как и для использования преимуществ их табличного
расположения. Этот компонент называют таблицей строк, или просто
таблицей. Несмотря на название, таблица строк способна отображать и
графическую информацию. Но при этом хранение графических данных и их
прорисовок реализуются программистом самостоятельно.
- Центральным свойством компонента является свойство Cells -
массив ячеек, каждая из которых может содержать произвольный текст.
Конкретная ячейка определяется парой чисел - номером колонки и
номером ряда, на пересечении которых она находится (нумерация
начинается с нуля). Свойство Cells имеет тип string, поэтому
программа может легко прочитать или записать содержимое нужной
ячейки.
-
Количество ячеек по каждому измерению хранит пара свойств ColCount
(количество колонок) и RowCount (количество рядов). Значения этих
свойств и, следовательно, размеры таблицы могут меняться как на
этапе разработки программы, так и в ходе ее работы, однако их
значения должны быть как минимум на единицу больше соответственно
значений в свойствах FixedCols и FixedRows, определяющих размеры
фиксированной зоны.
-
- 30 Вкладка Additional TImage
- Компонент TImage предназначен для вывода в форму графического
рисунка. Он поддерживает многочисленные форматы графических файлов,
включая .bmp, .ico, .emf, .jpg и др.
- Если значение свойства AutoSize равно True, то размеры элемента
управления TImage автоматически изменяются, подстраиваясь под
заданные границы. Если оно равно False, то размеры элемента
управления остаются неизменными независимо от размеров рисунка, при
этом в изображении может оказаться видимой только часть рисунка.
- AutoSize: Разрешает/запрещает изменять размеры компонента так,
чтобы в них полностью загрузилось изображение.
- Center Указывает, надо ли центрировать изображение в границах
компонента.
-
Заметим, что оператор Image1.Stretch:=True; масштабирует изображение
так, что бы оно занимало всю рабочую область Timage.
-
- 31 вкладка Dialogs TOpenDialog
- TOpenDialog - визуальный компонент. Он используется, чтобы
позволить пользователю выбирать один или более файлов, для открытия.
Он может быть определен, перемещением значка Open Dialog с вкладки
Dialogs, или определяя переменную TOpenDialog.
-
- Свойство FileName
-
Выдает имя файла для открытия, заданное по умолчанию. (Иначе, поле
имени файла будет пробелом). При возвращении из диалога, если
пользователь нажал, OK, это свойство будет содержать (первое)
выбранное имя файла, включая его полный путь (см. первый пример).
-
Свойство Filter
-
Оно позволяет отображать и выбирать только некоторые типы файлов.
-
Свойство FilterIndex
-
Определяет, какой фильтр ниспадающего поля будет отображен первым.
-
Свойство Options
-
- Это набор TOpenOptions флажков. Они являются исчерпывающими.
Ключевые значения:
-
- ofReadOnly открывает файл доступный только для чтения
-
ofFileMustExist может быть открыт только существующий файл
-
ofAllowMultiSelect пользователь может выбрать 2 или больше файлов
-
- 32 вкладка Dialogs TSaveDialog
- TSaveDialog - визуальный компонент. Он используется для выбора
пользователем имени файла предназначенного для сохранения.
-
Он может быть определен перемещением значок с вкладки Dialogs или
определяя переменную TSaveDialog.
- Свойство Title
-
Используется для установки заголовка диалога.
-
- Свойство FileName
-
Выдает имя файла, заданное по умолчанию для сохранения. (Иначе, поле
имени файла будет пробелом).
-
- Свойство DefaultExt
-
Определяет расширение, которое будет добавляться к пользовательскому
имени файла, если оно печатается вручную (а не выбирается из списка
файлов). Если этих фильтров расширений два или больше, то это
значение игнорируется. Они должны быть помещены в раскрывающийся
список значений расширения. Очень странно!
-
- Свойство Filter
-
Оно позволяет отображать и выбирать только некоторые типы файлов.
Текст фильтра отображается в ниспадающем поле, чуть ниже поля имени
файла. Следующий пример выбирает только текстовые файлы.
-
- 33 вкладка Dialogs TFontDialog
- окно выбора шрифта
-
Описание Процедуры и функции, Обращение к подпрограммам.
- В языке Паскаль имеется два вида подпрограмм - процедуры и
функции.
-
- Процедуры и функции помещаются в раздел описаний программы. Для
обмена информацией между процедурами и функциями и другими блоками
программы существует механизм входных и выходных параметров.
Входными параметрами называют величины, передающиеся из вызывающего
блока в подпрограмму (исходные данные для подпрограммы), а выходными
- передающиеся из подрограммы в вызывающий блок (результаты работы
подпрограммы).
-
- Одна и та же подпрограмма может вызываться неоднократно,
выполняя одни и те же действия с разными наборами входных данных.
Параметры, использующиеся при записи текста подпрограммы в разделе
описаний, называют формальными, а те, что используются при ее вызове
- фактическими.
-
- Описание и вызов процедур и функций
-
- Структура описания процедур и функций до некоторой степени
похожа на структуру Паскаль-программы: у них также имеются
заголовок, раздел описаний и исполняемая часть. Раздел описаний
содержит те же подразделы, что и раздел описаний программы: описания
констант, типов, меток, процедур, функций, перменных. Исполняемая
часть содержит собственно операторы процедур.
-
- Формат описания процедуры имеет вид:
-
- procedure имя процедуры (формальные параметры);
-
раздел описаний процедуры
-
begin
-
- исполняемая часть процедуры
-
- end;
-
- Формат описания функции:
-
- function имя функции (формальные параметры):тип результата;
-
раздел описаний функции
-
begin
-
- исполняемая часть функции
-
- end;
-
- Формальные параметры в заголовке процедур и функций записываются
в виде:
-
- var имя праметра: имя типа
-
- и отделяются друг от друга точкой с запятой. Ключевое слово var
может отсутствовать (об этом далее). Если параметры однотипны, то их
имена можно перечислять через запятую, указывая общее для них имя
типа. При описании параметров можно использовать только стандартные
имена типов, либо имена типов, определенные с помощью команды
type.Список формальных параметров может отсутствовать.
-
- Вызов процедуры производится оператором, имеющим следующий
формат:
-
- имя процедуры(список фактических параметров);
-
- Список фактических параметров - это их перечисление через
запятую. При вызове фактические параметры как бы подставляются
вместо формальных, стоящих на тех же местах в заголовке. Таким
образом происходит передача входных параметров, затем выполняются
операторы исполняемой части процедуры, после чего происходит возврат
в вызывающий блок. Передача выходных параметров происходит
непосредственно во время работы исполняемой части.
-
- Для передачи в вызывающий блок выходного значения функции в
исполняемой части функции перед возвратом в вызывающий блок
необходимо поместить следующую команду:
-
- имя функции := результат;
-
- При вызове процедур и функций необходимо соблюдать следущие
правила:
-
- количество фактических параметров должно совпадать с
количеством формальных;
-
соответствующие фактические и формальные параметры должны совпадать
по порядку следования и по типу.
- Заметим, что имена формальных и фактических параметров могут
совпадать. Это не приводит к проблемам, так как соответствующие им
переменные все равно будут различны из-за того, что хранятся в
разных областях памяти. Кроме того, все формальные параметры
являются временными переменными - они создаются в момент вызова
подпрограммы и уничтожаются в момент выхода из нее.
-
- Параметры значения. Параметры переменные.
- Локальные и глобальные переменные.
-
- Каждой подпрограмме доступны все ресурсы программного блока, в
разделе описаний которого эта подпрограмма объявлена. Ресурсы же
основной программы доступны в любой подпрограмме. Они получили
название глобальных. В свою очередь локальные ресурсы, объявленные в
разделе описаний подпрограммы, из программного блока, в разделе
описания которого она определена, не доступны. В том случае, если в
подпрограмме объявляется ресурс, имя которого совпадает с именем
глобального ресурса, соответствующий глобальный ресурс в
подпрограмме становится не доступным, «перекрывается».
-
- • явно - через параметры.
-
- Параметры в подпрограмму могут передаваться тремя способами:
-
- • как значения - в подпрограмму передаются копии значений
параметров, и никакие изменения этих копий не возвращаются в
вызывающую программу;
-
• как переменные - в подпрограмму передаются адреса фактических
параметров, соответственно все изменения этих параметров в
подпрограмме на самом деле происходят с переменными, переданными в
качестве фактических параметров; такие параметры при описании
помечаются служебным словом var; в качестве фактических значений
параметров-переменных нельзя использовать литералы;
-
• как неизменяемые переменные (именованные константы) - в
подпрограмму, так же как и в предыдущем случае, передаются адреса
фактических параметров, но при попытке изменить значение параметра
компилятор выдает сообщение об ошибке; такие параметры при описании
помечаются служебным словом const.
-
- Параметры-значения.
-
- Формальный параметр-значение обрабатывается как локальная по
отношению к процедуре или функции переменная, за исключением того,
что он получает свое начальное значение из соответствующего
фактического параметра при активизации процедуры или функции.
Изменения, которые претерпевает формальный параметр-значение, не
влияют на значение фактического параметра. Соответствующее
фактическое значение параметра-значения должно быть выражением и его
значение не должно иметь файловый тип или какой-либо структурный
тип, содержащий в себе файловый тип. Фактический параметр должен
иметь тип, совместимый по присваиванию с типом формального
параметра-значения. Если параметр имеет строковый тип, то формальный
параметр будет иметь атрибут размера, равный 255.
-
- Параметры-переменные.
-
- Параметр-переменная используется, когда значение должно
передаваться из процедуры или функции вызывающей программе.
Соответствующий фактический параметр в операторе вызова процедуры
или функции должен быть ссылкой на переменную. При активизации
процедуры или функции формальный параметр-переменная замещается
фактической переменной, любые изменения в значении формального
параметра-переменной отражаются на фактическом параметре. Внутри
процедуры или функции любая ссылка на формальный параметр-переменную
приводит к доступу к самому фактическому параметру. Тип фактического
параметра должен совпадать с типом формального параметра-переменной
(вы можете обойти это ограничение с помощью нетипизированного
параметра-переменной). Следует отметить, что файловый тип может
передаваться только, как параметр-переменная. Директива компилятора
$P управляет смыслом параметра-переменной, описываемого с ключевым
словом string. В состоянии по умолчанию ({$P-}) string соответствует
строковому типу с атрибутом размера 255. В состоянии {$P+} string
указывает, что параметр является открытым строковым параметром. При
ссылке на фактический параметр-переменную, связанную с
индексированием массива или получением указателя на объект, эти
действия выполняются перед активизацией процедуры или функции.
-