Forum: Projeler d-Ofis RSS
Veri.d
Sayfa:  1  2  3  sonraki 
Kadir Can #1
Üye Haz 2010 tarihinden beri · 413 mesaj
Grup üyelikleri: Üyeler
Profili göster · Bu konuya bağlantı
Konu adı: Veri.d
Veri.d tamamlanmak üzere.Sadece veriAra işlevini yazacağım.Bundan sonraki aşamada veritabanı.d'yi yazacağım.Veri.d, veritabanı.d için yazdığım modüldür.veri modülüne Google Code sayfasından ulaşabilirsiniz.
canalpay (Moderatör) #2
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ı
Birazdan bakacağım ancak şimdiden çok sevindim söyleyeyim.

Hem svn'yide halletmişsin.

Not bu arada kodların çok temiz ve okunabilir görünüyor. Tebrikler!
Kadir Can #3
Üye Haz 2010 tarihinden beri · 413 mesaj
Grup üyelikleri: Üyeler
Profili göster · Bu konuya bağlantı
Teşekkür ederim.

SVN olayında saçmalamışım.https: uzantısından giriş yapacağıma http: uzantısından bağlanmışım.Doğal olarak dosya gönderemedim.

İnterneti karışıtırınca gördüm.Bir sitede çok temiz anlatılmış TortoiseSVN.O site sayesinde SVN'yi çözdüm.
canalpay (Moderatör) #4
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ı
Şuan kodları daha denemedim ancak öylesine bir inceledim.

Kendi fikirlerimi söyleyeyim:

değişkenlerin string istemesi bence bir zorunluluk olmaması gerekiyor. Onun yerine değişken türlerini const char[] yaparsak hem char[] hemde string ile kullanabiliriz. Hatta bunu bir adım ilerletip şablon olarak yazabiliriz. Kendi türlerimizide böylece kullanabiliriz. Belki biraz daha külfetli olur ancak çok yetenekli olur.

(Not : TortoiseSVN programını anlatan siteyi belki ait olduğu konu başlığına yazarsan ileride arayanlar daha rahat bulur. )
Kadir Can #5
Üye Haz 2010 tarihinden beri · 413 mesaj
Grup üyelikleri: Üyeler
Profili göster · Bu konuya bağlantı
String'i ben kendim yazmıştım.const char[] şekline yarın sabah dönüştürürüm.
canalpay (Moderatör) #6
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ı
Tek değişen string yerine onu yazmak gerekecek. Hiç bir fark olmadan hem string hemde char[] ile kullanılabilecek. Ne kadar çok farklı tür ile kullanılabilirse o kadar iyi.

Ayrıca bir önerim daha var. Şuan programı derledim ve şöyle bir dosya yazıyor:

Kişiler
İsim  Soyisim 

Kadir Can Çelik
Can Alpay Çiftçi
Ali Çehreli


Burada eğer başka bir veri olsa ilk etiket ile ilgili mi veri yoksa ikinci etiketlimi anlayamayız. Hatta bu yüzden ileride okuma işlevini yazarken hatalı çalışacaktır. Bunun yerine ben söyle bir tasarım öneriyorum :


Kişiler
No|İsim|Soyisim 

0|Kadir Can|Çelik
1|Can Alpay|Çiftçi
2|Ali|Çehreli


No her zaman otomatik eklenmeli. 0'dan başlayarak her eleman eklendiğinde bir artmalı.

ileride böyle kaydedilmiş bir veriyi şu şekilde okursak
d-veri.oku("İsim");
Şu sonuçları döndürmeli:

Kadir Can
Can Alpay
Ali

Eğer şu şekilde okursak :
d-veri.oku("Soyisim",2);
Şu sonucu döndürmeli:

Çehreli

Eğer şu şekilde okursak
d-veri.oku("",2);  //d-veri.oku("Genel",2); şeklinde de olabilir.
Şu sonucu döndürmeli:

Ali
Çehreli
Kadir Can #7
Üye Haz 2010 tarihinden beri · 413 mesaj
Grup üyelikleri: Üyeler
Profili göster · Bu konuya bağlantı
canalpay,gerçekten çok iyi bir çözüm bulmuşsun.Ben de bu konuyu düşünüyordum.Modül ya tek veride boşluk kullanımına izin vermeyecekti,ya da ayırıcı karakter kullanacaktı.Ayırıcı karakter güzel bir çözüm.

Numara konusu da güzel bir konu.O satırı ID(Kayıt numarası olsa daha mı iyi?) olarak ekleyeceğim.
Kadir Can #8
Üye Haz 2010 tarihinden beri · 413 mesaj
Grup üyelikleri: Üyeler
Profili göster · Bu konuya bağlantı
Yanıtlanan mesaj #6
Akşam 9-10 gibi söylediğin düzenlemeleri yapacağım.
canalpay (Moderatör) #9
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 #7
canalpay,gerçekten çok iyi bir çözüm bulmuşsun.

Eee tecrübe konuşuyor :-p Doğrusu D1 ile yapılmış olan filebase'den kopya çektim. Dkv zamanında ondan biraz farklı olmak istemiştim daha farklı yaptım ancak onun hep daha doğru olduğunu düşündüm. (Hatırlatma :Yeri geliyor dkv doğru oluyor yeri geliyor filebase. dkv daha iyi çünkü filebase yerine kullanılabilir. Ancak aynı şey filebase için geçerli değil :-p )
O satırı ID(Kayıt numarası olsa daha mı iyi?) olarak ekleyeceğim.

