![]() |
![]() |
| Paypal | FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
|||||||
| Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Buscar | Temas de Hoy | Marcar Foros Como Leídos |
![]() |
|
|
Herramientas | Buscar en Tema | Desplegado |
|
|
|
#1
|
||||
|
||||
|
Pues¿ cuál es la duda?
Si lo quieres es simplemente una especie de maquina vendedora pues simplemente insertas en tu formulario tantos botones como deseas y en el evento OnClick correspondiente "despachas" el producto asociado al botón. Cuando se acabe un producto inhabilitas u ocultas su botón y cuando se vuelva a surtir el producto habilitas nuevamente el botón. // Saludos |
|
#2
|
|||
|
|||
|
Gracias por vuestra ayuda, pero en realidad no existe ningún procedimiento, es decir, simplemente me han propuesto el proyecto, por lo que aún no había ni empezado con él. El hecho de escribir este mensaje es para poder recoger ideas sobre el tema, aunque la duda se centraba más bien, sobre la idea de crear y destruir botones en tiempo de ejecución. Por ello tengo que tener en cuenta, que si lo creo/destruyo en tiempo de ejecución, pues tengo que guardar en algún sitio cuáles son los botones que tengo que mostrar y su código correspondiente o en su defecto, sus eventos asociados. Por ello la idea que me das Roman, pues no me vale, sería demasiado estático.
Desde luego la idea de jachguate es perfecta, crear una nueva clase de botón con una propiedad de código de producto asociado y sobre ese código trabajar, es genial. Ahora os explico cuál sería la filosofía a seguir según yo, así podemos debatir el tema con algo más de participaciòn: En principio, se me había ocurrido al iniciar por primera vez el programa, recorrer la tabla de productos de forma ordenada por su codigo de producto (para que los botones siempre tengan el mismo orden), ir creando los botones por cada producto y añadirles a la nueva propiedad codproducto el código de producto leído de la BD, además de su evento onclick generico (como apuntaba antes jachguate). Guardar la cantidad de botones y el valor de su propiedad codproducto en un archivo .ini, y cada vez que tenga que abrir ese form, leer del archivo .ini para mostrar los botones (creo que leer del .ini sería más rápido que leer cada vez de la BD, sobre todo si esta en red). Cuando el usuario quiera crear/destruir un nuevo botón, lo único que tendría que hacer es volver a recorrer la tabla de productos de forma ordenada, crear los que correspondan y volver a grabar los datos en el archivo .ini. DUDA: En el caso de que esos nuevos botones lleven un gráfico, mostraría un dialogo de buscar archivos y lo insertaría al botón el gráfico elegido, pero ¿que pasaría con los gráficos de los botones que existían antes? ¿de dónde los saco ahora? POSIBLE SOLUCION :Para solucionar el problema anterior, también se me ha ocurrido crear un nuevo botón al mismo tiempo que se confirma la creación de un nuevo producto. Solo quedar decir que cada vez que se cree un botón, tendría que tener grabado también en un archivo .ini, la posición del último botón, es decir, los valores left y top, para poder colocar correctamente el nuevo botón. Por último os agradecería que escribieseis el código de alguna idea para crear esos botones de forma dinámica. Bueno, esto más o menos lo que yo haría. Espero haber suministrado suficiente información para poder seguir debatiendo este tema. Os doy las gracias por adelantado. OBSERVACIÓN :Con respecto a la nueva clase de botón, tal vez también se podría usar la propiedad tag para escribir aquí el código de producto y luego cambiarlo a integer si fuese el caso con la respectiva función.
__________________
No hay vientos favorables para quién no conoce su rumbo. |
|
#3
|
||||
|
||||
|
Cita:
Cita:
Cita:
Hasta luego. ![]()
__________________
Juan Antonio Castillo Hernández (jachguate) Guía de Estilo | Etiqueta CODE | Búsca antes de preguntar | blog de jachguate |
|
#4
|
|||
|
|||
|
Hola foro:
La idea de Juan Antonio me parece muy buena, me parece tambien que la duda del compañero es como le hago para crear los botones en tiempo de ejecución, lo que tienes que hacer es una rutina que tenga como variable (esto pienso yo pero puedo haber otras recomendaciones) un arreglo de botones, la rutina de creación sería algo como: Código:
procedure TForm1.FormCreate(Sender: TObject);
var
Botones: Array[1..100] of TButton;
begin
Botones[1] := TButton.Create(self);
with Botones[1] do
begin
Left := 56;
Top := 10;
Width := 75;
Height := 25;
Parent := Self;
Visible := True;
Caption := 'Creado 1';
end;
Botones[2] := TButton.Create(self);
with Botones[2] do
begin
Left := 56;
Top := 350;
Width := 75;
Height := 25;
Parent := Self;
Visible := True;
Caption := 'Creado 2';
end;
Saludos y espero te sirva
__________________
Ernesto R. |
|
#5
|
|||
|
|||
No pido que nadie me haga un análisis del proyecto, tan solo estoy sugeriendo opiniones sobre lo que pienso hacer, siento que sea así como lo has entendido.Por último, un ejemplo de código "normal y corriente" para crear botones en tiempo de ejecución, gracias.
__________________
No hay vientos favorables para quién no conoce su rumbo. |
|
#6
|
|||
|
|||
|
Código:
ejemplo código para crear botones en tiempo de ejecución
__________________
No hay vientos favorables para quién no conoce su rumbo. |
|
#7
|
||||
|
||||
|
Cita:
![]() |
|
#8
|
|||
|
|||
|
Lo siento, por lo que se ve mientras yo escribía mi mensaje tú también lo hacías, gracias por tú ayuda, un saludo.
__________________
No hay vientos favorables para quién no conoce su rumbo. |
|
#9
|
||||
|
||||
|
Cita:
El punto, es que ya tenes un arreglo de componentes ligado a la forma, que perfectamente te puede servir para hacer cualquier recorrido. Sinceramente creo que el arreglo de botones no es necesario... pero esto es cuestión de gustos... y en gustos se rompen géneros... Hasta luego. ![]() |
|
#10
|
||||
|
||||
|
Cita:
Hasta luego ![]()
__________________
Juan Antonio Castillo Hernández (jachguate) Guía de Estilo | Etiqueta CODE | Búsca antes de preguntar | blog de jachguate Última edición por jachguate fecha: 24-04-2004 a las 23:15:10. |
|
#11
|
|||
|
|||
|
Gracias a todos por vuestra colaboración, creo que ya tengo suficiente para empezar con el proyecto, en caso de nuevas dudas, os volveré a consultar, saludos
.
__________________
No hay vientos favorables para quién no conoce su rumbo. |
![]() |
| Herramientas | Buscar en Tema |
| Desplegado | |
|
|
|