使用 SavePictureDialog 保存图片时如何使 有重名时询问是否覆盖原图片  点是覆盖 否从新选择图片名字尽量写出代码谢谢各位!!

解决方案 »

  1.   

    这是我的图片保存代码   执行后就算图片存在也不会询问是否覆盖  你输入了名字 无论同名在于不在都会覆盖!procedure TForm1.Save1Click(Sender: TObject);
    begin
      if Self.SavePictureDialog1.Execute then
      begin
        Image1.Picture.Bitmap.SaveToFile(SavePictureDialog1.FileName + '.bmp');
      end;
    end;
      

  2.   

    Options
      ofOverwritePrompt 
      

  3.   

      if SavePictureDialog1.Execute then
        if FileExists(SavePictureDialog1.FileName) then
          if Application.MessageBox('文件已经存在,是否要覆盖?', '提示', MB_ICONQUESTION + MB_YESNO) = IDYes then
            image1.Picture.SaveToFile(SavePictureDialog1.FileName);
      

  4.   

    先谢谢 stherix  改了后 确实询问是否覆盖了 但还是有一个问题  就是我点取消后  删除输入框中的名字 在从新输入一个同名名字就不询问直接覆盖了!!!例如 我的图片叫  0001   桌面上已经存在一个 0001 的图片文件了   我点保存 提示覆盖 我点取消把输入框中的 0001删除重新输入 0001 点击保存  不询问是否而直接覆盖请问这正常么?还是我哪里设定不对了?
      

  5.   

    用jerry8 的方法也是可以钻这个漏洞 但是还是不能正确保存 不过谢谢2位 百忙中帮我解答!!
      

  6.   

    SaveDialog有个DefaultExt 如果不输入扩展名 他会自动加上这个
    还有Filter也会有影响你看看是不是这个问题
      

  7.   

    确实是您说的那个问题~~还有一点不解  就是 我把 DefaultExt 里面填上 .jpg保存图片后 程序会崩溃报错 呵呵  好像我问得太多了 呵呵