Главная страница
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.021 c
2-1135058284
oleg777
2005-12-20 08:58
2006.01.08
Ошибка в запросе при проверке пользователя MSSQL 2000


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


2-1135107674
Soff
2005-12-20 22:41
2006.01.08
Какой это Класс исключений?


3-1131619501
Дмитрий_Б
2005-11-10 13:45
2006.01.08
MultiSelect в Гриде


2-1135039470
Neirooman
2005-12-20 03:44
2006.01.08
Курсор из файла