variavei publicas ?
Boa boite
estou criando um programa frente de caixa. E quando o usuario entra no sistemas tem que informar a Filial e codigo ae faço uma busca por Filial + codigo retorno o nome ate ae tudo bem, agora :
como posso saber o que foi recuperado durante toda a execução do sistema, enquanto o ususario estiver logado.
qual e a melhor maneira, Propriedade no form etc...
obrigado
estou criando um programa frente de caixa. E quando o usuario entra no sistemas tem que informar a Filial e codigo ae faço uma busca por Filial + codigo retorno o nome ate ae tudo bem, agora :
como posso saber o que foi recuperado durante toda a execução do sistema, enquanto o ususario estiver logado.
qual e a melhor maneira, Propriedade no form etc...
obrigado
Pereiramarcos
Curtidas 0
Respostas
Thomaz_prg
18/01/2006
O que você quer é armazenar o código e filial??
Se for, basta criar as variáveis públicas mesmo.
Se for, basta criar as variáveis públicas mesmo.
GOSTEI 0
Pereiramarcos
18/01/2006
thomaz , valeu cara
vou Armazenar sim, e tudo que o uzuario fizer, por exemplo :
que foi o usuario e de qual filial.
o usuario que recebeu a fatura xyz, ou o cupom xyz nao sei se estou sendo claro ele sera o caixa aberto. E tudo que o caixa fizer sera registrado com o codigo dele.
ae fiquei em duvida se criar uma variavel publica ou uma propriedade no form, haja visto que sera varios forms.
é um programa de frente de caixa
logo ele baica contas a receber, baixa estoque da entrada de cheque cartao etc....
vou Armazenar sim, e tudo que o uzuario fizer, por exemplo :
que foi o usuario e de qual filial.
o usuario que recebeu a fatura xyz, ou o cupom xyz nao sei se estou sendo claro ele sera o caixa aberto. E tudo que o caixa fizer sera registrado com o codigo dele.
ae fiquei em duvida se criar uma variavel publica ou uma propriedade no form, haja visto que sera varios forms.
é um programa de frente de caixa
logo ele baica contas a receber, baixa estoque da entrada de cheque cartao etc....
GOSTEI 0
Michael
18/01/2006
Use sempre que possível propriedades e campos de formulários, e evite ao máximo variáveis globais.
Mesmo programando RAD, mantenha os bons constumes da orientação a objetos. ;-)
[]´s
Mesmo programando RAD, mantenha os bons constumes da orientação a objetos. ;-)
[]´s
GOSTEI 0
Thomaz_prg
18/01/2006
Mas tipo, se ele preferir, pode criar uma ´Classe´ simples, para as variáveis. Em uma unit separada. Assim daria maior organização do que vincular isso a um formulário.
GOSTEI 0
Michael
18/01/2006
Não vejo problemas de organização ao se usar propriedades em formulários. O que se está fazendo é apenas extender a classe TForm, com características próprias de cada tela do programa. Um form é uma classe como qualquer outra, e pode ser derivado e extendido tbm.
[]´s
[]´s
GOSTEI 0
Pereiramarcos
18/01/2006
Thomaz, obrigado pela dica pode me dar um exemplo pra eu ver como ficaria.
obrigado michael, pode me dar um exemplo, ou seria isso :
form=class(tform)
property codigo:string
end;
acho que estou misturando Foxpro com delphi... :cry:
obrigado michael, pode me dar um exemplo, ou seria isso :
form=class(tform)
property codigo:string
end;
acho que estou misturando Foxpro com delphi... :cry:
GOSTEI 0
Michael
18/01/2006
Segue abaixo o exemplo:
Se quiser que a propriedade seja somente-leitura, retire o [b:504d596ff5]write FMinhaPropriedade[/b:504d596ff5] do código.
[]´s
TForm1 = class(TForm) ... private FMinhaPropriedade: string; public property MinhaPropriedade: string read FMinhaPropriedade write FMinhaPropriedade; end; ... Form1.MinhaPropriedade := ´Michael´;
Se quiser que a propriedade seja somente-leitura, retire o [b:504d596ff5]write FMinhaPropriedade[/b:504d596ff5] do código.
[]´s
GOSTEI 0
Pereiramarcos
18/01/2006
obrigado michael, vou implementar.
GOSTEI 0
Siam
18/01/2006
Mas se a property é read e write, qual a diferença de definir uma variável pública diretamente ?
GOSTEI 0
Michael
18/01/2006
Variáveis globais (ou públicas, tanto faz) não são recomendadas por várias razões, entre elas por fazerem a aplicação depender de units, e não de objetos.
É altamente aconselhável programar OO em uma ferramenta OO, como o Delphi, do que seguir o modelo linear e procedural do antigo Pascal.
Se quiser saber mais sobre o assunto, acho q ele já foi discutido antes aqui no fórum. Faça uma pesquisa rápida e tente achar algo. ;-)
[]´s
É altamente aconselhável programar OO em uma ferramenta OO, como o Delphi, do que seguir o modelo linear e procedural do antigo Pascal.
Se quiser saber mais sobre o assunto, acho q ele já foi discutido antes aqui no fórum. Faça uma pesquisa rápida e tente achar algo. ;-)
[]´s
GOSTEI 0
Siam
18/01/2006
Variáveis globais (ou públicas, tanto faz) não são recomendadas por várias razões, entre elas por fazerem a aplicação depender de units, e não de objetos.
Como assim ?Em seu exemplo anterior:
TForm1 = class(TForm) ... private FMinhaPropriedade: string; public property MinhaPropriedade: string read FMinhaPropriedade write FMinhaPropriedade; end; ... Form1.MinhaPropriedade := ´Michael´;
O que quiz dizer é que não vejo diferença entre colocar FMinhaPropriedade como pública e utilizar uma property read/write.
GOSTEI 0
Aroldo Zanela
18/01/2006
Colega,
Usando este exemplo simples, parecem ser a mesma ´coisa´. Entretanto, há uma significativa diferença conceitual. Em OO, atributos são privados e métodos são públicos e o Delphi possue as propriedades que são mais abrangentes que simples métodos Gets e Sets. Isto visa evitar furos de encapsulamento.
Usando este exemplo simples, parecem ser a mesma ´coisa´. Entretanto, há uma significativa diferença conceitual. Em OO, atributos são privados e métodos são públicos e o Delphi possue as propriedades que são mais abrangentes que simples métodos Gets e Sets. Isto visa evitar furos de encapsulamento.
GOSTEI 0
Pereiramarcos
18/01/2006
Complicou um pouco , se eventos sao publicos e propriedades sao privadas, assim nao esta errado, porem nao e aconselhavel e isso ?
pq fere os conceitos do Delphi.....
alguem pode dar um exemplo para dar uma clareada
pq fere os conceitos do Delphi.....
alguem pode dar um exemplo para dar uma clareada
GOSTEI 0
Aroldo Zanela
18/01/2006
Complicou um pouco , se eventos sao publicos e propriedades sao privadas, assim nao esta errado, porem nao e aconselhavel e isso ?
pq fere os conceitos do Delphi.....
alguem pode dar um exemplo para dar uma clareada
Colega,
Por curiosidade, em que parte do texto eu disse que propriedades são privadas? Onde foi mencionado eventos?
GOSTEI 0
Siam
18/01/2006
Colegas, no meu caso; utilizo uma property se ela for somente read ou somente write. Se for read/write eu declaro como variável pública.
Sempre programei assim e nunca me deu nenhum problema.[quote:4907b40267=´Aroldo Zanela´]...Isto visa evitar furos de encapsulamento[/quote:4907b40267]Poderia dar algum exemplo de furo de encapsulamento ?
Sempre programei assim e nunca me deu nenhum problema.[quote:4907b40267=´Aroldo Zanela´]...Isto visa evitar furos de encapsulamento[/quote:4907b40267]Poderia dar algum exemplo de furo de encapsulamento ?
GOSTEI 0
Rjun
18/01/2006
Temos também que considerar o fato que com atributos podemos validar os valores que são inseridos através dos métodos get/set, o que não é possível fazer quando usamos variáveis públicas.
GOSTEI 0
Pereiramarcos
18/01/2006
[quote:c40782d3af=´Aroldo Zanela´]
Colega,
Por curiosidade, em que parte do texto eu disse que propriedades são privadas? Onde foi mencionado eventos?[/quote:c40782d3af]
Aroldo eu me expressei mal, mas pode me dizer a diferenca de propriedade para atributos. e de eventos para metodos. Talvez esteja com o cenceito umpouco deturpado. agradeco a sua ajuda. e a de todo do forum
Complicou um pouco , se eventos sao publicos e propriedades sao privadas, assim nao esta errado, porem nao e aconselhavel e isso ?
pq fere os conceitos do Delphi.....
alguem pode dar um exemplo para dar uma clareada
Colega,
Por curiosidade, em que parte do texto eu disse que propriedades são privadas? Onde foi mencionado eventos?[/quote:c40782d3af]
Aroldo eu me expressei mal, mas pode me dizer a diferenca de propriedade para atributos. e de eventos para metodos. Talvez esteja com o cenceito umpouco deturpado. agradeco a sua ajuda. e a de todo do forum
GOSTEI 0
Aroldo Zanela
18/01/2006
Colega,
20 Rules For OOP In Delphi
[quote:b81ad5dc55=´by Marco Cantù´]
Rule 6:
Avoid Global Variables Global variables (that is, variables declared in the interface portion of a unit) should be avoided. Here are a few suggestions to help you do this. If you need extra data storage for a form, add some private fields to it. In this case each form instance will have its own copy of the data.
You might use unit variables (declared in the implementation portion of the unit) for data shared among multiple instances of the form class. If you need data shared among forms of different types, you can share them by placing the data in the main form, or in a global object, and use methods or properties to access the data.
[/quote:b81ad5dc55]
20 Rules For OOP In Delphi
[quote:b81ad5dc55=´by Marco Cantù´]
Rule 6:
Avoid Global Variables Global variables (that is, variables declared in the interface portion of a unit) should be avoided. Here are a few suggestions to help you do this. If you need extra data storage for a form, add some private fields to it. In this case each form instance will have its own copy of the data.
You might use unit variables (declared in the implementation portion of the unit) for data shared among multiple instances of the form class. If you need data shared among forms of different types, you can share them by placing the data in the main form, or in a global object, and use methods or properties to access the data.
[/quote:b81ad5dc55]
GOSTEI 0