İçeriğe geç
ShiftDelete.Net
Haber ara/ SDN'ye SorGiriş
Haber Akışı SDNTV İnceleme Forum Yapay Zeka Akıllı Telefon Elektrikli Otomobil Oyun ShiftDelete.Net Global Teknoloji Haberleri Mobil Otomobil Donanım Savunma Bilim Sosyal Medya İnternet Giyilebilir Teknoloji Rehber Ürünler Son dakika Yazarlar
  1. Ana sayfa
  2. Topluluk
  3. Programlama
  4. Programlama Dilleri
Programlama Dilleri

VİSUAL BASİC PİCTUREBOX HAREKETİ ACİL YARDIM ÖDEVV

gorkem933427.12.20161 cevap1.301 görüntüleme
2016'den beri1 mesaj
#1
Visual Basic de arrow keys kullanmadan, pictureboxı hareket ettirmek istiyorum.
bir text dosyasına bu tarz komutlar yazılacak sonra picturebox hareket edecek formun kenarlarına çarparsa sekip dönücek :
1. U : Yukarı. U12 komutu, 12 birim yukarı git anlamını taşır.
2. D : Aşağı. D5 komutu ile robot 5 birim aşağı gider.
3. R : Sağa. R24 komutu ile robot sağa doğru 24 adım yol alır.
4. L : Sola. L5 komutu ile robot 5 birim sola gider.

Hoca komutları kendisi girecekmiş
Cevaplar
2016'den beri694 mesaj
#2
Merhaba,

sen direk ödevi bize getirmişsin ama bir problem var. Güzel notu sen alacaksın. O zaman dengeli birşeyler yapalım. Sana yol gösterelim ve kodları yaz ki alacağın notu hak et. Ayrıca verdiğin bilgilerde eksiklikler olduğunu düşünüyorum. PictureBox hareket ettiğinde ve kenarlara çarpıp sektiğinde senin bunu veya izleyen kişinin bunu görüp göremeyeceğinden şüpeliyim. Timer eksiğin var gibi geliyor bana ama neyse dediğin gibi olsun. Ayrıca sekme işlemi için detayları vermemişsin. Ne yani sekmenin detayı mı olur dersen onu da sana bırakıyorum. Çünkü program yazıyorsun ve varsayım olan hiçbir bilgi vermemişsin. Mesela sekme ile ilgili. Sen halledersin onu da.

Elimizdeki önemli elemanlar :
---------------------------------------
1- Formun kenar uzunlukları.
2- PictureBox kontrolü (Bu kontrolün dolu ve önceden ayarlanmış olduğunu varsayıyorum)
3- IO Sınıfı

Bir Function/Sub tanımla. İşini basitçe bir fonksiyon/Sub görecektir. Bu Sub/fonksiyonumuz;

1- ilk başta dosya varlığını kontrol etsin File.Exist ile. Yoksa hata fırlatıp kullanıcıya mesaj versin.
2- eğer dosya var ise dosyayı açıp okusun ancak bu okumayı kontrollü bir şekilde yapsın. Örnek olarak U12 değilde UE12 gibi bir yanlış ifadeye karşı olmaktan basediyorum. Bunun kontrolünü de yap.
3- üstteki iki aşamayıda geçtiğini düşünelim. Diyelim ki senin yazdığın gibi geldi. Birim dediğin şeyin ne olduğunu bilmediğim veya ne kastettiğini bilmdiğim için farklı bir yorum getireceğim. PictureBox formun üzerinde duruyor ve biz bunu gelen komuta göre hareket ettireceksek U12 demek; Picturebox'ın Left özelliğini 1 birim arttıracaksın. Arttırırkende forumun kenarınadenk gelip gelmediğini anlamak için arttırmadan önce kontrol edeceksin. Örnek olarak PictureBox.Left + PictureBox.Size.Width toplamı sana o an ilerlemiş olduğun sağ uç konumun uzunluğunu verir. Sende bu uzunluğu alacaksın ve Form.Size.Width ile karşılaştıracaksın. Bahsi geçen uzunluk + 1 birim eğer Form.Size.Width ile eşitse devam ancak büyükse sektirmeye gireceksin. Bu demektir ki en sonki + 1'e devam edeceksin ancak sonra kalan birim kadar PictureBox.Right özelliğini arttıracaksın.

Mantık bu şekilde. Form'un Left, Right, Top, Bottom özellikleri ile çalışacaksın. Aynı şekilde PictureBox'ın arttırımlarını da bu şekilde ypacaksın.

Saygılarımla.

Cevabını yaz

Cevap yazmak için giriş yap ya da üye ol. Eski forum kullanıcı adın ve parolanla girebilirsin.