Forum: Projeler turna RSS
Helper Tasarımı
Sayfa:  önceki  1  2  3  sonraki 
acehreli (Moderatör) #16
Kullanıcı başlığı: Ali Çehreli
Üye Haz 2009 tarihinden beri · 4389 mesaj
Grup üyelikleri: Genel Moderatörler, Üyeler
Profili göster · Bu konuya bağlantı
Yanıtlanan mesaj ID 3441
Benimkini deneme olarak kabul edelim. Fikir edinelim ama Kadir Can yazsın. :)

Ali
canalpay (Moderatör) #17
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ı
Benimkini deneme olarak kabul edelim. Fikir edinelim ama Kadir Can yazsın.

Zaten o yazacak :-) İstesede istemesede :-D
Kadir hep ilk önce bize göster nasıl olduğunu ondan sonra oldu dediğimizde koyarsın. Ancak ilk önce kod olarak burada göster.
Kadir Can #18
Üye Haz 2010 tarihinden beri · 413 mesaj
Grup üyelikleri: Üyeler
Profili göster · Bu konuya bağlantı
Yanıtlanan mesaj ID 3441
Hata veren kodu da gite göndereyim mi?Bugün istediğimiz tipe biraz getirdim ama biraz hata var.Uğraşırsak çözeriz ama ben çözemedim.Ben git'e eklesem beraber bakabilir miyiz?
canalpay (Moderatör) #19
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ı
Hata veren kodu da gite göndereyim mi?Bugün istediğimiz tipe biraz getirdim ama biraz hata var.Uğraşırsak çözeriz ama ben çözemedim.Ben git'e eklesem beraber bakabilir miyiz?


Buraya koy biz hem yorum yapmış oluruz hemde hataları gidermiş oluruz.

Bile bile git'e hatalı kod koyma taraftarı değilim. Burasıda çok güzel kod incelemek için.
acehreli (Moderatör) #20
Kullanıcı başlığı: Ali Çehreli
Üye Haz 2009 tarihinden beri · 4389 mesaj
Grup üyelikleri: Genel Moderatörler, Üyeler
Profili göster · Bu konuya bağlantı
Yanıtlanan mesaj #18
Projeye eklenen kodun her zaman için çalışır ve testlerini geçer durumda olması gerekir.

Bu aşamada bu projeyle ilgisi olsun olmasın, bir amacı gerçekleştirmeye çalışan bir programcısın. Bir noktada takıldın. Ne yapacaksın? Sevgili forumumuzda soracaksın. :)

Ama bu forumda da değil: En iyisi yapmak istediğini gösteren küçük bir programla birlikte "D Programlama Dili" forumunda sormaktır. (Aslında "Ders Arası" daha uygun herhalde ama o forum umduğum ilgiyi görmedi. :))

Yani sorunu turna'dan bağımsız olarak sorsan da biz de o sorunlu durum hakkında bir şeyler öğrensek... :)

Ali
Kadir Can #21
Üye Haz 2010 tarihinden beri · 413 mesaj
Grup üyelikleri: Üyeler
Profili göster · Bu konuya bağlantı
Yanıtlanan mesaj #19
Maalesef koydum hatta mesajı yanlış yazdım.Bu seferlik oradan bakabilir miyiz?

Bir daha buraya eklerim.
acehreli (Moderatör) #22
Kullanıcı başlığı: Ali Çehreli
Üye Haz 2009 tarihinden beri · 4389 mesaj
Grup üyelikleri: Genel Moderatörler, Üyeler
Profili göster · Bu konuya bağlantı
Sorun nedir? Hata mesajı mı beliriyor? Ne yapmak isteyince?

Ali
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ı
Sorun nedir? Hata mesajı mı beliriyor? Ne yapmak isteyince?


github'a gönderdim bile diyor. Hemde mesajı yanlış yazdım diyor. hatta iki tane aynı dosya göndermişsin.
acehreli (Moderatör) #24
Kullanıcı başlığı: Ali Çehreli
Üye Haz 2009 tarihinden beri · 4389 mesaj
Grup üyelikleri: Genel Moderatörler, Üyeler
Profili göster · Bu konuya bağlantı
Ben bu hatayı gereken en az değişiklikle giderdim:

  https://github.com/canalpay/turna/commit/c7a1d52fe846467c8…

Ali
acehreli (Moderatör) #25
Kullanıcı başlığı: Ali Çehreli
Üye Haz 2009 tarihinden beri · 4389 mesaj
Grup üyelikleri: Genel Moderatörler, Üyeler
Profili göster · Bu konuya bağlantı
Yanıtlanan mesaj ID 3426
acehreli on 2011-02-15, 11:59:
- header() işlevindeki etiketlerde satır kopyalama sonucunda oluştuğunu düşündüğüm bir hata var

Kadir Can, o işlevde bir hata olduğunu söylemeye çalışmıştım ama fazla ince kaçmış galiba. Bir kere daha: header() işlevindeki etiketlerde bir uyumsuzluk var. :)

Ali
Kadir Can #26
Üye Haz 2010 tarihinden beri · 413 mesaj
Grup üyelikleri: Üyeler
Profili göster · Bu konuya bağlantı
Özür dilerim.git'e gönderirken tamamen saçmaladım ve mesajı da yanlış yazdım.Yani kızmakta haklısınız.

header'ı halledeceğim.
canalpay (Moderatör) #27
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ı
Özür dilerim.git'e gönderirken tamamen saçmaladım ve mesajı da yanlış yazdım.Yani kızmakta haklısınız.


Yok kızmadık. Ya sen yanlış anladın ya da biz yanlış anlattık. Yoksa kızdığımız yok. Ancak uyarılmazsan doğruyuda yapamazsın. Şimdiye kadar Ali Beyin beni uyardığı her şeyde nasılda haklı olduğunu gördüm. Artık bir şey olsada uyarsa diye bakıyorum :-D
Kadir Can #28
Üye Haz 2010 tarihinden beri · 413 mesaj
Grup üyelikleri: Üyeler
Profili göster · Bu konuya bağlantı
Anladım.Yine de haklısın.git'e koymamam gerekirdi.

Şimdi son kontrolleri yapıyorum.Yeni fonksiyonlara başlayacağım.
Kadir Can #29
Üye Haz 2010 tarihinden beri · 413 mesaj
Grup üyelikleri: Üyeler
Profili göster · Bu konuya bağlantı
Şu fonksiyon şu assertle hata veriyor.Neden olabilir?
KOD:
 string createList(Lists type, string[] matter ... )
    {
        char[] listCode;
        string returnCode;
        foreach(i; matter ){
                listCode ~= createXml("li", to!string( i ) );
            }
        final switch( type ) {
            case Lists.ordered:
                returnCode = createXml("ol", to!string( listCode ) ); break ;
            case Lists.unOrdered:
                returnCode = createXml("ul", to!string( listCode ) ); break ;
        }
        return returnCode;
    }

ASSERT:
    assert(createList(Lists.ordered, "Merhaba" )
           == "<ol><li>Merhaba</li></ol>");

Kodun Tamamı:
module system.helper.htmlHelper;
 
import std.stdio;
import std.conv;
 
enum Direction { right, left }
 
enum Link { inPage, newPage }
 
enum Lists { ordered, unOrdered }
 
 
string createXml(string name , string value)
{
    return "<" ~ name ~ ">" ~ value ~ "</" ~ name ~ ">\n";
}
 
    string createTitle(const char[] title)
    {
       return createXml("title", to!string( title ) );
    }
 
    string downLine()
    {
        return "<br />\n";
    }
 
    string paragraph(string text)
    {
        return createXml("p", text);
    }
 
    string bolder(string text)
    {
        return createXml("b", text);
    }
 
    string createLink(Link link, string address, string name)
    {
        final switch( link ){
 
            case link.inPage:
 
                return "<a name="~address~">"~name~"</a>";
 
            case link.newPage:
 
                return "<a href="~address~">"~name~"</a>";
        }
 
    }
 
    string createComment(string comment)
    {
        return "<!--" ~ comment ~ "--!";
    }
 
    string bigger(string text)
    {
        return createXml("big", text);
    }
 
    string emphasized(string text)
    {
        return createXml("em", text);
    }
 
    string italic(string text)
    {
        return createXml("i", text);
    }
 
    string smaller(string text)
    {
        return createXml("small", text);
    }
 
    string stronger(string text)
    {
        return createXml("strong", text);
    }
 
    string subscripted(string text)
    {
        return createXml("sub", text);
    }
 
    string superscripted(string text)
    {
        return createXml("sup", text);
    }
 
    string inserted(string text)
    {
        return createXml("ins", text);
    }
 
    string deleted(string text)
    {
        return createXml("del", text);
    }
 
    string definitionTerm(string text)
    {
        return createXml("dfn", text);
    }
 
    string codeStyle(string text)
    {
        return createXml("code", text);
    }
 
    string keyboardText(string text)
    {
        return createXml("kbd", text);
    }
 
    string sample(string text)
    {
        return "<samp>" ~ text ~ "</samp>\n";
    }
 
    string teleType(string text)
    {
        return createXml("tt", text);
    }
 
    string variable(string text)
    {
        return createXml("var", text);
    }
 
    string preformatted(string text)
    {
        return createXml("pre", text);
    }
 
    string abbreviated(string text, string longer)
    {
        return "<abbr title=" ~ longer ~ ">" ~ text ~ "</abbr>\n";
    }
 
    string acronym(string headCharacters, string text)
    {
        return "<acronym title=" ~ text ~ ">" ~ headCharacters ~ "</acronym>\n";
    }
 
    string bidirectional(Direction direction, string text)
    {
        final switch( direction ) {
            case Direction.left:
                  return "<bdo dir=\"ltr\">" ~ text ~ "</bdo>\n";
 
            case Direction.right:
                  return "<bdo dir=\"rtl\">" ~ text ~ "</bdo>\n";
       }
    }
 
    string longQuote(string text)
    {
        return createXml("blockquote", text);
    }
 
    string shortQuote(string text)
    {
        return createXml("q", text);
    }
 
    string citation(string text)
    {
        return createXml("cite", text);
    }
 
    string createList(Lists type, string[] matter ... )
    {
        char[] listCode;
        string returnCode;
        foreach(i; matter ){
                listCode ~= createXml("li", to!string( i ) );
            }
        final switch( type ) {
            case Lists.ordered:
                returnCode = createXml("ol", to!string( listCode ) ); break ;
            case Lists.unOrdered:
                returnCode = createXml("ul", to!string( listCode ) ); break ;
        }
        return returnCode;
    }
 
