Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

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

Grupo de Teaming del ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 18-04-2007
platense:07 platense:07 is offline
Registrado
 
Registrado: abr 2007
Posts: 2
Poder: 0
platense:07 Va por buen camino
Necesito una ayudita

Buenas gente!
Tengo una consulta. En un campo TEdit, almaceno un nombre de una persona .. y luego tengo que calcular para cada letra del nombre, su numero, e ir sumandolas a un total. Tengo la siguiente tabla de conversión.
Había pensado en hacer un arreglo e ir poniendole los valores, luego leer la letra, y ver su valor en el arreglo, pero se me complica con la inserción de la Ñ.
Alguien me puede dar alguna idea de cómo realizarlo?

http://img341.imageshack.us/img341/6373/tablaua3.gif

Saludos y Gracias por el tiempo

Última edición por platense:07 fecha: 18-04-2007 a las 05:59:32.
Responder Con Cita
  #2  
Antiguo 18-04-2007
Avatar de Héctor Randolph
[Héctor Randolph] Héctor Randolph is offline
Miembro Premium
 
Registrado: dic 2004
Posts: 882
Poder: 20
Héctor Randolph Va por buen camino
Hola platense:07

Para obtener el número que le corresponde a cada caracter según la tabla podrías crear un función como esta:

Código Delphi [-]
function CharToNum(c: Char):Integer;
begin
  case UpCase(c) of
   'A','J','S': Result:=1;
   'B','K','T': Result:=2;
   .
   . 
   'E','N','Ñ','W': Result:=5; // Consideras también a la Ñ
   .
   .

   else Result:=0;
  end;
end;

Finalmente puedes llamar a la función de esta forma para cada letra de la cadena y hacer la suma

Código Delphi [-]
procedure TForm1.Button1Click(Sender: TObject);
var
  Numero: Integer;
begin
   Numero:=CharToNum(Edit1.Text[1]);//Calculamos el número del primer caracter del edit
   ShowMessage(IntToStr(Numero));   //Muestro el número
end;

Saludos

Última edición por Héctor Randolph fecha: 18-04-2007 a las 07:32:14.
Responder Con Cita
  #3  
Antiguo 18-04-2007
platense:07 platense:07 is offline
Registrado
 
Registrado: abr 2007
Posts: 2
Poder: 0
platense:07 Va por buen camino
Héctor, la verdad que te pasaste. Fabuloso lo tuyo.
Yo me estaba haciendo problemas con arreglos y todo eso.
No tengo palabras para agradecerte amigo
Saludos
Responder Con Cita
  #4  
Antiguo 18-04-2007
Avatar de roman
roman roman is offline
Moderador
 
Registrado: may 2003
Ubicación: Ciudad de México
Posts: 20.269
Poder: 10
roman Es un diamante en brutoroman Es un diamante en brutoroman Es un diamante en bruto
Una alternativa:

Código Delphi [-]
function GetCharCode(Ch: Char): Integer;
begin
  if Ch in ['ñ', 'Ñ'] then Dec(Ch);
  Result := ((Ord(UpCase(Ch)) - Ord('A')) mod 9) + 1;
end;
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
Una ayudita con TShape JerS Varios 8 28-04-2010 04:07:11
Ayudita con un Query, pls. kman Varios 11 07-08-2006 06:55:20
ayudita please, sencillo Otei OOP 3 18-11-2005 22:25:10
una ayudita Delphius Varios 4 16-01-2005 11:24:58
ayudita con el tquery vetustas SQL 3 27-10-2003 20:07:22


La franja horaria es GMT +2. Ahora son las 05:45:49.


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