Як зберігати файли

> 1. У разі збереження файлу не виникає повідомлення про перезапис > файлу. використовуй функцію FileExists (вона перевіряє чи існує файл з таким шляхом) > 2. Файл може бути збережений з різними дозволами, можливі > дозволу я описав, вибираю дозвіл, але файл все одно > зберігається без дозволу.ее напевно не "дозвіл" а "розширення". якщо у тебе використовується TSaveDialog, задавай йому DefaultExt.

1. В Options у SaveDialog установи PromptForOverwrite 2. Якщо SaveDialog має список розширень, одне з них вибрано, ім'я задано, то SaveDialog.FileName містить повне ім'я, з розширенням

У мене в полі Filter для TSaveDialog встановлено кілька розширень. Я вибираю одне з них, але файл зберігається без розширення.

У діалоговому вікні Ім'я файлу я задаю ім'я файлу без розширення, мається на увазі, що розширення береться з поля Тип файлу. Не виходить.

задай defaultext рівне розширенню за умовчанням і при старті роби щоб ім'я було без розширення (або взагалі порожнє). Тоді якщо користувач не буде вибирати тип, до імені додасться defaultext, якщо буде, то розширення, що відповідає типу

Немає питання трохи складніше, я хочу задавати ім'я файлу (без розширення) у рядку діалогу Ім'я файлу, а розширення вибирати в рядку Тип файлу.

Із попереднім розібрався. Нове питання. Не можна зберегти підряд два файли з однаковими іменами та різними розширеннями, при збереженні другого він використовує розширення першого і пропонує його перезаписати.

> Не можна зберегти два файли з однаковими > іменами та різними розширеннями, при збереженні > другого, він використовує розширення першого та пропонує > його перезаписати.Перед відкриттям діалогу(onBeforeExecute або якось так) прибирай розширення. Простий (хоч і найефективніший) спосіб - SetLength(FN, Length(FN) - Length(ExtractFileExt(FN)));

> SetLength(FN, Length(FN) - Length(ExtractFileExt(FN)));Здесь мається на увазі FN - змінна з ім'ям файлу. Або так with SaveDialog do FileName := Copy(FileName, 1, Length(ExtractFileExt(FileName)));