[ Robinsonk@ @ 08.01.2004. 13:09 ] @
1. Kako da izracunam broj dana izmedju tekuceg datuma i nekog u proslosti?
2. Da li postoji mogucnost da se kada je neki text box fokusiran da se pored njega pojavi neka labela, odredjeni broj sekundi? Ako moze, pretpostavljam da se to resava pomocu tajmera. Kako?
3. Kako se ubacuje pocetna forma, koju ima vecina Windows aplikacija, koja se takodje vidi odredjeni broj sekundi?
[ markom @ 08.01.2004. 13:28 ] @
[ Da se unapred ogradim, poslednji put sam programirao u VB-u 1995. Ovo što sledi je common-sense objašnjenje, ali nemoj tražiti da ti napišem kod -- to ne umem. ]

Citat:
Da li postoji mogucnost da se kada je neki text box fokusiran da se pored njega pojavi neka labela, odredjeni broj sekundi?


Većina elemenata na formi ima property "visible". Takođe, većina aktivnih komponenti (input polja, dugmići, itd) imaju OnFocus event.

Pretpostavimo da imaš tekst kontrolu koja se zove Text1, da imaš labelu Label1 koju želiš da prikažeš samo određeno kratko vreme kad se fokusira Text1.

Napraviš Label1 i podesiš da je Visible=False;

Napraviš kontrolu Timer1 i active property (ili ekvivalent) podesiš na False. Podesiš u toj kontroli da kad izbroji taj određeni broj sekundi, postavi Label1.Visible=False;

U OnFocus hendleru za Text1 podesiš Label1.Visible=True i Timer1.Active=True.

Šta se ovde događa je sledeće. Labela je nevidljiva. Kad klikneš na Text1, postaviće labelu da je vidljiva i istovremeno aktivirati tajmer. Kad tajmer izbroji do kraja, ukinuće labelu. Imaj na umu da ovde ima par scenarija na kojima treba poraditi (šta ako korisnik klikne drugde pre nego li tajmer izbroji, vraćanje tajmera na početak, itd, itd), ali ovo je generalna priča.

Citat:
Kako se ubacuje pocetna forma, koju ima vecina Windows aplikacija, koja se takodje vidi odredjeni broj sekundi?


Slična priča kao gore. Imaš Form1 koji se otvara kad i aplikacija. U njemu Timer1 koji kad izborji uradi Form1.Close.


Marko.
[ degojs @ 08.01.2004. 13:34 ] @
Što se prvog pitanja tiče pogledaj funkciju DateDiff (čini mi se da je tako ime iste).

Evo ovde uputstvo, dakle nešto poput: DateDiff("d", Now, datum2).
[ Safet Beriša @ 08.01.2004. 14:18 ] @
Samo da dodam da pored Now (video sam da u MSDN primeru za DateDiff koriste Now) postoje i Time i Date funkcije pa bi možda bilo bolje da se koristi Date (koja daje samo datum) za dobijanje samog datuma (ako zatreba za neke druge operacije).

[ Safet Beriša @ 08.01.2004. 14:28 ] @
Citat:
markom
Slična priča kao gore. Imaš Form1 koji se otvara kad i aplikacija. U njemu Timer1 koji kad izborji uradi Form1.Close.


Mislim da .Close ne radi sa formama već se za njih koristi isključivo Unload ImeForme a može i Unload Me ako forma unloaduje samu sebe.
[ markom @ 08.01.2004. 14:55 ] @
Kao što rekoh, moje rešenje je konceptualno ;-).

Marko.
[ Safet Beriša @ 08.01.2004. 15:43 ] @
I odlično rešava problem :)

Inače evo kako bi izgledala jedna prosta varijanta praktične primene koncepta koji je dao Marko za drugo pitanje:

Code:
Private Sub Form_Load() 
    'Sve što je ovde urađeno možeš uraditi i u Properties prozoru odgovarajućih objekata

    Label1.Visible = False
    Timer1.Enabled = False
    Timer1.Interval = 5000 '5000 milisekundi Odnosno 5 sekundi
