Tür Dönüşümünde Hata Alıyorum

Seri porttan aldığım verileri progress bara ve numericupdow da görüntülemek istiyorum bunun için veriyi intager formata çevirmem gerekiyor programı çalıştırıp veriyi almaya başladığım zaman “System.FormatException” diye bir hata alıyorum sorunun çözümü nedir?

İlgili bölüm:

                string deger = serialPort1.ReadExisting();

                int nem = Convert.ToInt32(deger);
                numericUpDown2.Value = nem;
                progressBar2.Value = nem;

Hatadan önce bu değişkenin aldığı değer nedir?

seri porttan okunan string degeri alıyor

Ben de o string değerinin ne olduğunu sordum.

değişiyor sürekli arduinodan okuduğun sensör verisi 0 ve 100 arasında değişiyor.

Başıma gelecekleri biliyorum ama yine de cevap vereyim.

Öncelikle arduino da verileri print() ile mi println() ile mi gönderdiğin önemli.

Printle gönder sonuna \n koymamış olursun.

            byte[] messageReceived = new byte[1024];// Data buffer
            int byteRecv;
            byteRecv = sender.Receive(messageReceived);
            string text1 = Encoding.ASCII.GetString(messageReceived, 0, byteRecv);

bu kod senin kod değil, ama burada dikkat etmen gerekenleri anlatacağım.
Aldığın mesajı buffer a al. Aldığın mesajın kaç byt olduğuna bak.
Sonra stringe son satırdaki gibi akatar.

Daha sonra ancak integer a çevirebilirsin.

int.parse() ile burada tanışırsın.

int.parse(deger) sana stringi integer a çevirir. Ama başta dediğim gibi veriyi gönderirken ön hazırlıklarını doğru yap. Stringi nasıl aldığın çok önemli.

:rofl:

– Bakkaldan kola almaya calistigimda “paran yetersiz” diyor
– Bakkala kac para veriyorsunuz?
– Cuzdanimdaki butun parayi veriyorum
– Cuzdaninizda ne kadar para var?
– Surekli degisiyor gun icinde bir seyler alip para cektikce

4 Beğeni

sn @aib gülmüşsünüz ağlanacak halimize. Tespitleriniz doğru.

sn @EkremDincel de iğneyle kuyu kazmayı denemiş.

Ama farkında mısınız? Bir sorun var.

Ya yaşları nedeniyle yada eğitimleri nedeniyle soru soramıyorlar kendilerini ifade edemiyorlar. Bazan kendimi 12 yaşında çocuklara kamyon verip direksiyona geçmelerine izin vermişim gibi hissediyorum.

Kullandıkları araçlar, ihtiyaç duydukları konular kamyon kadar ama soruyu soranlar bu iş için küçük yaşta ve tehlikeli kullanıyor gibi…

Yani emek verip sıkça yapılan hatalar gibi bir konu dahi hazırlamışsınız, ama ısrarla aynı hatalar devam ediyor.

Konunun yeri geldi diye soruyorum, bizim bu çocuklara nasıl faydamız dokunur, neyi gözden kaçırıyoruz?

Nasıl yaklaşmalıyız?

Soruya bakıyorum, seri haberleşme sorusu, seri haberleşmenin temellerini bildiğini düşünüyoruz ama belki daha baud nedir hızını kaç ayarlamış bilmiyoruz.

Ama aldığı stringe tip dönüşümü uygulayamıyor. Ki tip dönüşümü her dildeki en basit konulardan biri. Yani seri haberleşme yapabilen birinin tip dönüşümü yapamama ihtimali yok.

Bir eğitim problemi mi var, Türkçe problemi mi var bilemiyorum.

Belirli bir bilgi altyapısı birikimi ile add watch yapıp değişkenleri takip edebileceğini varsayıyoruz ama belkide bunu da yapmayı bilmiyorlar.

Yani bu çocuklar ellerindeki yarım yamalak kodlarla boyundan büyük işlere kalkıyorlar ve o kadar basit yerlerde takılıyorlar ki nasıl böyle oluyor bir türlü kavrayamadım.

Soru soramamak, verilen önerileri yorumlayamamak, ihtiyacını doğru ifade edememek bu forumda çok karşılaştığım bir durum.

Nerede hata yapıyoruz?

Ben burada bir şeyler biliyorum demek için bulunmuyorum, çocuklara ne faydamız olur diye zamanımı ayırıyorum.

Ama yeterli olmuyor.

Sanırım bu konuya biraz eğilmemiz gerekiyor, evet siz üzerinize düşeni yapmış sık yapılan hataları sıralamışsınız ama bu da yetmemiş.

Başka ne yapabiliriz. Soru sorabilme, ihtiyaçlarını doğru belirtebilme konularında nasıl destek olabiliriz.

En azından aradıklarını bulabilsinler, hazır kodla tembelleşmesiler diye sıkça dışarı linkler veriyorum.

Ama kendini ifade edebilme, sorunu tespit edebilme ve soru sorabilme konusunda nasıl katkı sağlayabiliriz bilemedim.

Değerli fikir ve önerileriniz paylaşırsanız sevinirim.

2 Beğeni

Inanin bana ben de dusunuyorum…

Cok uzun surmuyor, 1-2 sonraki konuda birisi “lölölö sen bana gerizekalı mı diyorsun, bilginle hava atıyorsun” diyor, butun hevesim kaciyor. Ama arada bazen -dun yolculuk esnasinda, az once banyoda gibi- dusunecek vaktim oluyor…

Psikoloji, sosyoloji ve belki pedagoji bilimlerinden yardim almamiz lazim. “Ego problemleri” diyip gecmek istemedigim, ama bu kelimeleri kullanmamin ozetlemede cok yardimci oldugu bir takim sorunlarin artik toplumumuzda endemik oldugunu dusunuyorum. Cozmemize imkan yok, fakat cozulmelerindeki baslangic rolunu ustlenebiliriz belki.

Yazinin nasil guclu bir alet oldugunu bilmesek burada olmazdik, fakat belki yazidan ote bir seyler yapmak lazim? Bilmiyorum. Bu konuda calisan arkadaslarimla (https://bagerakbay.com/, https://www.ogrenenler.com/anasayfa) bir daha gorustugumde konusacagim ama.

Bir yandan da soyle bir sey var: Benimle gorusmek, “nerd konusmalari yapmak” icin can atan (ve benim de gorusmek istedigim), beraber bira icip islerimiz hakkinda dertlesmek icin bulustuktan sonra bile “abi cok sey ogrendim, cok tesekkur ederim” diyen arkadaslarim var. (Okuyorsaniz kusura bakmayin, iliskimizi cok kotu basitlestirdim.) Profosyonel programcilar; beraber calistigim veya calismak istedigim insanlar. Boyle kisiler dururken kod yazmayi ogrenmek istediginden bile emin olmadigim, temel etkilesimlerde sorun yasadigim, tanimadigim insanlara niye vakit harciyorum?

Belki de hedeflerimizi secmemiz lazim. Benim vaktimden en iyi yararlanacak insan uzak oldugum kulturde, uzak oldugum sehirde buyuyen bir lise ogrencisi degil. Belki sanata atilmak isteyen programcilar, programlama ogrenmek isteyen sanatcilarla calismam lazim. Ders almak isteyen 30+ yasinda ufak bir grup vardi, baska kariyerleri olan. Belki vaktimi onlara harcamam lazim. Belki onlarin yetiskin diyaloglar kurup birbirlerine faydalarinin dokunacagi bir “yeni baslayanlar” forumu acip vaktimi orada harcamam lazim.

Tam feci yogun bir donemin bitisine denk geldi mesajiniz, bunlari dusunmek icin guzel bir nokta. Tesekkurler :slight_smile:

4 Beğeni