Ver Mensaje Individual
  #1  
Antiguo 24-11-2011
Geta Geta is offline
Miembro
 
Registrado: ago 2004
Posts: 27
Reputación: 0
Geta Va por buen camino
Portar rutina Javascript a Delphi

Hola. Debido a que trabajo con las consolas Wii reparandolas, hay en la red una rutina en javascript para poder desactivar el control parental de estas consolas y en el SAt donde estoy nos vendria bien una aplicacion que nos generase ese codigo. Lo malo es que los fuentes estan en javascript y no tengo conocimientos de este lenguaje. Lo poteo por si alguien pudiera ayudarme a portarlo a Delphi. Gracias.

Código:
ctime = time.time() def opt_date(delta): t = time.gmtime(ctime + delta * 3600 * 24) if delta == 0: selected = ' selected="selected"' else: selected = "" return '<option value="%02d%02d" %s>%s</option>'%(t.tm_mon,t.tm_mday,selected,time.strftime("%a, %d %b %Y",t)) class CRC32: def __init__(self): self.gentable() def crc32(self, input, crc=0xffffffffl): count = len(input) i = 0 while count != 0: count -= 1 temp1 = (crc >> 8) & 0xFFFFFF temp2 = self.table[(crc ^ ord(input[i])) & 0xFF] crc = temp1 ^ temp2 i += 1 return crc def gentable(self): self.table = [] for i in range(256): crc = i for j in range(8): if crc & 1: crc = (crc >> 1) ^ 0xEDB88320l else: crc >>= 1 self.table.append(crc) def error(s): return '<div class="error">%s</div>'%s def process(): try: int(form["number"][0]) #validate if len(form["number"][0]) != 8 or not all([x in "0123456789" for x in form["number"][0]]): raise ValueError() except: return error("Please provide a valid 8-digit confirmation number") try: int(form["date"][0]) #validate if len(form["date"][0]) != 4 or not all([x in "0123456789" for x in form["date"][0]]): raise ValueError() except: return error("Invalid date") fullnum = form["date"][0] + form["number"][0][4:8] crc = CRC32().crc32(fullnum) code = ((crc ^ 0xaaaa) + 0x14c1) % 100000 return '<div class="response">Your unlock code:<span class="code">%05d</span></div>'%code
Responder Con Cita