for next dongusu

Katılım
8 Nis 2007
Mesajlar
65
Puanları
1
Yaş
39
her keze selam

Sub led_yakma(kac_lamba As Integer)
led(kac_lamba).FillColor = &HFF00&
top_data = 0
Select Case kac_lamba
Case 0
data(0) = 1
Case 1
data(1) = 2
Case 2
data(2) = 4
Case 3
data(3) = 8
Case 4
data(4) = 16
Case 5
data(5) = 32
Case 6
data(6) = 64
Case 7
data(7) = 128
End Select

For sayac = 0 To 7
top_data = top_data + data(sayac)
Next sayac
Text1.Text = top_data

bu uygulamada "data(sayac)" yazan kısma bır turlu anlam veremedım cok basıt bır sey olabılır ama benım gıbı acemıler ıcın karısık noktalar.
normalde anladıgım kadarıyla for next dongusunde sayac kısmı kac kere sayacagını temsıl eden kısım ama burda datayla bagdastırmıs.
sımdıden tesekkurler
 
Onur Bey buradaki data() bir dizi(array). Sayacın içerisindeki değere göre bu dizinin ilgili elemanı çağırılıyor ve top_data değişkeniyle toplanıyor. Diziler programlamada sıklıkla kullanılırılar, ve birden fazla datayı aynı ad altında -farklı indislerde- saklamak,bazı dillerde metodlara (diğer adıyla fonksiyon) birden fazla değer göndermek ve geri almak vb. amaçlarla kullanılırlar. Programlama ile ilgileniyorsan mutlaka öğrenmek gerekecek :) kolay gelsin...
 
selam
tanerr bey vermıs oldugunuz cevap ıcın tesekkurler sorumun cevabını aldım.evetdaha bu yolda yenıyım ama ınsallah gun gectıkce daha ıyı olcagına ınanıyorum sızın gıbı ustalarda sıkıstıgımızda yardımcı olurlarsa:) daha da hızlı ılerlerız calısmalarınızda basarılar kolay gelsın ve tekrar tesekkurler.
 
Merhabalar,

Bu kod gerçekten çok ilginç, yazıldığı modülün en başında Option Explicit yok sanırım, (büyük bir hata) sayac ifadesi de tanımlanmadığına göre data() dizisini de yerel olarak kabul ediyorum.

Kod çok daha kısa yazılabilirdi, günümüz işlemcileri çok hızlı çalıştığı için gözle görülür bir fark olmaz ancak Bu kod kac_lamba için eşitlenen değer kadar lamba mı yakıyor yoksa numarası verilen lambayı mı yakıyor bu yüzden onu anlamak güç.

Eğer eşitlenen değer kadar lamba yakılmak isteniyor ise:

Sub led_yakma(kac_lamba As Integer)
led(kac_lamba).FillColor = &HFF00&
Text1.Text = (2 ^ kac_lamba ) - 1
End Sub


yok eğer numarası verilen lamba yakılmak isteniyor ise:

Sub led_yakma(kac_lamba As Integer)
led(kac_lamba).FillColor = &HFF00&
Text1.Text = 2 ^ kac_lamba
End Sub

yazmak yeterli olsa gerek. Lamba numaralandırmanın 0 dan başladığını kabul ediyorum. (Öyle gözüküyor)

Neden böyle olduğu konusu için ikili sayı sistemleri kelimesi ile google da araştırma yapmak yeterli olacaktır.

Saygılarımla,
 
selam

mustafa bey burda bu prg bır kısmını parca olarak gonderıdım tabı boyle olunca kafalarda bır cok soru ısaretı olusuyor.burda yapılmak ıstenen aslında form uzerınde 8 adet butonunuz var ve hangı buton secılıyse 1 oluyor ve ona baglı bır shape aktıf oluyor (led olarak gecen kısım).aynı zamandada basılan butonlar hangı datayı temsıl edıyorsa bunlar toplanıyor .benım burda anlayamadıgım for next dongusuyle bu sayıları nasıl topladıgıydı.

ılgı ve alakanız ıcın tesekkurler






moosty ' Alıntı:
Merhabalar,

Bu kod gerçekten çok ilginç, yazıldığı modülün en başında Option Explicit yok sanırım, (büyük bir hata) sayac ifadesi de tanımlanmadığına göre data() dizisini de yerel olarak kabul ediyorum.

Kod çok daha kısa yazılabilirdi, günümüz işlemcileri çok hızlı çalıştığı için gözle görülür bir fark olmaz ancak Bu kod kac_lamba için eşitlenen değer kadar lamba mı yakıyor yoksa numarası verilen lambayı mı yakıyor bu yüzden onu anlamak güç.

Eğer eşitlenen değer kadar lamba yakılmak isteniyor ise:

Sub led_yakma(kac_lamba As Integer)
led(kac_lamba).FillColor = &HFF00&
Text1.Text = (2 ^ kac_lamba ) - 1
End Sub


yok eğer numarası verilen lamba yakılmak isteniyor ise:

Sub led_yakma(kac_lamba As Integer)
led(kac_lamba).FillColor = &HFF00&
Text1.Text = 2 ^ kac_lamba
End Sub

yazmak yeterli olsa gerek. Lamba numaralandırmanın 0 dan başladığını kabul ediyorum. (Öyle gözüküyor)

Neden böyle olduğu konusu için ikili sayı sistemleri kelimesi ile google da araştırma yapmak yeterli olacaktır.

Saygılarımla,
 
Bencede Bu Kodların içinde Bir yanlışlık var Çünkü Bu Döngünün İçinde Dönmesinin pek bi anlamı yok içindekı kodlar sadece Arttırma işlemi başka bişey yok selet case değimi içinde olsaydı her sayaç değişiminde case lerden biri işlenirdi..Data(sayac) burdakı data select casede düzenlenen değişken sayac ise for next de arttırılan bir baska integer degisken gibi geldi...
 

Forum istatistikleri

Konular
129,090
Mesajlar
923,152
Kullanıcılar
451,393
Son üye
kaleli.71

Yeni konular

Geri
Üst