C# Tıklanan Button'un Rengini Değiştirmek Renk İşlemleri

C Sharp ta Renk işlemleri nasıl yapılır tıklama işlemini almak programlama kısaca anlatımı.

C#_Kapak_Resim

    Diyelim ki elimizde birden fazla button var ve biz bunları ortak bir fonksiyona bağladık ve aynı işlevleri yapıyorlar ama hangi button'a tıklandığımızı bilmiyoruz. Bunu öğrenmek için gereken kod;

              Button btn = (sender as Button);

     Eğer bu kodu click eventine yazarsak bu eventi hangi button kullandığını öğreniyoruz. Bu sayede birden çok aynı işlevli buttondan hangisine tıkladığımızı öğrenebiliriz.

     Şimdide istersek renk değişmi veya farklı işlemleri bu button üzerinde uygulayabiliriz.

              btn.BackColor = Color.Red;

    Şimdide bir örnek programla bu konuyu pekiştirelim;

    Bir yarışma oyunu olduğunu düşünelim 4 şık var ve 4 buttonuda aynı click eventine bağladık.
     
        private void button1_Click(object sender, EventArgs e)
        {
            Button btn = (sender as Button);//hangi buttuna tıklandığını öğreniyoruz.
            btn.BackColor = Color.Yellow;//Tıklanan şıkkın rengini sarı yapıyoruz
            Application.DoEvents();//Thread'den dolayı donmayı önlemek için
            Thread.Sleep(400);//Sarı renk 400 milisaniye gözükcak
            if (degerlendir())//Eğer Doğru şıksa
            {
                btn.BackColor = Color.Green;//Rengi yeşil oluyor
            }
            else 
            {
                btn.BackColor = Color.Red;//Yanlışsa Kırmızı oluyor
            }

        }
         public bool degerlendir()
        {
            //buraya nasıl değerlendirceği yazılcak eğer doğruysa true döndercek yanlışsa false
            return true;
        }
   

C# Registry İşlemleri Windows Kayıt Defteri Erişimi Kod Yazma

Registry Nedir? Windows sisteminin ve uygulamalarının ayarlarının tutulduğu kısımdır. Bu kısımda dosya uzantıları,varsayılan uygulamalar vb. hakkında dolu bilgi mevcuttur. Bizler de yaptığımız uygulamanın bazı verilerini burada saklayabiliriz ama bu kısımda kullanıcı ad, şifre ve serial gibi önemli bilgileri saklamak tehlikelidir. Yani uygulamamız için küçük verileri saklamak için idealdir. Peki Registry' ye nasıl erişebiliriz. Yapmamız gereken Başlat>Çalıştır 'ı açıp regedit yazıp tamam diyerek ulaşabiliriz.      

Csharp_islemler
       
    
 C#'da Registry Program Kodları
 
Bizde bugün Csharp da Registry ile yeni bir dizin, değer oluşturma silme vb. işlemleri yapacağız. İlk önce C# da bu kısıma erişebilmek için Microsoft.Win32 referance' ımızı eklememiz gerekecektir.
      Bir tane RegistryKey komutu oluşturalım.
      RegistryKey key;

       -CreateSubKey komutu
      Bu komutla registryde istediğimiz yere dizin açabiliriz.
      key = Registry.CurrentUser.CreateSubKey("SOFTWARE\\Reha Studio");
      böylece Hkey Current User\\Software  dizinine Reha Studio adında dizin oluşturduk

      -SetValue komutu
      Bu komutla yeni bir değer oluşturabilir yada olanı değiştirebiliriz.
             key.SetValue("reha", "c#");
      Reha Studio dizinimize reha adında bir değer tanımlıyoruz ve valueside c#
   
      -GetValue komutu
      Bu komutla var olan değerin value'sini öğrenebiliriz.
             key.GetValue("reha");

      -GetValueNames() komutu
      Bu komutla dizindeki bütün değerlere ulaşabiliriz.
             string[] degerler = key.GetValueNames();
      Ve degerler dizisine bakarsak reha değerini görebiliriz.

      -DeleteValue komutu
      Dizindeki belirtilen değeri siler
             key.DeleteValue("reha");
      reha değerini silecektir.

      -Name komutu
      Bu komutla birlikte Registrydeki konumumuzu öğreniriz.
             string konum = key.Name;

      -DeleteSubkey komutu
      Bu komutla dizinimideki alt bir dizini silebilriz.
             key.DeleteSubKey("alt_dizin");

C# Kim Milyoner Olmak İster Oyunu Yapma Bölüm 1

C# ile oyun programlama eğitim seti oyun nasıl yapılır csharp da döngüleri kullanmak örnek program kodları



Program yazmak özgürlük isteğimizin dışa vurması gibidir. Tüm hayalleri düşüncelerini aktarmak. Kabuğunuzu kırmalısınız yapmam bilmiyorum demektense. Risk altına girin göreceksiniz başladığınız o iş her gün daha iyiye gidecektir. Her seferinde kendinizini bir üstüne çıkacaksınız inanın buna ve kodlamaya başlayın.

C# da Kelimeyi Belirli Bir Karaktere Göre Parçalamak

CSharp programlama dilinde belirli bir kelime yada cümle parçasını her hangi bir karaktere göre parçalamak isteye biliriz bunu yapmak çok kolay yapılan işlem sonucu elimizde parçalanan cümleden geriye dizi halinde string parçaları elimizde olacaktır.

C# split

C# Kelimeleri istenilen bir karaktere göre parçalayan Örnek Program kodları
C Sharp da Split Fonksiyonu kullanımı

string kelime = "parçalanacak olan metin";
string [] parcalar;
parcalar = kelime.Split(' ');


Yukarıdaki kodda asıl paçalama işini Split() fonksiyonu yapmaktadır. Tırnak işaretlerinin içine yazacağımız her hangi bir kelime yada boşluk a göre parçalama işlemini yapacaktır yukarıdaki boşlukta boşluk karakterine göre tüm cümleyi diziler haline dönecektir.

Oluşacak olan diziler

parçalamak
olan
metin 

Ses Verisi Dosyaları Bilgisayarda Nasıl İşlenir

Her gün dinlediğimiz yüzlerce müzik dosyası bilgisayarlar tarafından nasıl işlenip duyduğumuz hale getiriliyor ses dosyaları nasıl programlanıyor ses dosyası dönüşümleri nasıl yapılıyor ve hangi teknolojiler kullanıyor. 
Bilgisayarlarda ses forma tında veri oluşturmak için gelen ses dalgalarını ve voltajını ADC denile Analog u dijitale çevirme yapılır bu cihaz sayesinde dönüşen ses veri tipleri bilgisayar mikroişlemcilerin anlayacağı 1 ve 0 lara makine koduna dönüşür dijital olan bu veriyi mikroişlemci işledikten sonra DAC denilen zıt işlem yapılarak Hopörlör gibi çıkış aygıtlarına Analog sinyal olarak ses dalgası olarak gönderir. böylece sürekli ses çıkaran bilgisayarlarımız ses dosyası üretmiş olur.

Ses verisi

Elde edilen Ses verileri üzerinde sıkıştırma işlemleri uygulanarak MP3 gibi türler üretilmektedir. 

C# ArrayList'i Harfe Göre Sıralama

Array list de sıralama yapmak harf harf sırlama yapmak C# 

C#_arraylist
Csharpta Arraylistteki itemleri harf sırasına göre sıralamak
C# array liste program örneği
program yazma listeler c sharp da array list nasıl oluşturulur. Elimizde olan bir listeyi diziyi harf e göre nasıl sıralama yapabiliriz



C# da array list alfabetik sıralama kodu

Gereken kütüphaneler
using System.Collections;

public ArrayList liste = new ArrayList();
public void islem()
        {
           IComparer comp = new myreservedclass();
           liste.Sort(0, liste.Count, comp);
        }

