Database yedekleme işleminde tarih ekleme

Delphi'de kod yazma ile ilgili sorularınızı bu foruma yazabilirsiniz.
Cevapla
Kullanıcı avatarı
brs
Üye
Mesajlar: 626
Kayıt: 04 Eki 2012 03:52

Database yedekleme işleminde tarih ekleme

Mesaj gönderen brs »

Selam Database yedekleme işlemi yapıyorum fakat yedekleme işlemi belirli aralıklarla aynı klasöre Yapıldığında dolayı bir önceki
verinin üstüne kaydetmemesi için yeni kayıta MyDatabase01.05.2014.db gibi tarihi nasıl eklerim?

Kod: Tümünü seç

procedure TForm11.SpeedButton1Click(Sender: TObject);
var
  Cevap: Word;
  OpStruc: TSHFileOpStruct;
  frombuf, tobuf: Array [0 .. 128] of Char;
begin
  Cevap := Application.MessageBox
    ('Database deki Verileri Yedeklemek İstediğinizden Emin Misiniz?'#10'(Bu İşlem Veri Çokluğuna Göre Bir Kaç Dakika Sürebilir!)',
    'Onay İşlemi!', MB_YesNo or MB_ICONQUESTION);
  begin
    fillChar(OpStruc, Sizeof(OpStruc), 0);
    fillChar(frombuf, Sizeof(frombuf), 0);
    fillChar(tobuf, Sizeof(tobuf), 0);
    StrPCopy(frombuf, 'C:\Program Files\A Plus\Win32\Debug\Database\*.*');
    StrPCopy(tobuf, 'C:\Program Files\A Plus\Win32\Debug\DatabaseYedek');
    With OpStruc do
      try
        if Cevap = MrYes then
        begin
          Wnd := Handle;
          wFunc := FO_COPY;
          pFrom := @frombuf;
          pTo := @tobuf;
          fFlags := FOF_NOCONFIRMATION or FOF_RENAMEONCOLLISION;
        end
        else
        begin
          if Cevap = MrNo then
          begin
            Label1.Caption := 'Yedekleme İşlemi İptal Edildi!';
          end;
        end;
      except
        Application.MessageBox
          ('Database Yedekleme İşlemi Sırasında Hata Oluştu!', 'Uyarı!',
          MB_Ok or MB_ICONQUESTION);
      end;
  end;
  Label1.Caption := 'Yedekleme İşlemi Başarıyla Tamamlandı!';
  ShFileOperation(OpStruc);
end;
En son brs tarafından 24 Tem 2015 07:57 tarihinde düzenlendi, toplamda 1 kere düzenlendi.
İşi bilen yardım eder, az bilen akıl verir, bilmeyen eleştirir, yapamayan ise çamur atar...
Kullanıcı avatarı
cengaver
Üye
Mesajlar: 111
Kayıt: 01 Nis 2014 05:02
Konum: İstanbul

Re: Database yedekleme işleminde tarih ekleme

Mesaj gönderen cengaver »

Ne tür bir veritabanı yedeklediğini bilemiyorum ama sonuç itibariyle bir klasör kopyalama işlemi yapıyorsun anladığım kadarıyla;

Sanırım şöyle bir şey işini görür;

Kod: Tümünü seç

...
  StrPCopy(tobuf, format('C:\Program Files\A Plus\Win32\Debug\DatabaseYedek_%s', [formatdatetime('yyyy_mm_dd_hh_nn', NOW)]));
...
Cevapla