Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Posobie_Ravino_Atamanov.doc
Скачиваний:
12
Добавлен:
05.05.2019
Размер:
1.39 Mб
Скачать

2.5.5.11. Дополнительные элементы программы

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

Пример 1. Подтверждающий запрос при выходе из программы (рисунок 15).

Рисунок 15 – Запрос при выходе из программы

procedure TFormHaupt.FormCloseQuery(Sender: TObject;

var CanClose: Boolean);

begin

if Application.MessageBox(

'Действительно завершить работу?',

'Подтверждение',MB_YESNO)=IDYES

then CanClose:=True;

else CanClose:=False;

end;

Пример 2. Разделитель между целой частью и дробной

DecimalSeparator:='.';

Пример 3. Создание «бегущей» строки. Для этого понадобятся компоненты Label и Timer . Пример программы.

procedure TForm1.Timer1Timer(Sender: TObject); Const

LengthGoString = 10;

GoString = 'В конце стpоку желательно повтоpить,'+

' чтоб получить эффект кольцевого движения! В конце ст';

Const

i: Integer = 1;

begin

Label1.Caption:=Copy(GoString,i,LengthGoString);

Inc(i);

If Length(GoString)-LengthGoString < i then i:=1;

end;

Пример 3. Отключение (включение) системного меню формы и кнопок Minimize, Maximize, и Close во время выполнения программы.

procedure TForm1.Button1Click(Sender: TObject);

begin

{Выключение}

Form1.BorderIcons := Form1.BorderIcons –

[biSystemMenu, biMinimize, biMaximize];

end;

procedure TForm1.Button2Click(Sender: TObject);

begin

{Включение}

Form1.BorderIcons := Form1.BorderIcons +

[biSystemMenu, biMinimize, biMaximize];

end;

Пример 4. Автоматическое изменение ширины колонок, в StringGrid чтобы вместить самую длинную строчку в колонке.

procedure AutoSizeGridColumn(Grid : TStringGrid; column : integer);

var

i : integer;

temp : integer;

max : integer;

begin

max := 0;

for i := 0 to (Grid.RowCount - 1) do

begin

                temp := Grid.Canvas.TextWidth(grid.cells[column, i]);

                if temp > max then max := temp;

        end;

        Grid.ColWidths[column] := Max + Grid.GridLineWidth + 3;

end;

procedure TForm1.Button1Click(Sender: TObject);

begin

AutoSizeGridColumn(StringGrid1, 1);

{Вызов процедуры автоматического изменения ширины колонок}

end;

Студент может самостоятельно использовать или добавлять, понравившиеся ему дополнительные элементы программы.

2.6. Разработка справочной системы

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

Справочная система программ, работающих в Windows, в том числе и справочная система Delphi, представляет собой набор файлов определенной структуры, используя которые программа Winhelp, являющаяся составной частью Windows, выводит справочную информацию по запросу (требованию) пользователя.

Основным элементом справочной системы являются hlp-файлы, в которых находится справочная информация. В простейшем случае справочная система программы может представлять собой один единственный hlp-файл.

Создать справочную систему (HLP-файл) можно, например, при помощи поставляемой вместе с Delphi программы Microsoft Help Workshop (файл hcw.exe). Исходным "материалом" для создания hlp-файла является текст справочной информации, представленный в виде rtf-файла.

Процесс создания справочной системы состоит из четырех важных составляющих:

1) подготовка rtf-файла;

2) создание и компилирование файлов справочной системы;

3) создание содержания справки;

4) использование справочной системы в программе.