30 Haziran 2014 Pazartesi

ArrayList Kullanımı

ArrayList object türünde liste oluşturmamızı ve bir çok problemden kurtulmamızı sağlayan bir tür dizi değişkendir. En büyük özelliği her türden yani object olarak verileri saklamasıdır. Veri türünüz ister int ister string ister form ister resim isterse de buton olsun hepsini saklar ve siz isteyince geri döndürür. Yada sizin hazırladığınız bir veri türünü de ekleyebilirsiniz. ArrayList değişkenini kullanabilmek için using kısmına system.collection eklememiz lazım.
using System.Collections;
 Hadi şimdi ilk değişkenimizi tanımlayalım ve içinde işlemler yapalım.

using System;
using System.Collections;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace erreylist

27 Haziran 2014 Cuma

Bilgisayara IP numarası ile bağlanıyorum ama ismi ile bağlanamıyorum

Windows server yüklü olan bilgisayara \\ipadresi ile bağlanıyordum ama \\bilgisayarismi ile bağlanamıyordum. Sorunun çözümünü bir türlü bulamadım. Hani serveri kurcaladım clientle uğraştım falan artık illallah ettim. Hemen bi kurnazlık geldi aklıma ve bende clienti kandırma kararı aldım. Gittim host dosyasına 
[Bilgisayarın IP adresi] [Bilgisayarın İsmi]
satırını ekledim. Sorun düzeldi. İdeal bir çözüm oldu yani öyle probleme böyle çözüm :)

26 Haziran 2014 Perşembe

Bilişimcinin Günü Ne Kadar Berbat Geçebilir?

Bugün bir bilişimcilerin başına gelebilecek en berbat olayı anlatayım sizlere.
Sabah iş yerine geldim herkes benim masamda beni bekliyor. Selam selam. Direk konuya girdiler sağ olsunlar. Tüm fabrikada bilgisayarlar arızalı. Akşam bilgisayara girememiş kimse kayıtları. Neyse bir bakayım dedim koca fabrikayı 7 kez tavaf ettim sonra sorunun kaynağının server odasında olduğunu anladım. Sonra da dikkatimi çekti server kabinin yeri değişmiş. Allah Allah. Kabinin içini bir inceledim ve sorunun kaynağını buldum. Sorunu bulmak kolay oldu yani koca fabrikayı 7 kere dolaştım ama buna rağmen konuşuyorum kolay oldu. Çünkü asıl zor iş kabinin içinde. 72 adet patch panel ucunu söküp yeniden çaktım. İşte şimdi de işi bitirdim de eve gideceğim. Ama kaç yıldır bilişimciyim böyle stres yaşamadım. Kabinin yerini değiştiren ve o bütün kabloları kopartan arkadaşa erotik dolu sevgiler. Bu sıkıntımı paylaştığım sizlere de selamlar.

23 Haziran 2014 Pazartesi

Alışveriş Siteleri Çıktı Mertlik Bozuldu

Alışveriş sitelerini hepimiz biliriz. Girersin, ürünü seçersin, ödemeyi yaparsın ve onlar size bir kutu gönderir. İsterseler telefonunuzu yada bilgisayarınızı gönderir isterlerse de hıyarı soyup size gönderirler.
Örn: Telefon sipariş etti, kutudan salatalık çıktı MYNET Haber

