Раздел: Стандартные функции Паскаля

MkDir

Основы программирования 2.0 Основы программирования
Каждый профессионал когда-то был чайником. Наверняка вам знакомо состояние, когда “не знаешь как начать думать, чтобы до такого додуматься”. Наверняка вы сталкивались с ситуацией, когда вы просто не знаете, с чего начать. Эта книга ориентирована как раз на таких людей, кто хотел бы стать программистом, но совершенно не знает, как начать этот путь. Подробнее...

Процедура MkDir в Паскале создаёт новый каталог (папку). Синтаксис:

procedure MkDir(const s : shortstring); overload;

procedure MkDir(const s : RawByteString); overload;

procedure MkDir(const s : unicodestring); overload;

В зависимости от состояния переключателя {$I} при возникновении ошибки может быть сгенерирована ошибка времени выполнения. В состоянии {$I-} используйте IOResult для проверки на наличие ошибок.

Пример:

MkDir('MY_DIR');

Как говорится, проще некуда. Этот код создаст новую папку с именем MY_DIR в текущем каталоге (в папке, откуда запускается программа).

Однако это простота обманчива. Если вы захотите в Windows создать каталог с русским именем, то вас ждёт маленькая неприятность - вместо русских букв вы получите “краказябры”. Решением может быть преобразование кодировки Юникод (которая по умолчанию используется в Lazarus) в кодировку системы:

program myprog;

uses LazUTF8;

begin
  MkDir(UTF8ToSys('МОЙ_КАТАЛОГ'));
end.

Однако и здесь вас может ждать неудача и примерно такое сообщение:

myprog.lpr(10,6) Fatal: Невозможно найти LazUTF8, используемый в myprog. Проверьте, что пакет LazUtils имеется в списке зависимостей в инспекторе проекта.

Если программа не компилируется и вы видите подобное сообщение, то для использования модуля LazUTF8 вам надо будет добавить зависимость в список зависимостей в инспекторе проекта. Путь такой:

ПРОЕКТ -> ИНСПЕКТОР ПРОЕКТА -> ТРЕБУЕМЫЕ ПАКЕТЫ -> ДОБАВИТЬ -> НОВАЯ ЗАВИСИМОСТЬ

И в открывшемся окне надо будет найти и добавить пакет LazUtils (см. видео ниже, если остались вопросы).

Ну и не забывайте, что при попытке создать каталог, который уже существует, произойдёт ошибка времени выполнения. Это можно обойти с помощью блока try…except или директивы компилятора {$I-}.

На этом всё. Чтобы не пропустить новости, подключайтесь к Телеграм-каналу или к другим моим каналам и рассылкам (ссылки ниже).


Как стать программистом 2.0 Как стать программистом 2.0

Эта книга для тех, кто хочет стать программистом. На самом деле хочет, а не просто мечтает. И хочет именно стать программистом с большой буквы, а не просто научиться кулебякать какие-то примитивные программки… Подробнее...
Помощь в технических вопросах Помощь в технических вопросах

Помощь студентам. Курсовые, дипломы, чертежи (КОМПАС), задачи по программированию: Pascal/Delphi/Lazarus; С/С++; Ассемблер; языки программирования ПЛК; JavaScript; VBScript; Fortran; Python и др. Разработка (доработка) ПО ПЛК (предпочтение - ОВЕН, CoDeSys 2 и 3), а также программирование панелей оператора, программируемых реле и других приборов систем автоматизации. Подробнее...

Инфо-МАСТЕР ®
Все права защищены ©
e-mail: mail@info-master.su

Яндекс.Метрика