Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Conexión con bases de datos (https://www.clubdelphi.com/foros/forumdisplay.php?f=2)
-   -   Generar Botones leyendo datos de una tabla (https://www.clubdelphi.com/foros/showthread.php?t=49046)

fenixjes 11-10-2007 15:10:18

Generar Botones leyendo datos de una tabla
 
Buen dia a toda la comunidad, mil disculpas si cometo un error al habrir este hilo.

teniendo una base de datos en Acces con una conección ado con un par de tablas,Articulos con campos: codigo, descripcion, precio.

Lo que quiero esque en un formulario Se generen botones automáticamente si la tabla de Articulos tiene datos.
aparte de generarlos que esten con los datos del campo, para introducirlo a un Dbstringrid

le agradesco de antemano su respuesta

Neftali [Germán.Estévez] 11-10-2007 16:11:54

Cita:

Empezado por fenixjes (Mensaje 237771)
Lo que quiero esque en un formulario Se generen botones automáticamente si la tabla de Articulos tiene datos.
aparte de generarlos que esten con los datos del campo, para introducirlo a un Dbstringrid

No he entendido muy bien hacia donde quieres ir y tampoco explicas claramente qué no sabes hacer o si te da algun error.
¿No sabes crear los controles en ejecución? (en los foros ya se ha hablado)
¿El tema del DataSet vacío o que tenga datos (propiedad Empty)?
¿Errores?

Caro 11-10-2007 16:19:52

Hola fenixjes, si te he entendido bien deberia ser asi.

Código Delphi [-]
var
  i:Integer;
  boton:TButton;
............
  i:=0;
  AdoQuery1.First;
  while not(AdoQuery1.EOF) do
   begin
     with boton do
       begin
         boton.Parent:=FColegio;
         Left := 10+i;
         Top := 150;
         Width := 75;
         Height := 25;
         Caption := AdoQuery1.FieldByName('descripcion').AsString;
       end;
      i:=Width+20;
     AdoQuery1.Next;
   end;

Saluditos

eduarcol 11-10-2007 16:20:30

te trato de dar una idea de lo que debes realizar:

1.- Crear un objeto, cuyas propiedades sean los campos que deseas tener del registro del producto

2.- Crear una lista de objetos TObjectList

3.- al crear el boton en la propiedad Tag guardar el indice del objeto dentro de la lista

4.- Si no quieres trabajar con la lista puedes guardar el puntero al objeto dentro del tag

5.- al hacer click sobre el boton recuperar el puntero o indice que ya tienes almacenado y proceder a introducir los datos dentro del dbgrid.

fenixjes 11-10-2007 16:27:26

Cita:

Empezado por Caro (Mensaje 237791)
Hola fenixjes, si te he entendido bien deberia ser asi.


Código Delphi [-]
var
i:Integer;
boton:TButton;
............
i:=0;
AdoQuery1.First;
while not(AdoQuery1.EOF) do
begin
with boton do
begin
boton.Parent:=FColegio;
Left := 10+i;
Top := 150;
Width := 75;
Height := 25;
Caption := AdoQuery1.FieldByName('descripcion').AsString;
end;
i:=Width+20;
AdoQuery1.Next;
end;

Saluditos


Muchas Gracias Caro, lo probare ahoramismo

fenixjes 11-10-2007 16:29:59

Cita:

Empezado por eduarcol (Mensaje 237792)
te trato de dar una idea de lo que debes realizar:

1.- Crear un objeto, cuyas propiedades sean los campos que deseas tener del registro del producto

2.- Crear una lista de objetos TObjectList

3.- al crear el boton en la propiedad Tag guardar el indice del objeto dentro de la lista

4.- Si no quieres trabajar con la lista puedes guardar el puntero al objeto dentro del tag

5.- al hacer click sobre el boton recuperar el puntero o indice que ya tienes almacenado y proceder a introducir los datos dentro del dbgrid.

Muy buena idea pero serias tan amable de hacer un ejemplito y ponerlo con el codigo fuete, haci yo aprendo un poquito mas cuando esta programado, aun sigo siendo muy novato hace poco estoy en esto de programación
tengo muchas ideas ideas como par hacer sistemas de ventas, pero lo que no tengo es la sabiduria del lenguaje del delphi


La franja horaria es GMT +2. Ahora son las 23:18:55.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi