Форум: "Начинающим";
Текущий архив: 2006.01.15;
Скачать: [xml.tar.bz2];
ВнизИсключения! Найти похожие ветки
← →
Катерина (2005-12-26 11:37) [0]Запуталась совсем с сохранением текстового файла. Помогите пожалуйста.
...
type
SaveException = class (Exception)
...
procedure TForm1.SaveAsBtnClick(Sender: TObject);
begin
if SaveDialog1.Execute then begin
try
RichEdit1.Lines.SaveToFile (SaveDialog1.FileName);
if FileExists(SaveDialog1.FileName) then
raise SaveException.Create ("Файл существует!заменить?");
except on E: SaveException do
begin
Msg := MessageDlg (E.Message, mtWarning, [mbYes, mbNo], 0);
if Msg = mrYes then
RichEdit1.Lines.SaveToFile (SaveDialog1.FileName);
end;
end;
end
else exit;
end;
в итоге все сохраняет, но если надо существующий файл заменить новым, то 2 раза спрашивает "Файл существует.Заменить?"как после первого выйти из сохранения? все равно 2 раз не меняет ничего. даже если нажать "ДА", то файл уже сохранен. В чем ошибка?
← →
Dmitrij_K (2005-12-26 11:49) [1]В SaveDialog есть параметр который за это отвечает.
что-то типа такого - OverwritePrompt
← →
umbra © (2005-12-26 11:53) [2]
type
SaveException = class (Exception);
procedure SafeSave(name: string);
begin
if FileExists(name) then
begin
raise SaveException.Create ("Файл существует!заменить?");
exit;
end;
RichEdit1.Lines.SaveToFile (name);
end;
procedure TForm1.SaveAsBtnClick(Sender: TObject);
begin
if SaveDialog1.Execute then begin
try
SafeSave(SaveDialog1.FileName);
except on E: SaveException do
begin
Msg := MessageDlg (E.Message, mtWarning, [mbYes, mbNo], 0);
if Msg = mrYes then
RichEdit1.Lines.SaveToFile (SaveDialog1.FileName);
end;
end;
end
else exit;
end;
← →
evvcom © (2005-12-26 12:09) [3]
> SaveException = class (Exception)
Классы исключений принято называть именами, начинающимися с "Е", т.е. ESaveException в данном случае. Рекомендую этого не игнорировать.
> raise SaveException.Create ("Файл существует!заменить?");
> exit;
exit-то здесь зачем? По исключению и так выскочим сразу на except в SaveAsBtnClick.
Страницы: 1 вся ветка
Форум: "Начинающим";
Текущий архив: 2006.01.15;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.013 c