Forum: Projeler derle RSS
Proje Yöneticisi
Sayfa:  önceki  1  2  3  sonraki 
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 2231
Proje sayfana gidiyorsunuz. Admine tıklıyorsunuz. Admine tıkladıktan sonra da Collaborators yazan yere tıklıyorsunuz. Orada Collaborators'a  tıkladığınız yerin sağında add diye bir tuş var. O tuşun soluna eklenecek kişinin adını yazıyorsunuz ve add butonuna basıyorsunuz.


Eğer olmazsa şimdi farkettim projeyi kendimize kopyalayabiliyoruz. Kendime kopyalar sonra herkesi eklerim. Bir veri kaybımızda olmaz.
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ı
Sizin yazdığınız derle.d'de sanırım bazı küçücük hatalar var.

Örneğin derle.d'yi derledik ve tek parametre olan ./derle şeklinde çalıştırdık. Hata verir.(Çünkü args 1 elemanlı olur. Ama siz switch'de 2. elemana erişmeye çalışırsınız.) Ve switch'in defaultu çalışmaz. Ancak o switch'i şu hale getirirsek her şey yolunda olur :
 
  if(args.length>1){
 switch (args[1]) {
   case "-a":
     Derle(args);
     break;
   case "-Y":
     ProjeOluştur(args[2]);
     break;
   case "-Yd":
     DosyaOluştur(args[2],args[3]);
     break;
}
}else {
        dout.writefln("-a = Argümanlar. Kullanımı:derle -a -w -L... -p proje");
    dout.writefln("-Y = Yeni proje oluşturur. Kullanımı:derle -Y proje");
    dout.writefln("-Yd = Yeni Dosya oluşturur. Kullanımı: derle -Yd proje.d");
    }
}

Başka hatalarda var sanırım. Şuan kodları tam okumadım. Baştan sona okuyacağım ve yapmak istediğiniz şeye yardımcı olacağım.
Avatar
Racih (Moderatör) #18
Üye Ağu 2009 tarihinden beri · 126 mesaj · Konum: Antalya
Grup üyelikleri: Genel Moderatörler, Üyeler
Profili göster · Bu konuya bağlantı
Teşekkürler :). Daha düzeltmelere girmedim. Program çalışsında gerisine sonra bakarım. Yavaş yavaş projenin sonuna gelmeye başladım.
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ı
Bence kodları yazarken genel olarak herşeyi düşünmelisiniz. Örneğin sizin yazdığınız bu kodlar en basitinden bence platform bağımsızı değil. Çünkü siz linux kullandığınız için ayraç olarak "/" karakterini kullanıyorsunuz. Ama Windowsta bu böyle değil. Platformdan bağımsız bir kod yazmak için bence en önemli modül "std.path" .
Orada ayracı / olarak yazacağınıza sep derseniz Windowsta \ karakterini linuxta / karakterini döndürür.

Bende dkv'yi yazarken Linux'a göre yazmıştım. Elimde windows kalınca mecburen platform bağımsızı yapmıştım. Oradan biliyorum :-)
Avatar
Racih (Moderatör) #20
Üye Ağu 2009 tarihinden beri · 126 mesaj · Konum: Antalya
Grup üyelikleri: Genel Moderatörler, Üyeler
Profili göster · Bu konuya bağlantı
Ben ilk programın çalışmasına bakarım. Platform sorununuda en sona atayım :). DProjeleri adında bir çalışma dizininde projeleri yönetecek program. Dağınık oldumu çalışma sorunu çıkıyor.
canalpay (Moderatör) #21
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ı
Ben ilk programın çalışmasına bakarım. Platform sorununuda en sona atayım :).
Tamam program doğru çalıştıktan sonra kodlarını paylaştığınızda platform bağımsızı yapma sözüde benden olsun :-)
acehreli (Moderatör) #22
Kullanıcı başlığı: Ali Çehreli
Üye Haz 2009 tarihinden beri · 4513 mesaj
Grup üyelikleri: Genel Moderatörler, Üyeler
Profili göster · Bu konuya bağlantı
Bu bana uzaktan ilgili bir konuyu hatırlattı: main'in parametrelerinde dilimler kullanışlı olabiliyor. Örneğin komut satırındaki bütün sayıları toplayan bir program yazsak:

topla 1 2 3 4 5

main'in ilk parametresi programın ismi olan 'topla' olduğu için, ondan kurtulmak çok kolay:

import std.conv;
import std.stdio;
 
int hepsiniTopla(string[] sayılar)
{
    int toplam;
 
    foreach (sayı; sayılar) {
        toplam += to!int(sayı);
    }
 
    return toplam;
}
 
void main(string[] parametreler)
{
    if (parametreler.length > 1) {
        writeln("Sonuç: ", hepsiniTopla(parametreler[1..$]));
    }
}

O programı yazdıktan sonra hepsiniTopla'ya gerek olmadığını da farkettim. std.algorithm'deki map, belirtilen işlevi, kendisine verilen aralığa uygular ve sonucu yine bir aralık olarak döndürür. reduce ise kendisine verilen bir aralığı bir işlemden geçirir ve tek bir değer döndürür.

