Главная страница
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.019 c
2-1135078627
Crass
2005-12-20 14:37
2006.01.08
Редактирование больших файлов


8-1123179611
Logun
2005-08-04 22:20
2006.01.08
Управление Winamp-ом


14-1134661370
Bogdan1024
2005-12-15 18:42
2006.01.08
Дуглас Коупленд "Рабы Майкрософта"


14-1134230811
Kerk
2005-12-10 19:06
2006.01.08
Федеральная служба государственной статистики.


14-1134498337
Ксардас
2005-12-13 21:25
2006.01.08
Просьба