[ MajorFatal @ 01.11.2007. 16:40 ] @
Drugar hoce da ga aplikacija par puta dnevno obavestava o necemu, evo kako sam ja pokusao:

Code:
procedure Alarm(Sender: TObject);
begin
 if TDateTime(Now).AsString = Edit1.Text or TDateTime(Now).AsString = Edit2.Text or
 TDateTime(Now).AsString = Edit3.Text or TDateTime(Now).AsString = Edit4.Text
 TDateTime(Now).AsString = Edit5.Text or TDateTime(Now).AsString = Edit6.Text or
 TDateTime(Now).AsString = Edit7.Text or TDateTime(Now).AsString = Edit8.Text then
 Form5.Visible = True;
end;

Ali naravno ne radi, ko ni sve dosad sto nije radilo. Kako se pravilno koristi TDateTime ili ako ima neki drugi nacin da napravim alarm?
[ Miloš Baić @ 01.11.2007. 21:49 ] @
U sklopu JEDI(JCL & JVCL) imaš TJvAlarms(Non - Visual).
[ MajorFatal @ 03.11.2007. 13:05 ] @
Nece pa nece:
Code:
procedure TForm4.Button1Click(Sender: TObject);
begin
 JvAlarms1.Alarms.Add(Edit1.Text + ' ' + DateTimeToStr(Now));
  //if TimeToStr(SysUtils.Time) = a then Form5.Visible := True;
   Form4.Close;
end;

Sta da radim? Uvek mi ispise reised exception It's not valid date and time??? Sta god da upisem u Edit...
[ savkic @ 03.11.2007. 18:05 ] @
> Sta da radim? Uvek mi ispise reised exception It's not valid date and time??? Sta god da upisem u Edit...

Zar tekst greške nije selfexplanatory? Upisuješ nešto što nije ispravan datum, verovatno neki string. Nije ni jasno šta želiš da dobiješ sabiranjem trenutnog vremena kao stringa sa unetim tekstom, napiši šta očekuješ da dobiješ a šta dobijaš. Ako je potrebno da korisnik unese neki datum, onda je bolje da koristiš TDateTimePicker.
[ MajorFatal @ 03.11.2007. 19:48 ] @
Potrebno je da korisnik u dva tri edita upise dva tri vremena u toku dana i da ga onda alarm upozorava svakodnevno u tim vremenima o nekom dogadjaju, a ja sta god upisem u edit za vreme dana ili za datum i vreme meni ispise onu poruku...
A pokusavao sam na razne nacine da upisem vreme...
[ X Files @ 03.11.2007. 20:09 ] @
Zasto bas TEdit?

Imas komponentu vrlo pogodnu za unos datuma i/ili vremena: TDateTimePicker
(tebi treba vreme)

Zatim imas funkcije: DecodeDate() / EncodeDate() i DecodeTime() / EncodeTime()
(tebi treba DecodeTime)

Pogledaj u Helpu, ima primer kako se koristi...

Onda u TTimer stavi kod koji iz trenutnog vremena Now() razdvaja sate, minute i sekunde i odreaguj kad se nesto poklopi.
[ MajorFatal @ 03.11.2007. 22:32 ] @
Ovo je lepo kompajlirao:
Code:
procedure TForm4.Button1Click(Sender: TObject);
var
 Sadasnje: TDateTime;
 Hour, Min, Sec, MSec: Word;
// Sat,Minut : String;
begin
 Sat:= Edit1.Text; Minut:= Edit2.Text;
 Sadasnje:= Now;
 DecodeTime(Sadasnje, Hour, Min, Sec, Msec);
 if ((Hour = StrToWord(Edit1.Text)) and (Min = StrToWord(Edit2.Text))) then Form5.Visible:= True;

Ali nece da radi tj. nista se ne desava kada se poklopi vreme???
[ X Files @ 04.11.2007. 08:11 ] @
Naravno da neće da se poklopi kad si događaj stavio u TButton. Lepo sam napisao da stavis u TTimer. Sad si me naterao da startujem Delphi.

Code:

procedure TForm1.Timer1Timer(Sender: TObject);
var
   Hour, Min, Sec, MSec: Word;
begin
   DecodeTime(Now, Hour, Min, Sec, Msec);
   if ((Hour = StrToInt(Edit1.Text)) and (Min = StrToInt(Edit2.Text)) and (Sec = StrToInt(Edit3.Text)))
      then Form1.Caption := 'Vreme!';
end;
end.

