28 Şubat 2015 Cumartesi

C# ta Metin Okutma - Text To Speech












using System;
using System.Collections.Generic;

using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;

namespace text_to_speech
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }
        SpeechLib.SpVoice metniOku = new SpeechLib.SpVoice();
        private void button1_Click(object sender, EventArgs e)
        {
            metniOku.Speak(textBox1.Text, SpeechLib.SpeechVoiceSpeakFlags.SVSFDefault);
        }
    }
}
/*Not: Gerekli kütüphaneyi eklemek için menüden:
Project > Add Reference
yolunu izleyin.
Açılan pencerede COM sekmesine geçin.
Karşınıza gelen listeden Microsoft Speech Object Library‘yi bulup OK butonuna basın.*/

Paylaş:

26 Şubat 2015 Perşembe

C# Pil Göstergesi Yapımı















using System;
using System.Collections.Generic;

using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.Management;

namespace pil_seviyesi
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }

        private void RefreshStatus()
        {
            PowerStatus power = SystemInformation.PowerStatus;

            // Show the main power status
            switch (power.PowerLineStatus)
            {
                case PowerLineStatus.Online:
                    MainsPower.Checked = true;
                    break;

                case PowerLineStatus.Offline:
                    MainsPower.Checked = false;
                    break;

                case PowerLineStatus.Unknown:
                    MainsPower.CheckState = CheckState.Indeterminate;
                    break;
            }

            // Power level
            int powerPercent = (int)(power.BatteryLifePercent * 100);
            if (powerPercent <= 100)
            {
                BatteryIndicator.Value = powerPercent;
                label3.Text = "%" + powerPercent.ToString();
            }
            else
            {
                BatteryIndicator.Value = 0;
            }

            // Battery Remaining
            int secondsRemaining = power.BatteryLifeRemaining;
            if (secondsRemaining >= 0)
            {
                BatteryLifeRemaining.Text = string.Format("{0} Dk.", secondsRemaining / 60);
            }
            else
            {
                BatteryLifeRemaining.Text = string.Empty;
            }

            // Battery Status
            BatteryStatus.Text = power.BatteryChargeStatus.ToString();
        }

        private void Form1_Load(object sender, EventArgs e)
        {
            RefreshStatus();
            timer1.Enabled = true;
        }

        private void timer1_Tick(object sender, EventArgs e)
        {
            RefreshStatus();
        }
        //MainsPower checkbox
        //BatteryIndicator proggesbar
        //BatteryLifeRemaining label4
        //BatteryStatus label5

    }
}

Paylaş:

C# Console Mac Adresi Öğrenme

Not: Öncelikle Reference den System.Managament i Ekliyoruz...

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Management;

namespace Mac_adresi
{

    class Program
    {
        static void Main(string[] args)
        {
            string mac = Mac();

            if (String.IsNullOrEmpty(mac))
            {
                Console.WriteLine("Biglisayarınızda bir ağ bağdaştırıcısı bulunamadı.");
                System.Media.SystemSounds.Asterisk;//Sistem Sesi Cıkartma
            }
            else
            {
                Console.WriteLine("Mac adresiniz: {0}", mac);
            }
            Console.ReadKey();
        }
        static string Mac()
        {
            ManagementClass manager = new ManagementClass("Win32_NetworkAdapterConfiguration");
            foreach (ManagementObject obj in manager.GetInstances())
            {
                if ((bool)obj["IPEnabled"])
                {
                    return obj["MacAddress"].ToString();
                }
            }

            return String.Empty;
        }
    }
}

Paylaş:

C# İle İnternet Bağlantısı Kontrol Etme















using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;



namespace İnternet_bağlantısı
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }

        public static bool TcpSocketTest()
        {
            try
            {
                System.Net.Sockets.TcpClient client =
                    new System.Net.Sockets.TcpClient("www.google.com", 80);
                client.Close();
                return true;
            }
            catch (System.Exception ex)
            {
                return false;
            }
        }

        private void button1_Click(object sender, EventArgs e)
        {
            if (TcpSocketTest() == true)
            {
                label1.Text="İnternet Bağlantısı Var";
                label1.ForeColor = Color.Green;
            }
            else
            {
                label1.Text="İnternet Bağlantısı Yok";
                label1.ForeColor = Color.Red;
            }
        }
    }
}

Paylaş:

C# İle Sitelerin Kaynak Kodunu Çekme




















using System;
using System.Collections.Generic;
using System.ComponentModel;

using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.Text;
using System.Net;
using System.IO;

