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

problem sa prikazivanjem na ekranu.

[es] :: Visual Basic 6 :: problem sa prikazivanjem na ekranu.

[ Pregleda: 3680 | Odgovora: 17 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

Aleksandrov

Član broj: 47782
Poruke: 161
*.ftn.ns.ac.yu.



Profil

icon problem sa prikazivanjem na ekranu.05.04.2005. u 15:33 - pre 231 meseci
imam jednu dugacku petlju koja pretrazuje bazu podataka, i pozeleo sam da stavim progressBar koji sam stavio u frame.

program izgleda ovako:

frame1.visible 'na frejmu se nalazi progressbar

{ ...
petlja....
progressbar.value = progressbar.value+1
}

problem je u tome sto kada se ovaj program startuje prvo se sve u petlji obavi (a to traje nekih 40 sec.) pa se tek onda prikaze frame1.
Min i max vrednosti kao i ostali parametri su dobro postavljeni.

Kako da uradim da mi se frame1 prikaze pre ulaska u petlju, tj. kako da uradim taj Force display.


Nadam se da sam dobro objasnio problem.
---------------------
****
< 9 9 > My name
..( o ).. is
. . -- . .MX86251 ?
 
Odgovor na temu

mladenovicz
Zeljko Mladenovic
Xoran Technologies, Inc., Ann Arbor, MI,
USA / Software Engineer
Ann Arbor, MI, USA

Član broj: 6598
Poruke: 2065
*.BVCOM.NET.

Jabber: mladenovicz@elitesecurity.org
ICQ: 95144142
Sajt: yubc.net/~mz


Profil

icon Re: problem sa prikazivanjem na ekranu.05.04.2005. u 15:38 - pre 231 meseci
Code:

frame1.visible      'na frejmu se nalazi progressbar


zameni sa

Code:

frame1.visible = True


Code:

{ ...
   petlja....
   progressbar.value = progressbar.value+1
}


zameni sa

Code:

{ ...
   petlja....
   progressbar.value = progressbar.value+1
   DoEvents
}

 
Odgovor na temu

Aleksandrov

Član broj: 47782
Poruke: 161
*.ftn.ns.ac.yu.



Profil

icon Re: problem sa prikazivanjem na ekranu.05.04.2005. u 18:28 - pre 231 meseci
Problem jos uvek nije resen.

Probao sam ovako:


Frame3.Visible = True
' .....
PgBar1.Min = 1
PgBar1.Max = BrojIspisanih
For i = 1 To BrojIspisanih
PgBar1.Value = i
DoEvents
If LblObjekat(i).Caption <> List3.List(List3.ListIndex) Then
LblPrezime(i).Visible = False
LblObjekat(i).Visible = False
LblDatumPrijave(i).Visible = False
......

I dalje se ne pojavljuje frame3
---------------------
****
< 9 9 > My name
..( o ).. is
. . -- . .MX86251 ?
 
Odgovor na temu

Mladen_Perisic
Mladen Perišić
Podgorica, Crna Gora

Član broj: 47546
Poruke: 423
*.crnagora.net.

Sajt: www.arcanus.users.cg.yu


Profil

icon Re: problem sa prikazivanjem na ekranu.05.04.2005. u 18:54 - pre 231 meseci
Timer kontrola i nakon 1 sekunde da pokrene tu petlju, a kad se petlja završi, da ukasi tajmer kontrolu. Valjda je jedna sekunda dovoljna za učitavanje i prikazivanje forme na ekranu. Na taj način ja rijašavam slične probleme.
Sve najbolje zeli vam,
Mladen Perisic
 
Odgovor na temu

Aleksandrov

Član broj: 47782
Poruke: 161
*.ftn.ns.ac.yu.



Profil

icon Re: problem sa prikazivanjem na ekranu.05.04.2005. u 19:05 - pre 231 meseci
Mislim da cu i tada imati problem.

Ako stavim frame u tajmer pa kad se to usnimi nastavim sa petljom, onda ce se frame videti ali progressBar nece menjati vrednost tj. mislim da se promena nece videti dok se petlja ne zavrsi.

Ako stavim tajmer u petlju to ce biti jako jako sporo

Sta da radim...
---------------------
****
< 9 9 > My name
..( o ).. is
. . -- . .MX86251 ?
 
Odgovor na temu

Mladen_Perisic
Mladen Perišić
Podgorica, Crna Gora

Član broj: 47546
Poruke: 423
*.crnagora.net.

Sajt: www.arcanus.users.cg.yu


Profil

icon Re: problem sa prikazivanjem na ekranu.05.04.2005. u 19:15 - pre 231 meseci
Ne, ne ne............ Nijesi me razumio stavi:

Private SubTimer1_xXXyyy()
Timer1.enabled=True
(
For....
Progerbar.........
)
Timer1. enabled= False
End Sub


Pokušaj ovako....kući imam neki sličan kod.................. Vidjeću da ga nekako postujem.
Sve najbolje zeli vam,
Mladen Perisic
 
Odgovor na temu

Aleksandrov

Član broj: 47782
Poruke: 161
*.ftn.ns.ac.yu.



Profil

icon Re: problem sa prikazivanjem na ekranu.05.04.2005. u 22:19 - pre 231 meseci
ali pazi u petlji se vrti baza podataka koja ima dosta unosa tako da ne mogu da odredim koje vreme da stavim u tajmer. Vreme zavisi i od broja unosa kao i od masine na kojoj se program vrti.

Npr. na Athlon 2500+ 512MB da bi se petlja izvrsila potrebno je trenutno nesto vise od 15 sec. dok se kod intel P1 na 233 mhz 64MB petlja izvrsava oko 2-3 minute
Razumes?

Sigurno ima neka funkcija u VBu koja ceka da se obave svi raniji zahtevi ( sto sam ocekivao da ce DoEvents odraditi)

Please pomozite....
---------------------
****
< 9 9 > My name
..( o ).. is
. . -- . .MX86251 ?
 
Odgovor na temu

Marko_L
Beograd

Član broj: 20532
Poruke: 2885
*.yubc.net.

Jabber: Marko_L@elitesecurity.org


+828 Profil

icon Re: problem sa prikazivanjem na ekranu.05.04.2005. u 22:28 - pre 231 meseci
Nisi razumeo Mladena, on je mislio da staviš Timer kao pauzu, znači da program sačeka sekundu, a onda disejbluješ Timer i pokreneš petlju, a ne da petlja radi u Timer-u.
Elem, DoEvents bi trebalo da odradi posao, ne znam zašto se kod tebe dešava to što se dešava.Da li si siguran da si potrefio imena kontrola, jer u prvom postu pominješ Frame1, a u ovom drugom Frame3 ?
Bilo kako bilo, možeš li da postuješ kompletan taj deo koda sa sve petljom i objašnjenjem šta ti se od kontrola nalazi na formi.Možda i da okačiš tu spornu formu, ako nije neka državna ili poslovna tajna na njoj :)
-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

