PDA

Ver la Versión Completa : Modificar un str dígito a dígito


fortran
18-12-2003, 21:03:48
Hola a todos:

Lo primero es decir que no se si este post debería estar aquí o en el de varios, bueno, los moderadores decidirán.

Trabajo con D5 en WXP y el problema es el siguiente:

Lo que quiero hacer es modificar un string que me llega haciendo una serie de operaciones matemáticas a cada dígito (el string que me llega es un string compuesto por 10 digitos enteros).

Para ello puedo acceder a cada uno de los digitos como:

mistring[i]

y puedo modificarlos haciendo

unentero := strtoint(mistring[i])+1 (por poner un ejemplo)

el problema me surge cuando los resultados obtenidos los quiero meter de nuevo en el string

stringresultado[i] := inttostr(unentero);

me dice que char y string no son tipos compatibles

¿como puedo hacerlo entonces?

Gracias por vuestra atención.

roman
18-12-2003, 21:23:08
stringresultado[i] := inttostr(unentero)[1];

// Saludos

Delfino
18-12-2003, 22:14:55
Creo q te puede interesar la funcion StuffString..

guillotmarc
19-12-2003, 00:26:02
Hola

Otra forma :

stringresultado[i] := chr(unentero + 48);

(El 48 es el código ascii del carácter '0')

Saludos.

fortran
19-12-2003, 09:37:52
Muchas gracias a todos, lo voy a probar ahora mismo, a propósito marc, ¿sabes de algún sitio donde estén listados los códigos ascii de todos los caracteres y número?.

Gracias

fortran
19-12-2003, 10:32:53
Muchas gracias a todos, lo voy a probar ahora mismo, a propósito marc, ¿sabes de algún sitio donde estén listados los códigos ascii de todos los caracteres y número?.

Gracias

fortran
19-12-2003, 10:34:54
Ya he probado las soluciones de Roman y Marc, funcionan perfectamente ambas, muchas gracias.

Delphino, la función que me dices no la encuentro por ninguna parte, ni en la ayuda de delphi, ni en la de windows. ¿me puedes decir donde encontrarla?.

Un saludo

guillotmarc
19-12-2003, 11:02:15
Hola.

No he encontrado la tabla ASCII en la ayuda de Delphi. Como es muy común la podrás encontrar buscando por Internet.

Si quieres puedes consultarla por encima, mediante el Mapa de carácteres de Windows (en Accesorios, Herramientas del sistema). Simplemente ponte encima del carácter deseado y te dirá su código Ascii (en Hexadecimal, puedes convertirlo al decimal mediante la calculadora).

Saludos.

fortran
19-12-2003, 11:15:18
Gracias Marc, con eso me vale. Ahora que lo dices había encontrado una tabla y me había liado.

Tomás
21-12-2003, 01:24:44
Códigos ascii

http://www.asciitable.com/

Suerte.

Delfino
22-12-2003, 13:24:08
esa funcion se encuentra el unidad StrUtils y no se si solo en Delphi7 q tengo, es muy potente y permite quitar una substring de una string y sustituirla con otra especificando donde se empieza la sustitucion y cuantos caracteres toma..

fortran
22-12-2003, 16:44:46
Gracias, delphino y Tomás. Delphino, yo trabajo con D5 y no he encontrado tal función.