Forum: Projeler dkv RSS
Dkv2.1 ve Deniz Duyuruldu !
canalpay (Moderatör) #1
Kullanıcı başlığı: Can Alpay Çiftçi
Üye Tem 2009 tarihinden beri · 1133 mesaj · Konum: İzmir
Grup üyelikleri: Genel Moderatörler, Üyeler
Profili göster · Bu konuya bağlantı
Konu adı: Dkv2.1 ve Deniz Duyuruldu !
Dkv 2.1'de 2.0'dan farklı olarak ne var diye sorarsanız :

1.dchar[] const dchar[] oldu.
2.v_sil eklendi.(Eklemeyi unutmuşum :-) Belki ilerde eklemeyi unuttuğum şeyleri hatırlatacak kişiler olur ;-) )
3. Hata düzeltimi var.

Deniz uygulaması nedir? Deniz uygulaması dkvG(dkv2)'yi projelerinde çok kullanacak olan kişiler için yazılmış bir araçtır.

Eğer durmadan aynı veritabanında veya tabloda iş yapacaksanız vt_seç("Veritabanı ismi") ile veri tabanını seçebilir ve artık anahtar_ekle gibi işlev kullanırsanız da veritabanı ismini yazmak zorunda kalmazsınız. Ama isterseniz anahtar_seç derkende veritabanı ismi belirtebilirsiniz. Böylece seçtiğiniz isimden başka isimde kullanabilirsiniz. Ama örneğin; anahtar_ekle'de veritabanı ismi girdiğinizde dkv yinede eskiden seçilmiş olan veritabanını öntanımlı olarak devam ettirir. Böylece bir kere başka veritabanı seçmek için 2 satır kod yazmanıza gerek kalmaz tek satırda halledersiniz. Anlamadığınız yer olursa bana sorabilir ya da kodlara bakabilirsiniz. Kodlar oldukça açık.

Bu arada dkv projesi için(İçindeki projelerde dahil) hata avı sezonu başlamıştır. Umarım sizde bana yardım edersiniz. Çünkü trileri projesi gibi buda ortak bir projemiz olsun istiyorum.




Evet şimdi projenin gelişimini özetleyen yazıları alıntı olarak alıyorum. Belki bazıları dejavu yaşar :-)

Bence şimdilik kolaylık ön planda olmalı. Hatta dosyalar şimdilik elle de değiştirilebilse kullanışlı bile olabilir. (Bu cevabı verirken şifrelemenin tam olarak nasıl yapıldığını bilmediğimi de söylemem gerek. :) )

Başka bir bakış açısı: eğer "satır oku" diye bir işlev varsa, bütünlük açısından onun karşıtı da olmalı.(Canalpay notu: Yani artık elle değiştirilmesin proje genişlesin diyor Ali Bey :-) )

    Örn:

    dkv_sorgula("SEÇ veritabanı/tablo/veri.dkv SATIR 4 EĞER $A<5 ");
    dkv_sorgula("SEÇ veritabanı EĞER $veritabanı=='b'")

    Bunun gibi bir işlev sizce gerekli mi ?


O bayağı becerikli olur. :)

İlerde neden olmasın :-)


Birde Ali Beyin yanlış anladığı(sanırım) bir konu var. dkvG nesnesi tanımlandığında öntanımlı olarak herşey eşleme tablosuna aktarılsın diyordu Ali Bey. Ama bu bence olamayacak bir davranış. Çünkü dkvG Ali Beyin çalıştığı şirketteki proje gibi dkvG herşeyi bir dosyada tutmuyor. Çeşitli dizinler dizinlerin altdizinleri ve o alt dizindeki dosyalarda tutuyor. Ve ne yazık ki dkvG yazdığı dosyalardan habersiz. Bu yüzden her şey eşleme tablosuna aktarılamaz. Hatta gereksiz zaman kaybı olur. Tasarım hatası olur(Bence).

Çünkü adam dkvG ile bir dosya okumak yada yazmak için kullandı. Adam neden herşeyin eşleme tablosuna aktarılmasını beklesin ki ? Gerektiğinde zaten aktarılıyor. Bu yüzden bence olmaz.

Bu arada projemi bakar kullanır ve hatalarını yakalarsanız memmun olurum. Hatta siz kolay kullanın diye Deniz uygulaması bile yazdım :-) Yoksa yararsız bir proje olarak mı düşünüyorsunuz.(Gerçeği saklamayın :-D )
acehreli (Moderatör) #2
Kullanıcı başlığı: Ali Çehreli
Üye Haz 2009 tarihinden beri · 4536 mesaj
Grup üyelikleri: Genel Moderatörler, Üyeler
Profili göster · Bu konuya bağlantı
Güzel! :)

Kütüphaneyi kullandıkça yeni fikirler belirecektir zaten...

