![]() |
procedimiento para habilitar o inhabilitar botones
hola como están
quisiera saber si existe alguna forma de armar un procedimiento para habilitar botones y o des-habilitar botones. porque lo intento de hacer de esta forma pero no me reconoce los botones.
|
Hola Leandro.
Un modo puede ser:
Otro: Este último deshabilita todos los botones del form. Llamada:
De todas formas creo que no te reconoce los botones por que los estás referenciando desde un procedimiento y no un método del form, intentá así:
Saludos. |
utiliza una funcion
yo lo hago asi
[delphi] declaras la funcion en:
y despues
y para llamarla
|
Gracias a los dos!!
Me sirvieron para entender un poquito mas el tema de funciones y procedimientos lo solucione con una función y me anduvo, pero quiero que me digan si realmente si esta bien echo. La declare asi
la función así
y lo llamo asi
Gracias de nuevo. |
Cita:
las haces dentro de un método de TFormIva, es correcto. :) (ya que sería como hacer Self.botones(true) ) Saludos. |
Hola,
de todas formas has declarado una función cuando, creo yo, lo que te hacía falta es un procedimiento, procedure en lugar de function, por lo que has comentado no parece necesario que al acabar de habilitar o deshabilitar los botones te devuelva un true o un false. Saludos. |
Cita:
en cambio con la función lo puede hacer pudiendo pesarle una el parámetro para activarlo o desactivarlo. |
Igual que has puesto la función tendrías que poner el procedure, prueba así:
y llamalo igual que lo has hecho con la función. |
siendo PermisoXXXXX los permisos que el usuario tiene en la opción que elija. Esta procedure la llamo después de modificar, insertar, borrar, cambiar un campo, al entrar en el formulario, .... Toda la lógica de botones en una sola función. Una función por formulario. Saludos |
Hola Leandro.
Cita:
Creo que tenés una confusión entre los procedimientos,funciones y los métodos, a ver si puedo aclararte. Si tenemos: Nos encontramos frente a métodos, es decir procedimientos y funciones que pertenecen a una clase. Por lo tanto en la declaración de la cabecera del procedimiento o función, debemos anteponer la clase a la que pertenecen: En el caso del form fijate que se antepone por ejemplo TFormIva (nombre de la clase). Ahora en el caso de los procedimiento o funciónes que no son un método : Dentro del procedimiento habilitar, se tiene totál desconocimiento de los TButtons: btNuevo, btmodificar y bteliminar, exepto que indiquemos la clase a la que pertenencen: También es posible enviarle los TButton mediante un argumento: Resumiendo desde un método de la clase TFormIva se puede llamar directamente a btNuevo, por que btNuevo pertenece a TFormIva, pero si se menciona a btNuevo desde otro ámbito debe especificarse a que clase pertenece btNuevo anteponiendole el nombre de la instancia: FormIva.btNuevo. Un saludo. |
Hola leandro085, aparte de las variadas y útiles códigos de los compañeros, si lo que quieres hacer es como creo, que al insertar, modificar, etc, en una base de datos, si es así, tienes en el Ftp del club, mi componente NewPanelDB, este panel permite , sin tener que usar código, que todo lo que tengas dentro del panel , (este enable o no) o (este visible o no) según el estado del Datasourse, además también permite que el panel Cambie de color según el mismo procedimiento, espero te pueda servir.
|
Cita:
Tienes el código necesario en la unidad DBCtrls.pas, componente "TDBNavigator". :o |
La franja horaria es GMT +2. Ahora son las 13:19:15. |
Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi