Форум программистов, компьютерный форум, киберфорум
Delphi для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.88/8: Рейтинг темы: голосов - 8, средняя оценка - 4.88
Джоуи
 Аватар для Joey
1083 / 645 / 240
Регистрация: 05.05.2015
Сообщений: 3,559
Записей в блоге: 2

Как при сохранении файла создавать директорию, если она не существует?

17.05.2015, 17:56. Показов 1717. Ответов 6
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Хочу записать файл (SaveToFile) в директорию, предварительно создав эту директорию
0
Лучшие ответы (1)
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
17.05.2015, 17:56
Ответы с готовыми решениями:

Не создавать запись в БД если она уже существует а просто обновить
Доброго всем дня. Ситуация такая, есть БД MSSQL и php скрипт добавления данных Задача в следующем, как реализовать так чтобы, если...

Сохранить перетаскиваемый (Drag & Grop) файл в директорию, с заменой имени, если существует
Добрый день, Господа. Появилась задача. сохранить перетаскиваемый файл в директорию, с заменой названия файла. ( имя берем из ричбокса)...

Удаление папки, если она не существует
Если в коде есть к примеру Directory.Delete(@installedPath + @"\\Data\\dialogueviews", true); и не дай бог эта папка не существует...

6
Злостный нарушитель
 Аватар для Verevkin
10307 / 5729 / 1269
Регистрация: 12.03.2015
Сообщений: 26,540
17.05.2015, 18:01
Лучший ответ Сообщение было отмечено Joey как решение

Решение

Delphi
1
function ForceDirectories(Dir: string): Boolean;
Creates a new directory, including the creation of parent directories as needed.

ForceDirectories creates a new directory as specified in Dir, which must be a fully-qualified path name. If the directories given in the path do not yet exist, ForceDirectories attempts to create them.

ForceDirectories returns True if it successfully creates all necessary directories, False if it could not create a needed directory.

Note: Do not call ForceDirectories with an empty string. Doing so causes ForceDirectories to raise an exception.
Note: The Vcl.FileCtrl unit (Windows only) contains a ForceDirectories function that is deprecated. System.SysUtils.ForceDirectories is preferred, and can be used in multi-device applications.
1
Джоуи
 Аватар для Joey
1083 / 645 / 240
Регистрация: 05.05.2015
Сообщений: 3,559
Записей в блоге: 2
17.05.2015, 18:23  [ТС]
А как в Делфи указывать относительные пути? типа %windir%
0
Злостный нарушитель
 Аватар для Verevkin
10307 / 5729 / 1269
Регистрация: 12.03.2015
Сообщений: 26,540
17.05.2015, 18:25
Цитата Сообщение от Joey Посмотреть сообщение
А как в Делфи указывать относительные пути? типа %windir%
так и указывать.
0
Джоуи
 Аватар для Joey
1083 / 645 / 240
Регистрация: 05.05.2015
Сообщений: 3,559
Записей в блоге: 2
17.05.2015, 18:34  [ТС]
Verevkin, мне нужно указать директорию system32 в функции Image1.Picture.SaveToFile(), но SaveToFile принимает только параметр string, как мне там указать %WINDIR%?

Я пробовал
Delphi
1
SaveToFile('%windir%\system32\1.jpg')
, пробовал
Delphi
1
SaveToFile(%WINDIR%+'system32\1.jpg')
В первом случае %windir% воспринимается как часть пути (в смысле пишет нет пути C:\users\admin\rad studio\projects\%winfir%\system32 ну и т.д.), а во втором пишет invalid character %
0
Супер-модератор
Эксперт Pascal/DelphiАвтор FAQ
 Аватар для volvo
33379 / 21503 / 8236
Регистрация: 22.10.2011
Сообщений: 36,899
Записей в блоге: 12
17.05.2015, 18:37
GetEnvironmentVariable в помощь
1
Злостный нарушитель
 Аватар для Verevkin
10307 / 5729 / 1269
Регистрация: 12.03.2015
Сообщений: 26,540
17.05.2015, 18:44
Цитата Сообщение от Joey Посмотреть сообщение
в смысле пишет нет пути C:\users\admin\rad studio\projects\%winfir%\system32 ну и т.д.
это-то откуда взялось?

есть GetSystemDirectory, GetWindowsDirectory.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
17.05.2015, 18:44
Помогаю со студенческими работами здесь

Как программно удалить кнопку которую программно создал но только если она уже существует
Есть ScrollView в котором много компонентов,чтоб не выводить сразу все решил выводить по 10 штук и снизу пихать кнопку "еще",эту...

Как создавать объекты из XML файла, если каких то атрибутов может не быть?
Создаю объекты из XML файла: List<Terminal> terminals = new List<Terminal>(); foreach (XmlNode terminal in...

Вывести k-ю степень s, если она существует и слово undefined в противном случае.
Пусть имеем строку s и целое число k. Если k - неотрицательно, то k-ой степенью строки s называется строка, которая представляет из себя...

Определить размер файла при загрузке на сервер и отменить загрузку, если она уже началась
На случай, если браузер посетителя не поддерживает File API (загрузка файлов на сервер через javascript), составляю код запасного варианта...

Строка: Вывести k-ю степень строки s, если она существует и слово undefined в противном случае.
Пусть имеем строку s и целое число k. Если k - неотрицательно, то k-ой степенью строки s называется строка, которая прествавлаяет из себя...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL3_image
8Observer8 10.02.2026
Содержание блога Библиотека SDL3_image содержит инструменты для расширенной работы с изображениями. Пошагово создадим проект для загрузки изображения формата PNG с альфа-каналом (с прозрачным. . .
Установка Qt-версии Lazarus IDE в Debian Trixie Xfce
volvo 10.02.2026
В общем, достали меня глюки IDE Лазаруса, собранной с использованием набора виджетов Gtk2 (конкретно: если набирать текст в редакторе и вызвать подсказку через Ctrl+Space, то после закрытия окошка. . .
SDL3 для Web (WebAssembly): Работа со звуком через SDL3_mixer
8Observer8 08.02.2026
Содержание блога Пошагово создадим проект для загрузки звукового файла и воспроизведения звука с помощью библиотеки SDL3_mixer. Звук будет воспроизводиться по клику мышки по холсту на Desktop и по. . .
SDL3 для Web (WebAssembly): Основы отладки веб-приложений на SDL3 по USB и Wi-Fi, запущенных в браузере мобильных устройств
8Observer8 07.02.2026
Содержание блога Браузер Chrome имеет средства для отладки мобильных веб-приложений по USB. В этой пошаговой инструкции ограничимся работой с консолью. Вывод в консоль - это часть процесса. . .
SDL3 для Web (WebAssembly): Обработчик клика мыши в браузере ПК и касания экрана в браузере на мобильном устройстве
8Observer8 02.02.2026
Содержание блога Для начала пошагово создадим рабочий пример для подготовки к экспериментам в браузере ПК и в браузере мобильного устройства. Потом напишем обработчик клика мыши и обработчик. . .
Философия технологии
iceja 01.02.2026
На мой взгляд у человека в технических проектах остается роль генерального директора. Все остальное нейронки делают уже лучше человека. Они не могут нести предпринимательские риски, не могут. . .
SDL3 для Web (WebAssembly): Вывод текста со шрифтом TTF с помощью SDL3_ttf
8Observer8 01.02.2026
Содержание блога В этой пошаговой инструкции создадим с нуля веб-приложение, которое выводит текст в окне браузера. Запустим на Android на локальном сервере. Загрузим Release на бесплатный. . .
SDL3 для Web (WebAssembly): Сборка C/C++ проекта из консоли
8Observer8 30.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru