Mutex ile bir programın birden fazla açılması kontrol altında tutulur. Mutex bekçi gibidir. Bir kaynağa ulaşmaya çalışan bir uygulama varsa Mutex giriş iznini ona verir, ikinciyi reddeder.Kısacası bir program için tek kanal kullanılır. İkinci bir kanala izin verilmez.

.NET Framework’te Mutex sınıfı, System.Threading kütüphanesi altında bulunmaktadır. Overload edilmiş bu sınıfın constructörü, en çok 3 parametreli haliyle kullanılır.

İlk parametre bool türünde olup bu mutexti sahiplenmek için kullanılır. İkinci parametrede, bu mutex’i tekilleştirmek için bir isim verilir. Üçüncü parametre, mutex’in başarılı ve başarısız sonucunu bildiren değeri tutmak için kullanılır.

Program.cs yi kendimize göre şu şekilde düzenliyoruz:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Windows.Forms;
using System.Threading;

namespace MUTEX
{
 static class Program
 {
  /// <summary>
  /// The main entry point for the application.
  /// </summary>
  [STAThread]

  static void Main()
  {
   bool IlkOrnek;
   //Bir mutex nesnesi oluturalm.
   Mutex Mtx = new Mutex(true, "MyOrnekMutex", out IlkOrnek);
   if (!IlkOrnek)
   {
    MessageBox.Show("Bu program, zaten Çalışıyor.");
    return;
   }
   Application.Run(new Form1());
   GC.KeepAlive(Mtx);//Nesneyi kaldralm.
  }
 }
}

Etiketler : C# mutex program bir kere çalışsın
Kategoriler : C#
Yorumlar : 0 Yorum Yorum Yaz

Operatör konusunu kısa bir değindikden sonra şimdi ilk örneğimize başlıyalım. Öncelikle form alanımızı tanımlıyorum iki adet textbox ımız var, iki adet butonumuz ve 1 tane de label ımız var. Butonların özelliklerini şu şekilde değiştirelim.
button1 name:strTopla text: String Olarak topla
button2 name:intTopla text: Sayi Olarak topla
Şimdi ilk önce strTopla butonumuza çift tıklıyarak aşağıdaki kodları girelim:

Private void stringTopla_Click(object sender, EventArgs e)
{
label1.Text = textBox1.Text + textBox2.Text;
}


Programımızı çalıştırıpta textboxlara 1 ve 2 değerlerei girğimizde sonucun 3 değilde 12 olduğunu görürüz. Bunun sebebi string olarak topla işleminin birleştirmeden ibaret olmasıdır.

Şimdi ise intTopla butonumuza çift tıklıyarak aşağıdaki kodları girelim:

Private void intTopla_Click(object sender, EventArgs e)
{
int sayi1, sayi2;
sayi1 = Convert.ToInt32(textBox1.Text);
sayi2 = Convert.ToInt32(textBox2.Text);
label1.Text = (sayi1 + sayi2).ToString();
}

Kodları incelediğimizde Convert.ToInt32 ile textboxlara yazılan değerleri sayı ya çeviriyoruz. label kısmında ise bu sayıları toplayıp string e ceviriyoruz. stringe çevirmemizin sebebi ise label1.Text in string olmasıdır. Esasında dikkat ederseniz oradada bir atama yapıyoruz. label1 in Text özelliğine sayi1 ve sayi2 nin toplamını stringe cevirip atıyoruz.

Önemli Not: textboxlara yazı girip intTopla butonuna tıkladığımızda programımız harfleri sayıya ceviremeyeceği için hata verecektir. Bunu engellemenin yollarını İleride göreceğiz. 

 

F#

15
Jul

F Sharp, .Net framework'e altyapi olmasi için tüm .Net dilleri ile beraber çalisacak sekilde Microsoft tarafindan gelistirilen fonksiyonel programlama dilidir.

Fonksiyonel Programlamayı kısaca açıklayacak olursak. Fonksiyonel programlama bir programın tamamen fonksiyonlardan oluşmasını öngören programlama yöntemidir.Fonksiyonel programlamlar kendi sonucunu hesaplamaktan başka bir etki üretmez. Bu bir çok bug in oluşmasını engelledigi gibi, hiç bir yan etkinin önceden tanımlanmış deyimlerin değerini değiştirememesini ve fonksiyonların istenilen her hangi bir zamanda çalıştırılmasını sağlar ve sıralı işlem mantığınında dışında kalır. Fonkiyonel programlar, atama deyimleri içermedigi gibi değişkenlere verilen bir değer bir daha değiştirilemez. Fonksiyonel programlarin en iyi örnekleri, MATLAB, OCaml ve ML dir.

Devamı...

Programımızda değişkenlere değer atama işlemlerini, matematiksel işlemleri, karşılaştırma işlemlerini, ve, veya gibi şart gerektiren kısımları operatörler aracılığı ile yapıyoruz. Operatörler Matematiksel işlemleri yapan Aritmetiksel operatörler ve karşılaştırma ve atama işlemlerinde kullanılan Mantıksal operatörler olarak iki kısma ayrılır.
Operatör tablosu aşağıda verilmiştir,

Devamı...

Merhaba Arkadaşlar bu yazımızda ilk kodumuzu yazacağız. Hatırlayacağınız gibi Visual Studio 2008 in tanıtımında Proje olusturmayı, toolbox daki araçları sürükle bırak yöntemi ile form arayüzüne yerleştirmeyi, ve kod alanımıza geçmeyi anlatmıstım. Bu sefer ilk kodumuzu yazıp form alanında uyarı ifadesi çıkarma ve temel yazısal işlemleri yapacağız

Devamı...