Variaveis Globais
Olá,
Eu estavava verificando q em minha aplicacao principalmente em todas as rotinas de impressão e algumas outras eu preciso sempre dos mesmos dados, por exemplo, em todos os relatórios sempre coloco o Nome da Empresa que utiliza o sistema, endereço, cnpj, e etc, assim como dados de um usuário logado no sistema, entao eu gostaria de saber como digamos varias, isso eh uma divagação minha, StringLists de Empresa, Usuário, Configuracao do Sistema do usuario logado, lista de UFs, e mais algumas outras.
A minha idéia era gerar todas essas listas ou no logon do usuário ou na criação da aplicação, qdo apresentamos por exemplo a tela de boas vindas do sistema...
Como poderia fazer isso e manter esses dados ativos e acessiveis durante toda a duração da aplicação sem, como eu faço hj, tova vez q necessito, vou ao banco e pego os dados, dessa maneira apenas teria um unico acesso ao BD durante a execução?
Obrigado
Julio
Eu estavava verificando q em minha aplicacao principalmente em todas as rotinas de impressão e algumas outras eu preciso sempre dos mesmos dados, por exemplo, em todos os relatórios sempre coloco o Nome da Empresa que utiliza o sistema, endereço, cnpj, e etc, assim como dados de um usuário logado no sistema, entao eu gostaria de saber como digamos varias, isso eh uma divagação minha, StringLists de Empresa, Usuário, Configuracao do Sistema do usuario logado, lista de UFs, e mais algumas outras.
A minha idéia era gerar todas essas listas ou no logon do usuário ou na criação da aplicação, qdo apresentamos por exemplo a tela de boas vindas do sistema...
Como poderia fazer isso e manter esses dados ativos e acessiveis durante toda a duração da aplicação sem, como eu faço hj, tova vez q necessito, vou ao banco e pego os dados, dessa maneira apenas teria um unico acesso ao BD durante a execução?
Obrigado
Julio
Tuskinhu
Curtidas 0
Respostas
Massuda
26/03/2005
Não sei se entendi direito, mas acho que você poderia colocar as informações que são ´fixas´ ao longo da execução do programa (uma vez inicializado o programa e conhecido o usuário) em uma unit e compartilhar essa unit com as outras units do programa. Por exemplo:Daí bastaria você convencionar que o NomeDoUsuário seria preenchido no logon e que, uma vez feito o logon do usuário do programa, o valor do NomeDoUsuário seria utilizado em outros pontos do programa.
unit MeusGlobais; interface var NomeDoUsuario: string = ´´; FezLogon: Boolean = False; implementation end.
GOSTEI 0
Tuskinhu
26/03/2005
Sim, é por ai, mais eu terei pelo menos quase umas 40 variaveis, por isso falei em StringList, como vc me falou essas variaveis podem ser setadas no inicio da execucao do programa e durante a execução eu posso usá-las somente adicionando a unit ao uses, q as variaveis setadas no inicio do programa estarão lá já setadas ?
Nao sei se vc usou clipper, mas nele eu criava uma variavel Global ao programa no inicio e ela valia a toda aplicação e utilizando assim nessa unit de vars globais ele vai manter todos os dados durante o programa = ao clipper ?
Nao sei se vc usou clipper, mas nele eu criava uma variavel Global ao programa no inicio e ela valia a toda aplicação e utilizando assim nessa unit de vars globais ele vai manter todos os dados durante o programa = ao clipper ?
GOSTEI 0
Tuskinhu
26/03/2005
Sim, é por ai, mais eu terei pelo menos quase umas 40 variaveis, por isso falei em StringList, como vc me falou essas variaveis podem ser setadas no inicio da execucao do programa e durante a execução eu posso usá-las somente adicionando a unit ao uses, q as variaveis setadas no inicio do programa estarão lá já setadas ?
Nao sei se vc usou clipper, mas nele eu criava uma variavel Global ao programa no inicio e ela valia a toda aplicação e utilizando assim nessa unit de vars globais ele vai manter todos os dados durante o programa = ao clipper ?
acrescentando posso criar qq tipo de variaveis, combos, edits e etc tambem nessa unit ?
GOSTEI 0
Edilcimar
26/03/2005
você pode utilizar variáveis globais, basta adicioná-las no form principal, porém não se esqueça que isto consome memória, algumas vezes é melhor inicializá-las em cada form como variáveis locais para liberar memória, procure só utilizar uma variável de um form em outro somente quando isto for imprescindível
GOSTEI 0
Massuda
26/03/2005
...eu terei pelo menos quase umas 40 variaveis, por isso falei em StringList
Se preferir usar um TStringList, talvez as propriedades Values[] e Names[] sejam úteis para você; dê uma olhada na Ajuda do Delphi....as variaveis setadas no inicio do programa estarão lá já setadas ?
Sim....utilizando assim nessa unit de vars globais ele vai manter todos os dados durante o programa = ao clipper ?
Sim....posso criar qq tipo de variaveis, combos, edits e etc tambem nessa unit ?
Não seria uma boa idéia... esses objetos são componentes visuais normalmente associados a um form e para poder utiliza-los dessa forma você teria que assumir o gerenciamento de alguns aspectos que normalmente você nem se preocuparia (criação/destruição, z-order, etc).GOSTEI 0
Tuskinhu
26/03/2005
Se preferir usar um TStringList, talvez as propriedades Values[] e Names[] sejam úteis para você; dê uma olhada na Ajuda do Delphi.
isso são vetores não? posso utilizar vetores numéricos e de strings.
GOSTEI 0