Zamanlayıcı (kronometre) yapımı hakkında

        private void button2_Click(object sender, EventArgs e)
        {
            timer1.Stop();
            StreamReader sr;
            sr = File.OpenText("kaydet.txt");
            string oku = sr.ReadToEnd();
            
            if (File.Exists(dosya_dizini) == true)
            {
                label1.Text = oku.ToString();

                //dt = dt.AddSeconds(Convert.ToInt32(label1.Text));
                //label1.Text = dt.ToLongTimeString();
                //timer1.Start();
                sr.Close();
            }
            else
            {

            }
        }
            

Arkadaşlar C# da bir zamanlayıcı yapıyorum. Belli bir süreye gelince kaydet butonuna tıklayıp olan zamanı durduruyorum ve zamanı “kaydet.txt” dosyasına kaydediyorum.

Daha sonra başka bir butona da kaldığım yerden devam etmek istiyorum ama devam edemiyorum. “kaydet.txt” dosyasında ki veriyi etikete yazdırabiliyorum ama zamanlayıcı olarak devam ettiremiyorum.
Dönüşüm yapmam lazım ama dönüşümü yapamadım, yardımcı olabilir misiniz?

Şimdiden iyi çalışmalar arkadaşlar… (Kodlar C# programlama diline aittir.)

Pardon, Java olmasin?

Java hiç kullanmadım, C# da
system.IO
ve
system.Text
kütüphanelerini kullanıyorum.

Kodu gormemiz lazim.

Kod zaten yazılı.
private void button2_Click(object sender, EventArgs e) olarak başlıyor.
Buton2 ye basıldığında "kaydet.txt" dosyasından saat dakika ve saniye cinsinden yazılmış zamanı alacak ve kaldığı zamanda devam edecek.

Fonksiyonu bir sinif icine alman lazim.
Import’larin eksik.
timer1 degiskenini tanimlamamissin.

Bu kodu java ile derleyip çalıştırmayı deneseniz belki olur. Çünkü syntax açısından %95 aynılar. Sadece kütüphane isimleri falan farklı.

timer1 aynı button gibi bir nesne onu tanımlamaya gerek yok. Bunları bir sınıfa almak işin ikinci aşaması. Çalışmayan kodu sınıfa alsam nolur hiçbir şey olmaz yine çalışmaz. Önemli olan kodu çalıştırabilirsem daha sonrasında sınıfa alınabilir.
Import’lar eksik diyorsun, bu konuda biraz daha açıklayabilir misin?

Java’da çalıştırsam ne farkı olur ki, ben şuan C# kullanıyorum. Önemli olan C#'da bu dönüştürmeyi yapabilmek.

Kütüphanelerin isimlerini gerekli şekilde düzenlerseniz çalışır. Neredeyse hiç fark olmaz.

Kütüphanelerin isimleri gerekli şekilde düzenlerseniz çalışır.. diyorsunuz ama hatanın nerede olduğunu söylemiyorsunuz.

Eğer C# bilmiyorsanız kütüphaneleri sırasına göre yazmaya gerek duyulmaz. Bu işlemler için gerekli kütüphaneler zaten mevcut eğer eksik varsa hangi kütüphane olduğunu söylemek bu kadar zor olamaz…

Diğer bir sorunsa; ben size kod çalışmıyor yani “dosyadan aldığım veriyi ‘DataTime’ yapısına dönüştüremedim.” dedim. Kodlara bakmadan ya da C# bilmeden ezbere bir şey söylüyor gibisiniz. Ben burada Java kullanmıyorum, C# kullanıyorum. Bunu Java’ya dönüştür gibi şeyleri söylemeye gerek yok. C#'da nasıl yapılacağını biliyorsanız çözüm bulmaya uğraşmak istiyorum. Başka programda bu kod çalışır denilmesi bana göre yanlış. Ben konunun en başına
((Kodlar C# programlama diline aittir.) aittir diye belirttim.

Ben bunları @reo sorduğu için yazdım.

Sorunun cevabına gelecek olursak txt yerine json kullanırsanız belki DateTime tipine çevirmeniz kolaylaşabilir.

Kodu gormemiz gerektigini soyledim.
“Kod zaten yazili” dedin.
Yazili olan kodun import’lari eksik (bastaki using statement’lari). Bir sinif icinde degil. main fonksiyonu yok. Degiskenleri tanimli degil.
Bunlari duzeltmeden zaten calismaz.

Zamanlayici yapmaya calistigini soyluyorsun. timer1’i durdurup baslatiyorsun. Bir noktada dosyadan okudugun zamani isleyip timer1’i ayarlayacagini tahmin ediyorum. timer1’in nasil ayarlanacagi sinifina, sinifinin arayuzune bagli. Buton gibi herhangi bir nesneyi zamanlayici olarak kullanamazsin.

Nerede dedin? Gorseydim seni datetime parse eden fonksiyonlara yonlendirirdim calismayan kodunun ne yapmaya calistigini anlamaya calismaktansa. :​)

Ucuntu partileri gectim, standart kutuphanelerinin bile arayuzleri baya farkli. Sentakslarinin ve basit orneklerinin ayni olmasi bir dildeki herhangi bir kodun digerinde calisacagi manasina gelmiyor.

1 Beğeni