Arama butonu
Bu konudaki kullanıcılar: 1 misafir
4
Cevap
1850
Tıklama
0
Öne Çıkarma
c# Progressbar - Hesap Makinesi - Dijital saat
C
13 yıl
Teğmen
Konu Sahibi

Merhabalar benim 3 ayrı sorum olacaktı.
Şimdi 3 tane ödevim var baya baya bitirdim bi kısmını 1.Sorum hesap makinesi yapıyorum.hesap makinesi bu ve bütün işlevlerini yaptım ancak şöyle bi sıkıntım var , lü sayılarla işlem yaptırtamıyorum.Göründüğü gibi önce 1.sayı sonra işlem sonra 2.sayı seçilip eşittire basılıyor.Sonucu yazıyor.
________________________________________________________________________________________
Birinci sıkıntım virgüllü işlemleri yaptıramıyorum bunu nasıl yapabilirim
2.sıkıntım mesela 5 + 6 = 11 dediğinde sırasıyla sayılara basınca diğer bastığı sayı siliniyor ve en son 11 yazıyor demek istediğim her bastığı butonun özelliği ekrandan gitmesin direk 5 + 6 = 11 yazsın istiyorum.Beceremedim yardımlarınızı bekliyorum.

< Resime gitmek için tıklayın >
________________________________________________________________________________________
İkinci sorum ise dijital saat yapıyorum Saat Dakika Saniye ve Saliseyi gösterecek Bir butonu tıkladığında başlatacak Bir butona tıkladığında durduracak.
İf ile kontrol ettirdim ve onda da şöyle bi sıkıntım var Salise için Timer ın Invertal değerini kaç yapmalıyım.1000 yaparsam 1 saniye ye denk geliyor.Ancak salise tam doğru çalışmıyor bu sefer.veya nasıl bi kontrol yapabilirim yardımcı olur musunuz ?
Kod en aşağıda bakabilesiniz diye koydum sıkıntı yok gibi ama.
________________________________________________________________________________________
3.sorum ise. Şöyle Bir tane combobax olacak ve onda bulunduğu sistemin diskleri görüncek yani c: d: kaç tane varsa.
ve orda seçilen sürücünün altta progressbar da doluluk oranı görünecek yani %70 vs...
Bunu hiç yapamadım kaynak ta bulamadım...Diğerlerinde belli bi yere kadar geldim ama.
Yardımlarınızı bekliyorummm
________________________________________________________________________________________
private void button1_Click(object sender, EventArgs e) 
{
timer1.Start();
}

private void button2_Click(object sender, EventArgs e)
{
timer1.Stop();
}

private void timer1_Tick(object sender, EventArgs e)
{
if (salise < 60) salise++;
else
{
salise = 0;
if (saniye < 59) saniye++;
else
{
saniye = 0;
if (dakika < 59) dakika++;
else
{
dakika = 0;
if (saat < 23) saat++;
else
{ saat = 0; }
}
}
}
label1.Text= saat.ToString();
label3.Text= saniye.ToString();
label2.Text= dakika.ToString();
label4.Text = salise.ToString();

}

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

DH forumlarında vakit geçirmekten keyif alıyor gibisin ancak giriş yapmadığını görüyoruz.

Üye olduğunda özel mesaj gönderebilir, beğendiğin konuları favorilerine ekleyip takibe alabilir ve daha önce gezdiğin konulara hızlıca erişebilirsin.

Üye Ol Şimdi Değil





< Bu mesaj bu kişi tarafından değiştirildi cesurkomando -- 22 Ekim 2012; 17:26:25 >

A
13 yıl
Yüzbaşı

1. soru:

textboxdaki veriyi nasıl işliyosun bilmiyorum tam olarak onu da yazarsan nasıl yapıcagını anlatırım, muhtemelen double,float olarak almıyosun textboxdan gelen veriyi direk int ye çeviriyosun ondan.

2.soru
1000 = 1sn demek sen salise falan en ince ayrıntısına ineceksin, 100 yapman mantıklı vikipedia da 100ms = 6 salise yazıyo ona göre ayarlarsın artık.

3.soru

System.Management namespace'i altında ManagementObjectSearcher var bunla tüm donanım bilgilerine ulaşabilirsin internette araştırma yapman yeterli olucaktır neye nasıl ulaşacağın msdn var


Bu mesaja 1 cevap geldi.
C
13 yıl
Teğmen
Konu Sahibi

kodlar tamamen aşağıda.bütün intleri double a çevirdim. evet int olarak alıyordum textbox tan.
şu an işlemleri yapıyor ama yine hatalı oluyor malesef.Ya da kodlarda hatalar var mı ? Bi inceler misiniz ?
_________________________________________________________________________________________
2.cevap için 100 yapınca çok yavaş gidiyo 10 yapınca biraz daha normal saniye gibi atıyo ama 60 saniye normal saatin saniyesi sayıyosa benimki 62 lerde oluyo filan o şekil bi eksiklik var ama çözemedim tam.
________________________________________________________________________________________
3.cevap için de teşekkürler araştırıcam.
bütün cevaplar için teşekkürler...

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;

namespace carpimtablosu
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
double a; //tutalacak sayının değişkeni
string op; //tutulacak operatörün değişkeni.Burda yazmamızın sebebi tüm butonlarda kullanabilmek için
private void button1_Click(object sender, EventArgs e)
{
textBox1.Text += button1.Text;
}

private void button2_Click(object sender, EventArgs e)
{
textBox1.Text += button2.Text;
}

private void button3_Click(object sender, EventArgs e)
{
textBox1.Text += button3.Text;
}

private void button5_Click(object sender, EventArgs e)
{
textBox1.Text += button5.Text;
}

private void button6_Click(object sender, EventArgs e)
{
textBox1.Text += button6.Text;
}

private void button7_Click(object sender, EventArgs e)
{
textBox1.Text += button7.Text;
}

private void button9_Click(object sender, EventArgs e)
{
textBox1.Text += button9.Text;
}

private void button10_Click(object sender, EventArgs e)
{
textBox1.Text += button10.Text;
}

private void button11_Click(object sender, EventArgs e)
{
textBox1.Text += button11.Text;
}

private void button13_Click(object sender, EventArgs e)
{
textBox1.Text += button13.Text;
}

private void button14_Click(object sender, EventArgs e)
{
textBox1.Text = " ";
}

private void button4_Click(object sender, EventArgs e)
{

a = double.Parse(textBox1.Text);
textBox1.Text=" ";
op="+";
}

private void button15_Click(object sender, EventArgs e)
{
switch (op)
{
case ".":
textBox1.Text = Convert.ToString(a + double.Parse(textBox1.Text) + "=");
break;
case"^":
double sonucusalma;
sonucusalma = Math.Pow(a, double.Parse(textBox1.Text));
textBox1.Text = Convert.ToString(sonucusalma + "=" + textBox1.Text + "^" + a);
break;
case "%":
textBox1.Text = Convert.ToString(a % double.Parse(textBox1.Text) + "=");
break;
case "+":
textBox1.Text = Convert.ToString(a + double.Parse(textBox1.Text) + "=");
break;
case "-":
textBox1.Text = Convert.ToString(a - double.Parse(textBox1.Text) + "=");
break;
case "*":
textBox1.Text = Convert.ToString(a * double.Parse(textBox1.Text) + "=");
break;
case "/":
try
{
textBox1.Text = Convert.ToString(a / double.Parse(textBox1.Text) + "=");//burada bölme işlemini yapıyor
}
catch (DivideByZeroException ee) //sıfıra bölme hatası divide=bölme, exception=hata
{
MessageBox.Show(ee.Message);
};
break;


}
}

private void button8_Click(object sender, EventArgs e)
{
a = double.Parse(textBox1.Text);
textBox1.Text = " ";
op = "-";
}

private void button12_Click(object sender, EventArgs e)
{
a = double.Parse(textBox1.Text);
textBox1.Text = " ";
op = "*";
}

private void button16_Click(object sender, EventArgs e)
{
a = double.Parse(textBox1.Text);
textBox1.Text = " ";
op = "/";
}

private void button17_Click(object sender, EventArgs e)
{
a = double.Parse(textBox1.Text);
textBox1.Text +=".";
op = ".";
}

private void button18_Click(object sender, EventArgs e)
{
a = double.Parse(textBox1.Text);

double sonuckokalma;
sonuckokalma = double.Parse(a.ToString());
textBox1.Text = Convert.ToString( Math.Sqrt(sonuckokalma) + "=" + a + "√" );
}

private void button19_Click(object sender, EventArgs e)
{
a = double.Parse(textBox1.Text);
textBox1.Text = " ";
op = "^";

}

private void button20_Click(object sender, EventArgs e)
{
a = double.Parse(textBox1.Text);
textBox1.Text = " ";
op = "%";
}

private void textBox1_KeyPress(object sender, KeyPressEventArgs e)
{
if (char.IsLetter(e.KeyChar))//metin girişini engelliyor
{
e.Handled = true;
}
}
}
}





< Bu mesaj bu kişi tarafından değiştirildi cesurkomando -- 22 Ekim 2012; 17:26:07 >
Bu mesaja 1 cevap geldi.
A
13 yıl
Yüzbaşı

1. soru:

baya karmaşık bi kod yazma biçimin var, double.Parse yerine float.parse dene bu olay nokta yada virgul kullanmanla alakalı bilgisayarın region'unda ayarları var bunun digits bilmem ne diye geçiyo double nokta istiyebilir virgul yerine yada aynı şekilde float birde kodlarını daha fazla açıp break point koyup inceleye bilirsin yaptıgın işlemleri geriye ne dönderiyo nerde sorun oluyo falan diye.

2. soru: bunu yapmaktansa ticksle çöz olayı şu şekil örnek bi kod yazıyorum

Start yaptıgında yapılcak kod:
 
public long tick;

void button_click(){
tick = DateTime.Now.Ticks;
}
void timer_tick(){
DateTime time = DateTime.Now;
label1.Text = new DateTime(time.Ticks - tick).ToString(); //burda tostring değilde toshortdatetime tarzında bişiler kullanıp sadece saati almak istersin yoksa 1970 li yıllarla alakalı bi tarihde çıkacaktır.
}

//timer in intervalını kaç yaparsan ona göre sürekli güncelliycektir aradan geçen zamanı



edit:eğer bi daha kod yazarsan buraya code tag'i altında yazarsan benim gibi daha iyi anlaşılabilir, bide yukarıdaki kodları denemedim ama çalışıcaktır





< Bu mesaj bu kişi tarafından değiştirildi alm.oz -- 22 Ekim 2012; 16:50:39 >
Bu mesaja 1 cevap geldi.
C
13 yıl
Teğmen
Konu Sahibi

quote:

Orijinalden alıntı: aLiM KaFKeF

1. soru:

baya karmaşık bi kod yazma biçimin var, double.Parse yerine float.parse dene bu olay nokta yada virgul kullanmanla alakalı bilgisayarın region'unda ayarları var bunun digits bilmem ne diye geçiyo double nokta istiyebilir virgul yerine yada aynı şekilde float birde kodlarını daha fazla açıp break point koyup inceleye bilirsin yaptıgın işlemleri geriye ne dönderiyo nerde sorun oluyo falan diye.

2. soru: bunu yapmaktansa ticksle çöz olayı şu şekil örnek bi kod yazıyorum

Start yaptıgında yapılcak kod:
 
public long tick;

void button_click(){
tick = DateTime.Now.Ticks;
}
void timer_tick(){
DateTime time = DateTime.Now;
label1.Text = new DateTime(time.Ticks - tick).ToString(); //burda tostring değilde toshortdatetime tarzında bişiler kullanıp sadece saati almak istersin yoksa 1970 li yıllarla alakalı bi tarihde çıkacaktır.
}

//timer in intervalını kaç yaparsan ona göre sürekli güncelliycektir aradan geçen zamanı



edit:eğer bi daha kod yazarsan buraya code tag'i altında yazarsan benim gibi daha iyi anlaşılabilir, bide yukarıdaki kodları denemedim ama çalışıcaktır

Teşekkürler cevapların için haleltmeye çalışacağım.Kolay gelsin.Dediğin gibi düzelttim kodları...



DH Mobil uygulaması ile devam edin. Mobil tarayıcınız ile mümkün olanların yanı sıra, birçok yeni ve faydalı özelliğe erişin. Gizle ve güncelleme çıkana kadar tekrar gösterme.