• 11-09-2012, 10:33:49
    #1
    2 tane listboxum var. 1incisinde databaseden gelen tüm veriler yayınlanıyor.
    1. listboxtan verilere tıkladıkça 2. listboxa tıklanan veriler gönderiliyor.

    ve kaydete bastığımda tek bir kolona bu verileri araya virgül koyarak yazmak istiyorum. Listbox2.text i yazdırdığımda kolona sadece en üstteki veri geliyor hepsini yazabilmem için ne yapmam gerek.

    Yani listboxtaki veriler şunlar;

    AAA
    BBB
    CCC
    Database deki kolon şu;

    DATABASEKOLONU
    AAA, BBB, CCC
  • 11-09-2012, 14:57:23
    #2
    Tam anlamadım istediğin şeyi ama .. listboxtaki tüm verileri virgüllü şekilde yazdıracaksan şöyle yapabilirsin

            Dim EklenecekVeri As String = ""
            Dim ToplamVeri As Integer = ListBox2.Items.Count
    
            For i As Integer = 0 To ToplamVeri - 1
    
                If (i <> ToplamVeri - 1) Then 'son veri değilse
    
                    EklenecekVeri += ListBox2.Items(i) + ", "
    
                Else 'son veriyse sonuna virgül ekleme
    
                    EklenecekVeri += ListBox2.Items(i)
    
                End If
    
            Next
            MessageBox.Show(EklenecekVeri)
    eğer saece 3 tane alacaksan toplamveri' nin değerini 3 e eşitle. kolay gelsin
  • 11-09-2012, 15:13:19
    #3
    Anladığım kadarıyla bu;

    var
      StrArray: Array of String;
      I: Integer;
      A: String;
    begin
      SetLength(StrArray, ListBox1.Items.Count);
      for I := 0 to ListBox1.Items.Count - 1 do   begin
        StrArray[i]:= ListBox1.Items.Strings[i];
        A := A+',' + StrArray[i];
        end;
         Delete(A,1,1);
    end;
  • 11-09-2012, 16:40:24
    #4
    Teşekkürler, bu kodla oldu. Listboxtaki verilerin hepsini alamiyordum. For ve whileden nedense çok çekiniyorum bir türlü mantığını netleştiremedim.

    ertan2002 adlı üyeden alıntı: mesajı görüntüle
    Tam anlamadım istediğin şeyi ama .. listboxtaki tüm verileri virgüllü şekilde yazdıracaksan şöyle yapabilirsin

            Dim EklenecekVeri As String = ""
            Dim ToplamVeri As Integer = ListBox2.Items.Count
    
            For i As Integer = 0 To ToplamVeri - 1
    
                If (i <> ToplamVeri - 1) Then 'son veri değilse
    
                    EklenecekVeri += ListBox2.Items(i) + ", "
    
                Else 'son veriyse sonuna virgül ekleme
    
                    EklenecekVeri += ListBox2.Items(i)
    
                End If
    
            Next
            MessageBox.Show(EklenecekVeri)
    eğer saece 3 tane alacaksan toplamveri' nin değerini 3 e eşitle. kolay gelsin
  • 11-09-2012, 16:48:56
    #5
    döngünün amacı zaten bu. yapılan bir işi çok kere yapmak ve bunu belirli bir şarta bağlamak. sen bir kere alıyorsun diyelim veriyi ama yüzlerce veri var. bunları tek tek almak yerine bir döngüye sokup otomatik olarak aldırabiliyorsun. mantığı çok da zor değil..