Bilgilendirme!

Son 2-3 gündür sitemde virüs vardı uzun zamandır sitemde böyle bir problem olmamıştı en son bazı “HACKER”lar siteme garip bir şekilde saldırıda bulunmuştu bkz. http://www.burakozkan.net/bir-blog-sitesi-neden-hacklenir/  bu sefer ise araştırdığımda iframe virüsü bulaşmış FTP hesabıma ama çok şükür zorda olsa temizlemeyi becerdim (sanırım). Web sitesi işinden pek fazla anlamadığım için ve tamda MSP Başvurularının değerlendirildiği haftaya denk gelmesi bende panik havası yarattı. Tabi bu sırada az olan ama değerli olan takipçilerimide kaybettim (8 kişi) :(. Bundan sonra daha fazla güncel içerik ekleyerek sitemin takipçi ve makale sayısını mutlaka arttıracağım. Bu 2-3 günlük problemden dolayı sizlerden özür diliyorum…

Görüşmek üzere,

Imagine Cup 2011 Takımımız!

Daha önce blogumda duyurduğum “Imagine Cup 2011 Takım Arkadaşı Arıyoruz” makalemize ilgi gösteren tüm arkadaşlara çok teşekkür ediyorum. İbrahim ile çıktığımız bu yolda aramıza Duygu Demirbaş ve Mehmet Sencer Karadayı’nında katılmasıyla ekibimizi tamamlamış olduk. Projemiz, ekibimiz hakkında ileriki aylarda gelişmeleri sizlere duyuruyor olacağız. Daha yolun çok başındayız, iyi anlaşan bir ekibiz umarım ekip ruhunu kaybetmeden sizlerinde desteği ile yolun sonunu görebilir ve ülkemizi en iyi şekilde temsil edebiliriz.

 

Ekibimiz; (Alfabetik olarak)

Burak Özkan

Duygu Demirbaş (İzmir Ekonomi Üniversitesi)

İbrahim Ersoy (Anadolu Üniversitesi)

Mehmet Sencer Karadayı (Orta Doğu Teknik Üniversitesi)

2010-2011 MSP Başvuruları Başladı!

        Bir yıl boyunca beklediğim an sonunda geldi, MSP (Microsoft Student Partner) başvuruları başladı. MSP Programı nedir? MSP Programının avantajları hakkında ayrıntılı bilgiye ulaşmak için buraya tıklayabilirsiniz.

        Bu yıl hem Imagine Cup 2011’e katılmayı hem de MSP olmayı hedeflemiştim. İlk hedefimin sonucunu öğrenmeye çok az kaldı (2 Eylül 2010). Eğer sizde MSP olmak istiyorsanız hemen bir kamera bulun ve kendinizi tanıtan kısa bir video çekin. Ben geçen sene öğrendiğimde sadece 6 saatim kalmıştı :). Sizin ise 16 gününüz var.

Farklı bir formatta çektiğim videomu aşağıda paylaşıyorum, ileride videonun kamera arkası görüntülerini, kesilmiş sahnelerinide paylaşacağım. Özellikle Burak Hocanın kamera arkası görüntüleri çok eğlenceli :). Bu video “LIMITED” versiyonu gibi oldu biraz, “UNLIMITED” versiyonu ileride yayınlayacağım. Video’da arka planda çalışan elektrikli süpürge ve okulun çatısına kuş pislemesin diye yapılan karga sesi için özür dilerim :). Montaj sırasında fark ettiğim için bir daha çekemedim ama gelecek sene daha farklı bir formatta çekmeyi planlıyorum.

Teşekkür;

Başvuru videom sırasında yardımları dokunan M. Cem AKKÖK’e, referans olarak videomda yer almayı kabul eden sevgili Burak Selim ŞENYURT hocam’a, referans olmayı kabul eden Uğur UMUTLUOĞLU ve Daron YÖNDEM‘e teşekkür ederim.

Bakalım Microsoft Öğrenci Ortağı olabilecekmiyim? Bekleyip görelim…

Programımıza Help Dosyası Ekleme!