public class myreservedclass : IComparer 

        {//sırala
            //
            int IComparer.Compare(Object x, Object y)
            {
                return ((new CaseInsensitiveComparer()).Compare(x, y));
            }
        }

C++ dilinde + operatörüne aşırı yüklenme iki string i birleştirme

C++ dilinde operatörlere aşırı yüklenmesi ne demektir

C++ dili normal kullandığımız +,-,*,++,-- vs gibi operatörleri normal kullanım dışında da istediğimiz gibi kullanmamıza olanak sağlamaktadır. normalde iki int , flot , double gibi sayıyı toplamamızı sağlayan + operatörünü normal kullanımı dışında da kullanmamıza olanak sağlamaktadır. Örneğin ++ operatörü her kullanışımızda kullanıldığı sayıyı 1 artırmaktadır biz operatörlere aşırı yüklenerek +5 artmasını sağlaya biliriz. Kendi struct türümüzden olan yada class elemanlarımız için operatörleri istediğimiz gibide kullanabiliriz.

C++ dilinde iki char degişkenini + operatörünü kullanarak birleştirme

Class ımızın içinde bulunan İki tane char değişkenimizi + operetörünü kullanarak tekbir değişkene atacağız char kelime + char kelime2 yaparak tek bir kelime yapacağız.
c++ dilinde operatörlere aşırı yüklemek için operator tümcesini kullanıyoruz

c++ iki yazıyı birleştirme örneği


#include <iostream>
#include <conio.h>
#include <stdlib.h>
using namespace std;

    class kelime{
          private:
               char str[80];
          public:
                kelime(){ strcpy(str, "");}      
                kelime(char s[]){ strcpy(str, s) ; }
                void goster()  { cout << str; }  
                kelime operator+ (kelime ss) const{   // aşırı yükleme 
                       kelime temp;
                       if(strlen( str) + strlen(ss.str) < 80 ){
                            strcpy(temp.str , str);
                            strcat(temp.str , ss.str);
                       }else{
                             cout << "\n kelime büyük" ; exit(1);      
                       }
                       return temp;
                }         
    };
    int main(){
        kelime s1 = "merhaba";
        kelime s2 = "dunya";
        kelime s3;
            s3 = s1 + s2;
            s3.goster();
        
        getch();
        return 0;    
    }
c++ asiri yukleme




C# ile Parametre Desteği Ekleme

C# dilinde Parametre ekleme kodları örnek kod

c# paremetre

C# dilinde programlama örnek uygulama ve C# paremetre desteği ekleme örnek kodlar İlk başta Solution Explorerden Program.cs yi açıyoruz

/// <summary>
        /// The main entry point for the application.
        /// </summary>
        [STAThread]
 static void Main(string[] args)

        {
            Application.EnableVisualStyles();
            Application.SetCompatibleTextRenderingDefault(false);
            if (args.Length != 0)
            {
                if (args[0] == "-ac") Application.Run(new Form1());
                else System.Windows.Forms.MessageBox.Show("Program Açılamadı");
            }
     
        }
//Peki bunu nasıl kullancaz
Ya çalıştırdan programı açıp kullanabiliriz











Yada başka bir projemizdeyken bu programdaki bi işlevi kullanmamız gerekti o zaman da Process komutuyla bu programa o işlevi yaptırabiliriz.










C dilinde recursive fonksiyonlar ve çarpım tablosu yapımı

Recursive fonksiyon nedir nerelerde kullanılır, recursive fonksiyon nasıl yazılır recursive fonksiyon yazmanın avantajları

recursive_fonksiyon

Bilgisayar Programcılığında ve hayatımızda da  kullandığımız bu fonkisyon çeşidi ile algoritma geliştirme yeteneğimizi arttırmamıza yardımcı olan ve zihnimizi geliştirmeye yarar.

