Controles Minigui
Enviado: 03 Jan 2011 10:42
Olá pessoal,
quando comecei a programar em Clipper, adorava o espaço cargo existente no tbrowse.
Ele possibilitava o armazenamento de informações necessárias no próprio objeto, sem a necessidade de criação de variáveis e programação extra para tratar as mesmas.
Então, a partir da pergunta de um amigo, achei interessante lembrar os companheiros da existência o espaço cargo nos objetos da Minigui (label, textbox, etc.).
O tsbrowse não tem esse espaço vinculado ao próprio objeto, mas apenas às colunas de dados.
Para exemplificar, tomemos como base um combobox que exibe o nome de clientes para seleção.
Por questões estéticas ou praticidade é interessante exibir apenas o nome.
Mas uma vez escolhido o cliente, eu preciso na verdade é do código vinculado ao mesmo.
Tudo bem, há diversas maneiras de se obter isso, inclusive com uma nova consulta ao banco de dados.
Mas utilizando o espaço cargo, isso fica fácil, fácil...
Como?
É só inicializar o cargo como uma matriz vazia.
formulario.combobox.cargo := {}
E, na rotina que atualiza o seu conteúdo, utilizar algo do tipo
...
formulario.combobox.additem(nomedocliente)
aadd(formulario.combobox.cargo,codigodocliente)
Assim, quando quiser o nome do cliente corrente/ selecionado utilize
formulario.combobox.item(formulario.combobox.value)
E quando quiser o código do cliente corrente/ selecionado utilize
formulario.combobox.cargo[formulario.combobox.value]
Espero ter ajudado.
MarceloG
quando comecei a programar em Clipper, adorava o espaço cargo existente no tbrowse.
Ele possibilitava o armazenamento de informações necessárias no próprio objeto, sem a necessidade de criação de variáveis e programação extra para tratar as mesmas.
Então, a partir da pergunta de um amigo, achei interessante lembrar os companheiros da existência o espaço cargo nos objetos da Minigui (label, textbox, etc.).
O tsbrowse não tem esse espaço vinculado ao próprio objeto, mas apenas às colunas de dados.
Para exemplificar, tomemos como base um combobox que exibe o nome de clientes para seleção.
Por questões estéticas ou praticidade é interessante exibir apenas o nome.
Mas uma vez escolhido o cliente, eu preciso na verdade é do código vinculado ao mesmo.
Tudo bem, há diversas maneiras de se obter isso, inclusive com uma nova consulta ao banco de dados.
Mas utilizando o espaço cargo, isso fica fácil, fácil...
Como?
É só inicializar o cargo como uma matriz vazia.
formulario.combobox.cargo := {}
E, na rotina que atualiza o seu conteúdo, utilizar algo do tipo
...
formulario.combobox.additem(nomedocliente)
aadd(formulario.combobox.cargo,codigodocliente)
Assim, quando quiser o nome do cliente corrente/ selecionado utilize
formulario.combobox.item(formulario.combobox.value)
E quando quiser o código do cliente corrente/ selecionado utilize
formulario.combobox.cargo[formulario.combobox.value]
Espero ter ajudado.
MarceloG