S.a.
Not Defteri benzeri bir uygulamada YeniDosya oluşturmak için eğer programda açık olan dosya değiştirilmiş ve bilgisayara kayıtlı değilse kaydetmek, eğer kayıtlı ise istenirse üzerine kaydetmek için ne yapmalıyım
procedure TForm1.Yeni1Click(Sender: TObject);
var
m:word;
begin
if Memo1.Modified Then
Begin
m:= Application.MessageBox('Adlı Dosyadaki Değişiklikler Kaydedilsin mi?','Not Defteri',mb_yesnocancel+mb_iconexclamation);
case m of
IDNO: Form1.Close;
IDYES: if FileExists(Memo1.Name) Then Memo1.Lines.SaveToFile(Memo1.Name);
Else
if SaveDialog1.Execute Then
Memo1.Lines.SaveToFile(SaveDialog1.FileName);
-Cancel da save dilaog u açıyo (hiç bi şey yapmaması lazım)
-Bilgisayara daha önce kaydedilmemiş dosya için evet dediğimde napıyo anlamadım ama savediaolg un çıkması lzm onun yerine (ya hiç bi yere kaydetmiyo, yada nereye ediyo anlamadım)
-Evet deyince direk üstüne kaydetmesi lzm ama hiç bir şey kaydetmiyor.
Yani gelen cevap pek de doğru değil, belki hiç değil , Sadece benim yapmak için çırpınışlarım
Teşekkürler.
procedure TForm1.Yeni1Click(Sender: TObject);
var
m:word;
begin
if Memo1.Modified Then
Begin
IF ( Application.MessageBox('Adlı Dosyadaki Değişiklikler Kaydedilsin mi?','Not Defteri',mb_yesnocancel+mb_iconexclamation))= IDNO THEN
BEGIN
Form1.Close;
END
ELSE
BEGIN
if FileExists(Memo1.Name) Then Memo1.Lines.SaveToFile(Memo1.Name);
Else
if SaveDialog1.Execute Then
Memo1.Lines.SaveToFile(SaveDialog1.FileName);
END
birde böyle dene bakalım olacak mı?
بِسْمِ اللهِ الرَّحْمنِ الرَّحِيمِ Forumun 365. Üyesi
Hiç Bir Şey İnsan Kadar Yükselemez ve Alçalamaz
IDNO diye kontrol ettiğiniz Case bölümünde IDCANCEL yazın !... IDNO olursa, ModalResult'tan NO tuşuna basılıp basılmadığı döner !... Siz Cancel'a basıyorsanız CANCEL döner !...
Bu sebeple ELSE bölümüne düşer ve SaveDialog soru sorar
YESdeyince eğer bilgisayara kaydedilmişse üzerine kaydetcek, eğer kaydedilmemişse saveiladolg u açacak
NO deyince memo1 deki texti kapatıp yeniden boş bi text açcak yanlız memo1.text.clear olmaz çünkü o zmn kayıt edilrse oluşturulmuş dosyaya kaydedilcek değişiklikler.
CANCELdeyince hiç bir şey yapmıyacak.
Cancel ıIDCANCEL: ; yaptım halloldu, YESveNOda sorun var