Aklıma şimdiden gelen bir şey: silme işlevleri biraz korkutucu. Özellikle geliştirme aşamasında yapabileceğimiz hatalar nedeniyle sistemimizdeki başka  dosyaları silebiliriz. Özellikle "-rf" kullanan komut acımasız. :)

Acaba bu konuda biraz güvence olsa nasıl olur. Örneğin dkv'nin klasörlerinin içine sıfır uzunlukta özel bir dosya bırakılabilir ve silerken o dosyanın olmadığı klasörler "bu benim değil" diye silinmeyebilir. Bir güvence yani...

Ali
canalpay (Moderatör) #3
Kullanıcı başlığı: Can Alpay Çiftçi
Üye Tem 2009 tarihinden beri · 1133 mesaj · Konum: İzmir
Grup üyelikleri: Genel Moderatörler, Üyeler
Profili göster · Bu konuya bağlantı
Hmm evet doğru söylüyorsunuz.  Ben __sil__ işlevini şuan dkv dosyasını silecek işlev olmadığı için olduğu gibi bıraktım. O zaman şunu yapabiliriz.

1. dkv_sil işlevi eklenir: Bu eğer dkv dosyasında kayıtlı anahtar veri ... yoksa çalışır.

2. __sil__ sizin daha önce dediğiniz gibi yapılır:
1.çöp kutusu adlı dizin yoksa oluşturur.
2.buraya olduğu gibi taşınır.(Taşınırken dkv dosyasına yada başka bir şeye taşınmadan önceki yolun adı eklenir.)
3.çöpü_boşalt adlı bir işlev daha eklenir. Yani bildiğimiz işletim sistemindeki mantık.
 
çöpü boşaltta da sonsuz parametre alır. istenirde parametre olarak hepsi yazılır ve hepsi silinir, yada silmek istediğin şeyler yazılı. Sizce nasıl ?

Yada daha basit şekilde ve sizin dediğiniz gibi;  silmeden önce silinecek dosya yada dizine izin istenir. İzin verilirse 0 boyutta olmayan içinde hangi dosya yada dizinlerin silinebileceğini belirten bir yazı eklenir ve silinir. Bu da güzel fikir. Seçin beğenin alın :-)
acehreli (Moderatör) #4
Kullanıcı başlığı: Ali Çehreli
Üye Haz 2009 tarihinden beri · 4536 mesaj
Grup üyelikleri: Genel Moderatörler, Üyeler
Profili göster · Bu konuya bağlantı
canalpay:
1. dkv_sil işlevi eklenir: Bu eğer dkv dosyasında kayıtlı anahtar veri ... yoksa çalışır.

Tamamen ilgisiz bir klasörü siler mi? Yani yanlışlıkla boş dizgi versem, ve kendi klasörümde çalıştırsam, bütün dosyalarımı ve klasörlerimi kaybetmek istemiyorum. :)

2. __sil__ sizin daha önce dediğiniz gibi yapılır:
1.çöp kutusu adlı dizin yoksa oluşturur.
2.buraya olduğu gibi taşınır.(Taşınırken dkv dosyasına yada başka bir şeye taşınmadan önceki yolun adı eklenir.)
3.çöpü_boşalt adlı bir işlev daha eklenir. Yani bildiğimiz işletim sistemindeki mantık.

Bu güzel ama aşağıdaki olanakla birlikte çalışmalı. Yoksa bütün dosyalarımı buradan geri taşımam gerekir.

Yada daha basit şekilde ve sizin dediğiniz gibi;  silmeden önce silinecek dosya yada dizine izin istenir.

Programımda hata olsa ve ilgisiz bir klasöre izin istesem?

İzin verilirse 0 boyutta olmayan içinde hangi dosya yada dizinlerin silinebileceğini belirten bir yazı eklenir ve silinir. Bu da güzel fikir. Seçin beğenin alın :-)

svn'le aldığın dkv klasörüne gidip oradaki bütün dosyalara bak:

ls -l -a

Orada .svn isminde bir klasör göreceksin. Gerçi o klasörün içinde gerçekten kullandığı dosyalar vardır, ama svn o klasör olmadan hiçbir şey yapmaz.

Bence dkv de kendi oluşturduğu klasörlere bir belirteç koyarsa, ve yalnızca o klasörleri silmekte ısrar ederse, benim yanlışlıkla ilgisiz klasör silinmesi korkum ortadan kalkar.

Ali
Doğrulama Kodu: VeriCode Lütfen resimde gördüğünüz doğrulama kodunu girin:
İfadeler: :-) ;-) :-D :-p :blush: :cool: :rolleyes: :huh: :-/ <_< :-( :'( :#: :scared: 8-( :nuts: :-O
Özel Karakterler:
Forum: Projeler dkv RSS
Bağlı değilsiniz. · Şifremi unuttum · ÜYELİK
This board is powered by the Unclassified NewsBoard software, 20100516-dev, © 2003-10 by Yves Goergen
Şu an: 2017-12-15, 11:44:26 (UTC -08:00)