namespace site_kaynak_kodu
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }

        private void Form1_Load(object sender, EventArgs e)
        {

        }
        static string GetSourceCode(string url)
        {
            // web isteği oluştur
            HttpWebRequest req = (HttpWebRequest)WebRequest.Create(url);

            // gelen cevabı al
            HttpWebResponse resp = (HttpWebResponse)req.GetResponse();

            // cevapla gelen veriyi oku
            using (StreamReader sRead = new StreamReader(resp.GetResponseStream(), Encoding.UTF8))
            {
                // veriyi döndür
                return sRead.ReadToEnd();
            }
        }

        private void button1_Click(object sender, EventArgs e)
        {
            string document = GetSourceCode(textBox2.Text);//Sitenin adresi.
            textBox1.Text = document;
        }
    }
}

Paylaş:

C# Sayıları Binary' e ( İkilik Sisteme ) Çevirme














using System;
using System.Collections.Generic;

using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;

namespace binary
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }

        private void Form1_Load(object sender, EventArgs e)
        {

        }
        static string ToBinary(int number)
        {
            int mod;
            string result = string.Empty;
            while (number > 0)
            {
                mod = number % 2;
                number /= 2;
                result = mod.ToString() + result;
            }
            return result.PadLeft(8, '0');
        }

        private void button1_Click(object sender, EventArgs e)
        {
         
            int sayi = Int32.Parse(textBox1.Text);

            double binary = Convert.ToDouble(ToBinary(sayi));
            label2.Text = binary.ToString();
        }
    }
}

Paylaş:

SQL Nedir? SQL Kaydet, Sil, Güncelle Komutları

SQL NEDİR?

SQL bir veri tabanıyla iletişim kurmak için kullanılır. ANSI standardına göre ilişkisel veri tabanı yönetim sistemlerinin standart dilidir. SQL cümleleri, bir veri tabanındaki verileri güncellemek, veri tabanından veri çıkarmak, veri silmek vb için kullanılır.Çok bilinen bazı ilişkilsel veri tabanı yönetim sistemleri şunlardır: Oracle, Sybase, MS SQL Server, Access, Ingres... Her ne kadar çoğu veri tabanı yönetim sistemi SQL’i kullansa da çoğunun kendilerine özgü ek özellikleri vardır.

Standart SQL cümleleri, SELECT, INSERT, UPDATE, DELETE, CREATE ve DROP’tur.


TABLO KAVRAMI  

Bir ilişkisel veri tabanı sistemi (relational data base management system) bir veya daha fazla TABLO adı verilen nesnelerden meydana gelir. Veriler bu tablolarda saklanır. Tablolar, satır (“row”) ve sütunlar (“column”) dan meydana gelirler ve her tablonun benzersiz (“unique”) bir ismi vardır. Aşağıda örnek bir tablo görüyorsunuz.

DERSLER tablosu
Adı
Ogr. Uyesi
Sınıf
Kredi
Eğitimde Bilgi tekn.
Ali Ekin
1
3
Programlama Dilleri
Ahmet Yiğit
2
4
Ogretim Tasarımı
Oğuz Sak
3
2
Yazarlık Dilleri
Sema Yılmaz
3
4

Tabloda 4 satır, 4 kolon var.

VERİNİN SEÇİLMESİ

SELECT cümlesi bir veri tabanından verileri seçmek ve çıkarmak (“retrieve”) için kullanılır. SELECT cümlesinin formatı:

        SELECT “kolon1” [,kolon2”, vb]
    FROM “tablo adı”
    WHERE “koşul”];

[  ] : seçimlik anlamına gelir.


WHERE clause’da kullanılabilecek operatörler şunlardır:

=          eşittir
>          büyüktür
<          küçüktür
>=       büyük veya eşittir
<=       küçük veya eşittir
<>       eşit değildir
LIKE   --------------à LIKE çok güçlü bir operatördür. Belirttiğiniz şeye benzeyenleri seçer.
Örneğin

SELECT isim, soyadı
   FROM calisan
   WHERE soyadi LIKE ‘Er%’

Bu sorgu, soyadı ‘Er’ ile başlayan kayıtları seçer ve getirir.

Diğer bir örnek:

SELECT isim, soyadı
   FROM calisan
   WHERE soyadi LIKE ‘%s’;             Soyadı ‘s’   ile bitenleri seçer ve getirir.


Örnek tablo 

EMPINFO (Çalışan Bilgilerini tutan tablo)

