Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Varios
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Grupo de Teaming del ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 23-09-2015
Cesargt Cesargt is offline
Registrado
NULL
 
Registrado: oct 2011
Posts: 6
Poder: 0
Cesargt Va por buen camino
De Clipper a Delphi

Hola a todos.

Es la primera vez que uso el foro, así que si pongo algo mal díganme para corregir el problema. Vamos al punto, tengo un problema con este programita hecho en Clipper para pasarlo a Delphi.

Este es el código en Clipper 5.2
Código:
FUNCTION VERIFICADOR(recibecadena)
nTotal  = 0
nDigito = 0
aCaracter = {"0","1","2","3","4","5","6","7","8","9",;
             "A","B","C","D","E","F","G","H","I","J",;
             "K","L","M","N","¥","O","P","Q","R","S",;
             "T","U","V","W","X","Y","Z"}
aValor    = {0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,;
             17,18,19,20,21,22,23,24,25,26,27,28,29,30,;
             31,32,33,34,35,36}
FOR nInd = 1 TO 17
  nTotal = nTotal + aValor[ASCAN(aCaracter,SUBS(cCurp17,nInd,1))] * (19-nInd)
NEXT
nDigito=INT(10-nTotal%10)
RETURN STR(IIF(nDigito=10,0,nDigito),1)
Esto es lo que llevo del código Delphi, pero requiero que me auxilien en indicarme si esta bien o en donde esta mal, sospecho que algo es mal, pero no se que es.

Código Delphi [-]
  
Procedure Form1.Button1Click(Sender: TObject);
var
    Aux3 : integer;
  strA:String;
   aNumero:array[1..10] of string[1];
   aLetra:array[1..26] of String[1];
   aValor: ARRAY[1..37] OF integer;
   xContador,xNTotal,xNDigito:Integer;
  aCaracter: TArray<string>;
  FoundIndex : Integer;

Begin

   aCaracter:=TArray<string>.Create('0','1','2','3','4','5','6','7','8','9','A','B','C',
 'D','E','F','G','H','I','J','K','L','M','N','Ñ','O','P','Q','R','S','T','U','V','W','X','Y','Z');

  aValor[1]:= 0;
  aValor[2]:= 1;
  aValor[3]:= 2;
  aValor[4]:= 3;
  aValor[5]:= 4;
  aValor[6]:= 5;
  aValor[7]:= 6;
  aValor[8]:= 7;
  aValor[9]:= 8;
  aValor[10]:= 9;
  aValor[11]:= 10;
  aValor[12]:= 11;
  aValor[13]:= 12;
  aValor[14]:= 13;
  aValor[15]:= 14;
  aValor[16]:= 15;
  aValor[17]:= 16;
  aValor[18]:= 17;
  aValor[19]:= 18;
  aValor[20]:= 19;
  aValor[21]:= 20;
  aValor[22]:= 21;
  aValor[23]:= 22;
  aValor[24]:= 23;
  aValor[25]:= 24;
  aValor[26]:= 25;
  aValor[27]:= 26;
  aValor[28]:= 27;
  aValor[29]:= 28;
  aValor[30]:= 29;
  aValor[31]:= 30;
  aValor[32]:= 31;
  aValor[33]:= 32;
  aValor[34]:= 33;
  aValor[35]:= 34;
  aValor[36]:= 35;
  aValor[37]:= 36;

        strA:='LRE5645HJGD4E04';

        xNTotal:=0;
        for xContador := 1 to 17 do
        Begin
            if TArray.BinarySearch<String>(aCaracter,strA.SubString(xContador,1),FoundIndex, TStringComparer.Ordinal) then
            Begin
                xNTotal:=xNTotal+aValor[FoundIndex+1]+(19-xContador);
            End;
        End;

        Aux3:=Trunc((10-xNTotal)/10);
        xNDigito:=Aux3;
        if xNDigito=10 then
           xNDigito:=0
        Else
           xNDigito:=xNDigito;

        Label1.Caption:=IntToStr(xNDigito);   
End;

Última edición por dec fecha: 23-09-2015 a las 18:50:34. Razón: Partir cadena que rompía el ancho del foro
Responder Con Cita
  #2  
Antiguo 23-09-2015
Avatar de dec
dec dec is offline
Moderador
 
Registrado: dic 2004
Ubicación: Alcobendas, Madrid, España
Posts: 13.107
Poder: 34
dec Tiene un aura espectaculardec Tiene un aura espectacular
Hola,

Tal vez ayudaría también que dijeses de qué se trata, o sea, qué se supone que tiene que hacer la función "VERIFICADOR".
__________________
David Esperalta
www.decsoftutils.com
Responder Con Cita
  #3  
Antiguo 23-09-2015
Cesargt Cesargt is offline
Registrado
NULL
 
Registrado: oct 2011
Posts: 6
Poder: 0
Cesargt Va por buen camino
La idea es que en base a la cadena que paso me genere un dígito verificador que me permita asegurar que la cadena que paso es única, con lo cual se debe obtener que puede servir par generar claves únicas, claro se que hay otras formas de hacer esto, pero puede tener mas utilidad y se puede emplear en otras cosas mas para hacer llaves únicas de registros, etc.
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Indices en Advantage,Clipper y Delphi josandflo Tablas planas 0 15-05-2007 19:35:58
¿Necesitan conectar Delphi - Clipper.NTX? axelbb Conexión con bases de datos 2 23-09-2005 16:09:20
Delphi V.S. Clipper AGAG4 Varios 7 01-08-2005 21:39:31
De clipper a Delphi... JorgeBec Varios 15 22-04-2004 23:05:19
Conectar con Clipper en Delphi 7 asegurpe Conexión con bases de datos 4 07-04-2004 18:20:43


La franja horaria es GMT +2. Ahora son las 00:07:30.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi