![]() |
![]() |
| Paypal | FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
|||||||
| Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Buscar | Temas de Hoy | Marcar Foros Como Leídos |
![]() |
|
|
Herramientas | Buscar en Tema | Desplegado |
|
|
|
#1
|
|||
|
|||
|
Hola,
Imagino que solo tienes problemas con este bloque de codigo: Código:
int j = 0;
for (int k = 0; k < 15; ++k)
j += localObject[k];
k = j % 23 + 65;
if (i != 0)
++k;
Código:
j:=0; for k:=0 to 15 do j:=j+localObject[k]; k:=(j mod 23) + 65; if i<>0 then Inc(k); |
|
#2
|
|||
|
|||
|
Hola mcs, desde ya muchas gracias por contestar
Esta es una Destinacion valida: '10042EC01004391D' y te paso mi rutina recorro la cadena (sDest) y voy cargando en el array mediante un for porque desconozco las funciones para hacerlo mas 'comodo' Pero el primer elemento del array pone 1 y el segundo q deberia ser 0 vuelve a repetir 1 y recien continua cargando bien, con lo cual me faltaria un item (la D final) y desde el vamos que es invalida si no posee el digito verificador. Estoy viendo eso ahora, pero si me trabo mucho mas le agrego un elemento mas al array y comienzo a contar desde el segundo elemento y listo. No puedo detenerme demasiado. Saludos y muchisimas gracias!!! Código:
function TData.ValDestinacion( sDest:string; blnMSG:boolean ):boolean;
var
i: integer;
j: integer;
k: integer;
aNro:array[0..15] of Char;
iSuma: Integer;
begin
iSuma := 0;
i := Pos( 'MANE', sDest );
sDest := ReplaceStr( sDest, 'MANE', 'MANI' );
if Length( sDest ) <> 16 then
begin
Result := false;
exit;
end;
for i := 0 to 15 do
begin
aNro[i] := Chr( Ord( Copy( sDest, i, 1 )[1] ) );
end;
j := 0;
for k := 0 to 14 do
begin
j := j + Ord( aNro[k] );
end;
k := ( j mod 23 ) + 65;
if i <> 0 then
begin
k := k + 1;
end;
case k of
73:
begin
k:= 78;
end;
79:
begin
k:= 89;
end;
81:
begin
k:= 90;
end;
91:
begin
k:= 65;
end;
end;
Result := ( k = Ord( aNro[15] ) );
end;
|
![]() |
| Herramientas | Buscar en Tema |
| Desplegado | |
|
|
Temas Similares
|
||||
| Tema | Autor | Foro | Respuestas | Último mensaje |
| Rutina que ocupa el 100% del procesador | egostar | Varios | 10 | 09-08-2007 01:27:20 |
| Rutina muy lenta... | KAYO | Firebird e Interbase | 10 | 04-07-2007 17:14:44 |
| Rutina de digito verificador | tulio | Varios | 4 | 09-08-2006 17:43:18 |
| Que tiene esta Rutina? | esimon | OOP | 5 | 04-07-2006 17:19:03 |
| No sale rutina SQl ............ | Coco_jac | SQL | 2 | 30-11-2005 16:52:44 |
|