Forum: Projeler dkv RSS
dkvG mi daha hızlı yoksa diğer gerçek veritabanları mı ?
Sayfa:  önceki  1  2 
canalpay (Moderatör) #16
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ı
Yanıtlanan mesaj ID 6558
Hmm tamam denemeye deger bir deneyelim bakalım birşey soracağım dchar[] ları char[] a çevirdğimde şifrelemede problem çıkıyor sebebi ne acaba


Çözücüde dchar'dan kaynaklanan bir hata yok. Bütün dchar ile ilgili şeyleri sildiğinden emin misin?
Avatar
huseyin #17
Üye Haz 2012 tarihinden beri · 355 mesaj · Konum: Isparta
Grup üyelikleri: Üyeler
Profili göster · Bu konuya bağlantı
Evet eminim ama olmadı dun gece denedim istersen pull çek sende dene bi
Huseyin
canalpay (Moderatör) #18
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ı
Benim char ile deneme şeklime bak istersen:

import std.stdio;
     char[] gizle(char[] sifre, char[] bayrak)
    {
        char[] yeniSifre;
        int sayi;
        int say=cast(int)(bayrak.length);
        foreach(ref karakter; sifre){
            sayi=say%cast(int)(bayrak.length);
            yeniSifre~=cast(int)karakter+cast(int)bayrak[sayi];
            ++say;
        }
        return yeniSifre;
    }
 
void main()
{
    writeln(gizle("agjghjgha".dup,"bk".dup));
}
Avatar
huseyin #19
Üye Haz 2012 tarihinden beri · 355 mesaj · Konum: Isparta
Grup üyelikleri: Üyeler
Profili göster · Bu konuya bağlantı
tamam şimdi çözme işlemini de yaz ve aynı seyi bir değişene al sonrada çözdür çıkan sonucu göreceksin


