labela levo - desno

2

labela levo - desno

offline
  • 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.
offline
  • Pridružio: 26 Okt 2008
  • Poruke: 1560
  • Gde živiš: Sremski Mihaljevci

BlasteR upravo to sam mislio

Hvala!

Pozdrav.
Petar.



offline
  • 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".

offline
  • 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??

offline
  • 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.

offline
  • Pridružio: 26 Okt 2008
  • Poruke: 1560
  • Gde živiš: Sremski Mihaljevci

Sada samo tebi hvala. Smile

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

offline
  • 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.

offline
  • 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...

offline
  • 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

offline
  • Pridružio: 26 Okt 2008
  • Poruke: 1560
  • Gde živiš: Sremski Mihaljevci

Jebem ga... radi. svaka cast

Ko je trenutno na forumu
 

Ukupno su 1024 korisnika na forumu :: 83 registrovanih, 11 sakrivenih i 930 gosta   ::   [ Administrator ] [ Supermoderator ] [ Moderator ] :: Detaljnije

Najviše korisnika na forumu ikad bilo je 3466 - dana 01 Jun 2021 17:07

Korisnici koji su trenutno na forumu:
Korisnici trenutno na forumu: A.R.Chafee.Jr., acov34, alek_bre, ALFASPORTIVO, armor, boban977, Bojan198527, bojcistv, Brana01, branko7, Bubimir, cikadeda, crazydkure, dankisha, Darko8, darkojbn, Denaya, Dimitrise93, Djokkinen, doloress, Dorcolac, Dovla 1980, Dr.Strangelove, dunavzed, Dungorth, Electron, feanor, goxsys, h8propaganda, HPkopun, ivan1973, JankoS, Japidson, jodzula, Jovan.D, Kruger, kunktator, kybonacci, Lazarus, Metanoja, Mihajlo, mikrimaus, milan47, milimoj, moldway, Nemanja.M, nenad81, nnovakis, opt1, Pale2025, Parker, pfc74, pisac12, Povratak1912, RajkoB, raso76, repac, ruma, S-lash, Silvertooth, Sky diver 29, SlaKoj, Smajser, Snorks, sokars, solic, spalev, Srki94, ss10, Stoilkovic, styg, tanakadzo, TheDictator, Titan, tubular, vathra, vensla, Vrač, vukajlo71, wexy, ZlatniRez, Zorge, Živanski