28 Mart 2016 Pazartesi

C# Bileşik,Basit Faiz hesaplama

C# Bileşik , Basit Faiz Hesaplama


faiz lab


Sizden bileşik faizi hesaplayan bir program yapmanız isteniyor. Bildiğiniz gibi Bileşik faiz, bir birim dönemde elde edilen anapara ve faiz toplamının sonraki birim dönemlerde hesaba anapara olarak katılarak bu yeni tutar üzerinden faiz hesaplanmasıdır. Bu şekilde birinci dönemden sonra faizin de faizi ödenmektedir. Aşağıdaki formüle göre hesaplanabilir. Not birim süre yıl temellidir.


Formülü;

Buna göre

a: ana para
i: faiz
n: süre

Faiz Tutarı = a * (1 + i)^n

ana para: 10.000 (a)

faiz: %10 (i)

süre: 2 yıl (n)

ilk yıl sonundaki ana para + faiz;

10.000*0,1 + 10.000 = 11.000

ilk yılın sonundaki ana para + faiz tutarını yine aynı faiz oranından bir yıl daha faize yatırırsak ikinci yıl sonunda;

11.000*0,1 + 11.000 = 12.100

Sizden basit faizi hesaplayan bir program yapmanız isteniyor. Bildiğiniz gibi basit faiz, belli bir paranın belli bir dönem kullandırılması sonucu elde edilen normal faizi ifade eder. Not birim süre yıl temellidir.

Basit faiz aşağıdaki formüle göre hesaplanır;

Faiz Tutarı = Anapara x Faiz Oranı x Birim Süre

10.000,00 x 0,02 x 3 = 600,00 TL  olacaktır.

Förmülde bulunan parametrelere göre arayüzünüzü ve isimlendirmelerinizi yapınız. Program içerisine gerekli “Exception Handling” mekanizmalarını koyunuz.  Süre Ay yada Yıl olarak seçilebilir. Program şu şekilde çıktı vermelidir.

XXX.XXX,XX TL  ana para, yıllık % Y faiz oranıyla, N Yıl dönemlerle faiz hesaplanarak N Yıl sonunda toplam GGG.GGG,GG TL faiz getirir.
Toplam ele geçecek miktar ZZZ.ZZZ,ZZ TL olur.

c# bileşik,basit faiz hesaplama

Çözüm :

faiz lab

 

Saf kod

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using static System.Windows.Forms.MessageBox;

namespace _152120121048_OZANMANAV_FaizLab
{
public partial class Form1 : Form
{
private InterestCalculator intCalculator;
public Form1()
{
InitializeComponent();
intCalculator=new InterestCalculator();
}
private void btnHesapla_Click(object sender, EventArgs e)
{
try
{
double a = Double.Parse(txtAnaPara.Text);
double i = Double.Parse(txtFaiz.Text);
double n = Double.Parse(txtSure.Text);
if (a < 0 || i < 0 || n < 0)
{
throw new Exception();
}
double faiztutari = 0;
double sontoplam = 0;

if (rbBilesikFaiz.Checked == true)
{
faiztutari = intCalculator.BilesikFaizHesapla(a, i, n);
txtSonuc.Text = a + @" TL ana para, yıllık % " + i + @" faiz oranıyla, " + n +
@" Yıl dönemlerle faiz hesaplanarak " +
n + @" Yıl sonunda toplam" + (faiztutari - a) + @" TL faiz getirir." +
@" Toplam ele geçecek miktar " + faiztutari;
}

if (rbBasitFaiz.Checked == true)
{
faiztutari = intCalculator.BasitFaizHesapla(a, i, n);
txtSonuc.Text = a + @" TL ana para, yıllık % " + i + @" faiz oranıyla, " + n +
@" Yıl dönemlerle faiz hesaplanarak " +
n + @" Yıl sonunda toplam " + faiztutari + @" TL faiz getirir." +
@" Toplam ele geçecek miktar " + (faiztutari + a);
}

}
catch (FormatException)
{
MessageBox.Show("Lütfen Boş bırakmayınız veya Karakter girmeyiniz");
}
catch(Exception)
{
MessageBox.Show("Lütfen negatif değer girmeyiniz");
}
}
}
}

 

Proje Olarak İndir

İndir

 

 

22 Mart 2016 Salı

C# Maclaurin Series Calculator

C# Maclaurin Series Calculator 


Maclaurin serileri günümüz, fonksiyon sonuçlarına yaklaşımda bulunmak amacıyla yoğun olarak kullanılmaktadır. Sizden istenen aşağıdaki resimde verilen form uygulamasını gerçekleştirmenizdir.

[caption id="attachment_177" align="aligncenter" width="272"]C# Maclaurin Series Calculator C# Maclaurin Series Calculator[/caption]

Bu uygulama kullanıcıdan:
1. Yaklaşımda bulunulması istenen fonksiyonu seçmesini (Equation: ComboBox)
2. İstenilen input değerinin (x) girilmesini (Input: TextBox)
3. Eğer kullanılacak olan fonksiyon trigonometrik bir fonksiyon ise, input olarak girilen değerin
derece olarak mı, yoksa radyan olarak mı verildiğinin belirtilmesini (RadioButtons)
4. Hesaplama sırasında maximum kaç iterasyando tamamlanması gerektiğini (Max Iteration
CheckBox & TextBox)
5. Hesaplama sırasında göz önünde bulundurulması gereken eşik değerini (Thresshold CheckBox
& TextBox)
Alacak ve Calculate butonuna basıldığında verilen parametrelere uygun olan sonucu oluşturacak ve
sonucu bir MessageBox da gösterecektir.
Equation ComboBox:
Bu ComboBox hesaplanacak fonksiyonun seçilmesinde kullanılır. Sizden istenen fonksiyonlar şu
şekildedir.
 exp(x)
 1/(1-x)
 1/((1-x)^2)
 sin(x)
 cos(x)
 arcsin(x)
 arccos(x)
 sinh(x)
 cosh(x)
Kullanıcı bu ComboBox ın içeriğini her değiştirdiğinde, derece/radyan seçimi yapılan radio Buttonların
Enable durumu güncellenecektir.
Max Iteration:
Max iteration hesaplama sırasında kullanılacak olan terim sayısını göstermektedir. Örneğin 5 girilen
max iteration değeri için exponential fonksiyonuna yaklaşılmak isteniyorsa. Maclaurin serisinin ilk 5
terimi toplama dahil edilip sonuç oluşturulacaktır. Bu TextBox ın Enable durumu yanındaki CheckBox
ın Check olma durumuna bağlıdır.
Thresshold:
Thresshold değeri hesaplamanın sonlanmasını belirleyen bir başka parametredir. Eğer herhangi bir
iterasyonda, ilgili iterasyona ait elemanın değeri Thresshold değerinin altındaysa, hesaplamaya devam
etmenin gerek olmadığı anlamına gelir. Mevcut sonuç geri döndürülür. Bu TextBox ın Enable olma
durumu yanındaki CheckBox ın Check olma durumuna bağlıdır.

In English :
C# Maclaurin Series Calculator
Maclaurin series today, the function has been used extensively in order to approach the problem. You is your realization of the desired application form given in the picture below.
This application user to:
1 to select the desired function in the presence of Approach (Equation: ComboBox)
2. Select the desired input value (x) to be entered (Input: TextBox)
3. The function of a trigonometric function which will be used if the value entered as input
Have a degree, or to specify that it be given in radians (RadioButtons)
4. During my maximum number of calculations that need to be completed iterasyando (Max Iteration
CheckBox & TextBox)
5. the threshold that must be taken into account during the calculation (Thresshold checkbox
& TextBox)
Receivables and create the results will conform to the parameters and pressing the button Calculator
the results will show a MessageBox.
Equation ComboBox:
The ComboBox is used to select the function to be calculated. You requested the following functions
It is such.
 exp (x)
 1 / (1-x)
 1 / ((1-x) ^ 2)
 sin (x)
 cos (x)
 arcsin (x)
 arccos (x)
 sinh (x)
 cosh (x)
When the user ComboBox The contents of each change, degrees / radians selection has been made of the radio Button
Enable status will be updated.
Max Iteration:
Max shows iteration of the number of terms that will be used during the calculation. For example, 5 entered
If asked to approach the exponential function for maximum iteration value. The first of the series of Maclaurin 5
Term results are included collection will be created. This TextBox checkbox next to Enable status
s depends on the status check.
Thresshold:
Thresshold value is another parameter that determines the ending of the calculation. If you have any
In iteration, Thresshold value is below the value of the related elements of the iteration continues computing
It means that there is no need of transport. The present result is returned. Enable the fact that this TextBox
status depends on the status check checkbox next to s.

