Ver Mensaje Individual
  #44  
Antiguo 28-03-2007
Avatar de dec
dec dec is offline
Moderador
 
Registrado: dic 2004
Ubicación: Alcobendas, Madrid, España
Posts: 13.141
Reputación: 36
dec Tiene un aura espectaculardec Tiene un aura espectacular
Hola,

Os agradezco a todos vuestro esfuerzo, de verdad. No doy pie con bola y no es culpa vuestra, ni mucho menos. No me encuentro muy bien, a lo que se ve. Supongo que será algo pasajero, puesto que no es la primera vez que me ocurre.

Probando la última solución propuesta por Seoane (no me gusta copiar y pegar, pero, he tenido que hacerlo sin remedio) encuentro el siguiente problema:

(Nótese que el nombre de la función "CheckSerial" es ahora "ComprobarNumeroSerie" pero que no cambia más que esto)

Código Delphi [-]
function TGeneradorSeriales.ComprobarNumeroSerie(numeroBase: integer;
 claveUsuario: string; numeroSerie: string): boolean;
var
  A: Integer;
begin
  Result:= FALSE;
  if (numeroBase <> 0) and (claveUsuario <> '') then
  begin
    A:= numeroBase * Length(claveUsuario) + Ord(claveUsuario[1]) * 666;
    Result:= GetNum(numeroSerie) = A;
    A := numeroBase * Ord(claveUsuario[1]) * 123;
    Result:= Result and (GetNum(numeroSerie) = A);
    A := numeroBase + (Length(claveUsuario) * Ord(claveUsuario[1])) * 6613;
    Result:= Result and (GetNum(numeroSerie) = A);
  end;

  if not Result then
  begin
    ShowMessage(Format('¿Número de serie incorrecto? %s', [numeroSerie]));
  end;

end;

El caso es que incluso proporcionando un código de serie válido este resulta ser "no válido". Por tanto entramos en el "If not Result then...".

He podido comprobar que si no proporcino clave de usuario y sí únicamente el número de serie, entro en el "if not Result then..." y el mensaje muestra efectivamente el número de serie introducido.

Pero si añado la clave de usuario (como tiene que ser) junto con el número de serie, entonces tampoco valida el número (aunque sea correcto) y además el mensaje muestra el número "partido"... no completo...

Esto me supera, probablemente. No he comprobado esto último que comenta Neftalí, puesto que lo acabo de leer. Y ya lo que me trae de cabeza es que intente buscar el número de serie en la memoria en antiguos programas en donde hacía uso del mismo sistema... y no aparezca.

O sea, que algo he tocado... y ya se sabe que lo que funciona no debe tocarse... ¡qué sé yo!

Bueno. Os agradezco a todos de veras el esfuerzo que ponéis en tratar de echarme una mano, pero, empiezo a pensar que debo tomarme esto mucho más seriamente de lo que soy capaz ahora mismo.

Tampoco corre prisa, supongo. Voy a tratar de tomármelo con más calma a ver qué tal...

Gracias a todos monstruos.
__________________
David Esperalta
www.decsoftutils.com
Responder Con Cita