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 26-08-2005
jonmendi jonmendi is offline
Miembro
 
Registrado: dic 2004
Posts: 110
Poder: 20
jonmendi Va por buen camino
cadena de caracteres a ascii

Hola,
lo que quiero haer es muy silmple:
convertir una cadena de caracteres en sus valores ascii e ir sumandolos.
Yo he probado con:
Código:
  
  for i:= 1 to length(cadena) DO
	total:=total + (ord(ansimidstr(cadena, i, 1)));
Me da que son tipos incompatibles. El problema está (creo yo) que el ord necesita un char y yo le doy un string, pero no se como hacerlo.
¿Alguien me sabría ayudar?
Gracias
Jon
Responder Con Cita
  #2  
Antiguo 26-08-2005
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,

Código Delphi [-]
 var
   i: integer;
   cadena: string;
   total: integer;
 begin
   total := 0;
   cadena := 'Bienvenido al ClubDelphi';
   for i := 0 to Length(cadena) do
     total := total + Ord(cadena[i]);
   ShowMessage(IntToStr(total));
 end;
__________________
David Esperalta
www.decsoftutils.com
Responder Con Cita
  #3  
Antiguo 26-08-2005
jonmendi jonmendi is offline
Miembro
 
Registrado: dic 2004
Posts: 110
Poder: 20
jonmendi Va por buen camino
muchisimas gracias me ha servido perfecto.
Solo comentarte que he cambiado el inicio del for a 1 to length, sino da un range check error.

Muchas gracias de nuevo.
Jon
Responder Con Cita
  #4  
Antiguo 26-08-2005
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,

Cita:
Empezado por jonmendi
Solo comentarte que he cambiado el inicio del for a 1 to length, sino da un range check error.
Es curioso: a mí no me daba ningún error... ¿a qué puede ser debido?

Actualización: Llevas razón jonmendi: lo que ocurre es que yo no tenía marcada la casilla "Range Checking" de las opciones a tener en cuenta al compilar el proyecto. Si la marco se produce el error que dices y la solución parece ser la que refieres.
__________________
David Esperalta
www.decsoftutils.com

Última edición por dec fecha: 26-08-2005 a las 14:59:39. Razón: (actualización)
Responder Con Cita
  #5  
Antiguo 27-08-2005
Avatar de Crandel
[Crandel] Crandel is offline
Miembro Premium
 
Registrado: may 2003
Ubicación: Parana, Argentina
Posts: 1.475
Poder: 22
Crandel Va por buen camino
Recuerden que las cadenas de caracteres se pueden acceder como un vector de caracteres que empiesa con el indice 1 no en cero como en otros lenguajes, a eso se debe el error.

Esro se debe a que antes se almacenaba en el tamaño en el lugar cero.
__________________
[Crandel]
Responder Con Cita
  #6  
Antiguo 27-08-2005
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,

Cita:
Empezado por Crandel
Recuerden que las cadenas de caracteres se pueden acceder como un vector de caracteres que empiesa con el indice 1 no en cero como en otros lenguajes, a eso se debe el error.
Muchas gracias Crandel. Por mi parte lo agradezco añadiendo además este mensaje por ver si se me añade también a mí en la memoria lo que comentas. Tengo que ampliarme la RAM, que la que tengo ya esta viejita y gastada. Los años, que no pasan en valde, como suele decirse...
__________________
David Esperalta
www.decsoftutils.com
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


La franja horaria es GMT +2. Ahora son las 19:43:43.


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