Aleksandrov

Član broj: 47782
Poruke: 161
*.ftn.ns.ac.yu.



Profil

icon Re: problem sa prikazivanjem na ekranu.05.04.2005. u 22:44 - pre 231 meseci
Mogu probati ali mislim da ako to uradim nece se updateovati progressbar tj ima vrednost ProgressBara ima da se promeni tek na kraju petlje. Sta mislis?

Saljem ti dati deo koda...
imena kontrola nisu problem. Prvi put sam pitao uopsteno, a drugi put sam kopirao kod.



Code:

Private Sub List3_Click()
Dim RedBr As Integer
Dim JeliNadjeno As Boolean
Dim KojijeNadjen As Integer

Frame3.Visible = True               '(((((


BrojNalogaPoObjektu = 0
BiranjePoObjektu = True
CObjekat_Click
VScroll1.Visible = False
RedBr = 1340
CPrezime.Enabled = False
CObjekat.Enabled = False
CDPrijave.Enabled = False
CDIzdavanja.Enabled = False
CDZavrsetka.Enabled = False
CDAlarma.Enabled = False
CDIzvodjac.Enabled = False
JeliNadjeno = False

PgBar1.Min = 1                      '&&&&&&
PgBar1.Max = BrojIspisanih          '&&&&&&
For i = 1 To BrojIspisanih
    PgBar1.Value = i                '@@@@@@
    DoEvents                    '@@@@@@
    If LblObjekat(i).Caption <> List3.List(List3.ListIndex) Then
        LblPrezime(i).Visible = False
        LblObjekat(i).Visible = False
        LblDatumPrijave(i).Visible = False
        LblDatumIzdavanja(i).Visible = False
        LblDatumZavrsetka(i).Visible = False
        LblDatumAlarma(i).Visible = False
        LblRadovi(i).Visible = False
        u = u + 1
                
    End If
    If LblObjekat(i).Caption = List3.List(List3.ListIndex) Then
        If JeliNadjeno = False Then
            JeliNadjeno = True
            KojijeNadjen = i
        End If
        LblPrezime(i).Visible = True
        LblObjekat(i).Visible = True
        LblDatumPrijave(i).Visible = True
        LblDatumIzdavanja(i).Visible = True
        LblDatumZavrsetka(i).Visible = True
        LblDatumAlarma(i).Visible = True
        LblRadovi(i).Visible = True
        u = u + 1
        BrojNalogaPoObjektu = BrojNalogaPoObjektu + 1
    End If
    If LblObjekat(i).Caption = List3.List(List3.ListIndex) Then
        RedBr = RedBr + 300
        LblPrezime(i).Top = RedBr
        LblObjekat(i).Top = RedBr
        LblDatumPrijave(i).Top = RedBr
        LblDatumIzdavanja(i).Top = RedBr
        LblDatumZavrsetka(i).Top = RedBr
        LblDatumAlarma(i).Top = RedBr
        LblRadovi(i).Top = RedBr
    End If
