|
Poslao: 11 Feb 2009 22:03
|
offline
- BlasteR

- Građanin
- Pridružio: 05 Mar 2007
- Poruke: 81
|
Private Sub Timer1_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer1.Tick
Label1.Location = New Point(Label1.Location.X + 1, Label1.Location.Y)
If Label1.Location.X > Me.Width Then
Label1.Location = New Point(-Label1.Width, Label1.Location.Y)
End If
End Sub
Procitaj bobby-jeve postove. Pravo zbori covek!
|
|
|
|
|
Registruj se da bi učestvovao u diskusiji. Registrovanim korisnicima se NE prikazuju reklame unutar poruka.
|
|
|
Poslao: 11 Feb 2009 22:39
|
offline
- Peki_92

- Elitni građanin
- Pridružio: 26 Okt 2008
- Poruke: 1560
- Gde živiš: Sremski Mihaljevci
|
BlasteR upravo to sam mislio
Hvala!
Pozdrav.
Petar.
|
|
|
|
|
|
|
Poslao: 11 Feb 2009 23:03
|
offline
- bobby

- Administrator
- Pridružio: 04 Sep 2003
- Poruke: 24135
- Gde živiš: Wien
|
Jovanovic Slavko ::BlasteR upravo to sam mislio
Hvala!
Pozdrav.
Petar.
... A tebe bobby, ko te sisa. Zahvaljujemo se samo onima koji resenje posluze na tanjiru. Ko te sisa sto pokusavas nekoga da nateras da razmislja logicki i da shvati stvari onako kako treba u osnovi shvatiti i nauciti.
Jovanovicu Slavko, od danas pa nadalje imas zabranu otvaranja novih tema u forumima o programiranju.
Ovi forumi sluze da se coveku pomogne da resi problem, a ne da ljudi pisu programe umesto tebe, a da ti na kraju te programe nazoves svojima, i da se hvalis kako si pisao "ozbiljne programe".
|
|
|
|
|
|
|
Poslao: 12 Feb 2009 08:49
|
offline
- Peki_92

- Elitni građanin
- Pridružio: 26 Okt 2008
- Poruke: 1560
- Gde živiš: Sremski Mihaljevci
|
Nisam rekao hvala blaster nego samo hvala i to u novom redu!! dokle traje ta zabrana??
|
|
|
|
|
|
|
Poslao: 12 Feb 2009 19:28
|
offline
- bobby

- Administrator
- Pridružio: 04 Sep 2003
- Poruke: 24135
- Gde živiš: Wien
|
Jovanovic Slavko ::dokle traje ta zabrana??
Dokle ne pocnes stvarno da ucis to programiranje, ali da ucis, ne da pitas druge ljude za gotova resenja.
Mislim, nemam ja nista protiv tebe, vec ti zelim dobro time sto pokusavam da te nateram na pravi put.
|
|
|
|
|
|
|
Poslao: 12 Feb 2009 20:19
|
offline
- Peki_92

- Elitni građanin
- Pridružio: 26 Okt 2008
- Poruke: 1560
- Gde živiš: Sremski Mihaljevci
|
Sada samo tebi hvala.
Poceo sam da ucim, rekao sam negde da sam dobio knjigu, nije za 2008 vec za 2005, ali kodovi su skoro isti. radio sam ovo u 2003 ali nije god isti pa sam zato stao a nisam mogao da provalim.
Pozdrav
Petar
|
|
|
|
|
|
|
Poslao: 12 Feb 2009 20:53
|
offline
- bobby

