Olha, eu acredito que se voc� declarar um var dentro da se��o implementation, ela fique visivel apenas para a Unit implemetation
var nome: String; Agora Private e Public, salvo engano, s� � poss�vel em classes Espero ter ajudado Thiago ----- Original Message ----- From: "Rog�rio R. Fernandes" <[EMAIL PROTECTED]> To: <[email protected]> Sent: Monday, January 31, 2005 10:26 AM Subject: Re: [delphi-br] Re: Private / Public - Como declarar? > > Caro Bruno (ou algu�m que queira responder) > > O que preciso na verdade � Inserir as Tags "Private" e "Public". > Quando na unit de um form, � inserido automaticamente pelo Delphi. > Mas o que eu tenho � uma Unit sem form, neste caso o Delphi cria a Unit da > seguinte forma: > > unit Unit1; > > interface > > implementation > > end. > > Ou seja, n�o h� as Tags "Private" e "Public", que gostaria de inserir. > � poss�vel fazer isto sem criar uma Classe? (pois n�o preciso). > > [] > PS: Bruno, desculpe ter lhe dado este trabalho desnecess�rio. > > Rog�rio Ricardo Fernandes > ----- Original Message ----- > From: "Bruno Augusto" <[EMAIL PROTECTED]> > To: <[email protected]> > Sent: Friday, January 28, 2005 11:15 PM > Subject: [delphi-br] Re: Private / Public - Como declarar? > > > > > > Ol�.. > vou escrever um bocado mas acho que � o suficiente... mas recomento a > leitura de UML e Programa��o Orientada a Objetos (POO) > > por conven��o use T antes do nome da classe > e F antes das propriedades em orienta��o a Objetos voc� deve > encapsular todas as propriedades ou seja, coloc�-las dentro da tag > "private", assim apenas a classe pode acessar a propriedade. Eu > recomendo voc� ler um pouco sobre os conceitos de Orienta��o a Objetos > que ajuda a clarear algumas id�ias. Seu c�digo ficar� mais flex�vel. > > Obs.: Abaixo temos uma classe. e todos os objetos que ser�o > instanciados por essa classe ir�o herdar todos os seus m�todos > (procedures e functions) e propriedades. Se instancio uma pessoa ela > vai ter nome, sexo etc. e ela herdara todas as suas propriedades.. ou > exemplo.. Numa empresa temos funcionarios horistas e mensalistas.. > podemos ter a classe funcionario, a classe horista e mensalista que > herdam funcionario, que por sua vez herda as caracteristicas como > pessoa.. e assim vai.. > ex.: Classe Pessoa, Atributos (nome, Nasc, sexo...) > classe Funcionario, atributos(registro, depto...) > classe Horista, alem de todos acima (horas trabalhadas, > vr_hora... e assim vai... > > veja um simples exemplo: > > > > > unit uObjPessoa; > > interface > > Type TPessoa = class > private > {apenas os m�todos desta classe (TPessoa) tem acesso} > FNome:String[40]; //atributo use F<nome>, por conven��o > FIdade:integer; > FEstCivil:String; > > protected > {apenas os m�todos desta unit (uObjPessoa) tem acesso} > procedure gravaNome(n:string); > procedure gravaIdade(i:integer); > procedure gravaEstCivil(ec:String); > function lerNome:string; > function lerIdade:integer; > function lerEstCivil:String; > > public > {qualquer unit pode acessar estes metodos...} > property Nome:String Read lerNome Write gravaNome; > property Idade:String Read lerIdade Write gravaIdade; > property EstadoCivil:String Read lerEstCivil Write gravaIdade; > > //m�todo construtor, quando criar a classe j� adiciona valores > Constructor create(xNome:String;xIdade:integer); virtual; > //virtual � para poder sobrepor este m�todo usando override > End; //fim TPessoa > > Implementation > > > Constructor TPessoa.create(xNome:String;Idade:Integer); > begin > FNOme:=xNome; > FIdade:=xIdade; > end; > > procedure TPessoa.gravaEstCivil(ec:String); > begin > FEstCivil:=ec; > end; > > > function lerEstCivil:String; > begin > result:=FEstCivil; > end; > . > . {aqui eh so seguir o mesmo caminho com as fun��es e procedures > restantes} > . > end; > > > ---------------------NA APLICA��O------------------------ > //inclui a unit na uses > uses uObjPessoa...; > > declara a variavel do tipo da classe pessoa > var vPessoa:TPessoa; > > //instanciando o Objeto Rog�rio da Classe Pessoa > > vPessoa:=TPessoa.create('Rog�rio',25); //chutei a idade hehe > > //adicionando seu estado civil; > vPessoa.EstadoCivil:='Solteiro'; //note o nome da propriedade > > //para ler as propriedades eh o caminho inverso > > button1Click(...); > var sNome,sEstCivil:String; > iIdade:Integer; > begin > sNome:=vPessoa.Nome; > sIdade:=vPessoa.Idade; > sEstCivil:=vPessoa.EstCivil; > end; > {obs.: para efetuar tais opera��es o objeto ja deve estar instanciado > (create) } > > > � isso.... hehe > > Espero poder ter ajudado... > um abra�o... > > Bruno Coelho > ps.:(ainda n�o consigo enviar anexo no Delphi 2005 c/ indy hehe) > > > > > --- Em [email protected], Rog�rio R. Fernandes > <[EMAIL PROTECTED]> escreveu >> Caros, >> >> Algo que deve ser muito simples, mas n�o estou conseguindo. >> >> Tenho uma Unit (s� unit, sem form) e desejo declarar >> fun��es/procedures/vari�veis separando em P�blicas e Privadas. >> Como posso fazer isto? >> >> Rog�rio Ricardo Fernandes > > > > > > > > > -- > <<<<< FAVOR REMOVER ESTA PARTE AO RESPONDER ESTA MENSAGEM >>>>> > > Para ver as mensagens antigas, acesse: > http://br.groups.yahoo.com/group/delphi-br/messages > > Para falar com o moderador, envie um e-mail para: > [EMAIL PROTECTED] ou [EMAIL PROTECTED] > > Links do Yahoo! Grupos > > > > > > > > > > > > > -- > <<<<< FAVOR REMOVER ESTA PARTE AO RESPONDER ESTA MENSAGEM >>>>> > > Para ver as mensagens antigas, acesse: > http://br.groups.yahoo.com/group/delphi-br/messages > > Para falar com o moderador, envie um e-mail para: > [EMAIL PROTECTED] ou [EMAIL PROTECTED] > > Links do Yahoo! Grupos > > > > > > > > > -- <<<<< FAVOR REMOVER ESTA PARTE AO RESPONDER ESTA MENSAGEM >>>>> Para ver as mensagens antigas, acesse: http://br.groups.yahoo.com/group/delphi-br/messages Para falar com o moderador, envie um e-mail para: [EMAIL PROTECTED] ou [EMAIL PROTECTED] Links do Yahoo! Grupos <*> Para visitar o site do seu grupo na web, acesse: http://br.groups.yahoo.com/group/delphi-br/ <*> Para sair deste grupo, envie um e-mail para: [EMAIL PROTECTED] <*> O uso que voc� faz do Yahoo! Grupos est� sujeito aos: http://br.yahoo.com/info/utos.html

