Mrb arkadaşlar
Ben elimde olan bir veri tabanı dosyasını yedeklemek istiyorum. vt.mdb dosyası. Ben bunu daha önceki sorulan sorulardan inceledim.
copyfile(‘c:\vt.mdb','d:\vt.mdb',false);
ve bu şekilde yaptım. bu işlemini yapınca kopyalıyor. fakat ben bunu bu şekilde yapmak istemiyorum. çünkü benim çalışmamın olduğu yerdeki vt.mdb dosyasını almam gerekiyor. yani program nereye kurulduysa ordan almalıyım.
ben bu copyfile işleminde;
var
ad:string;
begin
ad:=getcurrentdir+'\vt.mdb';
copyfile(ad,'d:\vt.mdb',false);
end;
diye yazıyorum. ama olmuyor. yani çalıştığım dizindeki veritabanını nasıl alabilirim.
herkese iyi çalışmalar
copyfile ile dosya kopyalama
Forum kuralları
Forum kurallarını okuyup, uyunuz!
Forum kurallarını okuyup, uyunuz!
- veliadiguzel
- Üye
- Mesajlar: 197
- Kayıt: 09 Tem 2003 02:11
- Konum: Gebze/Kocaeli
- İletişim:
merhaba.
copyfile parametresinde tip hatası var bence. pchar(ad) gibi bi kod çözüm olur sanırım.Exe'nin klasörünü bulmaya gelince;
StrUtils unitini eklemek kaydı ile;
bu şekilde kullanmak daha sağlıklı olur sanırım, zira uygulamanız açıkken kullanıcının klasörler arasında dolaşma olasılığı azımsanacak bişey değil..
kolay gelsin.
copyfile parametresinde tip hatası var bence. pchar(ad) gibi bi kod çözüm olur sanırım.Exe'nin klasörünü bulmaya gelince;
StrUtils unitini eklemek kaydı ile;
Kod: Tümünü seç
ExtractFilePath(Application.ExeName);
kolay gelsin.
-
- Kıdemli Üye
- Mesajlar: 574
- Kayıt: 01 Şub 2004 12:29
- Konum: Erdemli - MERSİN
Kendi projemde şöyle kullanıyorum..
Kod: Tümünü seç
procedure TFRM_YEDEK.BTN_YEDEKLEClick(Sender: TObject);
var
GUN , AY , YIL : Word;
GUN_AY_YIL : string;
KAYNAK , HEDEF: String;
begin
DecodeDate(Date, YIL, AY, GUN);
GUN_AY_YIL := IntToStr(GUN) + '_' + IntToStr(AY) + '_' + IntToStr(YIL);
KAYNAK := ExtractFileDir(Application.ExeName)+'\Database\Deneme_DataBase\BETUL_DENEME.gdb';
HEDEF := ExtractFileDir(Application.ExeName)+'\BackUp\BETUL_DENEME_'+GUN_AY_YIL+'.gbk';
if DirectoryExists('c:\Software\STOK_CARI\BackUp') then
begin
PROGRESSBAR.MinValue := 0;
PROGRESSBAR.MaxValue := 100;
PROGRESSBAR.Progress := 0;
with PROGRESSBAR do // açılışı ayarlıyoz yavaşlat yada hızlandır
Progress := Progress + 10; Sleep(100);
with PROGRESSBAR do
Progress := Progress + 10; Sleep(100);
with PROGRESSBAR do
Progress := Progress + 10; Sleep(100);
with PROGRESSBAR do
Progress := Progress + 5; Sleep(100);
with PROGRESSBAR do
Progress := Progress + 10; Sleep(100);
with PROGRESSBAR do
Progress := Progress + 5; Sleep(100);
with PROGRESSBAR do
Progress := Progress + 15; Sleep(100);
with PROGRESSBAR do
Progress := Progress + 10; Sleep(100);
with PROGRESSBAR do
Progress := Progress + 10; Sleep(100);
with PROGRESSBAR do
Progress := Progress + 15; Sleep(100);
if CopyFile( PChar(KAYNAK), PChar(HEDEF), false ) then
begin
ShowMessage('Yedekleme İşlemini Başarıyla Gerçekleştirdiniz.');
PROGRESSBAR.Progress := 0;
end
else
raise Exception.Create(
Format('%s den %s e kopyalama işlemi gerçekleştirilemedi! , Windows Hata Kodu: '+'%d (%s)',[KAYNAK, HEDEF, GetLastError, SysErrorMessage(GetLastError)]));
end;
end;
Kod: Tümünü seç
ExtractFilePath(Application.ExeName);
CurrentDirector herzaman programının çalıştığı dizin olmayabilir..