Специальные процедуры и функции
Assert(E:Boolean[;S]) ‑проверка истинности условия E при отладке программы. Если это условие ложно, то работа программы прекращается, генерируется исключение EAssertionFailed (п. 1.6.2) и выводится окно об ошибке с сообщением S, с именем программного файла и номером строки с этой процедурой. Процедура работает только при включенной директиве {$C+} (п.1.3.5.2). После отладки программы директива отключается{$C‑}.
Пример: Assert(Ukaz=Nil,’Нет значения адреса’);
ExceptAddr:Pointer ‑ возвращает адрес сгенерированного исключения. Если его нет, то возвращается Nil.
Halt[(N:Integer)] ‑ аварийное завершение программы с кодом N.
Hi/Lo (X):byte ‑ возвращает старший/младший байт аргумента X типов Integer, Word.
High/Low (X) ‑ возвращает наибольшее/наименьшее значение переменной или типа X.
MaxIntValue/MinIntValue(D:Array Of Integer):Integer ‑ возвращает максимальное/минимальное значение массива целых чисел.
MaxValue/MinValue (D:Array Of Double):Double ‑ возвращает максимальное/минимальное значение массива вещественных чисел.
ParamCount‑возвращает число аргументов в командной строке.
ParamStr(N:Integer):String ‑ возвращает N‑й аргумент командной строки. При N=0 возвращается имя исполняемого файла с путем.
SizeOf(X) ‑ возвращает число байт, занимаемых аргументом или типом X.
Swap(X) ‑ производит перестановку старших и младших байт аргумента X типа Integer или Word.
UpCase(C:char):Chаr ‑ преобразует латинскую букву в прописную.
Сообщения Windows
PostMessage(Handle:HWnd;Msg,wParam:Word;lParam:LongInt):LongInt ‑ посылка сообщения Msg с дополнительными параметрами wParam и lParam окну с дескриптором Handle на обработку. Функция ставит сообщение в очередь на обработку сообщений Windows и возвращает управление, не дожидаясь завершения обработки сообщения. При успешном завершении фукция возвращает ненулевое значение, иначе - возвращается ноль.
SendMessage(Handle:Hwnd;Msg, wParam:Word;lParam:LongInt):LongInt ‑ функция аналогична функции PostMessage, но ожидает завершения обработки сообщения (п.2.3.3.1).
Вопросы для самопроверки и контроля
Вопросы для самопроверки
1. Каково назначение функции ShellExecute?
2. Каково назначение функции InputBox?
Контрольные вопросы
2. Что возвращает функция ParamCount?
3. Каково назначение функции Application.MessageBox?
4. Каково назначение функции ParamStr?
Файлы
Типы файлов
При работе с файлами имеются три подхода: стандартный, использующий стандартные подпрограммы Паскаля (файлы Паскаля), объектный и использующий функции Windows (файлы Windows).
В первом подходе выделяются три типа файлов: типизированные, текстовые и не типизированные.
Общий порядок работы с файлами в любом подходе следующий: открытие файла, обработка и закрытие его.
При стандартном подходе перед открытием файла следует объявить файловую переменную (в описаниях процедур она обозначена буквой F), которая используется в процедурах обработки файла, для ссылки на обрабатываемый файл.
Файлы Паскаля
Любые файлы
Нижеперечисленные функции используются в стандартном подходе. AssignFile(F;S) ‑ связывание имени файла S с файловой переменной F.
CloseFile(F) ‑ закрытие открытого файла F.
Eof(F):Boolean ‑ возвращает True при достижении конца файла.
Erase(F) ‑ удаляет с диска файл F.
FilePos(F):longint ‑возвращает текущую позицию в нетекстовом файле F. Началу файла соответствует позиция 0.
FileSize(F):Integer ‑ возвращает текущий размер нетекстового файла.
IOResult:Integer ‑ возвращает код ошибки в последней выполненной операции ввода/вывода: 0 ‑ ошибок нет, 2 ‑ нет файла, 3 - ошибка в имени файла, 4 ‑ много открытых файлов, 5 ‑ файл недоступен, 100 ‑ конец файла, 101 ‑ диск переполнен, 106 ‑ ошибка ввода‑вывода. Используется при директиве компилятора {$I‑} (п.1.3.5.2).
Примерконтроля операции открытия файла с помощью IOResult:
Var F: File of Byte; Begin AssignFile(F, ParamStr(1));
{$I‑}{отключение автоконтроля}Reset(F);{$I+}{включение автоконтроля}
If IOResult>0 Then Begin ShowMessage(‘Ошибка открытия’);Exit; End;End.
Rename(F;S) ‑ изменяет имя внешнего файла F на S.
Reset(F[;N:Word]) ‑ открывает существующий файл. N ‑ длина записи не‑ типизированного файла (128).
ReWrite(F[;N:Word]) ‑ создает и открывает новый файл F. N ‑ длина записи не типизированного файла (128). Если файл уже существует, то он уничтожается без предупреждения.
Truncate(F) ‑ усекает нетекстовый файл F на текущей позиции.
Дата добавления: 2016-03-22; просмотров: 583;