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) (https://github.com/katursis/Pawn.Regex)
[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. ;)
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 !