Strona: [  << <   1   > >>  ]  z  1     
Autor Temat: tekst z pliku jako nazwa obiektu
Tigrisek



Typ: neutral
Postów: 91
Zarejestrowany: Jul 2002
tekst z pliku jako nazwa obiektu

jak zrobić by string (np. pozyskany z pliku txt) mógłbyć użyty jako nazwa obiektu?

dim ob as object
set ob = list1
list1.additem .... coś tam w pętli lub inaczej

to przykład który działa bo list1 istnieje

a jak np zrobie:

zmienna = "list1"
to jak zrobić by string zmienna był zrozumiany jako nazwa obiektu?

18-05-2003 00:43
Pokaż profil Tigrisek  Wyślij email do Tigrisek        107040
losmac
"profesorek"




Typ: neutral
Postów: 758
Zarejestrowany: May 2003
a no tak...


Function CreateControl(strControlName As String, gora As Long, lewy As Long, _
                Optional szer As Long = 75, Optional wys As Long = 18) As Boolean
Dim ctr As Control

CreateControl = True

On Error Resume Next

If strControlName Like "list*" Then _
        Set ctr = UserForm1.Controls.Add("Forms.ListBox.1", strControlName, True)
If strControlName Like "combo*" Then _
        Set ctr = UserForm1.Controls.Add("Forms.ComboBox.1", strControlName, True)


If Err > 0 Then
    CreateControl = False
    Exit Function
End If

With ctr
    .Top = gora
    .Left = lewy
    .Width = IIf(IsMissing(szer), 150, szer)
    .Height = IIf(IsMissing(wys), 150, wys)
End With

End Function



_____________________________________________
POSTULATY STARUSZKA:
1) Ludzie, dbajcie o polszczyznę!!!
2) Ludzie, zadawajcie kompletne pytania, a nie rzucacie ochłapy i trzeba się domyślać o co chodzi!!!

Powodzenia
Maciej Łoś

19-05-2003 23:21
Pokaż profil losmac  Wyślij email do losmac   Odwiedź stronę losmac  
Chudy
[TLHW]Wiktor



Typ: moderator
Postów: 574
Zarejestrowany: Aug 2002

Losmac dobrze ale troche skomplikowane Ja bym proponował coś prostrzego:

Dim zmienna As String
zmienna = "list1"
Controls(zmienna).AddItem "abc"


_____________________________________________
Projekt "Thunder Cannons" nadchodzi...

21-05-2003 12:50
Pokaż profil Chudy  Wyślij email do Chudy   Odwiedź stronę Chudy       1220895
losmac
"profesorek"




Typ: neutral
Postów: 758
Zarejestrowany: May 2003


Losmac dobrze ale troche skomplikowane Ja bym proponował coś prostrzego:

Dim zmienna As String
zmienna = "list1"
Controls(zmienna).AddItem "abc"


Chudy, sorry, ale nie zrozumiałeś o co chodzi.
Nie chodzi o dodanie elementu do pola listy lub kombi, a o utworzenie dynamicznie nowego pola listy lub kombi. Ten kod, co podałeś, dodaje element do listy, a mój dodaje dynamicznie nową kontrolkę (pole listy lub kombi).
Tak przynajmniej zrozumiałem treść postu Tigriska. Tigrisek, mam rację?


_____________________________________________
POSTULATY STARUSZKA:
1) Ludzie, dbajcie o polszczyznę!!!
2) Ludzie, zadawajcie kompletne pytania, a nie rzucacie ochłapy i trzeba się domyślać o co chodzi!!!

Powodzenia
Maciej Łoś

22-05-2003 16:54
Pokaż profil losmac  Wyślij email do losmac   Odwiedź stronę losmac  
Tigrisek



Typ: neutral
Postów: 91
Zarejestrowany: Jul 2002

no niezupełnie może niewyraziłem się precyzyjnie.

np.
mam form1 a na niej 6 pól text i chce przy wyjsciu z programu zapamietac ich wartosci, wiec zapisuje je do pliku txt. tylko jak wyróżnić ze np dana linia tyczy sie text1 a nie text2? moge po kolei

line input
text1.text ...
line input
text2.text ...

albo w pętli z wykorzystaniem tablicy kontrolek,
ale nie o to chyba chodzi (zwłaszcza jak mam różne obiekty), wpadłem na pomysł (niewiem czy słuszny) by przed wartością jaką ma obiekt przyjmować wstawić jego nazwe w tym pliku txt. np:

text1 lalala
text2 cośtam

no i jak zdeklarować zmienną by ten string pozyskany z txt np. "text1" był zrozumiany jako nazwa obiektu by zrobić coś ala

mojobiekt.text = ...

22-05-2003 20:17
Pokaż profil Tigrisek  Wyślij email do Tigrisek        107040
losmac
"profesorek"




Typ: neutral
Postów: 758
Zarejestrowany: May 2003
puść pętlę...

Swoje pola tekstowe nazwij:
TextBox1, TextBox2... TextBox6
A reszta wygląda tak:

Sub Zapis()
Open "C:\aaa.txt" For Output As #1
    For i = 1 To 6
        Print #1, Me.Controls("TextBox" & i).Text
    Next i
Close #1
End Sub

Sub Odczyt()
Open "C:\aaa.txt" For Input As #1
    While Not EOF(1)
    i = i + 1
        Line Input #1, dane
        Me.Controls("TextBox" & i).Text = dane
    Wend
Close #1
End Sub



_____________________________________________
POSTULATY STARUSZKA:
1) Ludzie, dbajcie o polszczyznę!!!
2) Ludzie, zadawajcie kompletne pytania, a nie rzucacie ochłapy i trzeba się domyślać o co chodzi!!!

Powodzenia
Maciej Łoś

22-05-2003 23:03
Pokaż profil losmac  Wyślij email do losmac   Odwiedź stronę losmac  
Wszystkich odpowiedzi: 5 :: Maxymalnie na stronę: 20
Strona: [  << <   1   > >>  ]  z  1