ActiveDelphi - Índice do Fórum ActiveDelphi
.: O site do programador Delphi! :.
 
 FAQFAQ   PesquisarPesquisar   MembrosMembros   GruposGrupos   RegistrarRegistrar 
 PerfilPerfil   Entrar e ver Mensagens ParticularesEntrar e ver Mensagens Particulares   EntrarEntrar 

Começando em Delphi

 
Novo Tópico   Responder Mensagem    ActiveDelphi - Índice do Fórum -> Delphi
Exibir mensagem anterior :: Exibir próxima mensagem  
Autor Mensagem
luishrosasi
Novato
Novato


Registrado: Terça-Feira, 20 de Novembro de 2007
Mensagens: 1

MensagemEnviada: Ter Nov 20, 2007 1:53 pm    Assunto: Começando em Delphi Responder com Citação

Estou começando em Delphi e estou fazendo um programa para cadastrar uma pessoa com o nome ,bairro,numero da casa,rua o programa tem que inserir os dados limpar a tela e depois recuperar o que foi digitado , mas nao esta dando certo podem me ajudar?

Citação:
nit Unit1;

interface

uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls;

type
// Botões

TFormulario = class(TForm)
Nome: TEdit;
Rua: TEdit;
Bairro: TEdit;
Numero: TEdit;
Inserir: TButton;
Recuperar: TButton;
Limpar: TButton;
Label1: TLabel;
Label2: TLabel;
Label3: TLabel;
Label4: TLabel;
procedure LimparClick(Sender: TObject);
procedure FormActivate(Sender: TObject);
procedure InserirClick(Sender: TObject);
procedure RecuperarClick(Sender: TObject);




end;
// Classe Endereço

TEndereco = class
private
Frua,FBairro,FNumero : String;
protected
function GetRua:string;
function GetNumero:string;
function GetBairro:string;
procedure SetRua (value:string);
procedure SetNumero(value:string);
procedure SetBairro(value:string);
public
property Rua : string read GetRua write SetRua;
property Bairro : string read GetBairro write SetBairro;
property Numero : string read GetNumero write SetNumero;
End;

// Classe Pessoa

TPessoa = class
private
Fnome : string ;
protected
function GetNome : string;
procedure SetNome (value: string);
public
Endereco : TEndereco;
constructor Create;
destructor Destroy; override ;
property Nome: string read GetNome write SetNome;
End;



var
Formulario:TFormulario;
Pessoa : TPessoa;
implementation

{$R *.dfm}




{ TEndereco }

// Get

function TEndereco.GetBairro: string;
begin
Result := Self.GetBairro
end;

function TEndereco.GetNumero: string;
begin
Result := Self.GetNumero
end;

function TEndereco.GetRua: string;
begin
Result := Self.GetRua
end;
//Set

procedure TEndereco.SetBairro(value: string);
begin
Self.FBairro:=Value;
end;

procedure TEndereco.SetNumero(value: string);
begin
Self.FNumero:=Value;
end;

procedure TEndereco.SetRua(value: string);
begin
Self.Frua:=Value;
end;

{ TPessoa }
// Construtor
constructor TPessoa.Create;
begin
inherited Create;
Self.Endereco := TEndereco.Create;
end;
// Destrutor
destructor TPessoa.Destroy;
begin
Self.Endereco.Free;
inherited Destroy;
end;
// Get
function TPessoa.GetNome: string;
begin
Result:=Self.GetNome;
end;
// Set
procedure TPessoa.SetNome(value: string);
begin
Self.Fnome:=Value;
end;
// Limpar

procedure TFormulario.LimparClick(Sender: TObject);
begin
Nome.Text:='';
Rua.Text:='';
Bairro.Text:='';
Numero.Text:='';
end;
// Ativando a classe Tpessoa
procedure TFormulario.FormActivate(Sender: TObject);
begin
Pessoa := Tpessoa.Create;
end;
// Inserindo
procedure TFormulario.InserirClick(Sender: TObject);
begin
Pessoa.Endereco.SetBairro(bairro.Text);
Pessoa.Endereco.SetRua(Rua.Text);
Pessoa.Endereco.SetNumero(Numero.Text);
Pessoa.SetNome(Nome.Text);
end;

// Recuperando
procedure TFormulario.RecuperarClick(Sender: TObject);
begin
bairro.Text:=Pessoa.Endereco.GetBairro;
rua.Text:=Pessoa.Endereco.GetRua;
numero.Text:=Pessoa.Endereco.GetNumero;
Nome.Text:=Pessoa.GetNome;
end;



end.

[/img]
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular
danielbuona
Profissional
Profissional


Registrado: Quinta-Feira, 30 de Junho de 2005
Mensagens: 576
Localização: São Paulo/SP

MensagemEnviada: Ter Nov 20, 2007 2:55 pm    Assunto: Responder com Citação

E ai amigo, beleza???

O que está acontecendo para não dar certo, está dando erro??

E olhando o seu código, tem umas coisas estranhas, como por exemplo:
Código:

function TEndereco.GetBairro: string;
begin
Result := Self.GetBairro
end;

Aqui você está re-chamando a procedure... vai dar overflow...
O correto seria:
Código:

function TEndereco.GetBairro: string;
begin
Result := FBairro
end;
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular MSN Messenger
Mostrar os tópicos anteriores:   
Novo Tópico   Responder Mensagem    ActiveDelphi - Índice do Fórum -> Delphi Todos os horários são GMT - 3 Horas
Página 1 de 1

 
Ir para:  
Enviar Mensagens Novas: Proibido.
Responder Tópicos Proibido
Editar Mensagens: Proibido.
Excluir Mensagens: Proibido.
Votar em Enquetes: Proibido.


Powered by phpBB © 2001, 2005 phpBB Group
Traduzido por: Suporte phpBB