First
Last
Id
Age
City
State
John
Jones
99980
45
Payson
Arizona
Mary
Jones
99982
25
Payson
Arizona
Eric
Edwards
88232
32
San Diego
California
MaryAnn
Edwards
882338
32
Phoenix
Arizona
Ginger
Howell
98002
42
Cottonwood
Arizona
Sebastian
Smith
92001
23
Gila Bend
Arizona
Gus
Gray
22322
35
Bagdad
Arizona
MaryAnn
May
32326
52
Tucson
Arizona
Erica
Williams
32327
60
Show Low
Arizona
Leroy
Brown
32380
22
Pinetop
Arizona
Elroy
Cleaver
32382
22
Globe
Arizona


Yukarıda tablo göz önüne alındğında aşağıdaki SQL sorgularının getireceği sonuçlar nelerdir? Düşününüz. Daha sonra, yukarıda verilen adreste sayfanın sonunda yer alan pencereden SQL Yorumlayıcıya girerek sistemin vereceği sonuçları inceleyiniz.


SELECT first, last, city

FROM empinfo;

SELECT last, city, age
FROM empinfo
WHERE yas < 30;

SELECT first, last, city, state
FROM empinfo
WHERE last LIKE ‘J%’;


SELECT * FROM empinfo;

SELECT first, last
FROM empinfo
WHERE last LIKE ‘%s’;


SELECT first, last, age
FROM empinfo
WHERE last LIKE ‘%illia%’;


SELECT *
FROM empinfo
WHERE first = ‘Eric’;


SELECT cümlesiyle ilgili sorgular:

Sorguları yazıp SQL Yorumlayıcıya girip çalıştırınız. Sonuçları tabloya bakarak kontrol ediniz.

1.      Tablodaki herkesin ilk ismini ve yaşını görüntüleyiniz.
2.      Payson’dan olmayan kişilerin ilk adını, soyadını ve şehrini görüntüleyiniz.
3.      40 yaşın üzerinde olan kişilerin tüm bilgilerini (tüm kolonlar) görüntüleyiniz.
4.      Soyadı ‘ay’ ile bitenlerin adını ve soyadını görüntüleyiniz.
5.      Adı ‘Mary’ olanları tüm bilgilerini görüntüleyiniz. 
6.      Adında ‘Mary’ geçenlerin tüm bilgilerinin görüntüleyiniz.

Yanıtlar: İngilizce notlar, s. 3-4.


TABLO YARATMA

CREATE TABLE cümlesi yeni bir tablo yaratmak için kullanılır. Formatı şöyledir:

CREATE TABLE “tablo adı”
   (“kolon1” “veri türü”[constraint],
    “kolon2”, “veri türü”[constraint],
  ........... );

Örnek:

CREATE TABLE calisan
    (adi varchar(15),
    soyadi varchar(20),
    yas number(3),
    adres varchar(30),
    sehir varchar(20) );

Tablo ve kolon isimleri bir harf ile başlamalıdır. Devamında ise harfler, rakamlar ve underscore karakteri “ _ “   bulunabilir. Uzunluk 30 karakteri geçmemelidir. SQL özel sözcükleri (SELECT, INSERT, CREATE vb gibi)  tablo ve kolon adı olarak kullanılamaz.

Bir kolona girilecek verilerle ilgili kurallar’a  “constraint” denir. Örneğin “unique” constraint’, tablodaki kayıtlarda bu kolona girilecek değerlerin benzersiz (“unique”) olması gerektiğini yani her hangi iki kolonda aynı değerin olamayacağı kuralını koyar. “primary key” constraint’i bulunduğu kolon değerinin tablodaki kayıtlara erişilirken birincil anahtar olarak kullanılmasını söyler. Birincil anahtar bildirimi yapıldıysa kayıtlara – sistem sıralı okuma yapmadan - doğrudan erişir. Birincil anahtar değerleri benzersiz olmalıdır. 

Tablo Yaratma Uygulaması

Bir şirkette çalışanların bilgilerini tutmak için bir tablo yaratılacak. Tablodaki bilgiler şunlar olacak:  adi, soyadi, unvan, yas, maas.

ÖNEMLİ: Tablonuza isim seçerken herkesin kullanmayacağı bir isim seçiniz. CALISAN_ogrenci numaranız gibi. Çünkü bu tablolara aynı veri tabanında yer alacaktır ve bir veri tabanındaki tablo isimleri benzersiz olmalıdır.
      Yanıt: İng. Notlar, s.6

     CREATE TABLE CALISAN_FILIZ
   (ADI VARCHAR(15),
    SOYADI VARCHAR(20),
    UNVAN VARCHAR(15),
    YAS NUMBER(2),
    MAAS NUMBER(8) );



