Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Varios
Registrarse FAQ Miembros Calendario Guía de estilo Buscar Temas de Hoy Marcar Foros Como Leídos

Grupo de Teaming del ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 25-06-2017
rafaelon rafaelon is offline
Miembro
 
Registrado: sep 2010
Posts: 29
Poder: 0
rafaelon Va por buen camino
problema Función verificar imei (luhn)

buenas tardes tengo la siguiente consulta tengo esta función

Código:
function IMEIcheck(imei : string): string;
var
  a : Integer;
  sum : Integer;
  i : Integer;
  d : string;
  ds : Integer;
begin
  a := 0;
  sum := 0;
  for i := 0 to Length(imei)-1 do
  begin
    d := Copy(imei, Length(imei)-i, 1);
    ds := StrToInt(d);
    if a mod 2 = 0 then
      ds := ds * 2;
    if ds > 9 then
      ds := ds - 9;
    sum := sum + ds;
    a := a + 1;
  end;
  sum := sum mod 10;
  Result := IntToStr(10 - sum);
end;
y basicamente quiero que tome el valor de imei de un Edit.text y el codigo de verificacion lo muestre en otro edit pero no se que hago mal

Código:
var
s:string;
numero:integer;

begin
numero:= StrToInt(frm_principal.edit10.Text);
s:= IMEIcheck('numero');
edit11.Text:=s;
end;
Responder Con Cita
  #2  
Antiguo 26-06-2017
Avatar de ecfisa
ecfisa ecfisa is offline
Moderador
 
Registrado: dic 2005
Ubicación: Tres Arroyos, Argentina
Posts: 10.508
Poder: 36
ecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to behold
Hola rafaelon, bienvenido a los foros de Club Delphi y como a todos los que se inician te invitamos a leer nuestra guía de estilo.

En cuanto a tu consulta, primero hay que aclarar que
Código Delphi [-]
numero
no es igual a
Código Delphi [-]
'numero'

Segundo (y habiendo quitado las comillas) la función IMEIcheck espera un argumento de tipo string y le estarías pasando uno de tipo Integer.


Tercero la función IMEIcheck devuelve un valor de tipo string y no es necesario convertirlo a Integer mediante StrToInt cuando lo asignas a Edit11.Text ya que este espera un valor tipo string.

Dicho esto y sin saber si la función funciona (valga la redundancia), creo que simplemente deberías hacer algo como esto:
Código Delphi [-]
...
begin
  Edit11.Text := IMEIcheck( Edit10.Text ) ;
end;
Por último, ¡ ojo ! en ningún lugar se está haciendo la comprobación del valor que tiene Edit10.Text y que se envía a la función, pero eso es otra cuestión...

Saludos
__________________
Daniel Didriksen

Guía de estilo - Uso de las etiquetas - La otra guía de estilo ....
Responder Con Cita
  #3  
Antiguo 26-06-2017
rafaelon rafaelon is offline
Miembro
 
Registrado: sep 2010
Posts: 29
Poder: 0
rafaelon Va por buen camino
muchas gracias , me funciono era así de simple
Responder Con Cita
Respuesta


Herramientas Buscar en Tema
Buscar en Tema:

Búsqueda Avanzada
Desplegado

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
Problema con funcion Chr() en DXE5 NPIdea Varios 1 09-01-2014 12:06:18
Problema con funcion giulichajari C++ Builder 9 18-08-2013 19:39:00
problema con funcion!! MOCOSO07 HTML, Javascript y otros 0 12-01-2009 17:39:40
Problema con una funcion Alliance Varios 5 09-10-2008 03:38:32
Calcular último dígito del IMEI Emilio PHP 4 14-04-2008 12:15:56


La franja horaria es GMT +2. Ahora son las 15:33:09.


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