Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Как сохранять файлы


Dormidont ©   (2006-01-21 22:31:00) 

Я только начал писать на дельфи. Мне срочно надо написать программу на основе текстового редактора. Но у меня возникло пару вопросов.
1. При сохранении файла не возникает сообщения о перезаписи файла.
2. Файл может быть сохранен с различными разрешениями, возможные разрешения я описал, выбираю разрешение, но файл все-равно сохраняется без разрешения.
Буду рад за подсказку или ссылку на литературу.


Германн   (2006-01-22 02:59:00) [1]

А TSaveDialog.OnTypeChange не поможет?


GuAV   (2006-01-22 02:52:00) [2]


> SetLength(FN, Length(FN) - Length(ExtractFileExt(FN)));

Здемь подразумевается FN - переменная с именем файла. Или так with SaveDialog do FileName := Copy(FileName, 1, Length(ExtractFileExt(FileName)));


GuAV   (2006-01-22 02:49:00) [3]


> Нельзя сохранить подряд два файла с одинаковыми
> именами и разными расширениями, при сохранении
> второго, он использует расширение первого и предлагает
> его перезаписать.

Перед открытием диалога (onBeforeExecute или как-то так) убирай расширение. Простой (хотя и не самый эффективный) способ - SetLength(FN, Length(FN) - Length(ExtractFileExt(FN)));


Dormidont   (2006-01-22 01:15:00) [4]

С предыдущим разобрался. Новый вопрос. Нельзя сохранить подряд два файла с одинаковыми именами и разными расширениями, при сохранении второго, он использует расширение первого и предлагает его перезаписать.


Dormidont   (2006-01-22 00:27:00) [5]

Нет вопрос немного сложнее, я хочу задавать имя файла (без расширения) в строке диалога Имя файла, а расширение выбирать в строке Тип файла.


GuAV   (2006-01-22 00:11:00) [6]

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


Dormidont   (2006-01-21 23:52:00) [7]

В поле диалога Имя файла я задаю имя файла без расширения, подразумевается, что расширение берется из поля Тип файла. Не получается.


Dormidont   (2006-01-21 23:46:00) [8]

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


з. танька   (2006-01-21 22:52:00) [9]


> 1. При сохранении файла не возникает сообщения о перезаписи
> файла.
используй функцию FileExists (она проверяет существует ли файл с таким путём)
> 2. Файл может быть сохранен с различными разрешениями, возможные
> разрешения я описал, выбираю разрешение, но файл все-равно
> сохраняется без разрешения.

ээ наверно не "разрешение" а "расширение"...
если у тебя используется TSaveDialog, задавай ему DefaultExt..


MBo   (2006-01-21 22:52:00) [10]

1. В Options у  SaveDialog установи PromptForOverwrite
2. Если у SaveDialog есть список расширений, одно из них выбрано, имя задано, то SaveDialog.FileName содержит полное имя, с расширением


Наверх

Титульная страница Поиск, карта сайта Написать письмо