Next i
If BrojNalogaPoObjektu > MaxBrojIspisanih Then
    VScroll1.Visible = True
    VScroll1.Max = KojijeNadjen - 1 + BrojNalogaPoObjektu - MaxBrojIspisanih
    VScroll1.Min = KojijeNadjen - 1
    VScroll1.Value = VScroll1.Min
    For d = KojijeNadjen + MaxBrojIspisanih To KojijeNadjen + BrojNalogaPoObjektu
        LblPrezime(d).Visible = False
        LblObjekat(d).Visible = False
        LblDatumPrijave(d).Visible = False
        LblDatumIzdavanja(d).Visible = False
        LblDatumZavrsetka(d).Visible = False
        LblDatumAlarma(d).Visible = False
        LblRadovi(d).Visible = False
    Next d
End If
List3.Clear
End Sub

---------------------
****
< 9 9 > My name
..( o ).. is
. . -- . .MX86251 ?
 
Odgovor na temu

Marko_L
Beograd

Član broj: 20532
Poruke: 2885
*.yubc.net.

Jabber: Marko_L@elitesecurity.org


+828 Profil

icon Re: problem sa prikazivanjem na ekranu.05.04.2005. u 23:15 - pre 231 meseci
Hmmm...zanimljivo.Ajde probaj da staviš pretragu u podprogram, pa vidi šta se dešava.Trebalo bi da radi.Znači, nešto ovako
Code:
Private Sub List3_Click()
Frame3.Visible = True               '(((((
DoEvents
pretraga
End Sub

Private Sub pretraga()
Dim RedBr As Integer
Dim JeliNadjeno As Boolean
Dim KojijeNadjen As Integer

BrojNalogaPoObjektu = 0
BiranjePoObjektu = True
CObjekat_Click
VScroll1.Visible = False
RedBr = 1340
CPrezime.Enabled = False
CObjekat.Enabled = False
CDPrijave.Enabled = False
CDIzdavanja.Enabled = False
CDZavrsetka.Enabled = False
CDAlarma.Enabled = False
CDIzvodjac.Enabled = False
JeliNadjeno = False

PgBar1.Min = 1                      '&&&&&&
PgBar1.Max = BrojIspisanih          '&&&&&&
For i = 1 To BrojIspisanih
    PgBar1.Value = i                '@@@@@@
    DoEvents                    '@@@@@@
    If LblObjekat(i).Caption <> List3.List(List3.ListIndex) Then
        LblPrezime(i).Visible = False
        LblObjekat(i).Visible = False
        LblDatumPrijave(i).Visible = False
        LblDatumIzdavanja(i).Visible = False
        LblDatumZavrsetka(i).Visible = False
        LblDatumAlarma(i).Visible = False
        LblRadovi(i).Visible = False
        u = u + 1
                
    End If
    If LblObjekat(i).Caption = List3.List(List3.ListIndex) Then
        If JeliNadjeno = False Then
            JeliNadjeno = True
            KojijeNadjen = i
        End If
        LblPrezime(i).Visible = True
        LblObjekat(i).Visible = True
        LblDatumPrijave(i).Visible = True
        LblDatumIzdavanja(i).Visible = True
        LblDatumZavrsetka(i).Visible = True
        LblDatumAlarma(i).Visible = True
        LblRadovi(i).Visible = True
        u = u + 1
        BrojNalogaPoObjektu = BrojNalogaPoObjektu + 1
    End If
    If LblObjekat(i).Caption = List3.List(List3.ListIndex) Then
        RedBr = RedBr + 300
        LblPrezime(i).Top = RedBr
        LblObjekat(i).Top = RedBr
        LblDatumPrijave(i).Top = RedBr
        LblDatumIzdavanja(i).Top = RedBr
        LblDatumZavrsetka(i).Top = RedBr
        LblDatumAlarma(i).Top = RedBr
        LblRadovi(i).Top = RedBr
    End If
Next i
If BrojNalogaPoObjektu > MaxBrojIspisanih Then
    VScroll1.Visible = True
    VScroll1.Max = KojijeNadjen - 1 + BrojNalogaPoObjektu - MaxBrojIspisanih
    VScroll1.Min = KojijeNadjen - 1
    VScroll1.Value = VScroll1.Min
    For d = KojijeNadjen + MaxBrojIspisanih To KojijeNadjen + BrojNalogaPoObjektu
        LblPrezime(d).Visible = False
        LblObjekat(d).Visible = False
        LblDatumPrijave(d).Visible = False
        LblDatumIzdavanja(d).Visible = False
        LblDatumZavrsetka(d).Visible = False
        LblDatumAlarma(d).Visible = False
        LblRadovi(d).Visible = False
    Next d