Neredeyse bütün yazılımlarda bir “Yardım” dosyası vardır. Bu dosyaların formatı genelde .chm formatında olurlar. .chm formatı hakkında ayrıntılı bilgi için buraya tıklayabilirsiniz. Kısaca açıklamak gerekirse sıkıştırılmış html dosyalarıdır. Peki biz yaptığımız programda nasıl bu .chm dosyasını göstereceğiz? Elbetteki .Net kütüphanesi sayesinde tek satırda :).

Aşağıdaki kodu yazdığınızda .chm dosyasını programda açıldığını göreceksiniz.

Help.ShowHelp(this, "help.chm);

Görüldüğü gibi tek satır kod ile help.chm isimli dosyamızı programımızda gösterebildik. Başlığa bakarsak makaleyi burada bitirebiliriz ama gelin isterseniz şu Help sınıfını biraz inceleyelim.

Help statik sınıfının 4 tane “overload” edilmiş fonksiyonu var. Bunlar;

1. ShowHelp(Control, String)
2. ShowHelp(Control, String, String)
3. ShowHelp(Control, String, HelpNavigator)
4. ShowHelp(Control, String, HelpNavigator, Object)


1. fonksiyonu yukarıda kullandığımız şekilde sadece .chm dosyamızı göstermek için kullanabiliriz. İlk parametre yardım dosyasının hangi “parent” altında gösterileceğini söylüyor. İkinci parametre ise .chm dosyasının yolu. Bu iki parametre tüm fonksiyonlarda aynı.

2. fonksiyondaki son parametre ise sizden “anahtar kelime” istiyor. Yani siz diyelimki belli bir konu üzerinde araştırma yapacaksınız o zaman buraya hangi konuda araştırma yapacaksanız onu belirtmeniz gerekiyor.

3. fonksiyondaki son parametre ise HelpNavigator türünden bir enum. Bu enumdaki değerler ise; TableOfContents, Find, Index, ve Topic. Örnek vermek gerekirse Find kısmını parametre olarak geçerseniz “Yardım” dosyanız “Arama” modunda açılacaktır.

4. fonksiyondaki son parametre ise 2. fonksiyondaki String ile aynı anlamı taşıyor tek farkı bu parametreye geçeceğiniz değeri HelpNavigator‘e göre ayarlamanız. Örnek vermek gerekirse; siz HelpNavigator.Topic dediyseniz son parametreye aranacak başlığı geçebilirsiniz.

Bu makalede Help statik sınıfını kullanarak nasıl bir .chm dosyasını gösterebileceğimizi ve o dosyadan işlemler yapabileceğimizi görmüş olduk. Bir sonraki makalede (C# ile Web Service Hazırlama ve Kullanımı) görüşmek üzere…

The Futurist Dergisi!

Sadece teknik konular hakkında değil sosyal içerikleride paylaşmaya gayret gösteriyorum. Zamanında film yorumları, şiirler paylaşmıştım bu sefer ki ise gerçekten benim için çok önemli olan bir dergiyi paylaşmak istedim.

Hep almaya niyetli olduğum ama bir türlü üşendiğimden alamadığım dergiyi dün Sayın Ufuk Tarhan‘nın hediye etmesiyle okuma fırsatı buldum. Dergi bir çırpıda, sıkılmadan okuyabileceğiniz bir dergi. Geleceğin teknolojilerinin neler olacağını? Bu teknolojilerinin yapılabilirliliği nedir? Siz kendinizi bu teknolojilere ne kadar hazırlıyorsunuz? vb. birçok sorunun cevabını bulacağınız bir dergi. Okumak için alan kesinlikle elinden düşürmüyor, sizlere de şiddetle tavsiye ediyorum.

Temmuz-Ağustos sayısında aklımda kalan geleceğin 2 güzel teknolojiden bahsetmek istiyorum;

-Alışverişe gittiniz ve alışveriş listenisini unuttunuz. Bir sms ile buzdolabınızda neler eksik öğrenmek istemezmiydiniz?

– Hemen herkes elektrikli arabaların artık yaygınlaşacağını kestirebiliyor demi? Peki bu arabaların çatılara konan güneş enerjisi sistemi ile şarj edilebilme durumuna ne diyorsunuz? Her evin üstünde güneş enerji sistemi (şu sıralar su ısıtmak için kullanan teknoloji) arabanız park halindeyken şarj oluyor. İyi fikir demi? 🙂

Bunun gibi daha birçok geleceğin teknolojisini bu dergide bulabilirsiniz. Derginin ismini makalenin başlığında var birkezde buradan söyleyeyim ve bu ayki derginin kapağını paylaşarak bu yazıyı bitirelim.

The FUTURIST;

Imagine Cup 2011, Takım Arkadaşı Arıyoruz

Dönem başından beri 2 hedefim vardı; biri MSP olmak, diğeri Imagine Cup 2011’de ülkemizi temsil etmek. MSP olma hedefime çok yaklaştım video mu çektim, dönem başından beri çalışmalarımı yaptım başvurular sanırım Ağustos ayı içerisinde başlıyor bu hedefime ulaşıp ulaşmadığım Ağustos ayı sonunda belli olacak. Imagine Cup 2011 için ise hevesli, iyi bir ekip ile katılıp ülkemizi en iyi şekilde temsil etmek. Yarışmaya katılmak için İbrahim Ersoy arkadaşım ile bir yola çıkmaya hazırlanıyoruz, önümüzdeki günlerde çalışmalarımıza başlayacağız eğer sizde gelecek sene Amerikada düzenlenecek olan Imagine Cup 2011’e bizimle katılmayı düşünüyorsanız irtibata geçin.

Imagine Cup 2011 hakkında detaylı bilgi için; www.imaginecup.com

Ekip Arkadaşlarım;

Duygu Demirbaş

İbrahim Ersoy


C# ile Dosyadan Okuma-Yazma İşlemleri!

Finaller, Fuarlar, MSP başvuru videosu derken blogumu yeteri kadar boşladım. (Eğer bu haftada birşeyler yazmasaydım kapatacaktım blogumu :)). Admin paneline girerken tedirgindim ama şifresini hatırlayınca içim rahatladı :).

