Zaten TSaveDialog ve Delphi overwrite existing file on save dialog [ofOverwritePromt] fikri hakkında basit bir soru var. TSaveDialog dosya uzantısı ve [ofOverwritePromt] sorunu
Yani benim sorun/senaryo takip ediyor:- Ben
TSaveDialog
- ben filtreyi için "PDF (* .pdf) set
Options
- yılında
[ofOverwritePromt]
ayarlanmış | * .pdf " - Filtre endeksi programa yürütmek ve iletişim çağrı Şimdi 1
olarak ayarlanır.
Ama aynı eylemleri yapmak ama eğer olmadan 'Testi' gibi dosya adını yazın: I (yazmadan) fare veya klavye ile seçmek dosya daha sonra iletişim kaydetmek Varlığından beni sorarsa mesajla üzerine yazmak uzantıyı belirterek kaydetme iletişim kutusu üzerine yazmayı onaylamaz. Bunun aslında "C: \ Users \ xxx \ Desktop \ Test.pdf" yerine "C: \ Users \ xxx \ Desktop \ Test" adlı başka bir dosya adı döndürdüğünü biliyorum. iletişim dosyasını kaydetmek ister eğer biraz hoş değil, ancak uzantısını yazmanız gerekir .. Yani genellikle böyle hallederim:
repeat
{ Ask for the file if not silent }
if not dlgSave.Execute then
Exit;
{ Read the filename from the save dialog }
LTempFile := dlgSave.FileName;
if not SameText(ExtractFileExt(LTempFile), '.pdf') then
begin
{ Add the extension }
LTempFile := LTempFile + '.pdf';
{ As we bypassed the overwrite check in dialog do it now }
if FileExists(LTempFile) then
if MsgWarn(Format('%s already exists. Replace?', [ExtractFileName(LTempFile)]), mbOKCancel) <> mrOk then
Continue;
end;
Break;
until False;
var mı yapmak daha şık olduğunu bir yolu Standart iletişim kutusu'u özelleştirmeden ?
Çok teşekkür ederim! Bu özelliği nasıl özleyebilirim ... belki de tatilden önceki son gün olduğu için: D –
Bir şey değil. Eğer mutluysanız, lütfen cevabı kabul edildi olarak işaretleyin. – Dsm