Balkan SA:MP

PAWN skriptanje, gamemodovi, filterskripte, include fajlovi, mape, pluginovi => Razgovor u vezi PAWN - skriptanja => Temu započeo: toncikica poslato Februar 29, 2024, 22:59:26 POSLE PODNE

Naslov: Datum Rodjenja
Poruka od: toncikica poslato Februar 29, 2024, 22:59:26 POSLE PODNE
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 ?
Naslov: Odg: Datum Rodjenja
Poruka od: Fergosonn poslato Mart 01, 2024, 00:03:56 PRE PODNE
[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
Naslov: Odg: Datum Rodjenja
Poruka od: rizla poslato Mart 01, 2024, 12:28:19 POSLE PODNE
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]
Naslov: Odg: Datum Rodjenja
Poruka od: 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]
Naslov: Odg: Datum Rodjenja
Poruka od: Vasic poslato Mart 02, 2024, 14:54:22 POSLE PODNE
Moraš pitati ove iz opštine, oni barataju sa izvodima iz matične knjige rođenih. ;)
Naslov: Odg: Datum Rodjenja
Poruka od: toncikica poslato Mart 02, 2024, 17:07:06 POSLE PODNE
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 !