PDA

Ver la Versión Completa : Unicamente Tedit


jam888
10-04-2006, 22:20:01
Que tal gente del foro los tenia un tanto olvidados, pero aqui estoy siemnpre con problemas, como este: Tengo en un form tres cajas de texto(Tedit) y un par de botones , un par de combos y un par de caption y lo que quiero hacer es esto , disponer un boton y al hacer click me muestre unicamente el texto de los TEdit es decir de las cajas de texto en un showmessage, no es tan dificil ....... yo creia pero no logro dar en la tecla , podrian tirarme algo de codigo? desde ya gracias y un abrazo a todos.

dec
10-04-2006, 22:33:25
Hola,

¿Algo así?


var
s: string;
begin
s := Edit1.Text + Edit2.Text + Edit3.Text;
ShowMessage(s);
end;

Sotrono
10-04-2006, 22:35:05
Hola,

Showmessage(edit1.text);

O si los queres poner todos juntos:

Showmessage(edit1.text + ' ' + edit2.text + ' ' + edit3.text);

Saludos...

jam888
10-04-2006, 22:47:58
No es que tenga exactamente 3 cajas de texto si no que no se cuantas, puedo pueden ser 3 o 20 de manera que debo de recorrrer el form para saber cuantas hay y si son de tipo TEdit y ahi si mostrar su contenido.

Sotrono
10-04-2006, 23:25:20
A ver si esto te sirve??


var
i, n: integer;
Comp : TComponent;
s: string;
begin
n := 20 //Cantidad de Edits a recorrer
s := 'Edit';
for i:= 1 to n do begin
Comp := FindComponent(s + IntToStr(i));
if Comp is TEdit then
showmessage(TEdit(Comp).Text);
end;
end;

Bytes...

dec
10-04-2006, 23:41:04
Hola,

Propongo esta función:


function EditsTexts(container: TComponent) : string;
var
i: integer;
begin
Result := EmptyStr;
for i := 0 to container.ComponentCount-1 do
begin
if (container.Components[i] is TEdit) then
Result := Result + TEdit(container.Components[i]).Text;
end;
end;

{ Ejemplo de llamada
}
procedure TForm1.Button1Click(Sender: TObject);
begin
ShowMessage( EditsTexts(Self) );
end;

jam888
11-04-2006, 17:44:00
Nuevamente me dieron la respuesta necesaria esto anda a full , las dos soluciones gracias y les envio un fuerte Abrazo.