Syntax Highlight Text Editör

Ocak 3, 2010 at 22:11 (C# Programlama) (, , , )

Geçenlerde geliştirdiğim bir projem için sadece görsellik açısından bir metin editörüne ihtiyacım oldu.  Bu metin editöründe görmek istediğim sadece SQL kelimelerinin farklı renkte görünmesi idi. Hemen aklıma mevcut komponentlerden RichTextBox geldi. Ama RichTextBox’ta böyle bir özellik yoktu ve açıkçası böyle bir işlem için ayrı bir komponent yazmak işime gelmedi (Zaman açısından). Emektar google amcamızdan bir araştırma yapayım dedim. Codeproject.com ‘da farklı özelliklerde metin editörü vardı. Fakat bunlar da ya çok profesyonel ve karmaşık ya da kullanım kolaylığı olmayan editörlerdi. Biraz daha araştırdığımda karşıma 2 farklı editör çıktı. Bunlar: ScintillaNET ve SharpDevelop IDE’sinin metin editörleri. ScintillaNET meşhur Notepad++ metin editöründe kullanılıyor. Her ikisi de açık kaynak komponentler. Her iki editör de xml tabanlı ayar dosyalarıyla metin editöründe sözdizimi renklendirme (syntax highlight) yapıyor. Ama açıkçası ScintillaNET kullanışsız geldi bana. Bu yüzden tercihimi SharpDevelop IDE’sinde kullanılan ICSharpCode.TextEditor komponentinden yana kullandım. Bu komponent xshd uzantılı dosyalarda gerekli ayarları tutuyor. Her dil veya özel renklendirme için ayrı bir xshd dosyası kullanılıyor.

Editörden birkaç resim:

Visual Studio 2008 Projesi için TIKLA

Kalıcı Bağlantı Yorum yapın

Türk Yapımı İşletim Sistemi: CSD İşletim Sistemi

Aralık 20, 2009 at 20:05 (Teknoloji) (, , , , , , , , , , )

C ve Sistem Programcıları Derneği ‘nin bir projesi olan CSD İşletim Sistemi yapımı, bir grup gönüllünün desteği ile yürümektedir. Türkiye ‘nin de gerçek bir işletim sisteminin olmasını amaçlayan bu derneğin başkanı Kaan Aslan kısaca yaptıklarını ve amaçlarını anlatmış.

Kalıcı Bağlantı Yorum yapın

The page size was not large enough to format the contents of an object in the report.

Ağustos 28, 2009 at 18:11 (Problemler ve Çözümleri)

Evet başlıkta gördüğünüz hatayı alıyorsanız projenizde muhtemelen benim yapmış olduğum hataya siz de düştünüz :) Muhtemelen raporunuzda birkaç tane subreport kullanıyorsunuz. Bu hatanın sebebi subreportların raporunuz Page Header denen kısmında olması. Tabi subreportlarda çekilen veri çok olunca sayfaya sığmıyor. Eee tabi veriler de Page Hader kısmında yani sayfa başlığı kısmında olunca bu rapor için illegal bir durum oluyor. Çünkü Crystal Report ‘ta sayfa başlığı(Page Header) kısmı 1 sayfadan fazla olamaz.

Çözümü ise çok basit. Subreportları Details bölümüne koymanız gerekiyor. Gördüğünüz gibi çok basit hatalar çok büyük sonuçlar doğuruyor yazılım sektöründe.

Page Header   –>> Details

Hata ekran görüntüsü

Hata ekran görüntüsü

Kalıcı Bağlantı Yorum yapın

PagingDataGridView 2.0 Component

