DLGAUTO - continuação
Enviado: 09 Dez 2025 21:11
Estou meio sem inspiração, e vi que tá faltando coisa no dlgauto.
Talvez porque tem todas as LIBs juntas, ou porque tem DBF e MySQL, que dependem de solução diferente.
Talvez todos possam ajudar a continuar o que falta, já que qualquer lib serve.
Basicamente é o que fazemos no dia a dia.
Como criamos qualquer cadastro, ou um cadastro de clientes:
código, nome, endereço, etc. a estrutura
O que tem no cadastro?
Opções inclui, altera, exclui, consulta, etc.
Como criamos a tela?
definimos o código, que é o campo chave, e o resto são campos a serem digitados.
TODO cadastro é assim.
O dlgauto cria os "BUTTONs", os "SAYs", e os "GETs", pra qualquer cadastro, afinal é tudo igual, só mudam os campos.
Pra isso ele pega a estrutura automaticamente, de DBFs ou SQL.
E resta definir o campo chave, por exemplo, o código de cliente como chave do cliente.
A partir daí, faz lá a tela com tudo, pra navegação, que é sempre igual.
Além disso, tem opção de escolher controle diferente, controle pra escolher data em calendário, ou pra avançar/voltar num contador, e outros.
Isso não altera o conceito inicial, é apenas trocar o "GET" por um "DATE PICKER" ou outro, conforme o que a LIB tiver disponível.
É o que todo mundo faz, o tempo todo, só que automático.
O que mais podemos ter num cadastro:
Tem o browse, pra escolher na lista.
Nisso é pegar a lista da estrutura e montar o browse, é o que fazemos normalmente.
Até aqui é o básico de um cadastro, só precisamos saber o campo chave, e os demais campos, e o tipo de cada um: caractere, numérico, data, etc.
Fazer SAY, fazer GET, fazer BROWSE.... é tudo coisa comum.
Ao invés de ficar olhando lá a estrutura, e fazer manual, o dlgauto faz automático, porque é só acessar a estrutura e pegar os nomes.
Pra fazer tudo isso, uso um array com a lista de campos, esse é o ponto de partida.
Como pode ter um texto descritivo do que é cada coisa, entra lá nesse array "Código", por exemplo.
Pra digitação isso precisa variável, então tem lá no array o elemento que vai ser usado como GET.
Em GUI isso vai usar controles, LABEL (SAY) e TEXTBOX (GET), então tem lá no array os elementos que serão o controle label e o controle textbox (ou date picker, ou outro)
O que o dlgauto faz, na hora de criar a tela disso é chamar rotinas que "traduzem" a criação de cada item pra cada lib.
As telas são em pixels, então os tamanhos e posições são iguais pra todas as LIBs, a montagem disso pode ser genérica.
Criar button, criar textbox, criar label, a parte genérica é igual pra todas as LIBs, o que muda é o detalhe específico de cada LIB.
Temos até aqui um cadastro genérico básico, que todo mundo faz, mas sempre digitando tudo, mesmo quando copia/cola fontes.
O dlgauto apenas acaba com esse copiar/colar, e faz a parte repetitiva.
Talvez porque tem todas as LIBs juntas, ou porque tem DBF e MySQL, que dependem de solução diferente.
Talvez todos possam ajudar a continuar o que falta, já que qualquer lib serve.
Basicamente é o que fazemos no dia a dia.
Como criamos qualquer cadastro, ou um cadastro de clientes:
código, nome, endereço, etc. a estrutura
O que tem no cadastro?
Opções inclui, altera, exclui, consulta, etc.
Como criamos a tela?
definimos o código, que é o campo chave, e o resto são campos a serem digitados.
TODO cadastro é assim.
O dlgauto cria os "BUTTONs", os "SAYs", e os "GETs", pra qualquer cadastro, afinal é tudo igual, só mudam os campos.
Pra isso ele pega a estrutura automaticamente, de DBFs ou SQL.
E resta definir o campo chave, por exemplo, o código de cliente como chave do cliente.
A partir daí, faz lá a tela com tudo, pra navegação, que é sempre igual.
Além disso, tem opção de escolher controle diferente, controle pra escolher data em calendário, ou pra avançar/voltar num contador, e outros.
Isso não altera o conceito inicial, é apenas trocar o "GET" por um "DATE PICKER" ou outro, conforme o que a LIB tiver disponível.
É o que todo mundo faz, o tempo todo, só que automático.
O que mais podemos ter num cadastro:
Tem o browse, pra escolher na lista.
Nisso é pegar a lista da estrutura e montar o browse, é o que fazemos normalmente.
Até aqui é o básico de um cadastro, só precisamos saber o campo chave, e os demais campos, e o tipo de cada um: caractere, numérico, data, etc.
Fazer SAY, fazer GET, fazer BROWSE.... é tudo coisa comum.
Ao invés de ficar olhando lá a estrutura, e fazer manual, o dlgauto faz automático, porque é só acessar a estrutura e pegar os nomes.
Pra fazer tudo isso, uso um array com a lista de campos, esse é o ponto de partida.
Como pode ter um texto descritivo do que é cada coisa, entra lá nesse array "Código", por exemplo.
Pra digitação isso precisa variável, então tem lá no array o elemento que vai ser usado como GET.
Em GUI isso vai usar controles, LABEL (SAY) e TEXTBOX (GET), então tem lá no array os elementos que serão o controle label e o controle textbox (ou date picker, ou outro)
O que o dlgauto faz, na hora de criar a tela disso é chamar rotinas que "traduzem" a criação de cada item pra cada lib.
As telas são em pixels, então os tamanhos e posições são iguais pra todas as LIBs, a montagem disso pode ser genérica.
Criar button, criar textbox, criar label, a parte genérica é igual pra todas as LIBs, o que muda é o detalhe específico de cada LIB.
Temos até aqui um cadastro genérico básico, que todo mundo faz, mas sempre digitando tudo, mesmo quando copia/cola fontes.
O dlgauto apenas acaba com esse copiar/colar, e faz a parte repetitiva.