Acayip acayip işler işte. Neyse konuya dönelim.Teknoloji alışverişi sitesine girdik ama bütün teknoloji satan sitelere giriyoruz. Hani vatancomputer, darty, bimex, gold, hepsiburada bla bla bla. Alacağımız ürün belli ve bulduk. Alacağız kararlıyız ama en ucuzu hangisinde ise ondan alacağız. A 500 tl, B 500 tl C 500 tl D 500 tl, E 499.99 tl. En ucuz hangisi? Tabi ki E mağazası. Adamalar 1 kuruş daha ucuza satıyor. Hemen sepete ekle, alışverişi tamamla falan saldırırız ama o iş öyle olmaması lazım işte. Bunun kargo parası var, müşteri memnuniyeti var. Bir bakıyorsun 499.99 tl ye satan mağazada 30 tl kargo çıkıyor 500 tl ye satan mağazada ise 5 tl. Hatta kimisi benden diyor yani gel al ben ödeyeceğim kargo ücretini. Alışverişi yaptın ürün kapına geldi aaaa bunun şarj cihazını göndermemişler. Sonra bir bakıyorsun ki telefonlarına çıkmıyorlar. Müşteri hizmetleri diye bir numara koymuşlar ama o müşteri siz değilsiniz sanki açan yok telefonu. Bir yerde yanlış yaptın neresi orası söyleyeyim hemen firmanın müşteri kitlesi memnun mu firmadan. Ben mesela mutlaka Google'ye Şikayet Var diye yazınca ilk siteden arattırırım. Firma hakkındaki şikayetler var mı yada hangi tarz şikayetler var. Müşterilere nasıl cevaplar veriyor. Müşterilerin geri dönüşü olumlu mu olumsuz mu. Çok önemli bir kavram. Sonuçta sektörümüz bilişim sektörü ve alacağımız ürün her sitede olmuyor. Bazıları ismini ilk defa duyduğumuz siteler olabiliyor. Bu yüzden Şikayetleri ve geri dönüşleri çok önemlidir. Bu dediklerim sadece e ticaret siteleri için değil yerel yada global firmaları da aratabilirsiniz.

Netice olarak diyeceğim şu eskiden pazardan alırdık donumuzu. Bel lastiklerine bakardık sıkar mı acaba diye hatta orada kabin olurdu girerdik denerdik. Şimdi denemek için bile kapıya getirtiyoruz ürünü. Flash bellek almak istiyoruz. Cebimizde 30 tl para var ama gidipte öyle 8 - 16 gb değil bize 32 gb flash lazım. Marka önemli değil. Firmalara bakıyorsun bakıyorsun 50 tl den aşağı yok. İnsanın içinde bir burukluk oluyor be. Hani sormak istiyor insan.

"Abi be 30 tl ye olur mu bu filaşş."

Visual Csharph XML Teknolojisi ile Döviz Kuru Çekme

Merhaba arkadaşlar.
Bugün döviz kuru çekeceğiz.
Döviz kurunu merkez bankasının xml servisinden alacağız. Bilmeyenler için döviz kuru xml sayfası

http://www.tcmb.gov.tr/kurlar/today.xml

XML okumak için önce xml referansını ekleyelim ve bu sayede .net companentlerinin faydasını görelim.

                    using System.Xml;
Sonra bu döviz kurunu listview e aktaracağımız için ekrana bi listview ekleyelim. Özellikleri şöyle olacak

19 Haziran 2014 Perşembe

Ağdaki Bilgisayarların Adlarını Öğrenmek

İş yerindesiniz ve elinizde ipler var. Siz gidip gidip bilgisayar ismine bakıyorsunuz. Oluyor mu? Tabi ki de olmuyor. Öncelikle yapmanız gereken şey basit. Kendi ip adresinizi öğreneceksiniz ve bu sayede de hangi bacaktan ipleri listeleyeceğini karar veriyorsun. Mesela ben 10.1.2.x kullanıyorum. Buna ek olarak istesem  10.1.3.x de kullanabilirim. Yani ağında hangi bacaklar kullanılıyor. Tek bacak kullanıyorsan işin basit. tek döngü ile işin biter ama 2 - 3 bacak kullanıyorsan hatta aynı anda farklı bloklar kullanıyorsan işin uzar gider. Size tek bacaklı bir ip blokundan anlatacağım.

Neyse önce ip adresimizi öğrenelim.

 System.Net.Dns.GetHostByName(Net.Dns.GetHostName).AddressList(0).ToString()

Bize ip adresimizi döndürüyor. Bu sayede sistemde hangi bacağı kullandığımızı öğreniyoruz. Şimdi split ile bloklar ayıralım.

 Dim bloklar() As String =  System.Net.Dns.GetHostByName(Net.Dns.GetHostName).AddressList(0).ToString().Split(".")

