Az önce bana ait bir grup girdi(Yaklaşık 10 adet), garip bir şekilde gezegende göründü. Bu durumun benden kaynaklanmadığı belirtip, gezegen yetkililerinin duruma bir el atmasını rica ederim.
Not: Girdiler ve site kodlarında herhangi bir güncelleme yapılmamıştır.
21:00 Prison Break (Cnbc-e)
21:30 Benfica – Galatasaray (TRT)
22:00 Bilimin ta Kendisi (NatGeo)
22:15 Breaking Bad (e2)
Ulan nidecez şimdi. :-(
Ne yapalım maçı izleriz herhalde. QT Creator, Trolltech tarafından geliştirilen bir (IDE) uygulama geliştirme ortamıdır. Eğer sadece QT uygulamaları geliştiriyorsanız (şuan için) tam size göre bir ortam. Gayet şık, hızlı ve hafif.
Sisteminize kurmak için aşağıdaki adresden platformunuza en uygun paketi indirebilirsiniz.
http://trolltech.com/developer/qt-creator/qt-creator#download-qt-creator
İlk izlenimlerimi aktarmam gerekirse;
Artıları
- Karşılama penceresi
- Gelişmiş C/C++ Editor
- Tümleşik form tasarımı : Form dosyasını açtığınızda QT Designer bileşenleri ekrandaki yerlerini alıyor ve tasarıma başlayabiliyorsunuz. QT Designer da yaptığınız tüm işlemleri, QT Creator içerisinden de yapabiliyorsunuz. Bir süredir Eclipse içerisinden ki QT Designer bileşenlerini kullanmıyor/kullanamıyordum. Çünkü ara sıra ekran kilitleniyor ya da bileşenler çok geç tepki veriyordu.
- Tümleşik yardım penceresi : Sınıf adının üzerine gelin ve F1 e basın :)
- Program gayet hızlı çalışıyor zaten boyut olarak ta çok küçük, doğal olarak daha az belleğe ihtiyaç duyuyor. (Eclipse göre çok ama çok iyi. Uzun süredir VS.NET kullanmadığım için VS.NET'göre bir kıyaslama yapamıyorum, artık siz deneyip görün)
- Gelişmiş filtre kutusu ile projelerde, kaynak kodlarda, yardım belgelerinde arama yapabilirsiniz.
- Proje oluşturma sihirbazı (QT Designer Form Class benim için çok önemli) : GUI, konsol projeleri ve c++ kütüphanesi(library) oluşturabiliyorsunuz.
- Designer içerisindeki hemen hemen her pencerede filtreleme yapılabiliyor. Bileşenler, özellikler hatta Actions içerisinde filtreleme yapabiliyorsunuz.
- Property Editor'un görüntü tipi değiştirilebiliyor : Bileşenlerin alt alta değilde tıpkı Visual Basic 6 Ya da Delphi 'deki gibi yan yana dizilmesini istiyorsanız Property Editorde sağ tıklayıp görüntü tipini değiştirebiliyorsunuz.
- Build&Run penceresinden çevre değişkenlerini düzenleyebiliyorsunuz.
- Debug desteği : GDB(GNU symbolic debugger) kullanılıyor.
Eksileri QTicari, modüler otomasyon sisteminin beta-1 sürümü kullanıma hazır. Bu sürüm ile birlikte projenin lisansı da, GPLv3 olarak değiştirilmiştir. (Alpha-1 GPLv2 idi)
Projeye destek olmak için :
İlk seçenek tercihimizdir. :-)
Projenin kaynak kodları ve ekran görüntüleri için:
http://www.nesimia.com/projects/qticari adresine tıklayabilirsiniz.
Şuan proje içerisinde iki adet modül, barkod ve ticari modülleri tümleşik olarak gelmektedir. Bu modüller hakkında kısaca bilgi vermek gerekirse;
Ticari: Bünyesinde; cari, stok, kasa, fatura gibi temel muhasebe modüllerini barındıran paket.
Kullanım belgeleri için:
http://forums.nesimia.com/index.php?9 adresine tıklayın.
Barkod: Barkod etiket tasarımı yapıp, çıktı alabilmenize yarayan modül.
Kullanım belgeleri için:
http://forums.nesimia.com/list.php?15 adresine tıklayın.
Ayrıca;
Kurulum ve yapılandırma belgeleri için:
http://forums.nesimia.com/list.php?8 adresine tıklayın.
Forumlar için :
http://forums.nesimia.com/index.php?5 adresine tıklayın.
Önce "Istambul", şimdi de "Ali Baba"
QString t = "Ali Baba";
t.remove(QChar('a'), Qt::CaseInsensitive);
// t == "li Bb"
Kim bu "Ali Baba"?
;) QString Verilerinizde bir takım güncellemeler yaptınız ve tekrar başa dönmek istediniz. rollback() yapmanıza rağmen değişiklikler geri alınmadıysa;
- Tablolarınızın depolama motoru transaction'nı destekleyen yapıya sahip değildir. Örneğin MyIsam gibi. Tablolarınızın depolama motorunu innodb yapabilirsiniz.
- Yazdığınız kodlarda autocommit olayını tetikleyen çağrılar olabilir. Örneğin Stored procedure çağrıları, autocommit olayını tetikleyerek tüm değişiklikleri onaylar. Veritabanı bağlantısı yapılırken "SET AUTOCOMMIT = 0" sorgusunu çalıştırarak autocommit'i kapayabilirsiniz.
MySQL sağolsun, ikincisi ile pek haşır neşir etti beni ;)
Tamam anladık, kontrol basamağının nasıl hesaplanacağına dair bilgileri bir yerlerden bulup kopyaladınız ve sitenize eklediniz. Ama kardeşim, insan bilgilerin doğru olduğunu kontrol etmez mi? İşlem doğru yapılmış mı bir sağlama yapmaz mı?
Konu hakkında birkaç Türkçe makale ile karşılaştım. Anlatılanlar gibi yaparsanız kodunuz sadece EAN 13'de doğru çalışacaktır. Çünkü bir çoğunda, çift hanelerin toplamının 3 katının alınması gerektiği yazıyor. Oysaki EAN 8'de çift, EAN 13'de tek hanelerin toplamının 3 katı alınmalı. Her neyse biraz uğraştırdı ama konu hakkında İngilizce birkaç site(özellikle burası) bulunca sorunu çözdüm. Belki birilerinin işine yara diye yazdığım kodu sıcağı sıcağına buraya da yapıştırıyorum.
barkodUret() - v2 (Güncellendi)
QString seriBarkodTanimlari::barkodUret(int onEk, int baslangic){
QString std = ui.cBoxStandart->currentText();
QString strOnEk = QString::number(onEk);
QString strBaslangic = QString::number(baslangic);
QString barkod;
if ( (std == "EAN 8") || (std == "EAN 13") ){
int uzunluk = strOnEk.length() + strBaslangic.length() + 1; //+1 Kontrol Bit'i için
if ( (std == "EAN 8") && (uzunluk > 8) ) return QString();
else if ( (std == "EAN 13") && (uzunluk > 13) ) return QString();
if (std == "EAN 8") barkod.fill('0',8 - uzunluk);
else barkod.fill('0',13 - uzunluk);
barkod = strOnEk + barkod + strBaslangic;
uzunluk = barkod.length();
int tek = 0;
int cift = 0;
for (int i=0; i<uzunluk; i++){
if ( i%2) tek += barkod.mid(i,1).toInt();
else cift += barkod.mid(i,1).toInt();
}
int toplam;
if (std == "EAN 8") toplam = (cift * 3) + tek;
else toplam = (tek * 3) + cift;
int onunKati;
if (toplam%10 != 0)
onunKati = QString(QString::number(QString::number(toplam).mid(0, QString::number(toplam).length() - 1 ).toInt() + 1) + "0").toInt();
else
onunKati = toplam;
int checkDigit = onunKati - toplam;
return barkod + QString::number(checkDigit);
}
else return QString();
} Az önce gelen kutuma şöyle bir mail düştü.
Ömür boyu hosting.

adamlar hakikaten çıldırmış. Keşke araya birkaç Linux paketi de sıkıştırsalardı. :)
QByteArray ba("Istambul");
ba.fill('o');
// ba == "oooooooo"
ba.fill('X', 2);
// ba == "XX"
;-) QByteArray Daha kullanışlı bir başlangıç sayfası için gadget'lar.

Resimde görünenler rss gadget. Ayrıca her modül için çeşitli gadget'lar yazmayı düşünüyorum. Örneğin stok durumu, kasa durumu ...vb. gibi.
|