End Sub

Private Sub Text1_GotFocus()
    Timer1.Enabled = True
    Label1.Visible = True
End Sub

Private Sub Timer1_Timer()
     Label1.Visible = False
     Timer1.Enabled = False
End Sub


Ako se ne varam ono što ti hoćeš da dobiješ jeste neka vrsta ToolTipova, a ako je tako pogledaj ToolTipText svojstvo objekata koji će ti, verujem, dati odgovarajuće rezultate - žuti balončić koji prikazuje određeni tekst kada nadneseš miša (i zadržiš ga) nad određeni objekat i nestaje posle par sekundi.

Koristi se tako što uneseš željeni tekst u ToolTipText polje u Properties prozoru a ako hoćeš da ga postaviš u kodu sintaksa je:

objekat.ToolTipText = "Tekst koji hoćeš da se prikaže ili neka promenljiva ili pak kombinacija navedenog."

Promenljive, naravno, nećeš navoditi pod navodnicima.
[ Robinsonk@ @ 11.01.2004. 22:58 ] @

Hvala na (vise nego sto je bilo potrebno) detaljnom uputstvu.
Imam jos pitanje, da li se gif slike (pokretne) mogu prenijeti na formu a da pri tom zadrze to svojstvo pokretljivosti?
Da li postoji negdje uputstvo za koriscenje Data Report-a, ne Crystal Reporta jer prvi put radim izvjestaje, procitala sam sta imam u knjizi ali to mi nije dovoljno. Ono sto sam do sad pogledala mi se cini prilicno jednostavno. Podesim da taj DataReport ukazuje na neku tabelu, preko recordseta. I onda na DataReport-u stavljam labele koje ce se vidjeti na izvjestaju a text box-ovima podesim DataField na neku kolonu i u izvjestaju ce se u njega upisati sadrzaj te kolone.. Da li sam dobro shvatila?

Hvala jos jednom.
[ Safet Beriša @ 11.01.2004. 23:21 ] @
Za GIF pogledaj "Na koji nacin da na formu ubacim animiranu slicicu u GIF formatu?" ili još bolje "Gif891a komponenta (hocu da ubacim gif animaciju na Form)".
[ Robinsonk@ @ 11.01.2004. 23:36 ] @
Hvala.

Sto se tice Data Report-a sad sam probala i bez problema na ovaj nacin stampa podatke iz baze. A sta ako hocu da odstampam, ako se moze tako reci formu, ciji "izgled" se ne pamti na taj nacin u bazi? Nesto kao da mi forma tj. njen frejm predstavlja stranu u word-u koju hocu da stampam.
[ mladenovicz @ 12.01.2004. 11:08 ] @
Najlosiji deo VBa su reporti, tj. DataReport, tako da ces vremenom sigurno morati da koristis nesto drugo (CrystalReport, ComponentOne Reports, Data Dynamics Active Reports,...) tako da ti je bolje da radis sa nekim drugim reportima.
[ Robinsonk@ @ 12.01.2004. 14:32 ] @
Shvatila sam kako radi DataReport. Znam da treba da koristim druge , ali trenutno moram da radim u DataReport-u, zato sam to i naglasila.

U svakom slucaju hvala svima koji su mi pomogli.
[ StratOS @ 15.01.2004. 10:24 ] @
Onaj prikaz mozes da izvedes i bez Timer kontrole
sa Do Until ... Loop !

primjer na brzo (bez korištenja i testiranja na VB-u)

gotfocus txtbox-a :

dim timer as long
timer=now

Do until now-timer=1000 (mislim, da je to 1s)
label1.visible=true
doevents
loop

label1.visible=false

A pazi na texbox GotFocus
[ mladenovicz @ 15.01.2004. 10:40 ] @
Da, radice, ali se nepotrebno opterecuje procesor.