O ikisini kullanınca yukarıdaki program daha kısa hale geliyor:

import std.stdio;
import std.algorithm;
 
void main(string[] parametreler)
{
    if (parametreler.length > 1) {
        writeln("Sonuç: ",
                reduce!("a + b")(map!("to!int(a)")(parametreler[1..$])));
    }
}

Evet, biraz okunaksız oluyor ama olsun... :)

Ali
Avatar
Racih (Moderatör) #23
Üye Ağu 2009 tarihinden beri · 126 mesaj · Konum: Antalya
Grup üyelikleri: Genel Moderatörler, Üyeler
Profili göster · Bu konuya bağlantı
Tamamdır temel işlevleri ekledim.

Ev dizininde DProjeleri diye dizin oluşturuyor. Projeleri oradan çalıştırıyor.
Yeni proje oluşturmak için;
./derle -Y yeniProje

Proje derlemek için;

./derle -p yeniProje

index.txt e argümanlar ekleyerek istediğiniz gibi derleyebilirsiniz.

Basit hatalar çıkabilir. Bildirirseniz sevinirim :)

Derle projesi hayırlı uğurlu olsun hepimize :D
canalpay (Moderatör) #24
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ı
Projeyi en sonunda birazcık anladım. Ancak bazı yapamadığım şeyler var :

Örneğin çilek diye bir proje oluşturdum. O projeye nasıl yeni dosyalar ekleyebilirim diyecektim ve kodlara baktım ne yazık ki Derle ile oluşturduğumuz projeye yeni dosya ekleyemiyoruz. Ayrıca ne yazık ki dosya adı yada proje adı boşluk içeremiyor.

Bunlar benim gözümde düzeltilmesi gereken hatalar.
Avatar
Racih (Moderatör) #25
Üye Ağu 2009 tarihinden beri · 126 mesaj · Konum: Antalya
Grup üyelikleri: Genel Moderatörler, Üyeler
Profili göster · Bu konuya bağlantı
Teşekkürler. Bunları yapılacaklar listesine ekledim. Yanlız boşluk konusunda sıkıntı var. Linuxta dosya adı ve dizin adında boşluk bırakılması sıkıntı yaratıyor. Parametre verildiğini algılıyor. O sorunu bunda çözemem.
acehreli (Moderatör) #26
Kullanıcı başlığı: Ali Çehreli
Üye Haz 2009 tarihinden beri · 4513 mesaj
Grup üyelikleri: Genel Moderatörler, Üyeler
Profili göster · Bu konuya bağlantı
Linux'ta dosya isimlerinde boşluk için bütün isim tırnaklar içine alınabilir:

mkdir 'abc def'

veya boşluktan önce ters bölü yazılabilir:

mkdir abc\ def

Ama bende hiç isminde boşluk olan dosya yok. :)

Ali
Mengu (Moderatör) #27
Kullanıcı başlığı: NONSERVIAM
Üye Tem 2009 tarihinden beri · 347 mesaj · Konum: Dersaadet
Grup üyelikleri: Genel Moderatörler, Üyeler
Profili göster · Bu konuya bağlantı
acehreli:
Ama bende hiç isminde boşluk olan dosya yok. :)

Ali

aksi cilginlik zaten abi. klasor isminde, dosya isminde bosluk mu olurmus? o da neymis canim? :)
http://www.mengu.net - some kind of monster
canalpay (Moderatör) #28
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ı
Ramazan bunu en baştan kodlayalım mı ? Her şey tek dosyada olmasın. Daha çok modüllere ayıralım. Hemde dkvG'yide kullanırız bunun içine. DkvG sayesinde dosyalara yazma okuma değiştirme işlemleri ile uğraşmayız. Yada dkvG'sizde yazabiliriz. Ama daha modüler yazarsak programa ek yapmak yeni özellikler eklemek daha kolay olur bence.
Avatar
Racih (Moderatör) #29
Üye Ağu 2009 tarihinden beri · 126 mesaj · Konum: Antalya
Grup üyelikleri: Genel Moderatörler, Üyeler
Profili göster · Bu konuya bağlantı
Tekrar yazabiliriz. En azından güzel bir deneme oldu. Şuan dide diye bir projeyle uğraşıyorum. Şuanlık ide değil. Ufak ufak ilerleyiyorum.
Qt ve c++ la yazıyorum. Gene platform bağımsızlığı olacak.

D ile yazmadım. Çünkü gelişmekte olan bir dil ve qt ile araların limoni. Ve qt ile eş zamanlı gitmiyor. Tabi bu illa herşeyi c++ ile yazılcak anlamına gelmiyor. Proje yöneticisini sıfırdan D ile yazalım. Dide de proje yöneticimizi kullansın.
[Resim: http://i1012.hizliresim.com/2010/12/10/1422.png]
acehreli (Moderatör) #30
Kullanıcı başlığı: Ali Çehreli
Üye Haz 2009 tarihinden beri · 4513 mesaj
Grup üyelikleri: Genel Moderatörler, Üyeler
Profili göster · Bu konuya bağlantı
Hmmm... Bu da çok güzel görünüyor. :)

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 derle 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-10-22, 01:10:43 (UTC -07:00)