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

Problem sa datumom

[es] :: Pascal / Delphi / Kylix :: Problem sa datumom

[ Pregleda: 2771 | Odgovora: 6 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

gygy
Dragan Grbic

Član broj: 7861
Poruke: 205
*.smin.sezampro.yu.



Profil

icon Problem sa datumom22.01.2005. u 21:57 - pre 233 meseci
DBEdit1.Text := FormatDateTime('dd.mm.yyyy', strtofloat(Edit1.text));
unosim u Edit1 (ova procedura stoju u edit1Exit) i nakon izlaska zelim da mi ako je datum napisan 1.1.05 napise 01.01.2005 ili 8.08.04 napise 08.08.2004. Tj da testira datum pri izlazu iz Edit1.
Kako da ovo resim?
Hvala!!!
GYGY
 
Odgovor na temu

iggac
Igor Ceko

Član broj: 34086
Poruke: 67
*.dialup.blic.net.



Profil

icon Re: Problem sa datumom22.01.2005. u 22:39 - pre 233 meseci
Citat:
nakon izlaska zelim da mi ako je datum napisan 1.1.05 napise 01.01.2005 ili 8.08.04 napise 08.08.2004


Ako u Edit box napises datum u obliku 1.1.05 onda ne mozes koristiti funkciju StrToFloat vec StrToDate jer ne mozes konvertovati '.' u float podatak.
The truth shall set you free
 
Odgovor na temu

_v!rus_
BGD

Član broj: 40451
Poruke: 313
213.244.197.*



+1 Profil

icon Re: Problem sa datumom22.01.2005. u 23:16 - pre 233 meseci
Ako windows locale je podesen na neki drugi ShortDate Format (tipicno US English m/d/y) onda ni StrToDate nece raditi (hoce za 01.01.2004, ali 02.01.2004 ce mu biti 1. FEBRUAR, a za 13.1 ce prijaviti gresku). Fora je napraviti f-ju koja cita karaktere stringa i koriscenjem EncodeDate(D, M, G: Word) vraca TDate, pa posle ide FormatDateTime('dd.MM.yyyy', NekiDatum).
 
Odgovor na temu

gygy
Dragan Grbic

Član broj: 7861
Poruke: 205
*.flashnet.co.yu.



Profil

icon Re: Problem sa datumom22.01.2005. u 23:20 - pre 233 meseci
Sad ferca!
Hvala!
Ali imam jos jedan problem prilikom filtriranja!
koristim ovaj kod ali nesto nije u redu.
ovaj edit2.text := dbedit1.text
Code:
...
procedure TForm1.Button1Click(Sender: TObject);
begin
    ClientDataSet1.Filtered := True;
    ClientDataSet1.Filter := 'Datum'+'='''+Edit2.text+'*'''  ;

end;
...

Kako jos da filtriram bazu (b1.xml-baza) po datumu?
Hvala
GYGY
 
Odgovor na temu

bancika
Branislav Stojkovic

Član broj: 24844
Poruke: 631
213.244.208.*

Sajt: www.diy-fever.com


+1 Profil

icon Re: Problem sa datumom22.01.2005. u 23:37 - pre 233 meseci
da bi parsovao datum moze recimo ovako (pretpostavka da je razmak tacka)
Code:

function MyStrToDate(s: string): TDate;
var d, m, y: string;
begin
  try
  d := StrToInt(Copy(s, 1, Pos('.', s) - 1);
  Delete(s, 1, Pos('.', s));
  m := StrToInt(Copy(s, 1, Pos('.', s) - 1);
  Delete(s, 1, Pos('.', s));
  y := StrToInt(Copy(s, 1, Pos('.', s) - 1);
except
  Exit;
end;
  Result := EncodeDate(d, m, y);
end;

mozda nije bas sve ispravno, posto je iz glave ali bi trebalo da je tako
Ride the rainbow, crack the sky

DIY gitare, pojacala i efekti www.diy-fever.com
 
Odgovor na temu

gygy
Dragan Grbic

Član broj: 7861
Poruke: 205
*.smin.sezampro.yu.



Profil

icon Re: Problem sa datumom24.01.2005. u 15:23 - pre 233 meseci
Hvala momci resio sam ovo pomocu 'Regional options'
ali imam jedan problem sa sortiranjem kako da sortiram i po datumu i po sifri?
Mogu da sortiram samo po datumu...
ClientDataSet1.IndexName := 'Datum';
...
ili samo po sifri...
ClientDataSet1.IndexName := 'Sifra';
...ClientDataSet1.IndexDefs imam definisane 0-Datum i 1-Sifra.
Kako ovo da resim?
Hvala

GYGY
 
Odgovor na temu

_v!rus_
BGD

Član broj: 40451
Poruke: 313
213.244.197.*



+1 Profil

icon Re: Problem sa datumom27.01.2005. u 19:51 - pre 233 meseci
Sa TQuery-em:
TQuery.SQL.Text := 'SELECT * FROM tvojatabela ORDER BY SIFRA, DATUM';
ili
TQuery.SQL.Text := 'SELECT * FROM tvojatabela ORDER BY DATUM, SIFRA';
zavisi sta ti treba.

A za datum nisi hteo da me poslusas pa si morao da menjas regional settings. Znaci jos jednom, da bi ti datum radio na BILO KOM reg. settingu MORAS izdvojiti iz stringa posebno dan, mesec i godinu i encodovati datum da bi dobio TDate, pa onda filtriras tabelu:
'Datum = ' + QuotedStr(DateTimeToStr(MojDatum));
DateTimeToStr ce uvek postovati system locale, tome inace i sluzi. Jedino treba da napises f-ju koja parsira datum (string) i vraca datum(TDate) ili uzmi bancikinu f-ju.

I jos nesto, ako radis sa TDBEdit, imas na raspolaganju posebno EditFormat a posebno DisplayFormat. Npr, za DisplayFormat stavis [dd.MM.yyyy], a za edit format stavis [d.M.yyyy], tako ce DBEdit uvek prikazivati dvocifren dan i mesec, onda ne treba da izmisljas svoju funkciju ni menjas locale. EditFormat i DisplayFormat su property-i TField-a.
 
Odgovor na temu

[es] :: Pascal / Delphi / Kylix :: Problem sa datumom

[ Pregleda: 2771 | Odgovora: 6 ] > FB > Twit

Postavi temu Odgovori

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