Yazacağım makalelerin konusunu daha çok forumlardan belirliyorum. Forumlarda en çok hangi konularda problemler ile karşılaşılıyorsa onunla ilgili birşeyler yazmayı tercih ediyorum. Dosyadan okuma yazma işlemleri ile ilgili sorular soruluyordu bende bununla alakalı bir makale yazmak istedim. Umarım faydalı olur…

Dosyadan okuma yazma yapmak için bir tane FileStream türünden nesneye ihtiyacınız olacak.

Örnek olarak; FileStream fs = new FileStream(@”C:\dosya.txt”, FileMode.Create, FileAccess.Read);

İlk parametre hangi dosyadan okuma yapacaksanız veya yazma yapacaksanız dosya yolunu, ikinci parametre ise FileMode türünden bir enum. Bu enum türünden dosyayı ne modda üreteceğinizi veya erişeceğinizi belirtiyorsunuz. FileMode‘da şu değerler var;

FileMode.Append: Eğer dosya başka bir program tarafından kullanılıyorsa veya açıksa
yazacağınız karakterler dosyanın sonuna eklenecek.
FileMode.Create: Belirttiğiniz dosya isminde bir dosya yoksa üretecek, eğer varsa üstüne
yazacak.
FileMode.CreateNew: Dosya olsada olmasada yeni bir tane üretecek.
FileMode.Open: Belirtilen dosyayı açacak. Bu durumda dosyanın kapalı olması lazım
aksi takdirde Exception alabilirsiniz.
FileMode.OpenorCreate: Eğer dosya varsa açacak, yoksa yeni bir tane üretecek.
FileMode.Truncate: Bu modda dosyanın mutlaka açık olması lazım, açık olan dosyanın içindeki
bilgileri siliyor.

FileStream sınıfının üretici fonksiyonun üçüncü parametresi ise, FileAccess türünden bir enum ile dosyaya erişim modunu istiyor. FileAccess’de eğer okuma yapacaksanız .Read, yazma yapacaksanız .Write, hem okuma hem de yazma yapacaksanız .ReadWrite. FileStream’ı tanımladıktan sonra işimiz artık daha da kolay. Bu sınıfın bize sağladı fs.Read(…) ve fs.Write(…) fonksiyonları ile dosyadan veri okuma ve veri yazma yapabiliriz. Şimdi “…” bunları biraz açalım. Önce okuma fonksiyonundan başlayalım;