sifreli :ÃÒÌÒÊÕÉÓÃ
cozulmus :a�a'a!a'a�a*a�a(a�
Huseyin
canalpay (Moderatör) #20
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ı
Hatalı mı çalışıyor demek istiyorsun?

Bende doğru çalışıyor:
import std.stdio;
dchar[] decrypt(dchar[] sifre, dchar[] bayrak)
    {
    dchar[] yenisifre;
        int sayi;
        int say=bayrak.length;
        foreach(ref karakter; sifre){
            sayi=say%bayrak.length;
            yenisifre~=cast(int)karakter-cast(int)bayrak[sayi];
            ++say;
        }
        return yenisifre;
    }
 
 
 
dchar[] encrypt(dchar[] sifre, dchar[] bayrak)
    {
        dchar[] yeniSifre;
        int sayi;
        int say=bayrak.length;
        foreach(ref karakter; sifre){
            sayi=say%bayrak.length;
            yeniSifre~=cast(int)karakter+cast(int)bayrak[sayi];
            ++say;
        }
        return yeniSifre;
    }
 
void main()
{
    writeln(encrypt("agjghjgha"d.dup,"bk"d.dup),"  -  ",decrypt(encrypt("agjghjgha"d.dup,"bk"d.dup),"bk"d.dup));
}
Avatar
huseyin #21
Üye Haz 2012 tarihinden beri · 355 mesaj · Konum: Isparta
Grup üyelikleri: Üyeler
Profili göster · Bu konuya bağlantı
dchar[] iken bendede dogru calısıyor char[] yapıp bu işlemi uygularsan hatalı calısıyor
Huseyin
Avatar
huseyin #22
Üye Haz 2012 tarihinden beri · 355 mesaj · Konum: Isparta
Grup üyelikleri: Üyeler
Profili göster · Bu konuya bağlantı
Senin verdiğin kodu char[] şeklinde yazdım simdi

konsol çıktım

$ dmd -w sss.d
huseyin32@huseyin32 ~/Belgeler/vtd/vtd_deneme $ ./sss
ÃÒÌÒÊÕÉÓà -  a�a'a!a'a�a*a�a(a�
huseyin32@huseyin32 ~/Belgeler/vtd/vtd_deneme $
Huseyin
Bu mesaj huseyin tarafından değiştirildi; zaman: 2012-07-07, 04:10.
canalpay (Moderatör) #23
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ı
Evet bende farkettim. Nedeni şurada: http://ddili.org/forum/thread/337


Aralıklarla uğraşmak yerine dchar ile yapabilirsin.
Avatar
huseyin #24
Üye Haz 2012 tarihinden beri · 355 mesaj · Konum: Isparta
Grup üyelikleri: Üyeler
Profili göster · Bu konuya bağlantı
hmm doğru aklıma geldi dchar[] ile yapalım tamam  da bazı kod sorunları ortaya çıkıyor class daki dbwrite ve dbopen işlevlerinin içinde kullanmam gerekiyor otomatik kullanılması için ama hep hata alıyorum :(
Huseyin
canalpay (Moderatör) #25
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ı
Yanıtlanan mesaj #23
char ile şöylede oluyor:
import std.stdio;
import std.range;
 
 
 
char[] decrypt(char[] sifre, char[] bayrak)
    {
    char[] yenisifre;
        int sayi;
        int say=bayrak.length;
        
 
 
        for(;!sifre.empty;sifre.popFront()){
            sayi=say%bayrak.length;
            yenisifre~=cast(int)sifre.front-cast(int)bayrak[sayi];
            ++say;
        }
        return yenisifre;
    }
 
 
 
char[] encrypt(char[] sifre, char[] bayrak)
    {
        char[] yeniSifre;
        int sayi;
        int say=bayrak.length;
        for(;!sifre.empty;sifre.popFront()){
            sayi=say%bayrak.length;
            yeniSifre~=cast(int)sifre.front+cast(int)bayrak[sayi];
            ++say;
        }
        return yeniSifre;
    }
 
void main()
{
writeln(encrypt("agjghjgha".dup,"bk".dup),"  -  ",decrypt(encrypt("agjghjgha".dup,"bk".dup),"bk".dup));
    
}

Doğru kodlanmış mı bilemiyorum tabii :-)
Avatar
huseyin #26
Üye Haz 2012 tarihinden beri · 355 mesaj · Konum: Isparta
Grup üyelikleri: Üyeler
Profili göster · Bu konuya bağlantı
Evet doğru kodlanmış çözümleme doğru oldu benim düşüncem de şu şekilde parametreyi char[] olarak değilde string olarak almak sonra fonksiyonda char[] yapmak çıkışta gene string vermek o zaman hiçbir sıkıntımız kalmayacak
Huseyin
Avatar
huseyin #27
Üye Haz 2012 tarihinden beri · 355 mesaj · Konum: Isparta
Grup üyelikleri: Üyeler
Profili göster · Bu konuya bağlantı
import std.stdio;
import std.range;
 import std.conv;
 
 
string decrypt(string sifre_s, string bayrak_s)
    {
    char[] sifre=to!(char[])(sifre_s);
    char[] bayrak=to!(char[])(bayrak_s);
    char[] yenisifre;
        int sayi;
        int say=bayrak.length;
        
 
 
        for(;!sifre.empty;sifre.popFront()){
            sayi=say%bayrak.length;
            yenisifre~=cast(int)sifre.front-cast(int)bayrak[sayi];
            ++say;
        }
        return to!(string)(yenisifre);
    }
 
 
 
string encrypt(string sifre_s, string bayrak_s)
    {
        char[] yeniSifre;
    char[] sifre=to!(char[])(sifre_s);
    char[] bayrak=to!(char[])(bayrak_s);
        int sayi;
        int say=bayrak.length;
        for(;!sifre.empty;sifre.popFront()){
            sayi=say%bayrak.length;
            yeniSifre~=cast(int)sifre.front+cast(int)bayrak[sayi];
            ++say;
        }
        return to!(string)(yeniSifre);
    }
 
void main()
{
writeln(encrypt("agjghjgha","bk"),"  -  ",decrypt(encrypt("agjghjgha","bk"),"bk"));
    
}

bak olmuş mu
Huseyin
Avatar
huseyin #28
Üye Haz 2012 tarihinden beri · 355 mesaj · Konum: Isparta
Grup üyelikleri: Üyeler
Profili göster · Bu konuya bağlantı
Tamam suan da sifreleme sorunu çözuldu github a da yukledım
Huseyin
canalpay (Moderatör) #29
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ı
Yanıtlanan mesaj #27
Bazı yerlerde char dönüşümüne gerek yok. Örn

decrypt işlevinin
    char[] bayrak=to!(char[])(bayrak_s);

satırında ve ayrıca encrypt işlevinin yine
    char[] bayrak=to!(char[])(bayrak_s);
satırında.

Onun yerine parametre ile edindiğin değişkeni direk kullan.

Yani şöyle olsun:
import std.stdio;
import std.range;
import std.conv;
 
string decrypt(string sifre_s, string bayrak)
    {
    char[] sifre=to!(char[])(sifre_s);
 
    char[] yenisifre;
        int sayi;
        int say=bayrak.length;
        
 
 
        for(;!sifre.empty;sifre.popFront()){
            sayi=say%bayrak.length;
            yenisifre~=cast(int)sifre.front-cast(int)bayrak[sayi];
            ++say;
        }
        return to!(string)(yenisifre);
    }
string encrypt(string sifre_s, string bayrak)
    {
        char[] yeniSifre;
        char[] sifre=to!(char[])(sifre_s);
        int sayi;
        int say=bayrak.length;
        for(;!sifre.empty;sifre.popFront()){
            sayi=say%bayrak.length;
            yeniSifre~=cast(int)sifre.front+cast(int)bayrak[sayi];
            ++say;
        }
        return to!(string)(yeniSifre);
    }
void main()
{
writeln(encrypt("agjghjgha","bk"),"  -  ",decrypt(encrypt("agjghjgha","bk"),"bk"));
    
}
Avatar
huseyin #30
Üye Haz 2012 tarihinden beri · 355 mesaj · Konum: Isparta
Grup üyelikleri: Üyeler
Profili göster · Bu konuya bağlantı
hm  evet mantıklı gereksiz donusum yapmısım :D
Huseyin
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:
Sayfa:  önceki  1  2 
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-05-27, 12:19:20 (UTC -07:00)