Ver Mensaje Individual
  #5  
Antiguo 27-10-2016
Avatar de aguml
aguml aguml is offline
Miembro
 
Registrado: may 2013
Posts: 885
Reputación: 11
aguml Va por buen camino
Mi idea es dejarlo así más o menos:
Código PHP:
AnsiString CalcularValorLIC(char *cadena,int sizebuffer)
{
    
unsigned long valor1valor2 0valor3;
    
unsigned long contador 0;
    
unsigned long sizefilelic 0;
    
unsigned long retval 0;

    do {
        if (
cadena[sizefilelic] == 0x1A)
            break;
        ++
sizefilelic;
    } while(
cadena[sizefilelic]);

    
valor3 sizefilelic;
    do {
        
valor1 cadena [contador];
        
valor2 valor2 valor1 contador;
        
retval = (cadena [(valor2 % (sizefilelic 1)) + 1] + valor2 + (valor1 valor2) * valor3) * valor2;
        ++
contador;
    } while (
contador sizefilelic);
    return 
AnsiString().sprintf("%09lu"retval);

Ya que es seguro que en el buffer mio siempre va a haber una cadena ya que se forma a partir de una constante con lo que por lo menos la constante estará así que sobran tantos if. Ahora el caso es si el código que yo he modificado es capaz de realizar la misma tarea o me equivoqué en algo (lo más seguro). Si veis algo erróneo en la conversión del código por favor decidme.

Última edición por aguml fecha: 27-10-2016 a las 07:33:33.
Responder Con Cita