Разное

Ioresult pascal: Smart Pascal : IOResult command

возвращает статус последней выполненной операции ввода/вывода

  • 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. Тип данных char.
    • Переход в графический режим Паскаль
    • Pascal. Оператор перехода Goto, метки.
    • Pascal. Оператор цикла REPEAT-UNTILL.
    • Pascal. Переменные.
    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» не найден на этом сервере. Вы были автоматически перенаправлены на стартовую страницу.

    Имя Размер Модифицированный
    1 месяц назад
    1 месяц назад
    1 месяц назад
    1 месяц назад
    3 дня назад
    1 месяц назад
    1 месяц назад
    1 месяц назад
    net»> 2 года назад
    3 месяца назад
    1 месяц назад
    1 месяц назад
    icaen.uiowa.edu»> 1 месяц назад
    1 месяц назад
    1 месяц назад
    1 месяц назад
    bitsavers.org»> 1 месяц назад
    1 месяц назад
    1 месяц назад
    449,5 МБ 6 лет назад
    archive.umich.edu-complete_site.tar.gz»> 49,3 МБ 6 лет назад
    139,53 МБ 6 лет назад
    16,37 ГБ 1 год назад
    tar.gz»> 41,91 МБ 6 лет назад
    2,28 ГБ 2 года назад
    1,53 ГБ 4 года назад

    Добавить комментарий

    Ваш адрес email не будет опубликован. Обязательные поля помечены *