Benden bir öneri daha(yine filebase'den alıntı) id yerine kaç tane eleman olduğunu ekle. Yani tasarım şu biçimde olsun :
20      |id|name|age

1     |10|Mueller|32

2     |20|Schmitz|17

3       |30|Meier|41

4      |40|Reiser|32

5      |50|Kaiser|32

6     |60|Stiebel|32

7      |70|Kerbel|32

8       |80|Pussi|32

9      |90|Trolls|32

10      |100|Kall|32

11    |110|Scholl|32

12     |120|Mogel|32

13     |130|Pogel|32

14    |140|Trogel|32

15     |150|Vogel|32

16     |160|Logel|32

17      |170|Olga|32

18     |180|Polka|32

19     |190|Minos|32

20    |200|Taurus|32


Burada id filebaseden değil örnek programdan geliyor. Bence id ismi kötü olur çünkü başkası o zaman id adını kullanamaz. Ayrıca ilk satıra kaç tane elaman var diye sorgulatırsak çok daha hızlı bir biçimde sonucu alabiliriz.


Birde aklında bulunsun ayırıcı karakter sabit olmalı. ben dkv'de *-* karakterini ayırıcı karakter olarak kullanmıştım. Ancak | karakteri bu iş için daha uyumlu ve dosyayı açtığımızda göze daha hoş geliyor.
acehreli (Moderatör) #10
Kullanıcı başlığı: Ali Çehreli
Üye Haz 2009 tarihinden beri · 4508 mesaj
Grup üyelikleri: Genel Moderatörler, Üyeler
Profili göster · Bu konuya bağlantı
d-ofis'i daha yeni indirebildim. Benim de hoşuma gitti! :)

Her zaman olduğu gibi, gereksiz olsa da bir kaç not:

- Ben 4 boşluklu girintilere fazla alışmışım; 2 boşluk çok sıkışık geliyor :)

- module isminin dosya ismi ile aynı olması şart değil (galiba :)); ama ben olsam yine de baş harfini dosyanın ismiyle aynı olsun diye küçük v yapardım

- std.stdio.File'ı kullanıyoruz ve cstream gidici olduğuna göre doğrusu da o... Ama, std.stdio.File bir yapı olduğu için onu new ile oluşturmaya gerek yok. Hatta aslında close'u da çağırmaya gerek yok; çünkü 'dosya' nesnesi tabloOluştur'dan çıkarken hemen sonlanacak:

 void tabloOluştur()
 {
  auto dosya=File("deneme.txt","a");
  dosya.writeln(tab_adı);
 }

(Dediğim gibi, sohbet olsun diye gerekli gereksiz yorum yapıyorum; çünkü new'lü ve close'lu kodda da bir sakınca yok aslında. :))

- Ben her zaman için sol tarafa yazılan ++ işlecini öneririm:

    ++kolon_sayı;

kolon_sayı gibi bir int'te hiçbir şey farketmez ama daha kapsamlı türlerde, sağ tarafa yazılan ++ işleci daha pahalıdır. Yeni işleç yükleme düzeneğinde sağa yazılan ++ yüklenemiyor bile; çünkü şu kod olarak işletiliyor: (auto t = e, ++e, t). O da, geçici bir 't' nesnesi kullandığı için genelde daha yavaştır.

(Aynısı -- işleci için de geçerli.)

- foreach'e bir kere alışırsan bir daha for yazmak istemeyeceksin ;) Örnek:

  foreach (i; 0 .. 90) {
      dosya.write(ÇizgiŞekli);
  }

Bazı durumlarda da std.string modülündeki 'repeat' işlevi işe yarayabilir:

  dosya.write(repeat(ÇizgiŞekli.idup, 90));

Ali
Kadir Can #11
Üye Haz 2010 tarihinden beri · 413 mesaj
Grup üyelikleri: Üyeler
Profili göster · Bu konuya bağlantı
Önerileriniz çok güzel.Bunları deneyeceğim.

Dün bilgisayarım durma hatası verdi ve mavi ekran çıktı.Neyse ki sistem geri yükleme ile kurtardım.Yeni yüklediğim yazılımları da sildim.Şimdi yeniden kuracağım.O yüzden proje biraz sekteye uğrayacak.

Ali Bey,beğendiğinize sevindim.
canalpay (Moderatör) #12
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ı
Ali Beyin dediklerini kodun anlamlarını değiştirmediği için sizinde bilgisayarınızın gerektiği gibi çalışmamasından dolayı kendim yaptım ve yolladım.
Kadir Can #13
Üye Haz 2010 tarihinden beri · 413 mesaj
Grup üyelikleri: Üyeler
Profili göster · Bu konuya bağlantı
canalpay,teşekkür ederim.
Kadir Can #14
Üye Haz 2010 tarihinden beri · 413 mesaj
Grup üyelikleri: Üyeler
Profili göster · Bu konuya bağlantı
Bilgisayarım düzeldi.Yarın kodlamaya devam edeceğim.
Kadir Can #15
Üye Haz 2010 tarihinden beri · 413 mesaj
Grup üyelikleri: Üyeler
Profili göster · Bu konuya bağlantı
Yanıtlanan mesaj #6
canalpay on 2010-07-19, 12:27:
Kişiler
No|İsim|Soyisim 

0|Kadir Can|Çelik
1|Can Alpay|Çiftçi
2|Ali|Çehreli

Ali
Çehreli

İstenen görünümü kazandırdım.Arama işlevine geldi sanırım sıra.
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:  1  2  3  sonraki 
Forum: Projeler d-Ofis 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-18, 06:05:54 (UTC -07:00)