- Administrator
- Pridružio: 04 Sep 2003
- Poruke: 24135
- Gde živiš: Wien
|
Vidi, nebitno je koji je jezik u pitanju, uvek mozes koristiti kod koji je pisan u drugom jeziku.
Vecina objekata sa kojima se radi su obezbedjeni od strane samog operativnog sistema, a komponente koje imas u tvom Visual Studiju su samo wrapperi (omot) za te objekte koje Windows pruza.
To znaci da ce jedan standardan Windowsov objekat (recimo jedan label) da ima iste metode, evente i procedure u vecini programskih jezika.
Mogu se razlikovati samo u nekim nijansama i u samom zapisu koji taj programski jezik koristi, ali ne moze da se izmisli topla voda, tj. neki novi nacin koriscenja tog standardnog objekta.
Ako tako naucis da je forma u svim programskim jezicima forma, i da su komponente na formi "deca" te forme, te samim tim imaju svoje koordinate (poziciju) na formi, jasno ti je da pomeranje treba da se izvede menjanjem koordinati komponente u nekom ciklusu.
Kada jedan proces uspes da opises ovako recima, onda nije vise uopste bitno koji je programski jezik u pitanju jer se razlike svode na razlicit nacin zapisa (koji je inace lako uocljiv ako znas sta trazi i u sta gledas).
Znaci, ako te zanimaju GUI komponente, pocni od ucenje od toga koja je hijerarhija komponenti, tj. koja komponenta je samo prosirenje koje druge komponente. Recimo, StringGrid je gomila StringListova graficki prikazanih jedan pored drugog. Kada znas taj podatak, onda znas da podatke iz jednog Grida mozes preneti jednoj listi preko neke Assign komande, pa da onda obradu podataka radis na StringListi, sto zbog komotnosti i jednostavnosti, sto zbog brzine zato sto StringList nije GUI objekat.
Onda treba da ucis kako organizovati kod programa i kako standardizovati zapise varijabli, funkcija i metoda.
Kada jedan program dostigne par hiljada linija, pa onda napravis pauzu od par meseci zato sto budes zauzet nekim drugim stvarima, pa se opet vratis tom programu, onda shvatis da ne mozes vise ni sam da se snadjes u onome sto si radio.
Ne malo puta se to u praksi desava, pa onda samo cujes kako je neki veliki projekat napusten, pa se pocelo sa pisanjem od nule.
Ove i ovakve stvari se uce na fakultetu iz softverskog inzenjeringa, i nije bas tako lako naviknuti se da te principe stvarno primenjujes.
Rad u timovima je maltene nemoguc bez postovanja tih principa.
Jedan od principa je i mogucnost ponovne upotrebe koda iz jednog programa u nekom novom projektu.
To bi znacilo recimo, ti si u nekom svom programu napisao neku ultra brzu funkciju za sortiranje stringova u jednom objektu tipa TList.
Tvoj kod nije moguce bez popravki i prepravki koristiti na drugom objektu, sto znaci da on ima lose predispozicije za ponovnu upotrebu.
Zato se tezi da se funkcije i neki drugi delovi programa tako pisu da su sto je moguce vise univerzalni, pa da mogu da se koriste i kasnije.
Ovo gore pomeranje je moglo da se napise u funkciji koja bi mogla da pomera ne samo labele, vec i bilo koji drugi objekat na formi.
Recimo, napises funkciju koja kao jedan od parametara uzima pokazatelj na objekat koji zelis da pomeris. Posto znamo da svi objekti na formi imaju poziciju/koordinate, to znaci da bi takva funkcija mogla da posluzi teoretski za pomeranje svih vrsta komponenti po formi.
Onda kod napises tako da je irelevantno koji se objekat pomera.
Zao mi je sto ne mogu ovo da ti napisem u VB-u, posto ga vec godinama nisam koristio pa sam zaboravio sintaksu. Mogao bih da ti napisem primer u Pascalu, ako bih ti time pomogao da shvatis o cemu pricam.
|
|
|
|
|
|
|
Poslao: 12 Feb 2009 21:33
|
offline
- Peki_92

- Elitni građanin
- Pridružio: 26 Okt 2008
- Poruke: 1560
- Gde živiš: Sremski Mihaljevci
|
Nema potrebe, skapirao sam. Aj se vratimo na blasterov poslednji kod:
Label1.Location = New Point(Label1.Location.X + 1, Label1.Location.Y)
If Label1.Location.X > Me.Width Then
Label1.Location = New Point(-Label1.Width, Label1.Location.Y)
End If
Sada kontam da, kada bih zeleo da se label1 krece levo, samo promenim kod u prvom redu (Label1.Location.X-1, Label1.Location.Y)
i u drugom
Label1.Location = New Point(+Label1.Width, Label1.Location.Y)
ali ono ne radi...
|
|
|
|
|
|
|
Poslao: 12 Feb 2009 21:50
|
offline
- bobby

- Administrator
- Pridružio: 04 Sep 2003
- Poruke: 24135
- Gde živiš: Wien
|
Citat:Label1.Location = New Point(+Label1.Width, Label1.Location.Y)
Ako ti je labela sirine recimo 50 tacaka, ti si za prvu tacku uzeo X koordinatu 50.
Tebi treba koordinata sirina forme + sirina labele ako hoces da labela pocne da ulazi sa desne strane na formu, pa da zavrsi na levoj strani.
Takodje, uslov za prekid kretanja nije vise isti.
Citat:If Label1.Location.X > Me.Width Then
Ako je X koordinata labele veca od sirine forme onda...
Tebi sada treba da kontrolises kada je cela labela prosla kroz koordinatu nula.
Znaci:
if Label1.Location.X < Label1.Width then ...
Da pokusam da napisem ceo kod, i ako VB nisam pipnuo vec vise od 10 godina:
Private Sub Timer1_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer1.Tick
Label1.Location = New Point(Label1.Location.X - 1, Label1.Location.Y)
If Label1.Location.X < -Label1.Width Then
Label1.Location = New Point(Me.Width + Label1.Width, Label1.Location.Y)
End If
End Sub
|
|
|
|
|
|
|
|