Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Varios (https://www.clubdelphi.com/foros/forumdisplay.php?f=11)
-   -   Reemplazar caracter de una determinada posición. (https://www.clubdelphi.com/foros/showthread.php?t=51073)

Drahcir 05-12-2007 13:25:01

Reemplazar caracter de una determinada posición.
 
Hola a todos,

Mi duda es una tontería pero, o no he buscado bien, o no he encontrado nada por el foro.

El tema es el siguiente. Tengo un número de código (me resulta indiferente almacenarlo en una variable string o integer) al que tengo que eliminar el tercer carácter empezando por la izquierda.......algo así como un replace pero en lugar de indicar el carácter que quiero reemplazar tendría que indicar la posición........y no se como hacerlo.

Gracias y un saludo.

eduarcol 05-12-2007 14:05:34

no se si exista tal funcion, pero la puedes crear:

Código Delphi [-]
function Reemplazar(cCadena, cCar: String; nPos: Integer): String;
begin
   Result := Copy(cCadena, 1, nPos-1) + cCar + Copy(cCadena, nPos-1, Length(cCadena));
end;

La cree de memoria, de pronto haya que hacerle algunos ajustes, pruebala y me avisas

jhonny 05-12-2007 14:53:09

Bueno, tambien puedes usar:

Código Delphi [-]
Delete(Cadena, 3, 1);

eduarcol 05-12-2007 15:09:30

Pues es que hay dos cosas, en el titulo pide reemplazar, en el mensaje borrar, hay tienes las dos opciones dependiendo lo que necesites.

Mick 05-12-2007 15:36:47

Umm si solo necesitamos reemplazar un caracter usar copy es un poco matar moscas a cañonazos ;) algo asi es mas eficiente:

cadena[3]:= 'C';

Saludos

Drahcir 05-12-2007 16:14:56

Probaré las opciones que me dais y os cuento. Alguien decía por ahí que nombraba borrar y reemplazar, efectivamente me lié un poco. Tengo una cadena de caracteres con una logitud 9 y necesito que me devuelva una con logitud 8, borrando el tercer carácter empezando por la izqda.....eso es lo que quería decir....

Gracias por vuestras opiniones, cuando lo pruebe os cuento.

Saludos.

***********

Bueno, pués ya he probado con el delete que me indicaba Jhonny y para el caso que me ocupa me sirve. De todas formas cuando tenga un rato probaré a crear la funcion como decía Eduarcol (porque me puede servir para otro tema) y os cuento.

Gracias de nuevo y disculpad que no haya sido claro en mi primer mensaje.


La franja horaria es GMT +2. Ahora son las 00:34:05.

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