Не могу прогу написать....

Тема в разделе "Delphi - FAQ", создана пользователем Guest_, 28 апр 2005.

Статус темы:
Закрыта.
  1. Guest_

    Guest_ Гость

    Задание такое: Написать программу, которая моделирует заполнение магнитного диска.
    Полный объём 360Кб. Файлы имеют произвольную длину от 18 до 32Кб. Файлы либо записываются либо удаляются.
    В начале работы файлы последовательно записываются друг за другом. После удаления файла на пустое место записывается новый(если места не хватает выдаётся авварийное сообщение).Требование на запись и удаление( задаётся в командной строке) которое содержит Имя файла, размер в байтах и признак записи/удаления.Программа должна выдавать сведения о свободных и занятых участках диска.
     
  2. zubr

    zubr Гость

    Можно сделать так:
    1. В качестве эмулятора диска создать файл размером 360 Кб.
    2. Выделить в начале файла-эмулятора место под файловую таблицу, где должны сохраняться данные о файлах (имя, размер), а также информацию о свободных участках файла (номера байтов).
    3. Ваша программа должна будет записывать файлы в файл-эмулятор диска с заголовком, в котором будут указаны имя файла, размер файла, номер байта с которого записан данный кусок файла.
    4. При удалении файла, программа должна читать заголовки, чтобы занести номера байт освободившихся участков в файловую таблицу.
    5. При записи файла, программа должна вычитывать из файловой таблицы информацию о свободных участках, проверить хватит ли места на этих свободных участках, если да то разместить в них записываемый файл, в противном случае, выдать сообщение о нехватке места.
     
  3. Guest_

    Guest_ Гость

    А как же всё это реализовать в паскале?
     
  4. zubr

    zubr Гость

    Используя файловые функции AssignFile, Reset, Rewrite, Append, Seek, SeekEof, SeekEoln, Read, Write.
     
  5. Artexoid

    Artexoid Гость

    zubr
    А я в разговор со своим вопросом впишусь <_< !!
    Знаю все функции кроме одной "SeekEoln". Что она делает ???
     
  6. zubr

    zubr Гость

    Artexoid
    function SeekEoln [ (var F: Text) ]: Boolean;
    Результат функции = True, когда указатель файла находится в конце строки.
     
Загрузка...
Статус темы:
Закрыта.

Поделиться этой страницей