Str2date

Internφ programovacφ jazykC/C++PascalSQL

function Str2date(var s : string) : date;
BOOL str2date(const char * s, uns32 * dt);
function str2date(s : PChar; var dt : uns32) : Boolean;
FUNCTION Str2date(IN s CHAR()) RETURNS DATE;

Parametry

s °et∞zec znak∙ obsahujφcφ zßpis data ve tvaru den.m∞sφc nebo den.m∞sφc.rok
dt v²stupnφ parametr: datum

Popis

Funkce Str2date p°evede zßpis data v °et∞zci s na hodnotu typu Date a vrßtφ ji. Prßzdn² °et∞zec se p°evede na hodnotu NONEDATE. V jazyce SQL slou₧φ stejnΘmu ·Φelu funkce CAST.

Hodnota funkce

V klientskΘm jazyce a v SQL funkce vrßtφ datum, pokud jeho zßpis je (jedin²m) obsahem °et∞zce s, jinak vracφ NONEDATE. V jazyce C a v Pascalu funkce vracφ TRUE pokud p°evod byl ·sp∞Ün².

P°φklad:

procedure PocetDni(id : window_id; rec : trecnum);
{*******************************************}
// zapφÜe do pole PoΦet dnφ rozdφl mezi zaΦßtkem a koncem dovolenΘ 
var 
  oddat,dodat : date;
  s1 : string[10];
  i,pocetd : integer;
  un : untyped;
begin
  s1 := Get_view_item(id,10); // p°eΦtenφ hodnoty editu
  oddat := Str2date(s1);      // konverze na datum
  s1 := Get_view_item(id,12);
  dodat := Str2date(s1);
  pocetd := 0;
  for i := 0 to dodat-oddat do // poΦet dn∙ bez sobot a ned∞lφ
    if ((Day_of_week(oddat+i)>0) and (Day_of_week(oddat+i)<6)) then pocetd := pocetd+1;
  un := Int2str(pocetd);       // konverze na °et∞zec
  Set_item_value(id,rec,14,un); Signalize; // zapsßnφ do editu
end;

Viz