[caption id="attachment_178" align="alignnone" width="399"]C# Maclaurin Series Calculator C# Maclaurin Series Calculator[/caption]

ÇÖZÜM/Solution:

Proje indir / Project Download: https://www.dropbox.com/s/bj551w6531ll5sd/SeriesCalculatorProject.rar?dl=0

c# Maclaurin Series Calculator

Saf Kod / Pure Codes:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace SeriesCalculatorProject
{
public class SeriesCalculatorHelper
{

private const String EXP = "exp(x)";
private const String POLY1 = "1/(1-x)";
private const String POLY2 = "1/((1-x)^2)";
private const String SIN= "sin(x)";
private const String COS = "cos(x)";
private const String ARCSIN = "arcsin(x)";
private const String ARCCOS = "arccos(x)";
private const String SINH = "sinh(x)";
private const String COSH = "cosh(x)";

public SeriesCalculatorHelper()
{
}

public bool IsTrigonometric(string funcText)
{
return funcText.Equals(SIN) || funcText.Equals(COS) || funcText.Equals(SINH) || funcText.Equals(COSH);
}

public Double CalculateResult(string equationType, double x, int maxIteration, double thressHold)
{
Double result = 0;
switch (equationType)
{
case EXP:
result = CalculateExponential(x, maxIteration, thressHold);
break;
case POLY1:
result = CalculatePoly1(x, maxIteration, thressHold);
break;
case POLY2:
result = CalculatePoly2(x, maxIteration, thressHold);
break;
case SIN:
result = CalculateSin(x, maxIteration, thressHold);
break;
case COS:
result = CalculateCos(x, maxIteration, thressHold);
break;
case ARCSIN:
result = CalculateArcSin(x, maxIteration, thressHold);
break;
case ARCCOS:
result = CalculateArcCos(x, maxIteration, thressHold);
break;
case SINH:
result = CalculateSinH(x, maxIteration, thressHold);
break;
case COSH:
result = CalculateCosH(x, maxIteration, thressHold);
break;
default:
break;
}

return result;
}

private double CalculateExponential(double x, int maxIteration, double thressHold)
{
double result = 0;

for (int n = 0; n < maxIteration; n++)
{
double currentValue = Power(x, n) / Factorial(n);
result += currentValue;

if (Math.Abs(currentValue) < thressHold) break;
}

return result;

}
private double CalculatePoly1(double x, int maxIteration, double thressHold)
{
double result = 0;

for (int n = 0; n < maxIteration; n++)
{
double currentValue = Power(x, n);
result += currentValue;

if (Math.Abs(currentValue) < thressHold) break;
}

return result;
}

private double CalculatePoly2(double x, int maxIteration, double thressHold)
{
double result = 0;

for (int n = 1; n <= maxIteration; n++)
{
double currentValue = n * Power(x, n - 1);
result += currentValue;

if (Math.Abs(currentValue) < thressHold) break;
}

return result;
}

private double CalculateSin(double x, int maxIteration, double thressHold)
{
double result = 0;

for (int n = 0; n < maxIteration; n++)
{
double currentValue = ( Power(-1, n) / Factorial(2*n + 1) ) * Power(x, 2*n + 1);
result += currentValue;

if (Math.Abs(currentValue) < thressHold) break;
}

return result;
}

private double CalculateCos(double x, int maxIteration, double thressHold)
{
double result = 0;

for (int n = 0; n < maxIteration; n++)
{
double currentValue = (Power(-1, n) / Factorial(2 * n)) * Power(x, 2 * n);
result += currentValue;

if (Math.Abs(currentValue) < thressHold) break;
}

return result;
}

private double CalculateArcSin(double x, int maxIteration, double thressHold)
{
double result = 0;

for (int n = 0; n < maxIteration; n++)
{
double currentValue = ((Factorial(2*n))/(Power(4, n)*Power(Factorial(n), 2)*(2*n + 1)))*
Power(x, 2*n + 1);
result += currentValue;

if (Math.Abs(currentValue) < thressHold) break;
}

return result;
}

private double CalculateArcCos(double x, int maxIteration, double thressHold)
{
return (Math.PI/2) - CalculateArcSin(x, maxIteration, thressHold);
}

private double CalculateSinH(double x, int maxIteration, double thressHold)
{
double result = 0;

for (int n = 0; n < maxIteration; n++)
{
double currentValue = Power(x, 2*n + 1)/Factorial(2*n + 1);
result += currentValue;

if (Math.Abs(currentValue) < thressHold) break;
}

return result;
}

private double CalculateCosH(double x, int maxIteration, double thressHold)
{
double result = 0;

for (int n = 0; n < maxIteration; n++)
{
double currentValue = Power(x, 2 * n) / Factorial(2 * n);
result += currentValue;

if (Math.Abs(currentValue) < thressHold) break;
}

return result;
}

private int Factorial(int number)
{
if (number <= 1) return 1;

int result = 1;

for (int i = 2; i <= number; i++)
{
result *= i;
}

return result;

}

private Double Power(double x, double n)
{
return Math.Pow(x, n);
}

}
}