TABLOYA EKLEME YAPMA (“INSERT”)

INSERT cümlesi tabloya veri eklemek için kullanılır.

INSERT INTO “tablo adı”

    (birinci kolon, ........, sonuncu kolon)
    VALUES(ilk değer,..........son değer);

Örnek:

INSERT INTO calisan
   (ad, soyad, yas, adres, sehir)
  VALUES (‘Ayşe’, ‘Yılmaz’, 30, ‘Papatya sokak. 25/2 Kızılay’, ‘Ankara’);

INSERT uygulamaları:

Yaratmış olduğunuz  tabloya aşağıdaki şu 3 çalışanı ekleyiniz. 

Ege Erdem, Programcı, 24, 5000
İpek Özgür, Analist, 26, 6000
Berrak Yılmaz, Sekreter, 25, 2000

Bunları ekledikten sonra kendiniz 5 çalışan daha ekleyiniz (yukardaki ünvanları kullanarak ve ayrıca birkaç başka ünvan daha ekleyerek).

Bu eklemelerden sonra şu işleri yapacak SELECT cümleleri giriniz:

1-     Tablodaki her çalışana ait tüm kolonları seçiniz.
2-     Maaşı 5000 ve üzeri olan çalışanlara ait tüm kolonları seçiniz.
3-     Yaşı 25’in üzerinde olanların ad ve soyadlarını seçiniz.
4-     Ünvanı programcı olanların ad, soyad ve maaşlarını seçiniz.
5-     Soyadı “r” ile bitenlerin tüm kolonlarını seçiniz.
6-     Adı “İpek” olanların soyadını seçiniz.
7-     Yaşı 80’in üzerinde olanların tüm kolonlarını seçiniz.
8-     Adında “e” harfi geçenlerin ad ve soyadlarını seçiniz.

Yanıtlar İng. Notlar s. 7’de


KAYITLARI GÜNCELLEME (“UPDATE”)

Kayıt güncelleme için UPDATE cümlesi kullanılır. Formatı şu şekildedir:

UPDATE “tablo adı”
SET “kolon adı” = “yeni değer” [, bir sonraki “kolon adı” = yeni 
                                değer”......]
WHERE “kolon adı” OPERATOR “değer”
       [AND | OR “kolon” değer” OPERATOR “değer”];

Örnekler:

UPDATE calisan
SET yas = yas + 1
WHERE isim = ‘Ayşe’ AND soyadi = ‘Yılmaz’;

UPDATE telefon_defteri
SET alan_kodu = 212
WHERE posta_kodu = 34340;

UPDATE calisan
SET maas = 7000, unvan = ‘veri tabani yöneticisi’
WHERE adi = ‘ege’ AND soyadi = ‘Erdem’;

UPDATE uygulamaları:

Her UPDATE’den sonra güncellemenizi teyit edecek bir SELECT cümlesi yazıp çalıştırınız.
(daha önce yarattığınız CALISAN_....tablosu kullanılacak)

1-     İpek Özgür, Ali Yıldırım ile evlendi; soyadını güncelleyiniz.
2-     Ege Erdem’in doğum günü oldu, yaşını 1 artırınız.
3-     Tüm sekretelerin ünvanı “Yönetici Asistanı” oldu; güncelleyiniz.
4-     4000 ve altında maaş alanlara 500 zam yapıldı; güncelleyiniz.

**  üç update cümlesi de siz yazıp çalıştırınız.

Yanıtlar İng. Notlar, s.8’de

KAYIT SİLME (“DELETE”)

DELETE “tablo adı”
    WHERE “kolon adı” OPERATOR “değer”
     [ AND | OR “kolon adı” OPERATOR “değer” ];

Örnekler:

DELETE FROM calisan;  ==è böyle yazıldığında tablodaki tüm satırlar silinir.

DELETE FROM calisan
   WHERE soyadi = ‘Yılmaz’;
DELETE FROM calisan
    WHERE adi = ‘İpek’ OR adi = ‘Canan’;


Delete uygulamaları

DELETE cümlelerinizin doğru çalıştığını görmek için SELECT cümlesi kullanınız.

1-     Ege Erdem firmadan ayrıldı, kaydını siliniz.
2-     7000’in üzerinde maaş alanlar bütçe kısıtlaması nedeniyle işten çıkarıldı. Bu kişileri tablodan çıkarınız.


** Kendiniz de iki DELETE cümlesi yazıp çalıştırınız.


TABLO SİLME

DROP cümlesi tabloyu ve tüm kayıtları silmek için kullanılır.