class HtmlHelper
{
    char[] bodyPiece;
    char[] head;
    char[] code;
    char[] i;
 
    this()
    {
        this.bodyPiece = [];
        this.head = [];
        this.code = [];
        this.i=[];
    }
 
    void saveInFile(string fileName)
    {
        File saved = File(fileName, "w"); //Warning:If file exists,this function removes the file
        saved.write(code);
    }
 
    void createBody(string[] pieces ... )
    {
 
        foreach(i; pieces) {
            bodyPiece ~= i;
        }
 
        bodyPiece = "<body>" ~ bodyPiece ~ "</body>";
    }
 
    void createHead(string[] pieces ... )
    {
        foreach(i; pieces) {
            head ~= i;
        }
 
        head = "<head>" ~ head ~ "</head>";
    }
 
    void finishCode()
    {
        code = "<html>\n" ~ head ~ bodyPiece ~ "</html>\n";
    }
 
}
 
unittest
{
    assert(downLine() == "<br />\n");
    assert(createLink(Link.inPage, "forum", "ddili" )
           =="<a name=forum>ddili</a>");
    assert(createLink(Link.newPage, "forum", "ddili" )
           =="<a href=forum>ddili</a>");
    assert(paragraph("Merhaba") == "<p>Merhaba</p>\n");
    assert(bolder("Merhaba") == "<b>Merhaba</b>\n");
    assert(bigger("Merhaba") == "<big>Merhaba</big>\n");
    assert(emphasized("Merhaba") == "<em>Merhaba</em>\n");
    assert(italic("Merhaba") == "<i>Merhaba</i>\n");
    assert(smaller("Merhaba") == "<small>Merhaba</small>\n");
    assert(stronger("Merhaba") == "<strong>Merhaba</strong>\n");
    assert(subscripted("Merhaba") == "<sub>Merhaba</sub>\n");
    assert(superscripted("Merhaba") == "<sup>Merhaba</sup>\n");
    assert(inserted("Merhaba") == "<ins>Merhaba</ins>\n");
    assert(deleted("Merhaba") == "<del>Merhaba</del>\n");
    assert(keyboardText("Merhaba") == "<kbd>Merhaba</kbd>\n");
    assert(sample("Merhaba") == "<samp>Merhaba</samp>\n");
    assert(teleType("Merhaba") == "<tt>Merhaba</tt>\n");
    assert(variable("Merhaba") == "<var>Merhaba</var>\n");
    assert(preformatted("Merhaba") == "<pre>Merhaba</pre>\n");
    assert(abbreviated("Mrb", "Merhaba")
           == "<abbr title=Merhaba>Mrb</abbr>\n");
    assert(acronym("MD", "Merhaba D")
           == "<acronym title=Merhaba D>MD</acronym>\n");
    assert(bidirectional(Direction.right, "Merhaba")
           == "<bdo dir=\"rtl\">Merhaba</bdo>\n");
    assert(longQuote("Merhaba") == "<blockquote>Merhaba</blockquote>\n");
    assert(shortQuote("Merhaba") == "<q>Merhaba</q>\n");
    assert(citation("Merhaba") == "<cite>Merhaba</cite>\n");
    assert(createList(Lists.ordered, "Merhaba" )
           == "<ol><li>Merhaba</li></ol>");
}
acehreli (Moderatör) #30
Kullanıcı başlığı: Ali Çehreli
Üye Haz 2009 tarihinden beri · 4389 mesaj
Grup üyelikleri: Genel Moderatörler, Üyeler
Profili göster · Bu konuya bağlantı
Biraz meşgulüm ama bir fikrim var: assert'ten hemen önceye createList'in döndürdüğünü çıkışa yazdıran bir satır eklesen yardımı olabilir:

    writeln(createList(Lists.ordered, "Merhaba" ));

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:
Sayfa:  önceki  1  2  3  sonraki 
Forum: Projeler turna 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-03-29, 06:19:57 (UTC -07:00)