c# Maclaurin Series Calculator
c# Maclaurin Series Calculator

 

 

14 Mart 2016 Pazartesi

C# Dizi sıralama (TextBox'a girilen değerlere göre)

C# Dizi sıralama


c# dizi sıralama


Sizden bir method ve bu methoduun kullanıldığı bir program yazmanız isteniyor.Method parametre olarak aldığı diziyi küçükten büyüğe yada büyükten küçüğe sıralayıp sıralı diziyi geri döndürecek.  Yazacağınız program sıralanmış diziyi ekranda gösterecek. Herhangi bir sıralama algoritması kullanılabilirsiniz.Burada girilen dizi karakterleri arasında 1 space boşluk bırakılarak giriş sağlanmıştır bu girişler kullanıcıdan alınıp trim ve split komutu ile bir string arraya geçirilip oradan number array e geçirilmiştir ve daha sonra sort ve reverse fonksiyonu ile sıralanmıştır.sort fonksiyonu küçükten büyüğe , reverse ise büyükten küçüğe sıralama yapar

 

Çözüm:

Önce kullandığımı methodları açıklayalım  :

Trim metodu karakterin başındaki ve sonundaki boşlukları atmak için kullanılır. Eğer ki sadece kelimelerin başındaki ya da sonundaki boşlukları aşmak istiyorsak TrimEnd ve TrimStart metotlarını da kullanabiliriz.

Bu metotların yapmış olduğu işlemlere örnek verecek olursak hazırladığımız programda kullanıcının mailden gelen güvenlik kodunu gireceği bir alan var. Genelde mailimizden direkt kopyala yapıştır yaparız ve kimi zaman karakter topluluğunun başında veya sonundaki fazladan boşlukları da alırız. Bu da programın güvenlik kodunu yanlış algılamasına neden olacaktır. Bu gibi durumları engellemek için Trim metotunu kullanabiliriz.

Split Metodu Kelime veya kelime gruplarında belirlenen karakterden sonrasını bölmek için kullanılır. Bu işlem sırasında belirlenen karakteri kaldıracaktır.c# dizi sıralama

 

[caption id="attachment_171" align="alignnone" width="647"]c# dizi sıralama c# dizi sıralama[/caption]

Saf Kod text hali :

using System;
using System.Windows.Forms;
namespace _152120121048_OZANMANAV_1
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void btnSirala_Click(object sender, EventArgs e)
{
String text = txtSiralanmamisDizi.Text;
text = text.Trim(' ');
String[] textArray = text.Split(' ');

double[] numberArray = new double[textArray.Length];

for (int i = 0; i < textArray.Length; i++)
{
numberArray[i] = Double.Parse(textArray[i]);

}

if (rbKucuktenBuyuge.Checked)
{
txtSiralanmisDizi.Clear();
Array.Sort(numberArray);
for (int i = 0; i < numberArray.Length; i++)
{
txtSiralanmisDizi.Text += numberArray[i].ToString()+' ';
}
}

else
{
txtSiralanmisDizi.Clear();
Array.Reverse(numberArray);
for (int i = 0; i < numberArray.Length; i++)
{
txtSiralanmisDizi.Text += numberArray[i].ToString() + ' ';
}
}
}
}
}

c# dizi sıralama , c# textbox dizi sıralama , dizi sıralama , c# textbox'a girilen değerleri sıralama

7 Mart 2016 Pazartesi

C# Geometrik Dizi Yazdırma

c# geometrik dizi yazdırma


3

Bildiğiniz üzere Bir sayı dizisindeki ardışık iki terim arasındaki oran sabit bir sayı ise bu diziye geometrik dizi denir. Geometrik dizide ardışık iki terim arasındaki orana dizinin ortak çarpanı denir. Aşağıdaki dizinin ortak çarpanı 3 ve  2 'dir. Ortak çarpan bulunurken herhangi bir terim bir önceki terime bölünür.

Sizden İlk terimi a1 olan ve ortak çarpanı r olan bir geometrik dizinin genel terimi: an = a1 . r(n−1)  olacak bir serinin ilk n elemanının listeleyen bir program yazmanız öneriliyor.Kullanıcıdan ilk eleman  a1ortak çarpanı r ve eleman sayısını girmesini isteyecektir eğer kullanıcı değerleri boş girmişse program mesaj kutusu ( messagebox ) ile uyarı verecektir.

Çözüm:

c# geometrik dizi yazdırma




[caption id="attachment_164" align="aligncenter" width="410"]c# geometrik dizi yazdırma c# geometrik dizi yazdırma[/caption]

4

Saf kod hali kopyalamak için :
namespace _152120121048_OZAN_MANAV_LAB4
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}

private void btnHesapla_Click(object sender, EventArgs e)
{
if (string.IsNullOrEmpty(txtIlkEleman.Text)) //Boş bırakıldıysa messagebox göster
{
MessageBox.Show("Lütfen Boş bırakmayınız : İlk Eleman");
return; //boş bırakılmış demekki döndür
}
if (string.IsNullOrEmpty(txtOrtakCarpan.Text)) //Boş bırakıldıysa messagebox göster
{
MessageBox.Show("Lütfen Boş bırakmayınız : Ortak Çarpan");
return; //boş bırakılmış demekki döndür
}
if (string.IsNullOrEmpty(txtElemanSayisi.Text)) //Boş bırakıldıysa messagebox göster
{
MessageBox.Show("Lütfen Boş bırakmayınız : Eleman Sayisi");
return; //boş bırakılmış demekki döndür
}

int IlkEleman = Convert.ToInt32(txtIlkEleman.Text);
int OrtakCarpan = Convert.ToInt32(txtOrtakCarpan.Text);
int ElemanSayisi = Convert.ToInt32(txtElemanSayisi.Text);

int[] dizi = new int[ElemanSayisi+1];

dizi[1] = IlkEleman;

for(int i=2;i<ElemanSayisi+1;i++)
{
dizi[i] = dizi[1] * (int)Math.Pow(OrtakCarpan,i-1) ;
}

for (int i = 1; i < ElemanSayisi+1; i++)
{
txtDiziGoster.Text = txtDiziGoster.Text + dizi[i]+Environment.NewLine;
}
}
}
}

 

 

 

C# Mouse Sayacı

[caption id="attachment_157" align="aligncenter" width="306"]C# Mouse Sayacı (Örnek Uygulama) C# Mouse Sayacı (Örnek Uygulama)[/caption]

C# Mouse Sayacı (Örnek Uygulama)


Sizden textbox üzerinden mouse kaç defa geçtiğini sayan bir program yazmanız isteniyor. Programda bir checkbox ve bir adet multiline özelliği true olan bir textbox olacak. Eğer checkbox (text: Saydır) seçili ise kullanıcı mouse ı her textbox üzerinden geçtiğinde geçiş sayısı bir artacaktır, eğer checkbox  seçili değilse sayma işlemi olmayacaktır. Her 5 sayımda toplam geçiş sayısı messagebox ile ekranda gösterilecektir.

Çözüm:

İhtiyacımız olanlar  : CheckBox , TextBox , Label, TextBox'un MouseEnter eventi

Untitled

