Mrh,
Tsavepicturedialog ile x.bmp isimli ve uzantılı resmi kaydetmek istiyorum, aynı isme sahip dosya var üzerine yazılsınmı diye pencere çıkıyor, buraya kadar herșey tamam ama dosya adının (filename) kısmından x dosyasının uzantısnı sildiĝim zaman (.bmp) uzerine yazılsınmı onay penceresi çıkmıyor direk x.bmp olarak üzerine yazıyor. Bunu sorun hakkında bana yardımcı olmanızı rica edecektim.
İyi çalıșmalar....
Tsavepicturedialog aynı dosya sorunu
Forum kuralları
Forum kurallarını okuyup, uyunuz!
Forum kurallarını okuyup, uyunuz!
- sabanakman
- Kıdemli Üye
- Mesajlar: 3081
- Kayıt: 17 Nis 2006 08:11
- Konum: Ah bi Antalya olaydı keşke (Ankara)
Re: Tsavepicturedialog aynı dosya sorunu
İyi günler. Ne ayarlar var hangi kodlar yazıldı bilmeden yorum yapmak imkansız. O yüzden Tsavepicturedialog u seçip ctrl+c yapın ve buraya yapıştırın. Bir de kaydet butonunda ne kodlar yazıldı onu da ilave edin ki bir yorum yapabilelim.
Şaban Şahin AKMAN
_________________
Derin olan kuyu değil kısa olan iptir. - .
_________________
Derin olan kuyu değil kısa olan iptir. - .
Re: Tsavepicturedialog aynı dosya sorunu
Kaydet butonda yazılı kod
İf kaydet.execute then
Begin
image1.picture.savefromfile(kaydet.filename+'.bmp');
End;
İyi çalıșmalar...
İf kaydet.execute then
Begin
image1.picture.savefromfile(kaydet.filename+'.bmp');
End;
İyi çalıșmalar...
- sabanakman
- Kıdemli Üye
- Mesajlar: 3081
- Kayıt: 17 Nis 2006 08:11
- Konum: Ah bi Antalya olaydı keşke (Ankara)
Re: Tsavepicturedialog aynı dosya sorunu
Aslında SaveDialog ve türevlerinde (TSavePictureDialog) Options özelliğinde ofOverwritePrompt özelliği eklenmişse seçilen dosya varsa üzerine yazılsın mı diye otomatik sormaktadır ama yukarıda kullanılan bu kodlar işi başka yere taşımış. Dosya ismine müdahale ettiğiniz için seçilen dosya değil artık başka dosya ismiyle resmi oluşturmaktasınız. Aslında c:\test\resim.bmp gibi bir dosya varsa ve programdan bu seçilince üzerine yazılsın mı diye sorsa bile evet denildiğinde kodlar bunu c:\test\resim.bmp.bmp olarak kayıt edecektir. Kullanıcı uzantı belirtirse müdahale etmemek lazım ama uzantısız grmişse de kodlarla onu düzenlemek lazım derseniz aşağıdaki gibi bir yöntem işinize yarayabilir.gibi ek kontroller ilave ederek problemi çözebilirsiniz.
Not:kaydet.Options özelliğinde ofOverwritePrompt tanımlı olması gerekmektedir. Kaldırısanız kodları ona göre değiştirmek gerekecektir.
Kod: Tümünü seç
var sDosyaAdi, sUzanti:String;
begin
if kaydet.execute then begin
sDosyaAdi:=kaydet.FileName;
sUzanti:=ExtractFileExt(sDosyaAdi);
if (sUzanti='') then begin
sDosyaAdi:=ChangeFileExt(sDosyaAdi, '.bmp'); //sDosyaAdi:=sDosyaAdi+'.bmp'; gibi çalışır...
if FileExists(sDosyaAdi) and (Applicatiom.MessageBox(PChar(Format('"%s" dosyası var. Üzerine yazılsın mı?',[sDosyaAdi]), 'Uyarı', MB_YESNOCANCEL+MB_ICONWARNING))<>IDYES) then sDosyaAdi:='';//kayıt etme...
end;
if sDosyaAdi<>'' then Image1.Picture.SaveToFile(sDosyaAdi);
end;
end;
Not:kaydet.Options özelliğinde ofOverwritePrompt tanımlı olması gerekmektedir. Kaldırısanız kodları ona göre değiştirmek gerekecektir.
Şaban Şahin AKMAN
_________________
Derin olan kuyu değil kısa olan iptir. - .
_________________
Derin olan kuyu değil kısa olan iptir. - .
Re: Tsavepicturedialog aynı dosya sorunu
Cevap icin tesekkur ederim ișimi gördü.
İyi çalıșmalar...
İyi çalıșmalar...