Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Varios (https://www.clubdelphi.com/foros/forumdisplay.php?f=11)
-   -   posicionamiento en edits (https://www.clubdelphi.com/foros/showthread.php?t=55351)

MOCOSO07 14-04-2008 20:53:44

posicionamiento en edits
 
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
Código Delphi [-]
  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, algo asi es lo que necesitas ;).

dec 14-04-2008 21:03:07

Hola,

A ver si te da alguna idea:

Código Delphi [-]
(* 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
Código Delphi [-]
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.
Código Delphi [-]
if  TEdit(comp).text = '' then
  showmessage('El edit vacio es:..'+Str);
Saludos


La franja horaria es GMT +2. Ahora son las 08:22:36.

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