Saf kod halinde kopyalabilmek için :
namespace _152120121048_OZAN_MANAV_LAB3
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
int counter = 0;
public void MesajGoster()
{
MessageBox.Show(counter.ToString());
}
private void txt_YaziKutusu1_MouseEnter(object sender, EventArgs e)
{
if (chk_Saydir.Checked)
{
counter++;
txt_YaziKutusu1.Text = counter.ToString();
if (counter%5==0)
{
MesajGoster();
}
}
else { }
}
}
}

C# MessageBox Kullanımı

C#'ta MessageBox'ın en basit kullanım şekli aşağıdaki gibidir. Bu kullanım şeklinde kullanıcıya sadece Mesaj İçeriği'ni gösteriyoruz:

[caption id="attachment_154" align="aligncenter" width="186"]C# MessageBox Kullanımı C# MessageBox Kullanımı[/caption]

 

 
MessageBox.Show("Hello World!");

 

Bundan sonraki kullanımlarında yavaş yavaş kullanıcılara daha ayrıntılı bir pencere sunabileceğiz.
Bu kullanımda kullanıcıya hem Mesaj İçeri'ğini gösterebileceğiz hem de pencere başlığına bir Başlık yazabileceğiz:
MessageBox.Show("Hello World", "Başlık");

Gelelim üçüncü kullanım şeklimize MessageBox pencereleri sadece mesaj vermek için kullanılmıyor. Ayrıca mesaj sonucunda da kullanıcıya işlem yaptırabiliyoruz. Aşağıdaki kullanım şekliyle kullanıcıya gösterdiğimiz pencerede MessageBox fonksiyonunun standart Tamam butonunun dışına çıkarak Tamam ve İptal butonlarını kullanabileceğiz:
MessageBox.Show("Mesaj içeriği", "Başlık", MessageBoxButtons.OKCancel);

MessageBoxButtons ile sadece Tamam ve İptal butonları değil ayrıca aşağıdaki butonları da kullanabiliriz:

MessageBoxButtons.AbortRetryIgnore: Bu komut pencerede Durdur, Yeniden Dene, Yoksay butonlarını göstermemizi sağlar.

MessageBoxButtons.OK: Bu komut pencerede Tamam butonunu göstermemizi sağlar.

MessageBoxButtons.OKCancel: Bu komut pencerede Tamam ve İptal butonlarını göstermemizi sağlar.

MessageBoxButtons.RetryCancel: Bu komut pencerede Yeniden Dene ve İptal butonlarını göstermemizi sağlar.

MessageBoxButtons.YesNo: Bu komut pencerede Evet ve Hayır butonlarını göstermemizi sağlar.

MessageBoxButtons.YesNoCancel: Bu komut pencerede Evet, Hayır ve İptal butonlarını göstermemizi sağlar.

Gördüğümüz gibi MessageBox fonksiyonumuz giderek renkli bir görünüm alıyor. Bu kullanım şeklinde de MessageBox'ımıza bir ikon resmi koyabiliyoruz:

MessageBox.Show("Mesaj içeriği", "Başlık", MessageBoxButtons.OKCancel, MessageBoxIcon.Information);

Yukarıdaki örnek ile kullanıcıya bilgi ikonunun olduğu bir pencere gösteriyoruz. Ayrıya bu parametrede sadece bilgi ikonu ile sınırlı değil;

MessageBoxIcon.Asterisk: Bu komut pencerede genellikle bilgi mesajı vermede kullanılan "i" ikonunu göstermemizi sağlar.

MessageBoxIcon.Error: Bu komut pencerede genellikle hata mesajı vermede kullanılan kırmızı "X" ikonunu göstermemizi sağlar.

MessageBoxIcon.Exclamation: Bu komut pencerede genellikle hata mesajı vermede kullanılan sarı "!" ikonunu göstermemizi sağlar.

MessageBoxIcon.Hand: Bu komutta Error komutu ile aynı işlevdedir.
MessageBoxIcon.Information: Bu komutta Asterisk komutu ile aynı işlevdedir.

MessageBoxIcon.None: Bu komut ile herhangi bir ikon gösterilmez.

MessageBoxIcon.Question: Bu komut pencerede genellikle soru sorma işlemlerinde kullanılan "?" ikonunu göstermemizi sağlar.

MessageBoxIcon.Stop: Bu komutta Error komutu ile aynı işlevdedir.

MessageBoxIcon.Warning: Bu komut Exclamation komutu ile aynı işlevdedir.

