Merhabalar sayın iyinet.com üyeleri..Bu makalemde sizlere C# ile basit Akbil mantığını anlatmaya çalışacağım. Amacım sadece mantığını kavratmak olduğu için TL /Kuruş kavramını devreye sokmadım. Umarım beğenirsiniz.
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
namespace WindowsFormsApplication76
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
int kalanbakiye, sure, bakiye; // int olarak lazım olacak değişkenlerimi public olarak tanımlıyorum
private void Form1_Load(object sender, EventArgs e)
{
}
private void button1_Click(object sender, EventArgs e)
{
timer1.Enabled = true; // butona bastigimda akbil indirimi icin timer 'i aktif ediyorum
timer1.Start();// butona bastigimda akbil indirimi icin timer 'i baslat(tir)iyorum
sure =Convert.ToInt32( label4.Text); // label4 teki (30 sn ) değerimi int olarak " sure " değişkenime atıyorum
if (sure > 0) // sürem 0 'dan büyük olduğu sürece indirim öğrenci indirim hakkı(m) var.
{
bakiye = Convert.ToInt32(label3.Text); // label3 teki (15000 kontor ) değerimi int olarak "bakiye" değişkenime atıyorum
kalanbakiye = bakiye - 210; // bakiyemden 210 cikariyorum ve "kalanbakiye" değişkenime aktarıyorum
label3.Text = kalanbakiye.ToString(); // kalan bakiyemi label3 'te göster(t)iyorum..
}
else if(sure==0) // "süre"m 0 olduğunda indirim hakkım bitiyor yani sure 0 ise ..
{
bakiye = Convert.ToInt32(label3.Text); //label3 teki değerimi bakiye ye aktar(t)ıyorum
kalanbakiye = bakiye - 850; // bakiyemden 850 çıkarıyorum ve "kalanbakiye" değişkenime aktarıyorum
label3.Text = kalanbakiye.ToString(); // int olan "kalanbakiye"mi label3'e "string" olarak aktar(t)ıyorum
}
}
private void timer1_Tick(object sender, EventArgs e)
{
int sure = Convert.ToInt32(label4.Text); // label4 teki değerimi int olarak "sure" değişkenime a(ktar)tıyorum
sure--; // her timer artışında sure değerimi bir azaltıyorum.. bu arada timer1 interval =1000 (1 er snye) olarak ayarlandi
label4.Text = sure.ToString(); // "sure" değişkenimi string formatına cevirip label4 te göstertiyorum
if (sure == 0) // burası da süre 0 oldugu zaman timer i durdurup indirimli tarifemizi STANDART olarak göstertiyor..
{
timer1.Stop();
label6.Text = "STANDART";
}
}
}
}
H.Berat YILDIRIM

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
namespace WindowsFormsApplication76
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
int kalanbakiye, sure, bakiye; // int olarak lazım olacak değişkenlerimi public olarak tanımlıyorum
private void Form1_Load(object sender, EventArgs e)
{
}
private void button1_Click(object sender, EventArgs e)
{
timer1.Enabled = true; // butona bastigimda akbil indirimi icin timer 'i aktif ediyorum
timer1.Start();// butona bastigimda akbil indirimi icin timer 'i baslat(tir)iyorum
sure =Convert.ToInt32( label4.Text); // label4 teki (30 sn ) değerimi int olarak " sure " değişkenime atıyorum
if (sure > 0) // sürem 0 'dan büyük olduğu sürece indirim öğrenci indirim hakkı(m) var.
{
bakiye = Convert.ToInt32(label3.Text); // label3 teki (15000 kontor ) değerimi int olarak "bakiye" değişkenime atıyorum
kalanbakiye = bakiye - 210; // bakiyemden 210 cikariyorum ve "kalanbakiye" değişkenime aktarıyorum
label3.Text = kalanbakiye.ToString(); // kalan bakiyemi label3 'te göster(t)iyorum..
}
else if(sure==0) // "süre"m 0 olduğunda indirim hakkım bitiyor yani sure 0 ise ..
{
bakiye = Convert.ToInt32(label3.Text); //label3 teki değerimi bakiye ye aktar(t)ıyorum
kalanbakiye = bakiye - 850; // bakiyemden 850 çıkarıyorum ve "kalanbakiye" değişkenime aktarıyorum
label3.Text = kalanbakiye.ToString(); // int olan "kalanbakiye"mi label3'e "string" olarak aktar(t)ıyorum
}
}
private void timer1_Tick(object sender, EventArgs e)
{
int sure = Convert.ToInt32(label4.Text); // label4 teki değerimi int olarak "sure" değişkenime a(ktar)tıyorum
sure--; // her timer artışında sure değerimi bir azaltıyorum.. bu arada timer1 interval =1000 (1 er snye) olarak ayarlandi
label4.Text = sure.ToString(); // "sure" değişkenimi string formatına cevirip label4 te göstertiyorum
if (sure == 0) // burası da süre 0 oldugu zaman timer i durdurup indirimli tarifemizi STANDART olarak göstertiyor..
{
timer1.Stop();
label6.Text = "STANDART";
}
}
}
}


H.Berat YILDIRIM