En basit haliyle backup nasıl yapabilirim

Delphi'de kod yazma ile ilgili sorularınızı bu foruma yazabilirsiniz.
Cevapla
kafkasyali2002
Üye
Mesajlar: 37
Kayıt: 18 Haz 2003 11:48

En basit haliyle backup nasıl yapabilirim

Mesaj gönderen kafkasyali2002 »

Merhaba
Ben programımda yedekleme yapmak istiyorum elimdeki kitaplarda anlatılmıyoor.

En basit yoluyla bu yedeklemeyi nasıl yapabilirim.
İyi Çalışmalar
Kullanıcı avatarı
mussimsek
Admin
Mesajlar: 7587
Kayıt: 10 Haz 2003 12:26
Konum: İstanbul
İletişim:

Mesaj gönderen mussimsek »

Merhaba,

neyi yedekleyeceksiniz, biraz daha detay lütfen.
kafkasyali2002
Üye
Mesajlar: 37
Kayıt: 18 Haz 2003 11:48

Mesaj gönderen kafkasyali2002 »

Hocam programımda 4 adet veritabanı dosyası var
onları yedekleyeceğim istenildiği takdirde
İyi çalışmalar
kafkasyali2002
Üye
Mesajlar: 37
Kayıt: 18 Haz 2003 11:48

Mesaj gönderen kafkasyali2002 »

Birde o veritabanı dosyaları içinde toplam 25 i geçmez alanlar var
Hocam zaten ben o programı size yollsmıştım benim istediğim fazla ayrıntıya gerek kalmadan yedekleme işi yapmak
Teşekkür ederim
Kullanıcı avatarı
husonet
Admin
Mesajlar: 2962
Kayıt: 25 Haz 2003 02:14
Konum: İstanbul
İletişim:

Mesaj gönderen husonet »

Yazdığım kodla Dos komutlarını kullanabilirsin Buda sana fikir verebilir.

Kod: Tümünü seç

procedure doskomutu(komut:string;mesajver:boolean); 
var
Startupinfo:TStartupinfo; 
ProcessInfo:TProcessInformation;
begin 
   if terminateprocess(processinfo.hProcess,0)=NULL then 
   begin
      if mesajver then showmessage('Devam eden işlem iptal edilemedi');
      exit;
   end;

   FillChar(StartupInfo,Sizeof(StartupInfo),#0); 
   StartupInfo.cb := Sizeof(StartupInfo); 
   StartupInfo.wShowWindow := SW_HIDE; 
   StartupInfo.dwFlags:=STARTF_USESHOWWINDOW; 
   if not CreateProcess(nil, 
                        Pchar('c:\command.com /c '+komut), 
                        nil, 
                        nil,
                        true,
                        NORMAL_PRIORITY_CLASS,
                        nil, 
                        nil, 
                        StartupInfo, 
                        ProcessInfo) then 
                        begin
                            if mesajver then
                   ShowMessage('İşlem gerçekleştirilemedi') 
                        end    
   else 
   begin
     if mesajver then ShowMessage('İşlem tamam') 
   end;     
end; 
Bu yordamın kullanımı

Kod: Tümünü seç


procedure TForm1.Button1Click(Sender: TObject);
begin
doskomutu('copy c:\autoexec.bat a:\autoexec.dat',false);
end;
Kullanıcı avatarı
lazio
Moderator
Mesajlar: 1526
Kayıt: 11 Tem 2003 04:55
Konum: İstanbul

Mesaj gönderen lazio »

eğer yedeklerken sıkıştırma yapmak istesen, dataları arj, pkzip gibi dos tabanlı prog.ları kullanabilirsin.

doskomutu('arj a c:\data c:\data.arj',false); gibi

kolay gelsin..
Resim

..::|YeşilMavi|::..
Kullanıcı avatarı
husonet
Admin
Mesajlar: 2962
Kayıt: 25 Haz 2003 02:14
Konum: İstanbul
İletişim:

Mesaj gönderen husonet »

Bende arj olayından bahsetmek için forma girmiştim ağzına sağlık.


Kolay Gele.
kafkasyali2002
Üye
Mesajlar: 37
Kayıt: 18 Haz 2003 11:48

TEşekkürler

Mesaj gönderen kafkasyali2002 »

Üzerinde Çalışacağım
Tekrar yapamadığım olursa haber ederim
nilnur
Üye
Mesajlar: 60
Kayıt: 21 Tem 2004 05:06

Mesaj gönderen nilnur »

sayın husonet'in yazmış olduğu doskomutu prosedürünü aynen aldım. buton onclick olayına da aşağıdaki kodları yazdım:

Kod: Tümünü seç

procedure TForm1.Button1Click(Sender: TObject);

 begin
        doskomutu('net session > c:\bağlan.txt',false);
        memo1.Lines.LoadFromFile('c:\baglan.txt');
end;
ancak programı çalıştırıp butona tıkladığımda memo1 hala boş. c:\bağlan.txt dosyası da dolayısıyla boş. neyi eksik yapıyor olabilirim?
Kullanıcı avatarı
mussimsek
Admin
Mesajlar: 7587
Kayıt: 10 Haz 2003 12:26
Konum: İstanbul
İletişim:

Mesaj gönderen mussimsek »

bir diğer sorunuzdaki CreateProcess ile yapabilirsiniz. Komutu burdaki komutla değiştirmeniz yeterli.

Kolay gelsin.
nilnur
Üye
Mesajlar: 60
Kayıt: 21 Tem 2004 05:06

Mesaj gönderen nilnur »

elimde mssql'de oluşturulmuş veritabanları var. bir program aracılığı ile disk üzerindeki seçeceğim (mesela filelistbox'ta listelenen istediğim veritabanı tabi mümkünse) veritabanını yine program üzerinden belirtebileceğim yolda yedeğini almak istiyorum. nasıl yapabilirim?
Kullanıcı avatarı
husonet
Admin
Mesajlar: 2962
Kayıt: 25 Haz 2003 02:14
Konum: İstanbul
İletişim:

Mesaj gönderen husonet »

nilnur yazdı:sayın husonet'in yazmış olduğu doskomutu prosedürünü aynen aldım. buton onclick olayına da aşağıdaki kodları yazdım:

Kod: Tümünü seç

procedure TForm1.Button1Click(Sender: TObject);

 begin
        doskomutu('net session > c:\bağlan.txt',false);
        memo1.Lines.LoadFromFile('c:\baglan.txt');
end;
Arkadaşım problem Command.Com u yerini tam belirtmemenden dolayı kaynaklanıyor tahminim XP kullanıyorsun.

Kod: Tümünü seç

CreateProcess(nil,
                        Pchar('c:\windows\system32\command.com /c '+komut),
                        nil,
                        nil,
                        true,
                        NORMAL_PRIORITY_CLASS,
                        nil,
                        nil,
                        StartupInfo,
                        ProcessInfo)
Yazdığım satırları güncellersen problem yaşamazsın.

Bu arada kullandığın zaman Parametre yi True olarak verirsen Mesaj kontrulüde yapabilirsin.

Kolay Gelsin...

Gazete manşetleri
* DİKKAT :Lütfen forum kurallarını okuyalım ve uyalım...!
* Warez,crack vs. paylaşımı kesinlikle yasaktır.
Cevapla