Клиппер 5. Справочник

Форматирование дорожки производится вне зависимости


  . Форматирование дорожки производится вне зависимости от того, была
    ли она ранее отформатирована. При успешном завершении все данные
    оказываются стерты.
 
  . После форматирования каждой дорожки осуществляется ее проверка.
 
  Примеры
 
  . Форматирование дискеты в дисководе A: начинается с проверки,
    поддерживает ли дисковод заданную емкость. Функция пользователя
    CONTROL() осуществляет отображение номеров форматируемых дорожки и
    головки. Чтобы не снижать скорость, повторение при сбоях не
    производится, что предполагает использование дискет только высшего


    качества.
 
  . Для демонстрации возможностей функции пользователя форматируются
    только дорожки с 80 по 11, а дорожки с 1 по 10 пропускаются:
 
    CLEAR
    cBootText := "Это несистемная дискета" // Текст, отображаемый
                                           // при попытке загрузки.
    @ 10, 02 SAY "Дорожка: "
    @ 11, 02 SAY "Головка: "
    IF FLOPPYTYPE("A:") = 2                // Дисковод емкостью 1.2 Мбайта
        nErrCode := DISKFORMAT("A:", 1200, "CONTROL", cBootText, 0)
        IF nErrCode = 0
              ? "Форматирование успешно завершено!"
        ENDIF
    ENDIF
    RETURN
 
    FUNCTION CONTROL(nTrack, nHead)
        LOCAL nRetval
        IF nTrack >= 11
                @ 10, 08 SAY STR(nTrack)
                @ 11, 08 SAY STR(nHead)
                nRetval := 0               // Продолжить форматирование
        ELSE
                nRetval := 2               // Прервать форматирование
        ENDIF
        RETURN
 
  . Функция пользователя, обеспечивающая прерывание форматирования по
    нажатию клавиши <ESC>. При нормальном завершении выводится
    соответствующее сообщение:
 
    FUNCTION CONTROL(nTrack, nHead)
        LOCAL nRetval
        IF INKEY() = 27
                nRetval := 2               // Прервать форматирование

Содержание раздела