int [Okunan Byte Sayısı] fs.Read(byte[] dizi, int Indis, int Yazılacak Byte Sayısı): İlk parametre bir byte dizisi dosyadan okuduğunuz verileri bu byte dizisinde olacak, ikinci parametre ise dosyadaki verileri bu dizinin kaçıncı indisinden itibaren yazacağınızı, üçüncü parametre de ise kaç karakter okunacağını istiyor. Geri dönüş değeri ise dosyadan kaç karakter okuduğunuz.

void fs.Write(byte[] dizi, int Indis, int Yazılacak Byte Sayısı): İlk parametre bir byte dizisi dosyaya yazacağınız veriler bu byte dizisinde olacak, ikinci parametre ise dizideki verileri kaçıncı indisinden itibaren yazacağınızı, üçüncü parametre de ise belirtiğiniz indisten itibaren kaç karakter yazacağınızı istiyor.

Dikkatini çektiyse burada hiç string türünden birşey yok, yani siz dosyaya “Deneme yazısı” yazmak istediğinizde bunu bir byte dizisine atmanız gerekiyor. Elbette bu string türünden ifadeyi direk dosyaya yazan bir fonksiyon var ama biz gelin önce bu string’i byte dizisine çevirelim sonra da dosyaya yazalım;

FileStream fs = new FileStream(@"C:\dosya.txt", FileMode.Create, FileAccess.Read);
byte[] dosyaYazisi = ASCIIEncoding.ASCII.GetBytes("Deneme yazısı");
fs.Write(dosyaYazisi, 0, dosyaYazisi.Length);

Evet hepsi bu kadar ama her seferinde yazacağınız veriyi ASCIIEnco…. sınıfında byte’a dönüştürüp sonra yazmak zor olsa gerek. Gelin bunu biz .Write(“Deneme yazısı”) şeklinde yapalım. .Net kütüphanesinde birden fazla okuma ve yazma yapan sınıflar var; StreamWriter, BinaryWriter, StreamReader, BinaryReader gibi sınıflar bu konuda imdadımıza yetişiyor. Bu sınıfların hepsi FileStream türünden bir nesne istiyor, buradan da şunu anlıyoruz biz dosyadan okuma yazma yapacaksak hemen bir tane FileStream tanımlayacağınız. StreamReader ve StreamWriter sınıflarını burada anlatacağım Binary versiyonunu size bırakıyorum :),

StreamWriter sw = new StreamWriter(fs); bu şekilde tanımlama yaptığınız takdirde StreamWriter nesnesini, FileStream türünden tanımladığınız nesnenin tüm özellikleri ile erişebilirsiniz. StreamWriter adından da anlaşılacağı gibi dosyaya yazma yapan bir fonksiyon ve bunun için iki tane kullanışlı fonksiyonu var; .Write(…), .WriteLine(…), WriteLine dediğiniz takdirde “sw.NewLine” özelliğine belirtiğiniz karakteri sonuna ekler. (Hiçbirşey belirtmezseniz ‘\n’ vardır. Yani alt satıra geçer 😉 ).

.Write(…) fonksiyonu neredeyse bütün veri türlerini kabul ediyor ve dosyaya yazıyor. Bu fonksiyonu Console.Write(…) fonksiyonun aynısı olarak düşünebilirsiniz.

StreamReader sınıfını ise tahmin edeceğiniz gibi; StreamReader sr = new StreamReader(fs) şeklinde tanımlıyoruz. StreamReader’da bize dosyadan verileri okumakta yardımcı olan bir sınıf ve kullanışlı olan birkaç .Read fonksiyonu var; .Read(…), .ReadLine(…), .ReadToEnd(…).

.Read(…): Bu fonksiyonun iki türü var eğer .Read() olarak kullanırsanız size int türünden bir değer dönecektir. İkinci türü ise FileStream sınıfındaki .Read(…) ile aynı.

