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 ?

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;
}

Samo ubaci provere za datume mislim da bi trebalo da radi

Pawn.Regex(click)

("^(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}$")

^ 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.
sscanf(string, "p</>ddd", datum, mjesec, godina)

Vasic

*

Usus est magister optimus.

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.
sscanf(string, "p</>ddd", datum, mjesec, godina)

Hvala, radi.
Hvala i drugima koji su dali prijedolg !