Bloklara ayırdık. şimdi ip blokları her biri byte den meydana geldiği için yani ip bloklarının her biri byte türündedir. Bu blokları for kodu ile byte.minvalue den byte.maxvalue ye kadar gezdirelim. Bu sayede kendi bloğumuzda bulunan bütün ipleri gezmiş olacaktır. sonrada bunları listboxumuza ekleyelim.

18 Haziran 2014 Çarşamba

Textbox Yazı Yazma Sihiri

Sihir mi değil mi bilmiyorum ama MYO da okurken hocamın gösterdiği ve çok hoşuma giden bir taktik göstermek istiyorum size.

Hani bazı programlarda textboxa yazıyı yazarken yazı rengi yeşil oluyo başka bir textboxa geçince o textboxun rengi yeşile dönüyo eski textbox normal halini alıyor. Bla bla bla. Projenize görsellik olarak hoşluk katacaktır.

Öncelikle olayları belirleyelim. Mesela Textboxa tıkladığımızda enter olayı meydana geliyor yani textbox a focuslanmışsın demektir. Neyse form üzerine textboxu attıktan sonra event kısmından enter olayına fare ile çift tıklayarak ekrana gelecek olan kodlara gerekli düzeltmeleri yapınız. Komutlar aşağıda.

17 Haziran 2014 Salı

Eventteki Sender ve E değişkenleri (object sender, EventArgs e)

Merhaba arkadaşlar.
Bu yazımda size Visual C# yada Visual Basic de butona çift tıkladığımızda
object sender, EventArgs e
değişkenlerinin ne işe yaradığını anlatacağım.

Öncelikle sender den başlıyorum.

Tıklanan bir butondan örnek vermek istiyorum anlatırken. Şimdi Buttona tıkladın. Object Sender o butonu temsil eder. Kısaca Nesneyi temsil ediyor. Sender objesini kendi türüne yani butonda butona, checkboxda checkboxa parse ederseniz daha rahat işlem yaparsınız. Çok detaya girmeden bir işlem yapacaksanız otomatik Control nesnesine pars etmenizi öneririm. Bu sayede aynı methodu birden fazla kontrolde kullanırken sorun yaşamazsınız. Yani checkbox ve textboxa enter(içine girdiğimizde) dediğimizde kalınlığını koyu yapıp leave(içinden ayrıldığımızda) eski inceliğine geri döndürebiliriz. Basit olsun diye butondan örnek vermek gerekirse aşağıdaki kodu bir inceleyin.


private void button_Click(object sender, EventArgs e)
{
    Button btn = (Button)sender;
    btn.Enabled = false;
}


13 Haziran 2014 Cuma

Okulda öğrendiğimiz gibi toplama yapan program

Bir çoğumuz hatırlar. Okulda toplamayı şema şeklinde yapardık. Örnek vermek gerekirse

      30
      40
+_____
      50

c# da yaparken ise genelde işlem hep arka planda otomatik hesaplar. Peki biz bunu tek tek nasıl hesaplarız?

Öyle bi mantık yürütmeliyiz ki program değil biz hesaplayalım. Elde olan sayıyı elinizde tutarak hesaplayalım. Bir blogda görmüştüm bu yapacağımız örnek bir yarışmada sorulmuştu. O zamanlar o yazı dikkatimi çekmemişti. Hatta hiç bakmadım bile girişi okudum puff dedim kapattım. Şimdi ise bir kahramanlık yapıp eskiden boş verdiğim bu programı yazmaya karar verdim. Sizinle de paylaşacağım ve tek tek satır satır hesaplayacağım. Adım adım anlatacağım.

11 Haziran 2014 Çarşamba

Merhaba Dünya

Console.WriteLine("Merhaba Okurlar.");

Print 'Blogumda C# ağırlıklı makale ve hayat ağırlıklı yazılar yazacağım'

Echo "Bu demek değil ki alternatifler de olmayacak.";

printf("Olacak elbet Mesela: VB.NET, ASP.NET, SQL, PYTHON, ACTION SCRIPT ve kodları aklımdan çıkmayan ama ismi aklımda durmayan nice diller.");

print("Bir yazılımcınn günlüğünü okuyacaksınız.")

document.write('Neyse. Şimdilik Herkese');

<html><body><p><b>Merhaba Dünya</b></p></body></html>