Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2006.01.08;
Скачать: CL | DM;

Вниз

SaveDialog   Найти похожие ветки 

 
Новенькая   (2005-12-20 08:02) [0]

Здравствуйте мастера не могли бы подсказать как осуществить сохранение файла на диск, спрашивая пользователя если он выбрал уже существующий файл, заменить ли его?вот как-то так сделала (неправильно очевидно:)) не совсем получается, окно "заменить" выводится даже если файл не существует.

type
SaveException = class (Exception);

procedure TForm1.SaveAsBtnClick(Sender: TObject);
begin
if SaveDialog1.Execute then
 try
   if SaveDialog1.Files.Strings [0] = SaveDialog1.FileName then     //Вот здесь ошибка по-моему.
    raise SaveException.Create ("Файл уже существует");
  except on E:SaveException do begin
    Msg := MessageDlg ("Файл уже существует!заменить?", mtWarning, [mbYes, mbNo], 0);
    if Msg = mrYes then RichEdit1.Lines.SaveToFile (SaveDialog1.FileName)
     else exit;
   end;
 end;
end;

PS исключение собственое SaveException надо создавать обязательно


 
TUser ©   (2005-12-20 08:08) [1]

Вкулючи ему в Options флаг ofOverridePrompt.

зы. В твоем примере надо было писать if fileexists() ...


 
Новенькая   (2005-12-20 09:46) [2]

спасибо все работает. а может еще подскажите как дерево таким же путем сохранять?опять не получается ничего:)

procedure SavingTreeView ;
begin
if TreeChanged then
begin
 if Form1.SaveDialog2.Execute then
   try
 if FileExists(Form1.SaveDialog2.FileName) then
  raise SaveException.Create ("Файл уже существует");
//в скобках что неправильно наверное
   F := TFileStream.Create("Form1.SaveDialog2.FileName.txt", fmOpenWrite or fmShareCompat);
   F.WriteComponent (Form1.TreeView1);

 except on E: SaveException do
  begin
   Msg := MessageDlg ("Существует!Заменить?", mtWarning, [mbYes, mbNo], 0);
   if Msg = mrYes then
     begin
       F := TFileStream.Create("Form1.SaveDialog2.FileName.txt", fmOpenWrite or fmShareCompat);
       F.WriteComponent (Form1.TreeView1);
     end
    else exit;
  F.Free;
   end;
end;
end
 else exit;
end;


 
Digitman ©   (2005-12-20 09:54) [3]

F := TFileStream.Create(Form1.SaveDialog2.FileName, fmCreate);



Страницы: 1 вся ветка

Текущий архив: 2006.01.08;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.018 c
3-1131976154
КодеКорешь
2005-11-14 16:49
2006.01.08
Ограничение числа записей в таблице


4-1130938577
Piter
2005-11-02 16:36
2006.01.08
Shutdown компьютера.


14-1134386643
Mike Kouzmine
2005-12-12 14:24
2006.01.08
Путин начинает рабочую неделю в Чечне.


2-1134991447
Владимир
2005-12-19 14:24
2006.01.08
Маленький трафик


2-1134935383
x-steff
2005-12-18 22:49
2006.01.08
Проблема с БД в Дельфи