(Ovde gore proveri kako se u Delphiju vrši konverzija u Word tip. Ja sam konvertovao u Int, što bi trebalo da je dovoljno)
[ X Files @ 04.11.2007. 08:24 ] @
...ili:
Code:

{ ttimer.Kind = dtkTime }
procedure TForm1.Timer1Timer(Sender: TObject);
var
   Hour, Hour2, Min, Min2, Sec, Sec2, MSec, MSec2: Word;

begin
   DecodeTime(Now, Hour, Min, Sec, MSec);
   DecodeTime(ttimer.Time, Hour2, Min2, Sec2, MSec2);
   if ( (Hour = Hour2) and (Min = Min2) and (Sec = Sec2) )
      then Form1.Caption := 'Vreme!';
end;
end.

E sad, u ovom kodu je glupo što se svaki čas dekodra ttimer. Bolje je napraviti neki OnChange za ttimer i samo tada negde smestiti trenutne vrednosti vrednosti Hour2, Min2 i Sec2, pa sa njima kasnije uparivati. To odradi sam.
[ MajorFatal @ 04.11.2007. 11:09 ] @
Konverzija u tip Word se vrsi biblioteckom funkcijom StrToWord. Izvini sto nisam odmah radio sa tajmerom mi pocetnici najvise volimo da "programiramo" ButonClick dogadjaje...
Ali ovo bre nece kod mene. Jesi ti proveravao kod tebe upises vreme i u to vreme se desi dogadjaj? Ovaj drugi kod nisam pokusavao da probam jer ne vidim gde su tu editi za upisivanje vremena...
[ X Files @ 04.11.2007. 11:26 ] @
Citat:
Konverzija u tip Word se vrsi biblioteckom funkcijom StrToWord.

Super.

Citat:
Izvini sto nisam odmah radio sa tajmerom mi pocetnici najvise volimo da "programiramo" ButonClick dogadjaje

Ako tvoj kolega ima vremena da klikce Button1 24h dnevno i ceka da se poklopi trenutno vreme sa vremenom koje u Editima, nemam nista protiv. Ako mu to ipak ne odgovara, onda uzmi TTimer da proverava za njega. ;)

Citat:
Ali ovo bre nece kod mene.

Šta neće ? Ja sam podesio program da se u naslovnoj liniji napiše tekst "Vreme!", a ti podešavaj štagod.

Citat:
Jesi ti proveravao kod tebe upises vreme i u to vreme se desi dogadjaj?

Jesam.

Citat:
Ovaj drugi kod nisam pokusavao da probam jer ne vidim gde su tu editi za upisivanje vremena...

Ne čitaš uopšte šta ti je napisano. Drugi primer koristi POSEBNO DIZAJNIRANU KONTROLU za upisivanje datuma ili vremena, tako da se ne bakćeš sa TEdit-ima koji su opšte namene i nepogodni za upis vremena.

Da bi koristio drugi kod, dodatj komponentu TDateTimePicker i podesi Kind na dtkTime.
[ MajorFatal @ 04.11.2007. 13:49 ] @
Ekhm, nisam bio skontao ono za dtk.Kind sve vreme sam se cudio sta da radim sa onim DateTime pickerom kad moze da se odabere samo datum, a i sto se zove tako...
Sad mi u redu:
Code:
  DecodeTime(ttimer.Time, Hour2, Min2...
prijavljuje Undeclared identifier: 'Time' a kad iza ttimer lupim tacku samo nudi Create i InstanceSize???
[ X Files @ 04.11.2007. 14:06 ] @
To naravno treba da bude TDateTimePicker objekat:
Code:

// ...
DecodeTime(DateTimePicker1.Time, Hour2, Min2, Sec2, MSec2);
// ...

(pogledaj kako se zove kod tebe, u primeru gore je: DateTimePicker1)
[ MajorFatal @ 04.11.2007. 14:37 ] @
Hvala!!! Provalio sam bio u medjuvremenu da treba da stoji DateTimePicker i sad sve radi kako treba...
Iskoristicu priliku da se zahvalim ljudima koji su mi najvise pomogli Milosu Bajicu, savkicu i X Files-u sto su mi pomogli da ovu aplikaciju privedem kraju, to mi je prva iole ozbiljnija u zivotu koju sam uradio od pocetka do kraja i ispostovao sve zahteve korisnika. Jes da nije neka: samo 1 tabela, nija prava relaciona baza ali ipak... za pocetak nije lose.

Hvala jos jednom.