DROP TABLE “tablo adı”;


Drop uygulaması:

Yaratmış olduğunuz calisan_... tablonuzu siliniz. Silindiğinden emin olmak için bir SELECT kullanmaya çalışıp gelen mesajı inceleyiniz.
Paylaş:

C# CPU (İşlemci) Sıcaklığını Öğrenme









Not:Öncelikler Add Referencedeki .Net Sekmesinden System.Managament'i ekliyoruz...

using System;
using System.Collections.Generic;
using System.ComponentModel;

using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.Management;

namespace cpu_ısı
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }

        private void timer1_Tick(object sender, EventArgs e)
        {
            try
            {
                ManagementObjectSearcher searcher = new ManagementObjectSearcher("root\\WMI", "SELECT * FROM MSAcpi_ThermalZoneTemperature");

                foreach (ManagementObject queryObj in searcher.Get())
                {
                    Double temp = Convert.ToDouble(queryObj["CurrentTemperature"].ToString());
                    temp = (temp - 273) / 10.0;;
                    double Celsius = (temp - 32.0) * 5.0 / 9.0;
                    label2.Text = Celsius.ToString()+" C";
                }
            }
            catch (Exception ex)
            {
                label2.Text = ex.Message;
            }
        }

        private void Form1_Load(object sender, EventArgs e)
        {
           timer1.Start();
        }
    }
}
Paylaş:

17 Şubat 2015 Salı

Binary(İkilik sayı sistemi)

İkili sayılar sayıların 2 tabanında yazılmasıyla elde edilir. Dolayısıyla tüm sayılar 0 ve 1 rakamları kullanılarak ifade edilirler. Elektronik devrelerindeki kolay uygulanabilmeleri nedeniyle günümüz bilgisayarlarının neredeyse tamamında kullanılırlar.



Günlük hayatta sayıları ifade etmek için onluk taban [decimal] kullanılır. Bunun anlamı, her sayının 0, 1, 2, 3, 4, 5, 6, 7, 8 ve 9 rakamları kullanılarak ifade edilmesidir. Sayıların en sağındaki basamağına birler, ikincisine onlar ve üçüncüsüne de yüzler basamağı denildiği genel olarak bilinmekte.


Bilgisayarda binary
Bu basamaklara daha yakından bakıldığında sayıların çarpma ile ifade edildiği anlaşılacaktır. Örneğin 5, 5 × 100, yani 5 çarpı 10'un sıfırıncı kuvveti olarak düşünülebilir. Yani 5 × 1 = 5. 50'yi ele alırsak, 50 = 5 × 101 = 5 × 10. 5 bu defa onlar basamağında olduğundan bir sonraki kuvveti kullandık. Daha büyük bir sayı ile:

5834 = (5 \times 10^3) + (8 \times 10^2) + (3 \times 10^1) + (4 \times 10^0)
Özetle, her basamak 10'un bir kuvvetinin çarpımını ifade ediyor. Onluk sayı düzeneğinde, bu taban 10'dur. Bir basamakta kullanabileceğimiz rakamlar bitti mi, örneğin 99'a ulaştık mı, yeni bir basamak ekleyip 100'e geçiyoruz.

İkili sayılarda ise fark 10 yerine taban olarak 2'nin kullanılmasıdır. Dolayısıyla kullanabileceğimiz rakamlar 0 ve 1'dir. 0 ve 1'i kullandıktan sonra daha büyük sayıları ifade etmek için yeni basamak ekleyip tekrar 1'den başlanması gerekir.

Farklı tabanların kullanıldığı ortamlarda belirsizliği önlemek için sayıların sağ alt köşesine tabanları eklenir:

1_2 = 1 \times 2^0 = 1 \times 1 = 1_{10}
10_2 = (1 \times 2^1) + (0 \times 2^0) = 2 + 0 = 2_{10}
101_2 = (1 \times 2^2) + (0 \times 2^1) + (1 \times 2^0) = 4 + 0 + 1 = 5_{10}
 27902361 = 1101010011100000110011001
olarak ifade edilebilir.

Not:^0 bu türdeki ifadeler üs anlamına gelmektedir...

Bilgisayarlarımız da aynen bu şekilde Binary(ikilik) sistemler oluşturulmuştur. Bizim dilimizi bilgisayar anlayamaz ve bunun için de onların anlayacağı dilden yazılması gerekir. Ancak bunlara günümüzde gerek yok çünkü yazılım programları komutları ikilik sisteme otomatik çevirmektedir...
Paylaş:

Popüler

Son

Kategoriler