Hola mundo queria consultarles una duda :
Este code funciona bien muestra como mensaje 1234

procedure TForm1.Button1Click(Sender: TObject);
var
texto: string;
begin
texto := '123456789';
SetLength(texto,4);
showmessage(texto);
end;
end.

Pero lo que quiero es meter el resultado de SetLength(texto,4) en una variable y mostralo en una mensaje pero me tira error

Alguien me ayuda.
http://byronlabs.blogspot.com/
SetLength es un método y no una función para que te devuelva algo, sin embargo la variable que le pasas es por referencia y por lo tanto no te hará falta ningún retorno. En todo caso, no se si es lo que querias:
Var
  texto: String;
  texto2: String;
Begin
  texto := '123456789';
  SetLength(texto, 4);
  texto2 := texto;

  showmessage(texto2);
El secreto de mi éxito es Jesús
Fakedo0r escribió:SetLength es un método y no una función para que te devuelva algo, sin embargo la variable que le pasas es por referencia y por lo tanto no te hará falta ningún retorno. En todo caso, no se si es lo que querias:
Var
  texto: String;
  texto2: String;
Begin
  texto := '123456789';
  SetLength(texto, 4);
  texto2 := texto;

  showmessage(texto2);

Lo que tu hicistes es lo mismo lo que yo hice en el post hermano .Lo que quiero hacer es lo siguiente pero me da error :


procedure TForm1.Button1Click(Sender: TObject);
Var
texto: String;
texto2: String;
begin
texto := '123456789';
texto2:= SetLength(texto, 4);

showmessage(texto2);

end;

end.
http://byronlabs.blogspot.com/
Nemesis escribió:
Fakedo0r escribió:SetLength es un método y no una función para que te devuelva algo, sin embargo la variable que le pasas es por referencia y por lo tanto no te hará falta ningún retorno. En todo caso, no se si es lo que querias:
Var
  texto: String;
  texto2: String;
Begin
  texto := '123456789';
  SetLength(texto, 4);
  texto2 := texto;

  showmessage(texto2);

Lo que tu hicistes es lo mismo lo que yo hice en el post hermano .Lo que quiero hacer es lo siguiente pero me da error :


procedure TForm1.Button1Click(Sender: TObject);
Var
texto: String;
texto2: String;
begin
texto := '123456789';
texto2:= SetLength(texto, 4);

showmessage(texto2);

end;

end.
Te repito amigo, el SetLength es un método y no tiene retorno, no puedes hacerlo así, pero como acepta el argumento como referencia, ya no te hace falta guardar en ningún lado, en todo caso te lo había dejado la única forma de hacerlo.

Saludos.
El secreto de mi éxito es Jesús
Ya lo pude hacer lo que no queria era no tocar el string original osea texto := '123456789'

procedure TForm1.Button1Click(Sender: TObject);
Var
recorte:string;
texto: String;
texto2: String;
Begin
texto := '123456789';
recorte:=texto;
SetLength(recorte, 4);
texto2 := texto;

showmessage(recorte);
end;

end.

Gracias por tu colaboracion
http://byronlabs.blogspot.com/
Nemesis escribió:Ya lo pude hacer lo que no queria era no tocar el string original osea texto := '123456789'

procedure TForm1.Button1Click(Sender: TObject);
Var
recorte:string;
texto: String;
texto2: String;
Begin
texto := '123456789';
recorte:=texto;
SetLength(recorte, 4);
texto2 := texto;

showmessage(recorte);
end;

end.

Gracias por tu colaboracion
Vaya, pues te habías explicado mal. En fin. Saludos.
El secreto de mi éxito es Jesús
Usa la función Copy
Parametros
1. Array o string
2. Index de inicio
3. Numero de caracteres a copiar

Tu código sería
Texto2 := Copy(Texto, 1, 4)
SetLength es solo para inicializar array o string cuando deseas copiar algo a ellas por medio de direcciones de memoria.
Saludos!
We do what we must, because, we can-> [www.youtube.com/watch?v=Y6ljFaKRTrI]
Pasa a saludar: NeoDark-Labs.BlogSpot.mx
<<<<Proyectos en curso>>>>
[+]Restauración de SSDT
[+]Driver v3 - Ocultar drivers
[+]Anti-rootkit
orlando9427 escribió:Usa la función Copy
Parametros
1. Array o string
2. Index de inicio
3. Numero de caracteres a copiar

Tu código sería
Texto2 := Copy(Texto, 1, 4)
SetLength es solo para inicializar array o string cuando deseas copiar algo a ellas por medio de direcciones de memoria.
Saludos!

Gracias Orlando Copy me Facilita la cosa
http://byronlabs.blogspot.com/
Responder

Volver a “Delphi”