Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Varios (https://www.clubdelphi.com/foros/forumdisplay.php?f=11)
-   -   como se elimina un carecter de un string... (https://www.clubdelphi.com/foros/showthread.php?t=13560)

ronimaxh 23-08-2004 20:39:46

como se elimina un carecter de un string...
 
Hola amigos del club, la pregunta es como elimino por la derecha el ultimo caracter. ejemplo: Cadena del string : 'esto es lo que quiero hacer' quiero que se elimine la 'r' 'esto es lo que quiero hace'

yusnerqui 23-08-2004 20:53:55

Hola creo que esta es tu solución
Código Delphi [-]
function EliminaUltimo(Cadena: String): String;
begin
   delete(cadena,length(cadena),1);
   Result := Cadena;
end;

un saludo

ronimaxh 23-08-2004 21:17:53

Gracias por contestar, me da este error:

[Error] Unit1.pas(99): Too many actual parameters
[Error] Unit1.pas(99): Too many actual parameters
[Fatal Error] Project1.dpr(6): Could not compile used unit 'Unit1.pas'


nota: asi fue que lo puse codigo: delete(mtabla,length(mtabla),1);

JoseBozzano 23-08-2004 21:31:11

otra opcion...
 
hola amigo, tambien da el mismo resultado que el anterior...

//Ej:
//funcion llamadora...

form1.Label1.Caption:=EliminaUltimo('12345');



//funcion llamada...
function EliminaUltimo(Cadena: String): String;
var
largo:integer;
begin
largo:=length(cadena);
cadena:=copy(cadena,1, largo - 1);
Result := Cadena;
end;
//RE: '1234'

nefy 23-08-2004 21:33:54

Depende de que usaras. Un ejemplo con un Edit (lo mas comun):

l:=Edit1.GetTextLen;
a:=Edit1.Text;
a[l]:=' ';
Edit1.Text:=a;

Salu2

roman 23-08-2004 21:38:40

Cita:

Empezado por nefy
l:=Edit1.GetTextLen;
a:=Edit1.Text;
a[l]:=' ';
Edit1.Text:=a;

Pero esto no elimina el último caracter, sólo lo sustituye por un espacio.

// Saludos

Gydba 23-08-2004 21:39:30

Hola,

Realmente hay muchas formas de hacerlo. Otra, aunque no es la que elegiría, es utilizar las funciones de la unit StrUtils:
Código Delphi [-]
ShowMessage(LeftStr('esto es lo que quiero hacer', Length('esto es lo que quiero hacer') - 1));
Bye...

ronimaxh 23-08-2004 21:55:51

gracias esta si me funcionó bien

nefy 23-08-2004 21:57:49

Haber q tal esta Roman ;)

a:='';
for l:=1 to (Edit1.GetTextLen-1) do
begin
a:=a+Edit1.Text[l];
end;
Edit1.Text:=a;

roman 23-08-2004 22:00:42

Cita:

Empezado por nefy
Haber q tal esta Roman ;)

¡Hombre! sí claro, pero es una forma rebuscada de hacer

Edit1.Text := Copy(Edit1.Text, 1, Length(Edit1.Text) - 1);

;)

// Saludos

nefy 23-08-2004 22:03:53

Vaya que se darle sabor a mi vida. Jamas pense en el Copy.

Salu2.


La franja horaria es GMT +2. Ahora son las 20:44:03.

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