 |
ActiveDelphi .: O site do programador Delphi! :.
|
| Exibir mensagem anterior :: Exibir próxima mensagem |
| Autor |
Mensagem |
luishrosasi Novato

Registrado: Terça-Feira, 20 de Novembro de 2007 Mensagens: 1
|
Enviada: Ter Nov 20, 2007 1:53 pm Assunto: Começando em Delphi |
|
|
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 |
|
 |
danielbuona Profissional


Registrado: Quinta-Feira, 30 de Junho de 2005 Mensagens: 576 Localização: São Paulo/SP
|
Enviada: Ter Nov 20, 2007 2:55 pm Assunto: |
|
|
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 |
|
 |
|
|
Enviar Mensagens Novas: Proibido. Responder Tópicos Proibido Editar Mensagens: Proibido. Excluir Mensagens: Proibido. Votar em Enquetes: Proibido.
|
|