.ReadLine(…): Bu fonksiyon dosyadan sadece tek bir satır okur. Eğer satır satır okuma yapacaksanız bu fonksiyonu kullanabilirsiniz.

.ReadToEnd(…): Bu fonksiyon dosyanın başından sonuna kadar okur ve bunu bir string türünden geri döndürür.

Son olarak şunu da belirtmek istiyorum; FileStream sınıfının önemli bir fonksiyonuda .Seek(…) bu fonksiyonu kullanarak dosya imlecini istediğiniz yere set edebilirsiniz. Kullanımı ise fs.Seek(3, SeekOrigin.Begin) böyle dedikten sonra okuma yaparsanız eğer size (“eme Yazısı”) dönecektir.

Gördüğünüz gibi dosyadan okuma ve yazma işlemi .Net ile çok kolay. Umarım buradaki bilgiler sizlere faydalı olur,

Görüşmek üzere,

Hepinize kolay gelsin, iyi çalışmalar…

Etkinlik Takip Programı!

Merhabalar,

Projenin adını doğru mu verdim bilmiyorum ama aklıma bu geldi açıkcası :). Okan Üniversitesinden bir arkadaşımızın projesini bitirdiğimde gerçekten çok hoşuma gitti ve proje sahibininde iznini alarak bunu sitemde paylaşmak istedim.

Projenin kodlama kısmının açıklamasını Haziran ayına bırakıyorum. Yazısı ile beraber eklemek isterdim ama ödevleri olan arkadaşlar için yardımcı olabilir belki.

Proje için buraya, kaynak kodları için buraya tıklayabilirsiniz.

Görüşmek üzere…

Sipariş Takip Formu!

Merhabalar,

Uzun zamandır siteme makale giremiyorum Haziran ayında tekrardan ‘Ayın Konusu’ konseptini başlatacağım yoksa siteye makale gireceğim. Haziran ayına kadar en az 3 makale ekleme hedefim var ama bakalım…

Arkadaşlar bir firma için yaptığım “Sipariş Takip” programının kaynak kodlarını sizlerle paylaşıyorum. (Tabiki firmanın haberi var :)) Programda eksikler, hatalar olabilir pek fazla geri bildirim alamadım. Programda yazıcı kontrolü, access veritabanı bağlantısı, stored procedure ve datagridview gibi kontrollerin kullanımı için fikir verebilir. Umarım sizler için faydalı olur.

Programın Kaynak Kodu için buraya, program için buraya tıklayınız.

Programdan resimler;

Son Durum…

Merhabalar,

Blogumun giriş şifresini bile unutma noktasına geldiğimi fark ettim ve yaptıklarım ve yapacaklarım hakkında kısa bir bilgi vermek istedim. En son gelen eleştirilerden bir taneside ‘sitenin girişinde uzun bir makale duruyor 2 aydır’, olunca bende en azından neden yazamadığımı bir açıklamak istedim.

İş – Okul yoğunluğunun arasına birde okulumda Mühendislik Kulübü Başkanlığı görevini üstlenince bu dönem çok yoğun geçiyor özellikle bu yıl kulüb olarak 7-8 Nisan 2010 tarihinde düzenleyeceğimiz ‘Mühendislik Günleri ’10’ etkinliği hazırlıkları vaktimizi aldı ama sanırım bu uğraşmalarımıza değecek gibi duruyor. Google’dan Microsoft’a, IBM’den AIRTIES’a kadar birçok firmanın katılacağı bu etkinliğin detaylı programını önümüzdeki hafta duyuracağım. Şimdilik sadece afişi ekliyorum :).

Ayrıca bu hafta DeveloperMania ekibinin düzenleyeceği 2 gün sürecek DeveloperMania.Net etkinliğininde bu vesileyle duyurmuş olayım. Nisan ayından itibaren bloguma artık yine düzenli olarak makale ekleyeceğim “Ayın Konusu” tekrar başlayacak, biraz daha idare etmenizi rica ediyorum sizlerden…

En kısa sürede tekrar görüşmek üzere…

1 2 3 4 5 6 9  Scroll to top