PDA

Ver la Versión Completa : posicionamiento en edits


MOCOSO07
14-04-2008, 20:53:44
hola buen dia a todos!!

uso delphi 5

mi duda es la siguiente tengo 37 edit's y sus nombres van de e1001 ... e1037 lo que necesito es hacer un while para saber que edit no esta en blanco estoy haciendo lo siguiente pero no me funciona me dice que el edit ya existe y yo no quiero crearlo solamente quiero moverme entre los edits dependiendo si tienen o no texto

la variable edit es de tipo tedit

tot_materias := 1;
nombre := 'e100';
Edit := Edit1;
while tot_materias < 37 do
begin
nombre := nombre + IntToStr(tot_materias);
edit.Name := nombre;
if edit.Name = '' then
begin
ShowMessage('no hay nada');
end
else
begin
(aqui va el codigo para insertar en una tabla solo que todavia no termino:rolleyes:)
end;
inc(tot_materias);
end;


garcias espero y me haya sabido explicar:o

jhonny
14-04-2008, 21:01:14
Echale un vistazo al truco 410 (http://www.clubdelphi.com/trucos/index.php?id=410&scroll=0&scrollb=0), algo asi es lo que necesitas ;).

dec
14-04-2008, 21:03:07
Hola,

A ver si te da alguna idea:


(* Vamos a usar un supuesto procedimiento "Button1Click" situado
en el formulario donde también se encuentra un "TPanel", y,
dentro de este, los "Edits" en cuestión.
*)

procedure TForm1.Button1Click(Sender: TObject);
var
i: integer;
begin
// Recorremos los controles del contenedor, en este caso el Panel
for i := 0 to Panel1.ControlCount - 1 do
begin
// Comprobamos que el control sobre el que estamos es un TEdit
if (Panel1.Controls[i] is TEdit) then
begin
// Y comprobamos por último si su propiedad "Text" no está vacía
if (Trim(TEdit(Panel1.Controls[i]).Text) <> '') then
begin
// Hay texto en este Edit
end else begin
// No hay texto en este Edit
end;
end;
end;
end;

Caral
14-04-2008, 21:07:18
Hola

var
i:Integer;
comp:TComponent;
Str:String;
begin
// Recorrido por los edits
for i := 1 to 37 do begin
Str := 'Edit' + IntToStr(i);
comp := FindComponent(Str);

If TEdit(comp).Text = ' ' then
begin
ShowMessage('no hay nada en algun edit');
end
else
begin
// .........
end;

Saludos

MOCOSO07
14-04-2008, 21:29:59
Buena onda!!

muchas gracias duda resuelta

el que sabe sabe!!

un saludo a todos!!

Caral
14-04-2008, 21:38:28
Hola
Para saber cual es el que esta vacio.

if TEdit(comp).text = '' then
showmessage('El edit vacio es:..'+Str);
Saludos