Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

Pristup formi koja se automatski generise

[es] :: Visual Basic 6 :: Pristup formi koja se automatski generise

[ Pregleda: 1333 | Odgovora: 9 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

Blue82
dipl. ecc.

Član broj: 165981
Poruke: 838
*.adsl-3.sezampro.yu.



+322 Profil

icon Pristup formi koja se automatski generise27.03.2010. u 19:32 - pre 171 meseci
Imam jedan naizgled jednostavan problem ali mi je napravio dosta muke.
Da biste shvatili o cemu pricam napravite jednu formu i na njoj postavite dugme. Zatim napravite drugu formu (form2) i na njoj napravite textbox.

Na formu1 ubacite sledeci code

Code:

Private Sub Command1_Click()
Set f = New Form2
f.Show
f.Text1 = "Mladen"
End Sub


Cilj programa je da svaki put kada se klikne na dugme na formi1, program automatski kreira novu formu koja je identicna formi2 sto ovaj jednostavan program i radi. Ali problem je sledeci, posle ovoga ja vise ne znam kako da pristupim tehtboxu na tim kreiranim formama? Znaci kada na ekranu imam 2 novokreirane forme ne znam da u jednu od njih naknadno unesem neki text u njihov textbox.


 
Odgovor na temu

t.marko016

Član broj: 255856
Poruke: 196
*.dynamic.isp.telekom.rs.



+10 Profil

icon Re: Pristup formi koja se automatski generise27.03.2010. u 20:43 - pre 171 meseci
Budi malo precizniji, kazi tacno sta ti treba posto te ja nisam razumeo najbolje?
 
Odgovor na temu

Blue82
dipl. ecc.

Član broj: 165981
Poruke: 838
*.adsl-3.sezampro.yu.



+322 Profil

icon Re: Pristup formi koja se automatski generise27.03.2010. u 20:48 - pre 171 meseci
Pa kazem uradi kako sam rekao tako ces najbolje shvatiti. Napravi form1 i na nju stavi jedno dugme. U tu formu kopiraj code koji sam postavio. Onda kreiraj jos jednu formu koja se zove form2 i na njoj stavi jedan textbox.
Zatim pokreni program i svaki put kada kliknes na dugme pojavice se nova forma koja je identicna formi 2. Klikni par puta i dobices par prozora. Moj problem je kako sada kada imam par prozora da u textbox nekog od njih upisem neki tekst?
 
Odgovor na temu

Blue82
dipl. ecc.

Član broj: 165981
Poruke: 838
*.adsl-a-7.sezampro.rs.



+322 Profil

icon Re: Pristup formi koja se automatski generise28.03.2010. u 12:33 - pre 171 meseci
Zar bas niko? :(

Primena toga je u pravljenju chata. Form2 je forma koja se prikazuje pri chatovanju sa nekim i ona se umnozava onoliko puta sa koliko ljudi chatujes u isto vreme. Ali da bi to radilo ja moram moci poruku od odredjene osobe da upisem u prozor koji je namenjen toj osobi, to je sve.
 
Odgovor na temu

t.marko016

Član broj: 255856
Poruke: 196
109.92.212.*



+10 Profil

icon Re: Pristup formi koja se automatski generise28.03.2010. u 18:00 - pre 171 meseci
Ne znam bas neki direktan nacin ali mozda ti i ovo bude od pomoci.

Stavi tajmer na Form2 da cita kad je pretisnut taster "Enter" i tad da ispisuje iz neki TextBox u TextBox na Form2.
Jer ako pravis program za Chat, sigurno ces staviti da se poruka salje na Enter.

Mada te ne kapiram, sto ces praviti komunikaciju izmedju prozora ako ces praviti program za Chat.
Ja bih napravio komunikaciju preko servera na isti nacin na koji sam ti sad gore predlozio.

Pozdrav
 
Odgovor na temu

Blue82
dipl. ecc.

Član broj: 165981
Poruke: 838
*.adsl-a-7.sezampro.rs.



+322 Profil

icon Re: Pristup formi koja se automatski generise28.03.2010. u 19:48 - pre 171 meseci
hehe pa i nije to komunikacija medju prozorima samo sam je skroz pojednostavio radi primera. Cilj je samo kako pristupiti bilo cemu u tim novootvorenim prozorima? Ako na klasican nacin imam 2 forme u textbox druge forme hocu da unesem nesto, uradicu to sa:
Code:

Form2.Text1.Text="Neki tekst"


A sada takodje imam otvoreno vise formi ali iako znam tacno ime forme ne mogu da joj pristupim sa FormX.Text1.Text i to me buni. Tvoj primer bi se mozda nekako i mogao izvrdati ali je code slozices se katastrofa i ne bih program gusio jos sa tim jer je to deo mnogo veceg i slozenijeg programa. 100% sam siguran da postoji normalan nacin pristupa ali ne znam kako.
 
Odgovor na temu

t.marko016

Član broj: 255856
Poruke: 196
109.92.212.*



+10 Profil

icon Re: Pristup formi koja se automatski generise28.03.2010. u 20:38 - pre 171 meseci
Ma 100% sam siguran i ja nego eto rekoh da predlozim posto nemas drugog resenja.

A kod ne bi bio katastrofa nego katastrofa na kvadrat .

Ako mi nesto kvalitetnije padne na pamet ja ti javim.

Pozz
 
Odgovor na temu

Marko_L
Beograd

Član broj: 20532
Poruke: 2885
*.dynamic.sbb.rs.

Jabber: Marko_L@elitesecurity.org


+828 Profil

icon Re: Pristup formi koja se automatski generise28.03.2010. u 21:39 - pre 171 meseci
Pa možeš da napraviš array formi i onda im pristupaš putem indexa. Znači nešto tipa
Code:
Option Explicit
Dim frm() As Form2
Dim X As Long

Private Sub Command1_Click()
ReDim Preserve frm(X) As Form2
Set frm(X) = New Form2
frm(X).Tag = X
frm(X).Show
X = X + 1
End Sub

Private Sub Command2_Click()
frm(0).Text1.Text = "AAAAAAAAAA"
frm(1).Text1.Text = "BBBBBBBBBBB"
End Sub

Tako, svaki out kad otvoriš novu formu, povećavaš array, i smeštaš novokreiranu formu kao novog člana, a svakoj formi pristupaš navođenjem njenog indexa. Ono Tag svojstvo popunjavaš da bi sama instanca forme "znala" koja je ona instanca po redu, za slučaj da ti to ustreba prilikom kodiranje te forme. Tako recimo možeš u tu drugu formu u Load eventu da staviš
Code:
Me.Caption = "Instanca broj " & me.Tag

I onda ćeš tačno videti koja forma je koja instanca po redu.

Drugo rešenje je da bez array-a uvek prolaziš kroz kolekciju formi i proveravaš Tag svojstvo koje naravno dodeljuješ prilikom otvaranja. Ovako nešto
Code:
Option Explicit
Dim X As Long

Private Sub Command1_Click()
Dim f As Form
Set f = New Form2
f.Tag = X
f.Show
X = X + 1
End Sub

Private Sub Command2_Click()
Dim frm As Form
For Each frm In Forms
    Select Case frm.Tag
    Case 0
        frm.Text1.Text = "AAAAAAAAAAAA"
    
    Case 1
        frm.Text1.Text = "BBBBBBBBBBBB"
        
    End Select
Next frm
End Sub

Ali rekao bih da je ono prvo rešenje brže i čistije, a ti sad vidi šta ti više odgovara.
-Odracuonogakomijedrpiorazmaknicu.
-Ne rxdi mi txstxturx, kxd god hocu dx
ukucxm "x" onx ukucx "x".
-Ko kaaz e da ja neuummem da kuuca
m.
-Piše "Insert disk 3", a jedva sam i ova
dva ugurao u drajv
-Postoje samo dve osobe kojima
verujem, jedna sam ja, a druga nisi ti
 
Odgovor na temu

Blue82
dipl. ecc.

Član broj: 165981
Poruke: 838
*.adsl-a-7.sezampro.rs.



+322 Profil

icon Re: Pristup formi koja se automatski generise28.03.2010. u 22:56 - pre 171 meseci
E stvarno si genije. Gde si ceo dan dok se ja mucim :D

for i=1 to 100
print"Hvala"
next i
msgbox("Mnogo hvala!")

:)

[Ovu poruku je menjao Blue82 dana 29.03.2010. u 00:15 GMT+1]
 
Odgovor na temu

Marko_L
Beograd

Član broj: 20532
Poruke: 2885
*.dynamic.sbb.rs.

Jabber: Marko_L@elitesecurity.org


+828 Profil

icon Re: Pristup formi koja se automatski generise28.03.2010. u 23:35 - pre 171 meseci
Ej, pa nedelja je, ne može to odma :)

Btw,
Code:
Dim I As Integer
Me.AutoRedraw = True
For I = 50 To 255 Step 5
    Me.ForeColor = RGB(255 - I, 255 - I, 255 - I)
    Me.Print "Nema na cemu"
Next I


;)
-Odracuonogakomijedrpiorazmaknicu.
-Ne rxdi mi txstxturx, kxd god hocu dx
ukucxm "x" onx ukucx "x".
-Ko kaaz e da ja neuummem da kuuca
m.
-Piše "Insert disk 3", a jedva sam i ova
dva ugurao u drajv
-Postoje samo dve osobe kojima
verujem, jedna sam ja, a druga nisi ti
 
Odgovor na temu

[es] :: Visual Basic 6 :: Pristup formi koja se automatski generise

[ Pregleda: 1333 | Odgovora: 9 ] > FB > Twit

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.