Как может папки I Create рекурсивно в Delphi?

Когда вы делаете назначение, такое как в этом примере, вы создаете не новый объект, а ссылку на оригинал. Альтернативой является глубокая копия согласно https://docs.python.org/2/library/copy.html , однако, IMO, это довольно хакерский.

Как я избегаю проблем с этим, пытаясь сделать мои программы как можно более неизменными, то есть я не хочу переназначать переменные или изменять существующие переменные. Скорее, вы пытаетесь сохранить состояние объектов и создавать новые объекты на основе содержимого других.

19
задан Toby Allen 5 January 2013 в 00:34
поделиться

2 ответа

Use

ForceDirectories('C:\TestFolder\Another\AndAnother');

(Это стандартная RTL-функция, находящаяся в SysUtils.pas. Следовательно, вам не нужно создавать свою собственную функцию, хотя это было бы несложно.)

62
ответ дан 30 November 2019 в 02:11
поделиться

Это использует новый IOUtils вместо SysUtils.
IOUtils межплатформенный совместимый и знающий UNC.

function ForceDirectories(FullPath: string): Boolean;   // Works with UNC paths
begin
  TDirectory.CreateDirectory(FullPath);
  Result:= DirectoryExists(FullPath);
end;
0
ответ дан 30 November 2019 в 02:11
поделиться
Другие вопросы по тегам:

Похожие вопросы: