none
2 SAYI ARASINDAKİ FARKI LİSTBOXA YAZDIRMA. YARDIMM!! RRS feed

  • Soru

  • Merhaba arkadaşlar.

    2 tane textbox a yazdığım 2 farklı sayının arasındaki sayıları ListBox a nasıl yazdırabilirim ve aynı işlemi 2 farklı grup da yaptıkdan sonra 3. bir listbox da diğer 2 listboxdaki sayıların aynıları yazması lazım. Lütfen yardım edin.

    Örnek;Textbox1e 5 yazdık textbox2ye 2 yazdık buton1e bastığımda aradaki sayı 3ve4 bunu listbox1e yazacak

    Textbox3e 6 yazdık textbox4e 3 yazdım buton2 ye bastığımda araki 4,5 sayıları listbox2ye yazacak.

    Listbox3de işe bu 2 listdeki ortak sayılar mesela 4 bunu buton3e bastığımda listbox3de yazacak.

    Okudugunuz için çok teşekkr ederım yardım bekliyorm.

    11 Aralık 2013 Çarşamba 15:40

Yanıtlar

  • Yapılmak isteneni tam olarak anlamadım ama, kısaca listbox1 ve listbox2'de olan aynı sayıların listbox3'e alınmasını istiyorsanız aşağıdaki gibi yapabilirsiniz. (Listbox'taki değerlerin integer olduğunu varsayarak aşağıdaki gibi verdim, değilse string olarak da verilebilir)

    'liste string ise integer kelimesini string ile değiştirmek yeterli olur   
    Enumerable.Intersect(ListBox1.Items.OfType(Of Integer)(), ListBox2.Items.OfType(Of Integer)()).ToList.ForEach(Function(f) ListBox3.Items.Add(f))
    
       
    'listeyi object olarak düşünürsek böyle de olabilir     
    ListBox3.Items.AddRange(Enumerable.Intersect(ListBox1.Items.OfType(Of Object)(), ListBox2.Items.OfType(Of Object)()).ToArray)

    11 Aralık 2013 Çarşamba 18:26

Tüm Yanıtlar

  • 2 sayı arasındaki farkı bulmayı hallettım TEK sorun listbox1 ve listbox2 arasındaki aynı sayıları listbox3e aktarmakda kaldı lütfen yardım edın
    11 Aralık 2013 Çarşamba 15:53
  • Forma dediğin kontrolleri ekle.

    Yani 4 textbox, 2 button, 3 listbox

    Kodlar

     private void button1_Click(object sender, EventArgs e)
            {
                int s1 = int.Parse(textBox1.Text);
                int s2 = int.Parse(textBox2.Text);
                for (int i = s1 + 1; i < s2; i++)
                {
                    listBox1.Items.Add(i.ToString());
                    for (int j = 0; j < listBox2.Items.Count; j++)
                        if (listBox2.Items[j].ToString() == i.ToString())
                            listBox3.Items.Add(i.ToString());
                }
            }
    
            private void button2_Click(object sender, EventArgs e)
            {
                int s1 = int.Parse(textBox3.Text);
                int s2 = int.Parse(textBox4.Text);
                for (int i = s1 + 1; i < s2; i++)
                {
                    listBox2.Items.Add(i.ToString());
                    for (int j = 0; j < listBox1.Items.Count; j++)
                        if (listBox1.Items[j].ToString() == i.ToString())
                            listBox3.Items.Add(i.ToString());
                }
            }

    11 Aralık 2013 Çarşamba 16:14
  • şöyle birşey yaptım ben çok acemıyım o yuzden kusura bakmayın

    Public Class Form1
        Dim sayı1, sayı2 As Integer
        Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
            ListBox1.Items.Clear()
            For sayı1 = TextBox1.Text To TextBox2.Text
                ListBox1.Items.Add(sayı1)
            Next

        End Sub

        Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
            ListBox2.Items.Clear()
            For sayı2 = TextBox3.Text To TextBox4.Text
                ListBox2.Items.Add(sayı2)
            Next
        End Sub

        Private Sub Button3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button3.Click

        End Sub
    End Class


    11 Aralık 2013 Çarşamba 16:16
  • sadece listbox3e 2 listbox arasında cıkacan aynı rakamları yazmak kaldı
    11 Aralık 2013 Çarşamba 16:18
  • butonunun içine aşağıdaki kodu yazarsan istediğinin olacağını düşünüyorum.

    int elemansayisi = (listbox2.Item.Count > listbox3.Item.Count) ? listbox2.Item.Count : listbox3.Item.Count;
    for (int i = 1; i < elemansayisi; i++)
                {
                    if (listbox2.Contains(listbox3.Items[i].ToString())
                        listbox4.Add(listbox3.Items[i].ToString());
                }
    11 Aralık 2013 Çarşamba 16:21
  • 3. buton olması zorunlu mu? Çünkü kod kalabalığı. İçerikler eklenirken bu işlem yapılabilir
    11 Aralık 2013 Çarşamba 16:27
  • http://social.msdn.microsoft.com/Forums/getfile/385740

    kodlar cok farklı hata verıyor

    11 Aralık 2013 Çarşamba 16:30
  • zorunlu değil hoca öyle istedi sadece olmasada olur. Yazılan kodlarla benım yazdıklarım farklı ben çok acemiyim o yüzden pek anladığımı söyleyemem
    11 Aralık 2013 Çarşamba 16:31
  • Visual basic de çalıştığını söylemediğin için direk C# olarak ele aldık olayı o yuzden kodların hepsi değişmesi gerekiyor. Yani Furkan Bey'in yazdığı kodda çalışmıcaktır sizde.
    11 Aralık 2013 Çarşamba 16:37
  • Anladım peki ne yapmam gerekiyor konuyu yanlış yeremi açmış oluyorum yardımcı olarak biri varmı lütfen. Doğru kodlara ulaşmam lazım
    11 Aralık 2013 Çarşamba 16:42
  • Şunu netleştirmen lazım, bunu visual basic de mi yapmak zorundasın? Eğer böyle bir zorunluluğun varsa konuyu yanlış yere açmışsın bunu Moderator arkadaşlar gördüklerinde taşırlar ama o süreye kadar sorduğun sorunun başına visual basic olduğunu ekle.
    11 Aralık 2013 Çarşamba 16:50
  • evet böyle bir zorunluluk var dediğiniz gbi moderator arkadaslar taşıyana kadar sıkıntıyı halletmem lazım bu aksam o zaman doğru yere açim ben konuyu teşekkürler iyi akşamlar
    11 Aralık 2013 Çarşamba 16:52
  • Merhaba arkadaşlar.

    PROGRAMI VİSUAL BASİC DE YAZMAM GEREK O YÜZDEN YARDIMCI OLURSANIZ SEVİNİRİM

    2 sayı arasındaki farkı bulmayı hallettım TEK sorun listbox1 ve listbox2 arasındaki aynı sayıları listbox3e aktarmakda kaldı lütfen yardım edın. Resimler altta incelersenız çok rahat bir şekilde anlarsınız.

    http://social.msdn.microsoft.com/Forums/getfile/385757

    http://social.msdn.microsoft.com/Forums/getfile/385760

    KONUYU YANLIŞ AÇMIŞ OLABİLİRİM MODERATOR ARKADASLAR BU AKSAM KONUYLA İLGİLENİRLERSE SEVİNİRİM

    • Düzenleyen Sercan55 11 Aralık 2013 Çarşamba 17:09
    • Birleştiren Barış SarıtaşModerator 12 Aralık 2013 Perşembe 06:50 Konu Aynı Konunun Devamı Olduğundan Konu Taşındı. Lütfen Buradan Devam Ediniz.
    11 Aralık 2013 Çarşamba 17:07
  • Yapılmak isteneni tam olarak anlamadım ama, kısaca listbox1 ve listbox2'de olan aynı sayıların listbox3'e alınmasını istiyorsanız aşağıdaki gibi yapabilirsiniz. (Listbox'taki değerlerin integer olduğunu varsayarak aşağıdaki gibi verdim, değilse string olarak da verilebilir)

    'liste string ise integer kelimesini string ile değiştirmek yeterli olur   
    Enumerable.Intersect(ListBox1.Items.OfType(Of Integer)(), ListBox2.Items.OfType(Of Integer)()).ToList.ForEach(Function(f) ListBox3.Items.Add(f))
    
       
    'listeyi object olarak düşünürsek böyle de olabilir     
    ListBox3.Items.AddRange(Enumerable.Intersect(ListBox1.Items.OfType(Of Object)(), ListBox2.Items.OfType(Of Object)()).ToArray)

    11 Aralık 2013 Çarşamba 18:25
  • Yapılmak isteneni tam olarak anlamadım ama, kısaca listbox1 ve listbox2'de olan aynı sayıların listbox3'e alınmasını istiyorsanız aşağıdaki gibi yapabilirsiniz. (Listbox'taki değerlerin integer olduğunu varsayarak aşağıdaki gibi verdim, değilse string olarak da verilebilir)

    'liste string ise integer kelimesini string ile değiştirmek yeterli olur   
    Enumerable.Intersect(ListBox1.Items.OfType(Of Integer)(), ListBox2.Items.OfType(Of Integer)()).ToList.ForEach(Function(f) ListBox3.Items.Add(f))
    
       
    'listeyi object olarak düşünürsek böyle de olabilir     
    ListBox3.Items.AddRange(Enumerable.Intersect(ListBox1.Items.OfType(Of Object)(), ListBox2.Items.OfType(Of Object)()).ToArray)

    11 Aralık 2013 Çarşamba 18:26
  • allah razı olsun. Çok teşekkür ederim yardmcı oldun. Hayırlı geceler
    11 Aralık 2013 Çarşamba 20:24