Evet gelelim en son parametremize bu parametrede eklediğimiz butonlardan hangisinin aktif olacağını seçebileceğimiz 3 adet seçenek var. Button1, Button2 ve Button3:

MessageBox.Show("Mesaj içeriği", "Başlık", MessageBoxButtons.OKCancel, MessageBoxIcon.Information, MessageBoxDefaultButton.Button2);

Yukarıda gösterdiğim kullanımda kullanıcıya gösterilen pencerede İptal butonu aktif olacaktır.

MessageBoxDefaultButton.Button1: Bu komut penceredeki butonlardan ilkini aktif eder.

MessageBoxDefaultButton.Button2: Bu komut penceredeki butonlardan ikincisini aktif eder.

MessageBoxDefaultButton.Button3: Bu komut penceredeki butonlardan üçüncüsünü aktif eder.Aktif derken pencere gösterildiğinde seçili butondur.




 

 

4 Mart 2016 Cuma

Android Uygulama Bileşenleri

Bu yazımda Android altyapısını oluşturan bileşenlerden bahsedeceğim.Bir çok kaynakta farklı şekilde kategorize edilen bu bileşenleri ben 5 başlık altında topladım.

[caption id="attachment_147" align="aligncenter" width="429"]componentsOfAndroid Android Compenents[/caption]

-Aktivite
-Intent
-Servis
-İçerik Sağlayıcı
-Broadcast Receiver

İlk olarak bazı kitaplardan okuduğum kadarıyla aktivite bileşeninden bahsedeceğim Activity sınıfı tarafından oluşturulan nesneler uygulama içinde kullanılan ekranları temsil ederler.Örneğin bir e-posta uygulaması düşünün.E-postaların listesini göstermek için bir Activity'e sahiptir.Başka bir activity ise e-postayı okumak için , diğer bir Activity ise e-posta yazmak için var olmalıdır.Yani her ekran için ayrı ayrı Activity'ler olması gerekir.
Activity'ler iyi bir kullanıcı deneyimi oluşturmak için birlikte çalışmasına rağmen, her birini diğerinden bağımsız şekilde başlatabilirsiniz.Örneğin bir kamera uygulaması fotoğrafı paylaşmak için whatsapp uygulamasını başlatabilir.

İkinci olarak intent nesnesinden bahsedecek olursak , uygulamadaki diğer sınıfların çalıştırılmasına olanak veren bir nesne olarak çıkıyor karşımıza.Bu nesne sayesinde başka bir sınıf aracılığı ile yeni bir görünüm , yani yeni bir sayfaya geçiş yapabiliyoruz.

Üçüncü olarak Content Providers yani içerik sağlayıcılardan bahsedersek bu bileşen bir uygulamanın ortak veri kümesini yönetir.Bu sayede SQLite veritabanı oluşturabilirsiniz yada web üzerinde kalıcı olarak veri depolayıp sonradan erişebilirsiniz.İçerik sağlayıcılar ile diğer uygulamalar ile verileri değiştebilir ve sorgu yapabilirsiniz(Tabi eğer gerekli izinler verilmiş ise)

Örnek olarak Android işletim sistemi içerik sağlayıcı olarak bize kullanıcının kişiler listesini vermektedir.Uygun izinlere sahip bir uygulama içerik sağlayıcıyı ( Örneğin Contacts.Data ) kullanarak cihazın rehberine erişebilir.Mesela bir uygulama yazdınız ve rehbere erişmek istediğinizde bir içerik sağlayıcı kullanmanız gerekecektir.

Dördüncü olarak servisler , arkaplanda kullanıcıyı rahatsız etmeden gerekli olan işlemleri yapan bileşenlerdir mesela arkada müzik çalması veya ağ üzerine veri transferi gibi. Bir activity bir servisi tetikleyebilir ve onunla iletişime geçebilir.

Beşinci ve son olarak Broadcast Receiver işletim sistemi tarfından uygulamalara gönderilen sinyalleri dinlemek ve takip etmekle görevlidir.Yani uygulamamız telefona gelen çağrılardan sms lerden haberdar olabilir bunlar bu bileşen ile sağlanır.

Bu yazımda bazı kaynaklardan derlediğim bileşenlerden bahsetmeye çalıştım başka bir yazıda görüşmek dileği ile ....