Programın Kendini imhası

1 2
08/04/2009, 23:56

Şafak

Access'te yapılan programın belli şarta bağlı olarak (örneğin belirtilen tarih sonrasında) kendisini imhası nasıl mümkün olur. Selamlar, Saygılar....
09/04/2009, 00:44

mehmetdemiral

Birkaç şekilde yapılabilir. Birincisi bir bat dosyası hazırlayıp içine mdb'yi silme komutlarını yazarsınız.


del c:\program\deneme.mdb

gibi. (Bat dosyası ile ilgili bilgiyi nette bolca bulursunuz.) Neden bat dosyası derseniz, program çalışırken kendini silemez de ondan. Program çalışması sırasında belirlenen tarihe geldiğinde bir şekilde

if tarih= #01.05.2009# then
run xxxx c:\program\sil.bat

şeklinde bat dosyası çalıştırılır. Bat çalıştığında ise ilk önce komut ile programı durdurur ve kapatır. Sonra da yukardaki silme komutuyla programı siler. Bunları bat dosyası minimize edilmişken yaparsanız işlemler görülmeyecektir.


Diğer yol ise bu işlemleri başka bir mdb dosyasına yaptırmaktır. Belirlenen süre geldiğinde program diğer dosyayı çalıştırır ve kapanır. Açılan Access dosyası da diğer dosyayı siler ve kapanır. Komplo Teorileri bu kadar ))
10/04/2009, 01:26

m çakıcı

sayın mehmet demiral
bir mdb bir başka mdb yi çalıştırabilmek için kod sistemi nedir?
bir mdb den yararlanarak diğer mdb yi silmek için kod nedir?
10/04/2009, 07:26

mehmetdemiral

Birçok yolu vardır.

Birincisi Makro aracılığı ile olabilir.
İkincisi Sql komutlarıyla olabilir
Üçüncüsü bat dosyasını çalıştırarak olabilir
Dördüncüsü Vb komutlarıyla Dosya işlemlerinin hepsi yapılabilir.

Verdiğim örnekleri iyice okuyunuz:



Dosya silme ( RmDir komutu )
Üzerine çalışılan aktif sürücü veya klasör içinde yer alan veya eğer yol belirtilmiş ise
belirtilen güzergahta bulunan bir klasörü siler.
RmDir “ODEV”
RmDir “D:\MyDocs\ODEV”
Komutları her iki durumda da komutta gösterilen yoldaki ODEV klasörünü silecektir.
Bu işlemin gerçekleştirilebilmesi için yolun tam ve doğru gösterilmesi ve kalsör içinin
boş olması gerekir.
Dosya silme işlemi yapılırken kullanıcıya emin olup olmadığı sorulmaz. Bu nedenle
kod yazımı sırasında gerekli denetimler kullanıcı tarafından koda eklenmelidir.

Bunlar da kill komutu ile ilgili bilgiler:
Dosya Silme ( Kill komutu )

Özellikle kullanımında en çok dikkat edilmesi gereken komutlardan birisidir. Belirtilen
bir dosyayı veya özellikleri verilen kayıt gruplarını tamamen siler. Bu komutun
kullanımı sırasında da de kullanıcıya emin olup olmadığı sorulmaz. Kayıt tamamen
silinir. Bu nedenle kod yazımı sırasında gerekli denetimler kullanıcı tarafından
mutlaka koda eklenmelidir: Aksi halde hatalı silmeler nedeniyle sistem dosyalarının
veya gerekli diğer program dosyalarının silinmesi, işletim sisteminin zarar görmesine
ve çalışmamasına neden olabilir.
Kill “D:\MyDocs\ODEV\veriler.txt”
Komutu D sürücüsünde MyDocs klasörü altındaki ODEV klasöründe yer alan
veriler.txt dosyasını silecektir.
Kill “D:\MyDocs\ODEV\*.txt”
Komutu da yine D sürücüsünde MyDocs klasörü altındaki ODEV klasöründe yer alan
ancak adı önemli değil uzantıları .txt olan tüm dosyaları grup halinde silecektir.
Kill “deneme.doc”
Komutu da benzer şekilde bulunulan aktif klasör içinde yer alan deneme.doc kaydını
silecektir.

Kolay Gelsin
10/04/2009, 22:34

m çakıcı

teşekkür ederim
10/04/2009, 23:07

tdsharun

Bunun için ben de farklı bişeyler yaptım.

Ekteki dosyada bulunan Test klasörünü C: sürücüsünün altında çalıştırın. C'de çalışacak şekilde ayarladım.

Veritabanındaki form üzerindeki butonlarla;

1- Oluştur: DenemeKlasor adında bir klasör, ReadMe adında bir metin dosyası, DenemeKlasor klasörünün içine bir tane Deneme adında metin dosyası oluşturur...

2- Sil: Yukarıdaki dosyaları siler.

3- Dosyaya Kodları Yaz: Batch (.bat) dosyası oluşturur ve bu bat dosyasının içine yukarıdaki aşamaları tek tek yazar ve kullanıma hazır hale getirir.

4- Çalıştır: Kullanıma hazır olan .bat dosyasını çalıştırır ve bütün işlemleri tek aşamada halleder.

Bu örneği:

1) Nasıl .bat dosyası oluşturulur, içine kodlar nasıl yazdırılır?
2) Nasıl metin dosyası oluşturulur?
3) Nasıl çalıştırılır?
4) Nasıl dosya oluşturulur, silinir?
5) Nasıl klasör oluşturulur, silinir?

gibi birden fazla konuya cevap olabilecek nitelikte bir çalışma olarak hazırladım.

Bu çalışmayı birden fazla alanda kullanabileceğimizi düşünerek daha da geliştirmeyi düşünüyorum. Şimdilik bu en kaba hali...

Umarım beğenirsiniz...

Saygılar...
1 2