Ver Mensaje Individual
  #2  
Antiguo 03-02-2015
Avatar de ecfisa
ecfisa ecfisa is offline
Moderador
 
Registrado: dic 2005
Ubicación: Tres Arroyos, Argentina
Posts: 10.508
Reputación: 36
ecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to behold
Hola skara.

Sinceramente veo poco práctica esa forma de mostrar los registros, ya que si existiesen muchos, la muestra se saldría de pantalla. Hay controles de datos que realizan esa taréa sin dificultad.

Pero bueno... te pongo un ejemplo de como podes hacer lo que solicitas:
Código Delphi [-]
...
implementation 

uses Contnrs;

var
  List: TObjectList;

procedure TForm1.FormCreate(Sender: TObject);
begin
   List:= TObjectList.Create;
end;

procedure CreateLabels(aForm: TForm; aDataSet: TDataSet);
var
  lb: TLabel;
  i: Integer;
begin
  aDataSet.First;
  i:= 0;
  while not aDataSet.Eof do
  begin
    lb:= TLabel.Create(nil);
    List.Add(lb);
    lb.Left:= 10;
    lb.Top := i;
    lb.Name:= 'rtLabel'+IntToStr(List.Count);
    lb.Caption:= Format('%s: %s', [lb.Name, aDataSet.Fields[0].AsString]);
    lb.Parent:= aForm;
    Inc(i, 20);
    aDataSet.Next;
  end;
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
  CreateLabels(Form1, tuDataSet);
end;

procedure TForm1.FormDestroy(Sender: TObject);
begin
  List.Free;
end;

Saludos
__________________
Daniel Didriksen

Guía de estilo - Uso de las etiquetas - La otra guía de estilo ....
Responder Con Cita