End If
List3.Clear
End Sub

-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

Aleksandrov

Član broj: 47782
Poruke: 161
*.ftn.ns.ac.yu.



Profil

icon Re: problem sa prikazivanjem na ekranu.05.04.2005. u 23:45 - pre 231 meseci
Probao sam.
To prikazuje frame3 ali se progressbar ne pomera. tek kad se petlja zavrsi onda se i progressbar promeni na max vrednost
---------------------
****
< 9 9 > My name
..( o ).. is
. . -- . .MX86251 ?
 
Odgovor na temu

Aleksandrov

Član broj: 47782
Poruke: 161
*.ftn.ns.ac.yu.



Profil

icon Re: problem sa prikazivanjem na ekranu.05.04.2005. u 23:46 - pre 231 meseci
ProgressBar ima ime PgBar1 u kodu
---------------------
****
< 9 9 > My name
..( o ).. is
. . -- . .MX86251 ?
 
Odgovor na temu

Marko_L
Beograd

Član broj: 20532
Poruke: 2885
*.yubc.net.

Jabber: Marko_L@elitesecurity.org


+828 Profil

icon Re: problem sa prikazivanjem na ekranu.05.04.2005. u 23:53 - pre 231 meseci
A jesi li probao da umesto
Code:
PgBar1.Value = i

staviš
Code:
PgBar1.Value = PgBar1.Value + 1


-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

Aleksandrov

Član broj: 47782
Poruke: 161
*.ftn.ns.ac.yu.



Profil

icon Re: problem sa prikazivanjem na ekranu.06.04.2005. u 00:07 - pre 231 meseci
... Mislim da je to isto.... Ali ... ovo su samo pokusaji iz ocaja...

..... ne...... ne radi ni to....

---------------------
****
< 9 9 > My name
..( o ).. is
. . -- . .MX86251 ?
 
Odgovor na temu

Marko_L
Beograd

Član broj: 20532
Poruke: 2885
*.yubc.net.

Jabber: Marko_L@elitesecurity.org


+828 Profil

icon Re: problem sa prikazivanjem na ekranu.06.04.2005. u 00:11 - pre 231 meseci
Hmmm...a probaj da progresbar staviš izvan Frame3, mada ne verujem da je do toga, ali čisto još jedan očajnički pokušaj, pošto nemam vremena sad detaljnije da gledam kod, nešto ga zeza u toj petlji.
-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

Marko_L
Beograd

Član broj: 20532
Poruke: 2885
*.yubc.net.

Jabber: Marko_L@elitesecurity.org


+828 Profil

icon Re: problem sa prikazivanjem na ekranu.06.04.2005. u 14:59 - pre 231 meseci
Sad mi pade nešto na pamet.A da probaš ovako
Code:
Private Sub List3_Click()
Frame3.Visible = True
PgBar1.Min = 1
PgBar1.Max = BrojIspisanih
DoEvents
pretraga
End Sub

pa onda onaj ostatak koda u podprogramu.
-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

Aleksandrov

Član broj: 47782
Poruke: 161
*.ftn.ns.ac.yu.



Profil

icon Re: problem sa prikazivanjem na ekranu.07.04.2005. u 01:42 - pre 231 meseci
Ne to nije to.

Odustajem.

U svakom slucaju hvala ti na pokusajima.
VB je takav. Jednom nesto hoce, drugi put nece.... Znaci da sebi pocupas kosu.
Ako slucajno jednom uspem to da sredim, objavicu ovde.
---------------------
****
< 9 9 > My name
..( o ).. is
. . -- . .MX86251 ?
 
Odgovor na temu

LudoA
BiH

Član broj: 15181
Poruke: 66
*.tel.net.ba.



Profil

icon Re: problem sa prikazivanjem na ekranu.12.07.2006. u 00:28 - pre 215 meseci
Znam da je post star preko godinu dana... :P ali nedavno sam imao isti problem i rijesio ga sasvim slucajno, pa ako kome zatreba... Sve sto je potrebno uraditi je staviti
Code:
SendKeys {"Home"}
frmUcitavanje.Show vbModal, Me
....ostatak koda

ili ako ne radi onda samo zamijeniti
Code:
frmUcitavanje.Show vbModal, Me
SendKeys {"Home"}
....ostatak koda

Umjesto "Home" moze biti bilo koji drugi key koji simulira pritisnutu tipku.
_ Quod Me Nutrit Me Destruit /_
 
Odgovor na temu

[es] :: Visual Basic 6 :: problem sa prikazivanjem na ekranu.

[ Pregleda: 3680 | Odgovora: 17 ] > FB > Twit

Postavi temu Odgovori

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