Ağustos 8, 2009 at 20:54 (C# Programlama) (, , , , )

PagingDataGridView komponentinin biraz daha işleç ve görsel olarak geliştirilmiş halidir. Bu da aynı şekilde C# ile yazıldı. Yazılan her fonksiyon ya da özellik için dökümantasyon yapmadım arkadaşlar. Zaten bunun için de pek zamanımın olduğu söylenemez. Dökümantasyon yerine örnek bir test programı yazdım. Yalnız test programında komponentin tüm özellik ve eventlerini kullanmadım. Kurcaladıkça öğrenirsiniz. Zaten kullanımının da zor olduğunu düşünmüyorum.

Test programından görünüş:

PagingDataGridView Component

PagingDataGridView Component

Komponentin Kaynak Kodlarını İndirmek için TIKLA
Test Programının Kaynak Kodlarını İndirmek için TIKLA
Komponenti İndirmek için TIKLA

Not: Komponent .Net Framework 3.5 ‘e göre derlenmiştir. Kaynak kodları Visual Studio 2008 projesi şeklindedir. Bundan sonrası size kalmış arkadaşlar. Geliştirmek ve kullanmak sizin elinizde.

Kalıcı Bağlantı Yorum yapın

PagingDataGridView Component (Datagridview ‘de veriyi sayfalı yapıda gösterme)

Haziran 8, 2009 at 18:14 (C# Programlama) (, , , )

C# ile yazdığım PagingDataGridView komponeti. Bu komponent ile datagridview ‘de gösterilen veriler aşağı kaydırma çubuğuna gerek kalmadan sayfalara bölünerek sayfa sayfa gösterilir. İleri, geri, ilk ve son butonları ile sayfalar arasında dolaşabilirsiniz. Ayrıca “Page” isminde bir değişken tanımladım. Bu değişkene atadığınız değer ile de direk istenen sayfaya ulaşılabilmekte. Bunların haricinde kullanımı normal datagridview kullanımı gibi arkadaşlar.

Komponentin örnek görünümü:

Komponent örnek görünümü

Komponent örnek görünümü

Komponenti İndirmek için TIKLA
Kaynak Kodlarını İndirmek için TIKLA

Not: Komponent .Net Framework 3.5 ‘e göre derlenmiştir. Kaynak kodları Visual Studio 2008 projesi şeklindedir. Bundan sonrası size kalmış arkadaşlar. Geliştirmek ve kullanmak sizin elinizde.

Kalıcı Bağlantı 9 Yorum

C# Otomatik PC Kapatma Programı

Ocak 24, 2009 at 21:12 (C# Programlama) (, )

C# ile yaptığım zaman ayarlı olarak bilgisayarı kapatma programıdır. Ekran görüntüsü:

Otomatik PC Kapatma Programı

Otomatik PC Kapatma Programı

Kullanılabilir Program için TIKLA
Visual Studio 2008 Projesi için TIKLA

Not : Kullanılabilir programın çalışması için .Net Framework 2.0 veya üstü yüklü olmalıdır.

Kalıcı Bağlantı 4 Yorum

Asp.Net ‘de GridView RadioButton Column Oluşturma

Ekim 4, 2008 at 22:27 (C# Programlama) (, )

Arkadaşlar bildiğiniz gibi Asp.Net ‘de GridView kontrolüne RadioButton eklenemiyor. Daha doğrusu ekleniyor ama server taraflı radio buton eklendiğinde radio butonların name değerleri sunucu tarafından atandığı için (ctl100_GridView1_ctl02_radioButon1 vb…)ve her bir radio butonun name değeri farklı olduğu için aynı anda tüm radio butonlar seçilebiliyor. Ya da radio butonun AutoPostBack değerini true yapıp tüm radio butonları sunucu tarafında kontrol ettirmek ki bu da performansı acayip şekilde yavaşlatır. Ya da en güzeli client taraflı radio butonlar oluşturup bunlar üzerinden işlemleri yapmak.

Şimdi anlatıma geçelim. İlk önce projemize GridView kontrolü ekleyelim. GridView ‘e de bir Tane TemplateColumn oluşturalım. TemplateColumn ‘un ItempTepmlate kısmına bir tane Literal ekleyelim. Li teral eklememizin amacı literalin Text özelliğine sayfa oluşturulurken dinamik olarak html kod atamak. Literal eklenmiş GridView ‘in kodları şu şekilde, ancak GridView ‘in RowCreated eventini de oluşturun:

Şimdi GridView ‘i dolduran fonksiyonumuzu yazalım. Bu fonksiyonu sayfanın Load eventinde çağırıyoruz:

Bu işlemlerden sonra GridView ‘in RowCreated eventini yazalım. Bu event ile her GridView ‘in her satırında bulunan Literalin Textine radio butonun html kodlarını yazıyoruz:

Gördüğünüz gibi projeyi çalıştırdığımızda aşağıdaki gibi olacaktır ve sadece tek radio buton seçilimi yapılabilinecektir:

Şimdi kaçıncı satırın seçildiğini bulmak için bir tane buton ekliyoruz. Butona basıldığı zaman GridView ‘in seçili satırının numarasını verecek. Bize seçili radio butonun değerini döndüren bir int tanımlıyoruz:

Böylelikle seçili radio butonun değerini öğrenebiliyoruz. Hatırlayacağınız gibi radio butonların değerlerini e.Row.RowIndex değerine eşitlemiştik. Yani değerleri GridView’in satır numarasına eşit. Şimdi butonumuza bastığımızda seçili satırın istediğimiz değerini alabiliriz:

Evet şimdi denemeyi yapalım:

Görüldüğü gibi 4 nolu satır seçildi ve alert mesajımızda o satırda bulunan haber adını aldık.

Bu da projenin Visual Studio 2008 ortamında geliştirilmiş projesi ve kullanılan mssql veri tabanı.

http://rapidshare.com/files/150952505/GridViewRadioColumn.rar.html

Kalıcı Bağlantı Yorum yapın

YouTube ‘ye Programsız ve Sitesiz Giriş

Ekim 4, 2008 at 20:56 (C# Programlama) (, , )

Geçenlerde internette dolaşırken bir bilgi ile karşılaştım. youtube.com sitesine giriş için herhangi bir program ya da site gerektirmeden girişten bahsediyordu. İlk başta her zamanki gereksiz bilgilerdendir diye düşündüm. Ama daha sonra denemeye karar verdim. Gerçekten de işe yarıyordu. Ne programla ne de proxy sitesi ile uğraşmanız gerekiyor.

İnternette bu bilgi hızlı yayılır diye tahmin ediyordum. Ama gördüğüm kadarıyla insanlar hala proxy siteleriyle uğraşıyorlar. Ben de bu bilginin yaygınlaşmasına biraz daha önayak olayım dedim. Neyse çok konuşmadan detaya geçelim:

Windowsun kurulu olduğu bölümde (C, D, E, vb…) şu yolu izliyoruz:

BölümAdı (C,D,E vb…)/WINDOWS/System32/drivers/etc

klasörü içine geliyoruz. Burda bulunan hosts dosyasını aç deyip not defteri ile açıyoruz ve en altına şu satırları yazıyoruz:

208.117.236.70 www.youtube.com
208.117.236.70 youtube.com

daha sonra kaydediyoruz.

Burdaki mantık ip adresine isim atamak. isterseniz sadece 208.117.236.70 ile web tarayıcınızdan girmeyi deneyebilirsiniz. Göreceksiniz ki başarılı bir şekilde giriş yapılıyor. Ben XP ile denedim. Vista ile de çalışıyordu.

Artık bu işlemlerden sonra youtube ‘de video seyretmenin değeri paha biçilemez :)

Kalıcı Bağlantı Yorum yapın

C# ile Kaspersky 5 – 6 – 7 Trial Keyi Sıfırlama

Temmuz 24, 2008 at 20:57 (C# Programlama) (, , , )

Uzun bir aradan sonra merhaba arkadaşlar…

Şimdi Kaspersky 5-6-7 için geçerli olan bir yöntemin C# kaynak kodunu vereceğim. Bu sayede sanal alemde bulunmayan keylerle ya da kara listeye alınan keylerle uğraşmayacaksınız. Kodumuz çok basit zaten. Hemen anlatıma geçelim:

Projenin başına:

using Microsoft.Win32;

ekleyin. Daha sonra bir tane buton ekleyin. Butonun içine şu kodları yazın:

Registry.LocalMachine.CreateSubKey(@”SOFTWARE\\KasperskyLab\\LicStorage\\”).DeleteValue(“kav”);

Registry.LocalMachine.CreateSubKey(@”SOFTWARE\\Microsoft\\Cryptography\\RNG”).DeleteValue(“Seed”);

Registry.LocalMachine.DeleteSubKeyTree(@”SOFTWARE\\Microsoft\\SystemCertificates\\SPC\\Certificates”);

Registry.LocalMachine.CreateSubKey(@”SOFTWARE\Wow6432Node\KasperskyLab\LicStorage\”).DeleteValue(“kav”);

Projenizi derleyin. çalışma işlemi şu şekilde: Kasperky’i kapatın. Daha sonra derlediğiniz projeyi çalıştırın ve bir kere butona basın. Kaspersky programını tekrar açın. Program açılır açılmaz bir pencere gelecektir. Burdan 30 günlük trial versiyonu seçin. Bu işlemi her 30 günde bir yapabilirsiniz.

Not: Kaspersky Internet Security kullananlar DeleteValue(“kav”); yazan yerdeki “kav” yerine “kis” yazıp derleyecekler.

Program derlemekle uğraşmak istemeyen arkadaşlar veya programlamadan anlamayan arkadaşlar için direk çalışır EXE dosyasını ekliyorum. Programın çalışması için .Net Framework 2.0 gerekmektedir.

Kullanılabilir Program için Tıklayın.
Visual Studio 2008 Projesi için Tıklayın.


Şekil: Programın görünüşü

Kalıcı Bağlantı Yorum yapın

Java Uygulamayı .NET Platformuna Çevirme

Nisan 12, 2008 at 19:57 (C# Programlama) (, , )

Arkadaslar IKVM.Net ile jar uzantılı dosyalarınızı yani JAVA platformu için yazılan bir uygulamayı .NET platformunda kullanabilmeniz için yapmanız gereken işlemleri göstereceğim.

Öncelikle IKVM.Net için download linkini vereyim:
http://sourceforge.net/project/showfiles.php?group_id=69637&package_id=68631

Burdan IKVM.Net ’in hem kaynak kodunu hem de çalışabilir *.exe dosyalarını indirebilirsiniz.

Şimdi jar dosyamızı nasıl .NET için uygun hale getireceğimizi anlatıyorum:

Başlat -> Çalıştır -> cmd

Açılan konsol ekranında “ikvmc.exe” dosyamızın bulunduğu yola (path) gidiyoruz. Çevirilecek olan jar dosyasını da “ikvmc.exe” dosyasının yanına kopyalıyoruz. Konsol ekranına şu kodu yazıyoruz:

ikvmc hello.jar

Not: Eğer mono kullanıyorsanız ikvmc ’ye GNU Classpath dll ’in nerde oldugunu göstermek zorundasınız. Yani kullanımı şu şekilde değişmiş olacak:

ikvmc -reference:/usr/lib/IKVM.GNU.Classpath.dll hello.jar

Yazıp entere basıyoruz. hello.jar dosyasının yanında hello.exe ya da hello.dll isminde bi dosya oluşmuş olacaktır. Bu dosya bizim .Net platformu için uygun olan dosyamızdır. Yalnız bu dosyayı projenizde kullanabimeniz için projenize indirdiğiniz klasordeki DLL leri de reference olarak göstermelisiniz ya da içine kopyalamalısınız.

Daha fazla bilgi için burayı inceleyebilirsiniz:
http://www.ikvm.net/userguide/tutorial.html#Convert+a+Java+Application+to+.NET

Kalıcı Bağlantı Yorum yapın

Next page »