+ Cevap Yaz
8 sonuçtan 1 ile 8 arası gösteriliyor

Konu: "textbox" & j & ".text" bunun gibi birşeyi nasıl yaparım?

  1. #1
    Üye
    Üyelik Tarihi
    12/2006
    Mesaj
    3

    "textbox" & j & ".text" bunun gibi birşeyi nasıl yaparım?

    merhabalar bütün bir formu alt üst ettim ancak ne burada nede diğer formlarda aradığım soruya yanıt bulamadım.
    vb.nette okulda bir ders üzerine bir ufak program hazırlıyorum.


    For i = 0 To borusayisi Step 1
    j = i + 49
    boru(i) = "TextBox" & j & ".text"
    Next

    şeklinde bir değişken tanımlaması yaptırmak istiyorum ama Textbox49 isimli kontroldeki texti bir türlü okutamıyorum çünkü string gibi görüyor bu "TextBox" & j & ".text" bölümünü.

    bir türlü j'ye bağımlı olarak textbox isimlerini değişmenin bir yolunu bulamadım. bunun için ne yapabilirim lütfen yardım edin.

  2. #2
    Eski Cevizci
    Üyelik Tarihi
    04/2005
    Mesaj
    372

    Mailinize cevap yazdim ya baska merak eden olursa diye VB 6 icin bu isin en kolay yolu.
    1) Bos bir forma bir text box ekleyin.
    2) Amaciniza uygun bir isim verin (Ornegin arrTextBox)
    3) Bu eklediginiz text box'in ustune sag tiklayip copy secenegini secin.
    4) Formun uzerine sag tiklayip yapistiri secin.
    5) Bu isimde bir text box zaten var, yerine control array kullanmak istermisiniz? diye soruldugunda evet'i secin.
    6) Butun text boxlar ayni isimde olacagi icin tanimakta bir kolaylik olmasi icin, ozellikllerden text ozelligini ilk box icin Text1, ikinci icin Text2 ... 49 uncu Text49 vesaire diye degistirin.
    7) Istediginiz sayida text box oluncaya kadar 5 ve 6 yi tekrar edin.
    Artik istediginiz text box a index i ile ulasabilirsiniz. Ornek olarak asagidaki gibi bir for loop ile butun kutularin icerigini gosterebilirsiniz.

    For i=0 to 48
    MsgBox arrTextBox(i).Text, vbOKOnly, "Icerik"
    Next

  3. #3
    Eski Cevizci
    Üyelik Tarihi
    04/2005
    Mesaj
    372

    Bu arada biraz gec farkina vardim porojeyi vb .net te yapiyormussunuz. VB .net eski usul control array anlayisindan biraz farkli ve biraz daha karmasik.
    Ingilizceniz varsa asagidaki linklere bir bakin derim.

    http://vb-helper.com/howto_net_control_array2.html
    http://msdn.microsoft.com/library/de...visualcnet.asp
    http://visualbasic.about.com/od/usin...ctrlarray2.htm

  4. #4
    ....
    Üyelik Tarihi
    11/2004
    Yer
    Adana
    Mesaj
    218

    Amacınızı tam olarak anlayamadım ama size VB.NET'te nasıl kod yazılarak TextBox hazırlandığında ve bu TextBox'ların özelliklerinin nasıl ayarlanıp kullanıldığına örnek olması için aşağıda verdiğim kodu yazdım.

    Private Sub Form1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Click
    Dim Boru(4) As String
    Dim i As Integer
    Dim j As Integer
    Dim Text_kutu(4) As TextBox
    Boru(i) = "TextBox" & "1"
    Boru(i) = "TextBox" & "2"
    Boru(i) = "TextBox" & "3"
    Boru(i) = "TextBox" & "4"
    For i = 1 To 4
    Text_kutu(i) = New TextBox
    Text_kutu(i).Visible = True
    Text_kutu(i).Left = 50
    Text_kutu(i).Top = 40 * i
    Text_kutu(i).Parent = Me
    Text_kutu(i).Text = "Text" & i.ToString()
    Text_kutu(i).Name = Boru(1)
    Next
    If Text_kutu(1).Name = Boru(1) Then
    TextBox1.Text = Text_kutu(1).Text
    End If
    End Sub

    Bu şekilde Name özellikleri ayarlanan TextBox'lar istenildiği gibi kullanılabilir.
    Memik YANIK-www.memikyanik.net

  5. #5
    Üye mcwalles Adlı Üyenin Profil Grafiği
    Üyelik Tarihi
    05/2006
    Mesaj
    35

    bende araştırmıştım bu konuyu bir yol bulmuştum ama kullanmadım fazla kullanışlı gelmedi bana. vbasic 6.0 da index li olarak text leri oluşturuyorsun sonra vb.nete donuşturuosn projeyi .net tede indexli oluo textler. kolay kelsin.
    ...::: C# .NET :::...

  6. #6
    Üye
    Üyelik Tarihi
    12/2006
    Mesaj
    3

    Aslında ben verilen sayı kadar textbox yapmak istemiyorum. Şöyle izah etmeye çalışayım. 10 tane textbox var birde bir tane combobox var. combobox'ta 1den 10a kadar sayılar var. o sayıya göre kullanıcı textboxlara boru çaplarını giriyor. mesela 5 borusu varsa combobox'ta 5'i seçip 1den 5e kadar textboxlara çapları yazıyor.
    "borusayisi" burada comboboxta seçili olan sayı. bu sayıya göre 49. textbox'tan başlayıp mesela borusayisi 5 ise 54. textbox'a kadar o textboxların içindeki verileri diziye geçiriyor. ancak vb.nette array olayını bir türlü yapamadım. bende Textbox ve değişkenim olan j'yi birleştirip sonuna da .Text ekleyip bunu kontrol deyimi olarak okutmaya çalışıyorum.

    For i = 0 To borusayisi Step 1
    j = i + 49
    boru(i) = "TextBox" & j & ".text"
    Next


    Bu arada Memik Yanık sizin bende vb6.0 kitabınız var. 6.0 öğrenirken çok faydalandığım kaynaklardan birisi oldu. Ancak vb.nette çalışıyorum. Ve anlaşılacağı gibi oldukça amatör bir kodcuyum.

  7. #7
    Eski Cevizci
    Üyelik Tarihi
    04/2005
    Mesaj
    372

    Aslında ben verilen sayı kadar textbox yapmak istemiyorum.
    Size yukarida verilen orneklerin hicbirinde amac istenilen sayida textbox yaratmak degil zaten. Eger textboxlarini mesela Memik Yanik arkadasin ornegindeki gibi yaratirsan artik boru(i) = "TextBox" & j & ".text" ile yapmak istediginize bir cozum olacagi. Yani asagidakine benzer bir loop yazabilirsiniz artik.

    For i = 0 To borusayisi Step 1
    j = i + 49
    boru(i) = Text_kutu(j).Text
    Next

    Eger bu tur bir kullanim cok karmasik geliyorsa ve yukarida bahsettiginiz Combobox gercekten sadece 1 den 10 a kadar deger alacaksa isin kolayina kacip select statement kullanmak gibi yada benzeri bir cozum arayabilirsiniz. Ornegin asagidakine benzer bir fonksiyon eklerseniz

    Function TextBox(index)

    Select Case index
    Case 49: value = Text49.Text
    ...
    Case 58: value = Text50.Text
    Case Else:

    End Select

    TextBox = value

    End Function

    Artik hazirdaki programiza baska bir degisiklik yapmadan for loop unuzu asagidaki sekilde kullanabilirsiniz.

    For i = 0 To borusayisi Step 1
    j = i + 49
    boru(i) = TextBox(j)
    Next

  8. #8
    Üye
    Üyelik Tarihi
    12/2006
    Mesaj
    3

    Çok teşekkür ediyorum arkadaşlar büyük ölçüde sorunu çözdüm. Bir kaç parametreye daha ihtiyacım var. Onları başka bir konu olarak açıp sorunu tamamen halledince bu başlıkta kodun son halini paylaşacağım sizlerle. çok teşekkür ederim.

+ Cevap Yaz

Thread Information

Users Browsing this Thread

There are currently 1 users browsing this thread. (0 members and 1 guests)

     

Benzer Konular

  1. Cevap: 17
    En Son Mesaj: 13/06/2007, 18:09
  2. Cevap: 4
    En Son Mesaj: 07/01/2007, 14:28
  3. Cevap: 25
    En Son Mesaj: 09/11/2005, 22:32
  4. Flash MX 04 action script 2 "A" "S" "D" "W" tuslarıyla hareket!!!
    By fatihed in forum Flash / Director / Swift 3D ...
    Cevap: 5
    En Son Mesaj: 04/09/2005, 20:03
  5. "Koş Veli koş" cümlesinin bir çeşit "Koş * koş" olduğunu nasıl anlarım?
    By Sedat Atif in forum Pascal / Delphi / Delphi.NET
    Cevap: 2
    En Son Mesaj: 14/02/2003, 22:18

Bookmarks

Mesaj Yazma Hakları

  • Yeni mesajgöndermezsiniz
  • Cevap yazamazsınız
  • Dosya ekleyemezsiniz
  • Mesajınızı düzenleyemezsiniz