возвращает статус последней выполненной операции ввода/вывода
Arc — рисует дугу окружности
Bar — рисует прямоугольник, используя текущий стиль и цвет закраски
Bar3D — рисует параллелепипед, используя текущий стиль и цвет закраски
Circle — рисует окружность
ClearDevice — очищает текущее устройство вывода
ClearViewPort — очищает текущую область просмотра
CloseGraph — закрывает графическую систему
DetectGraph — тестирует видеокарту и определяет, какой графический драйвер и режим использовать
DrawPoly — рисует контур многоугольника, используя текущие тип и цвет линии
Ellipse — рисует дугу эллипса
FillEllipse — рисует закрашенный эллипс
FillPoly — закрашивает многоугольник, используя скан-конвертер
FloodFill — закрашивает замкнутую область текущим шаблоном и цветом закраски
GetArcCoords — получает координаты последней команды Arc
GetAspectRatio — возвращает два числа, из которых может быть вычислен коэффициент сжатия
GetBkColor — возвращает текущий цвет фона
GetColor — возвращает цвет текущего рисунка
GetDefaultPalette — возвращает палитру, заданную по умолчанию
GetDriverName — возвращает строку, содержащую имя текущего драйвера
GetGraphMode — возвращает текущий графический режим
GetFillPattern — возвращает текущий шаблон закраски
GetFillSettings — возвращает текущий цвет и стиль закраски
GetImage — сохраняет двоичный образ заданной части экрана в буфер
GetLineSettings — возвращает текущий тип, шаблон и толщину линии
GetMaxColor — возвращает максимальный номер цвета
GetMaxMode — возвращает максимальный номер режима
GetMaxX — возвращает текущее X-разрешение
GetMaxY — возвращает текущее Y-разрешение
GetModeName — получает имя графического режима
GetModeRange — возвращает диапазон допустимых графических режима для данного драйвера
GetPalette — возвращает текущую палитру
GetTextSettings — возвращает установки для вывода текста в графическом режиме
GetPaletteSize — возвращает размер поисковой таблицы цветов палитры
GetPixel — возвращает значение пиксела в точке (X, Y).
GetViewSettings — получает параметры текущей области просмотра
GetX — возвращает X-координату CP
GetY — возвращает Y-координату CP
GotoXY — перемещает курсор в заданную позицию экрана
GraphErrorMsg — возвращает текст сообщения об ошибке
GraphResult — возвращает код ошибки для последней графической операции
HighVideo — устанавливает высокую интенсивность символов
ImageSize — возвращает число байт памяти, необходимых для сохранения заданной прямоугольной области экрана
InitGraph — инициализирует графическую систему и переводит видеокарту в графический режим
InstallUserFont — устанавливает новый шрифт
Line — рисует линию из (X1, Y1) в (X2, Y2)
LineRel — рисует линию относительно текущего указателя
LineTo — рисует линию из CP до (X, Y)
LowVideo — включает низкую интенсивность символов
MoveRel — перемещает текущий указатель (CP)
MoveTo — перемещает текущий указатель (CP) в точку с координатами (X, Y)
NormVideo — выбирает первоначальное значение атрибута текста
OutText — посылает строку на устройство вывода в позиции текущего указателя
OutTextXY — посылает строку на устройство вывода
PieSlice — рисует и закрашивает сектор окружности
PutImage — помещает битовое изображение на экран
PutPixel — ставит точку в позиции (X, Y)
RestoreCrtMode — восстанавливает первоначальный текстовый режим
Процедуры и функции при работе с файлами Паскаль
Всякий дисковый файл становится доступным программе на Паскале, если его связать с файловой переменной, которая впоследствии объявляется в исходном коде программы. И в результате все операции будут производиться не с самим физическим файлом, а лишь используя связанную с ним файловую переменную. Опишем более менее подробно основные процедуры и функции, которые программист использует в своей программе при работе с файлами.
1) assign(f, filename)
- обеспечивает связь файловой переменной f с физическим файлом. Полное имя этого физического файла помещено в строку filename. Закрепленная связь будет действительной до конца выполнения программы, либо пока не будет произведено некое переназначение. После того, как мы связали файловую переменную с физическим файлом, в программе необходимо указать то направление, по которому будет осуществляться передача данных (операция открытия файла). В зависимости от выбранного направления мы либо производим чтение из файла, либо осуществляем запись в файл.
2) reset(f)
- осуществляет открытие файла (с этим файлом как раз и связана файловая переменная f) для записи. В случае успеха при завершении данной процедуры файл подготовлен к чтению его первого элемента. При завершении reset может появится сообщение об ошибке, но это в случае, когда указанный программистом файл так или иначе не найден. Если f является типизированным файлом, то при использовании процедурыreset происходит открытие этого файла для чтения и записи единовременно.
3) rewrite(f)
- осуществляет запись файла (с этим файлом как раз и связана файловая переменная f). По успешном окончании этой процедуры наш файл подготовлен для записи в него элементов, начиная с первого. Может возникнуть ситуация, что данный файл уже существует, тогда все данные, содержащиеся в нем, уничтожаются.
4) close(f)
- обеспечивает закрытие открытого до этого файла, связанного с файловой переменной f. Когда мы завершаем работу с файлами, необходимо вызвать процедуру close. Однако по какой-нибудь причине рассматриваемая процедура может оказаться не выполненной, но файл все-таки создастся на периферийном устройстве, а содержимое последнего буфера не перенесется.
5) eof( f)
- принимает значение истина (true), если при чтении был достигнут конец файла. Данная ситуация означает, что последний элемент файла уже прочтен, либо файл оказался пустым после открытия.
6) rename(f,fnewname)
- обеспечивает возможность переименования физического файла на диске, который связан с файловой переменной f. Помните: переименовать возможно только после закрытия файла.
7) erase(f)
- осуществляет уничтожение физического файла на диске, связанного с файловой переменной f. Как и в случае с rename, так и в нашем случае процедура erase выполняется по окончании закрытия файла.
8) ioresult
- функция, возвращающая целое число, которое соответствует коду конечной ошибки ввода/вывода. В случае нормального завершения операции данная функция вернет значение 0. Необходимо присвоить какой-нибудь переменной значение рассматриваемой функции ioresult, поскольку при каждом следующем вызове она обнуляет свои значения. Работа функции ioresult возможна лишь в выключенном режиме проверки ошибок ввода/вывода, либо с использованием ключа компиляции {$I-}.
Похожие записи:Pascal
- Pascal. Тип данных char.
- Переход в графический режим Паскаль
- Pascal. Оператор перехода Goto, метки.
- Pascal. Оператор цикла REPEAT-UNTILL.
- Pascal. Переменные.
freepascal — Как вы определяете исключение, выдаваемое MkDir?
Задай вопрос
спросил
Изменено 6 лет, 6 месяцев назад
Просмотрено 195 раз
Я использую Mkdir из модуля Free Pascal System.
Если уже существует каталог с тем же именем, которое передается этой процедуре, возникает ошибка.
Когда для директивы компилятора $IOCHECKS задано значение {$I-}, программа продолжается, но для IOResult устанавливается код ошибки 5. Без директивы компилятора {$I-} создается исключение. Если ошибка не обнаружена, программа завершает работу с кодом возврата 5, что отражает ошибку.Я хотел бы поймать это КОНКРЕТНОЕ исключение, как бы оно ни называлось. Однако я не знаю, как найти точное имя возникшего исключения.
Примечание: я принял данный ответ, но есть одно утверждение, с которым я не согласен:
Преобразование ошибки времени выполнения в исключение — это функция sysutils.
В моем тестировании простое добавление раздела try/except/end останавливает стандартный аварийный сброс программы во время выполнения (с сообщением на стандартный вывод). Вместо этого поток программы переходит к блоку «кроме..конца» и продолжается после него. Однако без использования модуля SysUtils невозможно определить, какое исключение было вызвано, поскольку в нем определены классы исключений.
- freepascal
- mkdir
Системный модуль имеет рудиментарную процедуру «завершения с кодом ошибки», называемую runerror, которую вы видите. Это не исключение. Это выглядит так:
[D:\testing]blaat Ошибка выполнения 5 по адресу $00401437. $00401437 $00406E91
Помимо предотвращения с помощью метода ioresult, это неустранимо.
Преобразование ошибки во время выполнения в исключение является функцией sysutils. Если вы уже ИСПОЛЬЗУЕТЕ sysutils, он вызовет ошибку EInOutError и будет выглядеть так:
[D:\testing]blaat Произошло необработанное исключение по адресу $00401557: EInOutError: Доступ запрещен $00401557
8
Зарегистрируйтесь или войдите в систему
Зарегистрируйтесь с помощью Google
Зарегистрироваться через Facebook
Зарегистрируйтесь, используя электронную почту и пароль
Опубликовать как гость
Электронная почта
Требуется, но не отображается
Опубликовать как гость
Электронная почта
Требуется, но не отображается
APPLE2.
ORG.ZA — Зеркала Ошибка 404: Не найдено
Файл «1» не найден на этом сервере. Вы были автоматически перенаправлены на стартовую страницу.
Имя | Размер | Модифицированный |
---|---|---|
apple.cabi.net | — | 1 месяц назад |
apple2.archive.umich.edu | — | 1 месяц назад |
apple2. caltech.edu | — | 1 месяц назад |
Дисковое ПО Apple II | — | 1 месяц назад |
Проект документации Apple II | — | 3 дня назад |
AVSystems | — | 1 месяц назад |
Коллекция_4 утра | — | 1 месяц назад |
Collection_san_inc | — | 1 месяц назад |
net»> computist-project.net | — | 2 года назад |
ftp.apple.asimov.net | — | 3 месяца назад |
ftp.gno.org | — | 1 месяц назад |
ftp.info.apple.com | — | 1 месяц назад |
icaen.uiowa.edu»> Ground.icaen.uiowa.edu | — | 1 месяц назад |
home.tiscali.se | — | 1 месяц назад |
landover.no-ip.com | — | 1 месяц назад |
tarnover.org | — | 1 месяц назад |
bitsavers.org»> www.bitsavers.org | — | 1 месяц назад |
www.chez.com | — | 1 месяц назад |
www.textfiles.com | — | 1 месяц назад |
apple.cabi.net-complete_site.tar.gz | 449,5 МБ | 6 лет назад |
archive.umich.edu-complete_site.tar.gz»> apple2.archive.umich.edu-complete_site.tar.gz | 49,3 МБ | 6 лет назад |
apple2.caltech.edu-complete_site.tar.gz | 139,53 МБ | 6 лет назад |
Apple_II_Documentation_Project-complete_site.tar.gz | 16,37 ГБ | 1 год назад |
tar.gz»> AVSystems-complete_site.tar.gz | 41,91 МБ | 6 лет назад |
computist-project.net-complete_site.tar.gz | 2,28 ГБ | 2 года назад |
ground.icaen.uiowa.edu-complete_site.tar.gz | 1,53 ГБ | 4 года назад |