Замечание

Стандартные процедуры и функции для работы с любыми файлами

Type

Type

TMouseButton = (mbLeft, mbRight, mbMiddle);

По именам возможных значений параметра понятно, какая из кнопок мыши нажата.

 

Shift: параметр, имеющий тип–множество, объявленный в модуле Classes:

TShiftState = set of(ssShift, ssAlt, ssCtrl, ssLeft, ssRight, ssMiddle, ssDouble);

 

Тип TShiftState используется обработчиками событий мыши и клавиатуры для выяснения состояния клавиш Alt, Ctrl, Shift клавиатуры и кнопок мыши в момент происхождения события.

 

Составляющие множество «флаги» имеют следующий смысл:

ssShift – клавиша Shift нажата.

ssAlt – клавиша Alt нажата.

ssCtrl – клавиша Ctrl нажата.

ssLeft – левая кнопка мыши нажата.

ssRight – правая кнопка мыши нажата.

ssMiddle – средняя кнопка мыши нажата.

ssDouble – мышь получила двойной щелчок.

 

x, y: координаты указателя мыши (в пикселях) относительно верхнего левого угла элемента, с которым произошло событие (в данном случае, ImageGraph).


Событие «перемещается указатель мыши» (MouseMove).

 

procedureTForm1.ImageGraphMouseMove(Sender: TObject;

Shift: TShiftState; x, y: Integer);

Параметры в дополнительных пояснениях не нуждаются.

 

 

Событие «отпущена кнопка мыши» (MouseUp).

 

procedureTForm1.ImageGraphMouseUp(Sender: TObject;

Button: TMouseButton; Shift: TShiftState; x, y: Integer);

Параметры в дополнительных пояснениях не нуждаются.

 

Ссылки на модули Controls и Classes должны присутствовать в предложении uses.


Проект “Graph”, в котором использован алгоритм Дейкстры, представлен файлом Graph.doc, который надо переименовать в Graph.RAR и распаковать.

 

 

procedureErase(varF: <Файловый тип>);

 

procedureRename(varF: <Файловый тип>; <Новое имя файла>: string);

 

procedureMKDir(<Имя папки>: string); // Создает пустую папку

 

procedureRMDir(<Имя папки>: string); // Удаляет пустую папку

 

functionIOResult: integer;

Функция возвращает значение 0, если операция открытия файла прошла успешно, и значение, отличное от 0, если открытие не заладилось (например, была попытка открыть на чтение файл, которого нет на диске, или была попытка открыть на запись файл с неприемлемым именем).

functionEOF(varF: <Файловый тип>) boolean;

Функция возвращает значение true, если маркер файла переместился за последний байт файла (достигнут конец файла).

 


 

Существуют альтернативные варианты процедур:

 

procedureRename(varF <Файловый тип>; <Новое имя файла>: PChar);

 

procedureMKDir(<Имя папки>: PChar);

 

procedureRMDir(<Имя папки>: PChar);

 

PChar – специальный «строковый» тип, разговор о нём пойдёт позже.