Datum Rodjenja

Započeo toncikica, Februar 29, 2024, 22:59:26 POSLE PODNE

prethodna tema - sledeća tema

0 članova i 1 gost pregledaju ovu temu.

Hocu da napravim dialog da se unese datum rodjenja, ali kako da stavim da mora ukucat npr. 01/01/2000, mislim mogu napravit da ukuca 01 01 2000, ali ne bih tako, vidjao sam to vec da upises 01.01.2000 ili 01/01/2000. Ideja kako se to radi ?

[pawn]Dialog:unosenje_godine(playerid, response, listitem, inputtext[]) {
   if(!response) return registerpanel(playerid);
   if(response) {
      new time[30];
      if(sscanf(inputtext, "s[30]", time))
         return Dialog_Show(playerid,unosenje_godine,DIALOG_STYLE_INPUT,"Unososenje godina","{ffffff}Upisite datum rodjenja u formatu DD-MM-YYYY\nPrimer -> 02-05-2002","UNOS","IZLAZ");

      new len = strlen(time);
       for (new i = 0; i < len; ++i)
       {
           if (time[2] != '-' || time[5] != '-')
            return Dialog_Show(playerid,unosenje_godine,DIALOG_STYLE_INPUT,"Unososenje godina","{ffffff}Upisite datum rodjenja u formatu DD-MM-YYYY\nPrimer -> 02-05-2002","UNOS","IZLAZ");
        }
      TimeParse(time, ISO6801_FULL_LOCAL, ts);
      PlayerInfo[playerid][pGodine] = _:ts;

      InputAge[playerid] = true;
   }
   return 1;
}[/pawn]
Samo ubaci provere za datume mislim da bi trebalo da radi

Pawn.Regex(click)

[pawn]
("^(0[1-9]|[12][0-9]|3[01])[.](0[1-9]|1[012])[.](19|20)[0-9]{2}$")

("^(0[1-9]|[12][0-9]|3[01])[/](0[1-9]|1[012])[/](19|20)[0-9]{2}$")
[/pawn]

^ to iznad pa se zajebavaj sa tim kako ces da vadis brojeve (ili ces samo tako i cuvati?)
Ili sscanf, nisam probao ali bi trebalo da radi. Naravno na tebi je verifikacija min/max i slicno. I naravno logika je ista, ako vrati 0 sve je ok, ako ne onda ili format ili nesto drugo ne valja u stringu.
[pawn]sscanf(string, "p</>ddd", datum, mjesec, godina) [/pawn]

Moraš pitati ove iz opštine, oni barataju sa izvodima iz matične knjige rođenih. ;)
• Website: www.vasic.dev
Web Development & Cyber Security

Citat: Bit Frosty poslato Mart 01, 2024, 18:03:00 POSLE PODNE
^ to iznad pa se zajebavaj sa tim kako ces da vadis brojeve (ili ces samo tako i cuvati?)
Ili sscanf, nisam probao ali bi trebalo da radi. Naravno na tebi je verifikacija min/max i slicno. I naravno logika je ista, ako vrati 0 sve je ok, ako ne onda ili format ili nesto drugo ne valja u stringu.
[pawn]sscanf(string, "p</>ddd", datum, mjesec, godina) [/pawn]
Hvala, radi.
Hvala i drugima koji su dali prijedolg !