Reklam gösterimini engelleyici yazılım kullandığınızı görüyoruz.
Sitemizin ayakta kalıp sizlere hizmet edebilmek için en büyük gelir kaynağı sayfamızda gösterilen reklamlardır.
Reklam gösterimde bizim sayfamıza ayrıcalık tanıyarak ayakta kalmamıza destek olmak ister misiniz ?

nVault Dersi [Tam Detaylı]

Konu

#1
nVault 
Nedir: nVault server çökse yada kapansa bile içinde veri depolamanızı sağlayan bir veri kaydetme yoludur, nVault tahmin edilenden çok daha basit bir kullanıma sahip olmakla beraber bir anahtar üzerine veri kaydeder bu konuyu yazma sebebim ise bir çok arkadaşın özel mesaj üzerinden bu konu hakkındaki soruları.

İçerik: 
PHP Kod:
nvault_open Belirtilen nVault dosyasını açar ve döndürür.
nvault_close nVault open tarafından döndürülen veri ile o dosya kapatılır.
nvault_set Yeni bir veri oluşturur yada olan veriyi düzenler ve zaman damgasını oluşturma zamanı olarak ayarlar.
nvault_pset Yeni bir veri oluşturur yada olan veriyi düzenler fakat zaman damgasına sahip değildir o yüzden nvault_prune tarafından etkilenmez
nvault_get 
Belirlenen anahtardaki verileri döndürür (3 parametre girildi ise tam sayı,4 parametre girildi ise veri uzunluğu)
nvault_lookup Belirtilen anahtardaki verileri detaylıca döndürür (nvault_get ile çok benzerdir fakat ek olarak zaman damgasını da verir)
nvault_touch Belirtilen anahtarın zaman damgası ile oynar
nvault_prune 
Belirlenen bir zaman damgası içinde kalan tüm anahtarları kaldırır
nvault_remove 
Belirtilen anahtarı kaldırır 
Bilinmesi Gerekenler(Bu konu için):
PHP Kod:
get_systime()
charsmax()
formatex()
get_user_name() 
nvault_open(const bmIsim[]): Verilerin ve anahtarların saklanacağı bir nVault dosyasını açar yoksa oluşturur İçerik bölümündeki komutları kullanmadan önce nVault dosyasının açılması yada oluşturulması gerekmektedir eğer açılma yada oluşturma esnasında bir sorun çıkarsa dönen veri - 1 olarak döndürür buda INVALID_HANDLE ye tekabül etmektedir.Parametre olarak içine sadece string değer alır ve "addons/amxmodx/data/vault/" içinde belirlediğiniz string.vault diye dosya oluşturur yada açar.
Örnek: 
PHP Kod:
public plugin_cfg(){
            bmVault nvault_open("bmTest");
            if(bmVault == INVALID_HANDLE){
                    log_amx("Acilmayan yada Olusturulamayan nVault Dosyasi Bulundu");
            }

nvault_close(bmVault): Açılan ve bir tam sayı(int) değeri döndüren vault dosyasını kapatmak için kullanılır eğer kapatılmazsa dosyada bozukluklara yol açabilmektedir.
Örnek:
PHP Kod:
public plugin_end(){
         nvault_close(bmVault);

nvault_set(bmVault, const bmAnahtar[], const bmVeri[]): Berlirtilen vault dosyasına(ilk parametre) bir anahtar üzerinden(2. parametre) bir veri(3. parametre) yazar ve zaman damgası olarak yazıldığı anı baz alır ayrıca işlem olduğunda bir dönüş değerine sahip değildir.
Örnek:
PHP Kod:
public beYaz(bmID){
          new bmIsim[64],bmAnahtar[126];
          get_user_name(bmID,bmIsim,charsmax(bmIsim));
          formatex(bmAnahtar,charsmax(bmAnahtar),"%s-Meyve",bmIsim);
          nvault_set(bmVault,bmAnahtar,"Armut");

nvault_pset(bmVault, const bmAnahtar[], const bmVeri[])Berlirtilen vault dosyasına(ilk parametre) bir anahtar üzerinden(2. parametre) bir veri(3. parametre) yazar ve zaman damgası kullanmaz böylece nvault_prune'den etkilenmez ayrıca işlem olduğunda bir dönüş değerine sahip değildir.
Örnek:
PHP Kod:
public beYaz(bmID){
          new bmIsim[64],bmAnahtar[126];
          get_user_name(bmID,bmIsim,charsmax(bmIsim));
          formatex(bmAnahtar,charsmax(bmAnahtar),"%s-Meyve",bmIsim);
          nvault_pset(bmVault,bmAnahtar,"Armut");

nvault_get(bmVault, const bmAnahtar[], any:...): Berlirtilen vault dosyasına(ilk parametre) bir anahtar üzerinden(2. parametre) bir veri döndürür fakat girilicek parametre sayisi veri türüne göre değişir ayrıca işlem olduğunda veri parametre sayısına göre değişir.
Not: Örnek bölümündeki yazma bölümlerini farklı bölümlerde düşünün ben aynı yere anlaşılması amacıyla yazdım yoksa zaten bu değişkenler tanımlı diye hata verir.
Dönüşler:
PHP Kod:
Eğer any kismina hiçbir veri yazılmamış ise tam sayi değeri döndürür.
Eğer any kismina tek bir veri yazılmış ise(float olarak alınıcak verianahtar bulunursa 1 bulunamaz ise 0 döndürür.
Eğer any kisminde çift bir veri yazılmış ise(string olarak alınıcak verianahtar bulunursa verinin uzunluğu bulunamaz ise 0 döndürür
Örnek:
PHP Kod:
public bmIntVeri(bmID){
          // Yazma : 
          new bmIsim[64],bmAnahtar[126],bmVeri[256];
          get_user_name(bmID,bmIsim,charsmax(bmIsim));
          formatex(bmAnahtar,charsmax(bmAnahtar),"%s-Int",bmIsim);
          formatex(bmVeri,charsmax(bmVeri),"%i",56);
          nvault_set(bmVault,bmAnahtar,bmVeri);
          // Okuma : 
          new bmIsim[64],bmAnahtar[126],bmVeri;
          get_user_name(bmID,bmIsim,charsmax(bmIsim));
          formatex(bmAnahtar,charsmax(bmAnahtar),"%s-Int",bmIsim);
          bmVeri = nvault_get(bmVault,bmAnahtar);
          // Suan bmVeri Değişkeni = 56
}
public 
bmFloatVeri(bmID){
          // Yazma : 
          new bmIsim[64],bmAnahtar[126],bmVeri[256];
          get_user_name(bmID,bmIsim,charsmax(bmIsim));
          formatex(bmAnahtar,charsmax(bmAnahtar),"%s-Float",bmIsim);
          formatex(bmVeri,charsmax(bmVeri),"%f",56.0);
          nvault_set(bmVault,bmAnahtar,bmVeri);
          // Okuma : 
          new bmIsim[64],bmAnahtar[126],Float:bmVeri;
          get_user_name(bmID,bmIsim,charsmax(bmIsim));
          formatex(bmAnahtar,charsmax(bmAnahtar),"%s-Float",bmIsim);
          nvault_get(bmVault,bmAnahtar,bmVeri);
          // Suan bmVeri Değişkeni = 56.0
}
public 
bmStringVeri(bmID){
          // Yazma : 
          new bmIsim[64],bmAnahtar[126],bmVeri[256];
          get_user_name(bmID,bmIsim,charsmax(bmIsim));
          formatex(bmAnahtar,charsmax(bmAnahtar),"%s-String",bmIsim);
          formatex(bmVeri,charsmax(bmVeri),"naber selam bebegim");
          nvault_set(bmVault,bmAnahtar,bmVeri);
          // Okuma : 
          new bmIsim[64],bmAnahtar[126],bmVeri[256];
          get_user_name(bmID,bmIsim,charsmax(bmIsim));
          formatex(bmAnahtar,charsmax(bmAnahtar),"%s-String",bmIsim);
          nvault_get(bmVault,bmAnahtar,bmVeri,charsmax(bmVeri));
          // Suan bmVeri Değişkeni = "naber selam bebegim"

nvault_lookup(bmVault,const bmAnahtar[],bmVeri[],bmVeriUzunluk,bmZamanDamgasi): Berlirtilen vault dosyasına(ilk parametre) bir anahtar üzerinden(2. parametre) bir veri(3. parametre) ve veriuzunluğu(4. parametre) ve zaman damgas(5. parametre) olarak değişkenlere bilgileri yükler nvault_get ile temel birkaç farkı ise verileri ne olursa olsun string olarak döndürür ve ek olarak zaman damgasınada ulaşır ayrıca işlem olduğunda anahtar bulunursa 1 bulunamaz ise 0 döndürür.
Not: Örnek bölümündeki yazma bölümünü farklı bölümlerde düşünün ben aynı yere anlaşılması amacıyla yazdım yoksa zaten bu değişkenler tanımlı diye hata verir.
Örnek:
PHP Kod:
public bmLookTest(bmID){
          // Yazma : 
          new bmIsim[64],bmAnahtar[126],bmVeri[256];
          get_user_name(bmID,bmIsim,charsmax(bmIsim));
          formatex(bmAnahtar,charsmax(bmAnahtar),"%s-String",bmIsim);
          formatex(bmVeri,charsmax(bmVeri),"naber selam bebegim");
          nvault_set(bmVault,bmAnahtar,bmVeri);
          // Okuma : 
          new bmIsim[64],bmAnahtar[126],bmVeri[256],bmZamanDamgasi;
          get_user_name(bmID,bmIsim,charsmax(bmIsim));
          formatex(bmAnahtar,charsmax(bmAnahtar),"%s-String",bmIsim);
          nvault_lookup(bmVault,bmAnahtar,bmVeri,charsmax(bmVeri),bmZamanDamgasi);
          // Suan bmVeri Değişkeni = "naber selam bebegim" ve bmZamanDamgasi Değişkeni = Burada Oluşturuma Anındaki Saniyeyi Görüceksiniz(INT).

nvault_touch(bmVault,const bmAnahtar[],bmZamanDamgasi=-1): Berlirtilen vault dosyasına(ilk parametre) bir anahtar üzerinden(2. parametre) o anahtarın zaman damgasını güncellemenize yarar ayrıca işlem olduğunda anahtar bulunursa 1 bulunamaz ise 0 döndürür.
Not: Örnek bölümündeki yazma bölümünü farklı bölümlerde düşünün ben aynı yere anlaşılması amacıyla yazdım yoksa zaten bu değişkenler tanımlı diye hata verir.
Örnek:
PHP Kod:
public bmTouchTest(bmID){
          // Yazma : 
          new bmIsim[64],bmAnahtar[126],bmVeri[256];
          get_user_name(bmID,bmIsim,charsmax(bmIsim));
          formatex(bmAnahtar,charsmax(bmAnahtar),"%s-String",bmIsim);
          formatex(bmVeri,charsmax(bmVeri),"naber selam bebegim");
          nvault_set(bmVault,bmAnahtar,bmVeri);
          // Zaman Damgasini Güncelleme: 
          new bmIsim[64],bmAnahtar[126];
          get_user_name(bmID,bmIsim,charsmax(bmIsim));
          formatex(bmAnahtar,charsmax(bmAnahtar),"%s-String",bmIsim);
          nvault_touch(bmVault,bmAnahtar,-1); // Suanki Zamana Güncelledik
          // Yada
          nvault_touch(bmVault,bmAnahtar,get_systime()-86400); // 1 Gün Önceki Zamana Güncelledik

nvault_prune(bmVault,bmBaslama,bmBitis): Berlirtilen vault dosyası(ilk parametre) üzerinden belirtilen zaman aralıklarındaki tüm değerleri siler ayrıca işlem olduğunda silinen anahtar sayısı işlem olmaz ise 0 döndürür.
Örnek:
PHP Kod:
public bmPruneTest(bmID){
          nvault_prune(bmVault,0,get_systime()); // Tüm verileri sildik
          // Yada
          nvault_prune(bmVault,0,get_systime()-86400); // Bir gün eski tüm verileri sildik
          // Yada
          nvault_prune(bmVault,get_systime()-3600,get_systime()); // Son 1 saat arasındaki tüm verileri sildik

nvault_remove(bmVault,const bmAnahtar[]): Berlirtilen vault dosyasına(ilk parametre) bir anahtar üzerinden(2. parametre) o anahtarı siler ayrıca işlem olduğunda bir dönüş değerine sahip değildir.
Not: Örnek bölümündeki yazma bölümünü farklı bölümlerde düşünün ben aynı yere anlaşılması amacıyla yazdım yoksa zaten bu değişkenler tanımlı diye hata verir.
Örnek:
PHP Kod:
public bmStringTest(bmID){
          // Yazma : 
          new bmIsim[64],bmAnahtar[126],bmVeri[256];
          get_user_name(bmID,bmIsim,charsmax(bmIsim));
          formatex(bmAnahtar,charsmax(bmAnahtar),"%s-String",bmIsim);
          formatex(bmVeri,charsmax(bmVeri),"naber selam bebegim");
          nvault_set(bmVault,bmAnahtar,bmVeri);
          // Silme : 
          new bmIsim[64],bmAnahtar[126];
          get_user_name(bmID,bmIsim,charsmax(bmIsim));
          formatex(bmAnahtar,charsmax(bmAnahtar),"%s-String",bmIsim);
          nvault_remove(bmVault,bmAnahtar);





Cevapla
#2
Güzel .


Cevapla
#3
Bu dersten önce

"
get_systime()
charsmax()
formatex()
get_user_name()

"

komutlarını detaylı anlatmak daha yararlı olucaktı ancak bunları bilenler için güzel bir ders.


Cevapla
#4
(23-02-2019, Saat: 13:07)MawiLarq Adlı Kullanıcıdan Alıntı: Bu dersten önce

"
get_systime()
charsmax()
formatex()
get_user_name()

"

komutlarını detaylı anlatmak daha yararlı olucaktı ancak bunları bilenler için güzel bir ders.
Bunları bilmeyen birnin nVault ile uğraşıcağını zannetmiyorum olmazsa olmaz bunlar ama neden olmasın bi ara anlatırım bunlarıda.



Cevapla
#5
Son Düzenleme: 23-02-2019, Saat: 13:27, Düzenleyen: Q47..
Teşekkürler On numara anlatım Gülücük

kimin hocası bee Gülmekten Ölüyorum


Cevapla
#6
Teşekkürler Eline Sağlık Güzel Ders Olmuş.


Cevapla
#7
On numara olmuş bişeyler öğrenelim bakalım



Cevapla
#8
Yararlı


Boş ol , boş ol , boş ol.
Cevapla
#9
adam kral ya


Cevapla
#10
Eğitim için teşekkür ederim
günümüzde artık sql kullanılması gerekiyor ... Keşke kullanılsa ...


Cevapla


Bir hesap oluşturun veya yorum yapmak için giriş yapın

Yorum yapmak için üye olmanız gerekiyor

ya da

Konu ile Alakalı Benzer Konular
Konular Yazar Yorumlar Okunma Son Yorum
Multimod / Full Mod Detaylı Anlatım PowereXe 9 1,642 10-09-2018, Saat: 14:52
Son Yorum: OnlyCoder

Task