Recursive Fonksiyonlara kendi kendini çağıran (öz yenileme) fonksiyonlar denir yani bir fonksiyon aynı işlemi tekrardan yapmak için bir kez daha çalışmaya başlar. Tabi bu kendini çağıran fonksiyon çağırdığı fonksiyonun işlemini tamamlaması sonrası çalışmasına kaldığı yerden devam eder.

Recursive fonksiyon yazılır iken bu işlemin olmazsa olmazı bir koşul - şart ( if ) yapısını bulunması lazım yoksa recursive fonksiyonlar sonsuz döngüye girer (sürekli kendi kendini çağırır).

Recursive fonksiyonun avantajları olarak ise diğer döngülerden daha hızlı çalışmasıdır.

recursive fonksiyon ile programlarımızı daha basit bir hale getirmeye çalışırız.

Recursive fonkisyon örneği

C dilinde Recursive fonksiyon ile çarpım tablosu yapımı

#include <stdio.h>
#include <conio.h>

int b = 1;
int recursive_fonksiyon()      //recursive fonkisyonumuz
{  
    int a;
    for(a = 1 ; a < 10 ; a++)
        {
            printf("%d" , a*b);
            printf(" ");

            if(a == 9 )
            {
                 printf("\n");
                 b++;
                      if(b > 9){              // fonkisyondan çıkmak için şart
                      return true;       
                      }
                 recursive_fonksiyon();   // kendini çağırıyor
            }
          }
    }

int main(void)

{
    recursive_fonksiyon();   
    getch();
    return 0;
}

rucursive_carpim_tablosu

C# da Struct Kullanımı, C# struct yapısı nasıl oluşturulur


c# struct nedirc# struct yapısı nasıl oluşturulur.

c#_struct

c# da struct veri tipi  çok kullanılışlı olup kendi bize kendi veri tipimizi oluşturmaya imkan sağlıyor aşağıdaki örnekte ürün_adı ve fiyatı na sahip olan bir struct yapısı bulunmaktadır.

                     public struct Ürünler
                     {
                           public string ürün_adı;
                           public int fiyatı;
                     }
                     private void Form1_Load(object sender, EventArgs e)
                    {
                          Ürünler ürün = new Ürünler();
                          ürün.ürün_adı = "pizza";
                          ürün.fiyatı = 15;
                          //veya bir dizide oluşturabiliriz
                          Ürünler[] ürünler = new Ürünler[2];
                          ürünler[0] = new Ürünler() { ürün_adı="pizza",fiyatı=15};
                          ürünler[1] = new Ürünler();
                          ürünler[1].ürün_adı = "Hamburger";
                          ürünler[1] fiyatı = 8;
                     }

C dilinde header file dosyası kullanımı,C++ header.h


c++ heider.h
dosya.h heider file 

  

      Geçenlerde karşılaştığım bir hataya çözüm bulmak için uğraşırken öğrendiğim bir konuyu size anlatmak istedim C++ dilinde bir header file dosyası içine #include "bilgi.h" diye başka bir header file dosyasını çağırır ken hata alıyordum hatanın sebebi ise bilgi.h dosyasını daha önceden main in bulunduğu dizinde çağırmam yani bilgi.h dosyasını bir den fazla çağırmış olmamdan kaynaklanıyordu.
        Biraz araştırdıktan sonra henüz bize okulun 1. sınıfında anlatmadıkları bir konu ile karşılaştım makro denilen konular ön işlemci komutları.
       Bu sorunun çözümü için daha önceden bilgi.h dosyasını tanımladığım için yeni bir tanımlamada bir kontrol yapmam gerekiyor bu kontrol

C dilinde fonksiyon örnekleri, C dilinde fonksiyonların kullanımı

     C dili programcılıkta çok önemli bir dildir. C dili ile bir çok program yazılmıştır bende size fonksiyonların aldıkları değerler ile ilgili örnekler vererek bir şeyler anlatamaya çalışacağım.

C dili öğrenme;


c dili fonksiyonlar
Örnek C dili kodları