Главная страница
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.031 c
8-1123012068
CHAINIK
2005-08-02 23:47
2006.01.08
Вырезать кусок из МР3


14-1134644811
iamdanil
2005-12-15 14:06
2006.01.08
Delphi 2005


4-1131022013
Yus
2005-11-03 15:46
2006.01.08
Бысрое копирование


14-1134216383
TStas
2005-12-10 15:06
2006.01.08
Как устроены электронные таблицы?


2-1134745309
fast2
2005-12-16 18:01
2006.01.08
Как можна задать случайным образом время в ...