manipulando objeto.
ola gente estou estudando objeto em delphi, fiz 2 classes de teste e funcionou , mas minha duvida é o seguinte é correto fazer dessa forma por exemplo fiz um classe de cliente e outras de teste mas é correto fazer todas na mesma unit ?
unit Unit2;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs;
type
TAnimal = class
Nome: string;
idade : Integer;
Altura, Peso: real;
end;
type
Tcarro = class
Marca: string;
end;
type
Tcliente = class
Nome : string;
telefone : Integer;
endereco : String;
end;
var
MeuAnimal: TAnimal;
Carro : Tcarro;
cliente : Tcliente;
implementation
end.
fiz uma classe de cliente e manipulei para gravas os dados no banco fiz esse codigo dentro do envento on Click do botao esta correto:
cliente := Tcliente.Create();
cliente.Nome := Edit1.Text;
cliente.telefone := StrToInt(Edit2.text);
cliente.endereco := Edit3.Text;
ADODataSet1.Insert;
ADODataSet1.FieldByName(´nome´).Value := cliente.Nome;
ADODataSet1.FieldByName(´telefone´).Value := cliente.telefone;
ADODataSet1.FieldByName(´endereco´).Value := cliente.endereco;
ADODataSet1.post;
Edit1.Clear;
Edit2.Clear;
Edit3.Clear;
ai que vem minha duvida usei objeto mas o trablho foi maior nesse caso alguem poderia dar uma dica como manipular esse objeto de forma mais inteligente.
sendo que dessa forma funciou.
unit Unit2;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs;
type
TAnimal = class
Nome: string;
idade : Integer;
Altura, Peso: real;
end;
type
Tcarro = class
Marca: string;
end;
type
Tcliente = class
Nome : string;
telefone : Integer;
endereco : String;
end;
var
MeuAnimal: TAnimal;
Carro : Tcarro;
cliente : Tcliente;
implementation
end.
fiz uma classe de cliente e manipulei para gravas os dados no banco fiz esse codigo dentro do envento on Click do botao esta correto:
cliente := Tcliente.Create();
cliente.Nome := Edit1.Text;
cliente.telefone := StrToInt(Edit2.text);
cliente.endereco := Edit3.Text;
ADODataSet1.Insert;
ADODataSet1.FieldByName(´nome´).Value := cliente.Nome;
ADODataSet1.FieldByName(´telefone´).Value := cliente.telefone;
ADODataSet1.FieldByName(´endereco´).Value := cliente.endereco;
ADODataSet1.post;
Edit1.Clear;
Edit2.Clear;
Edit3.Clear;
ai que vem minha duvida usei objeto mas o trablho foi maior nesse caso alguem poderia dar uma dica como manipular esse objeto de forma mais inteligente.
sendo que dessa forma funciou.
Ciotti
Curtidas 0
Respostas
Massuda
04/01/2008
...fiz um classe de cliente e outras de teste mas é correto fazer todas na mesma unit ?
Normalmente se coloca numa mesma unit classes que tem algum relacionamento lógico entre si e que costumam ser usadas juntas.ai que vem minha duvida usei objeto mas o trablho foi maior nesse caso alguem poderia dar uma dica como manipular esse objeto de forma mais inteligente.
sendo que dessa forma funciou.
Um exemplo seria melhor seria se o objeto soubesse se gravar no BD.procedure Tcliente.Gravar(ADataset: TDataSet); begin ADataSet.Insert; ADataSet.FieldByName(´nome´).Value := Nome; ADataSet.FieldByName(´telefone´).Value := telefone; ADataSet.FieldByName(´endereco´).Value := endereco; ADataSet.post; end; ... cliente := Tcliente.Create(); cliente.Nome := Edit1.Text; cliente.telefone := StrToInt(Edit2.text); cliente.endereco := Edit3.Text; cliente.Gravar(ADODataSet1); cliente.Free; ...
GOSTEI 0
Ciotti
04/01/2008
Ola amigo , realmente trabalhar com objeto e complexo.
nao entendi muito bem esse seu codigo se tivesse como dar mais detalhes por gentileza ou se agluem tiver um outro exemplo fico grato.
Muito obrigado.
nao entendi muito bem esse seu codigo se tivesse como dar mais detalhes por gentileza ou se agluem tiver um outro exemplo fico grato.
Muito obrigado.
GOSTEI 0
Ciotti
04/01/2008
unit Unit2;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs;
type
TAnimal = class
Nome: string;
idade : Integer;
Altura, Peso: real;
end;
type
Tcarro = class
Marca: string;
end;
type
Tcliente = class
Nome : string;
telefone : Integer;
endereco : String;
end;
var
MeuAnimal: TAnimal;
Carro : Tcarro;
cliente : Tcliente;
implementation
end.
fiz uma classe de cliente e manipulei para gravas os dados no banco fiz esse codigo dentro do envento on Click do botao esta correto:
cliente := Tcliente.Create();
cliente.Nome := Edit1.Text;
cliente.telefone := StrToInt(Edit2.text);
cliente.endereco := Edit3.Text;
ADODataSet1.Insert;
ADODataSet1.FieldByName(´nome´).Value := cliente.Nome;
ADODataSet1.FieldByName(´telefone´).Value := cliente.telefone;
ADODataSet1.FieldByName(´endereco´).Value := cliente.endereco;
ADODataSet1.post;
Edit1.Clear;
Edit2.Clear;
Edit3.Clear;
ai que vem minha duvida usei objeto mas o trablho foi maior nesse caso alguem poderia dar uma dica como manipular esse objeto de forma mais inteligente.
sendo que dessa forma funciou.
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs;
type
TAnimal = class
Nome: string;
idade : Integer;
Altura, Peso: real;
end;
type
Tcarro = class
Marca: string;
end;
type
Tcliente = class
Nome : string;
telefone : Integer;
endereco : String;
end;
var
MeuAnimal: TAnimal;
Carro : Tcarro;
cliente : Tcliente;
implementation
end.
fiz uma classe de cliente e manipulei para gravas os dados no banco fiz esse codigo dentro do envento on Click do botao esta correto:
cliente := Tcliente.Create();
cliente.Nome := Edit1.Text;
cliente.telefone := StrToInt(Edit2.text);
cliente.endereco := Edit3.Text;
ADODataSet1.Insert;
ADODataSet1.FieldByName(´nome´).Value := cliente.Nome;
ADODataSet1.FieldByName(´telefone´).Value := cliente.telefone;
ADODataSet1.FieldByName(´endereco´).Value := cliente.endereco;
ADODataSet1.post;
Edit1.Clear;
Edit2.Clear;
Edit3.Clear;
ai que vem minha duvida usei objeto mas o trablho foi maior nesse caso alguem poderia dar uma dica como manipular esse objeto de forma mais inteligente.
sendo que dessa forma funciou.
GOSTEI 0
Ciotti
04/01/2008
alguem por favor da uma luz.
GOSTEI 0
Rjun
04/01/2008
Sem dúvida, trabalhar com objetos dessa maneira é mais trabalhoso. Você pode encontrar material e umas boas discussões no fórum de Java (www.guj.com.br) na seção sobre Metodologias.
O ideal seria que seu objeto tivesse um método Save, pois no seu exemplo, seu objeto somente é um conteiner de informação, não realizando nenhuma ação. Ele poderia ter como propriedade um Dataset e no método save do objeto você chamaria esse dataset. Só que dessa forma seu objeto estaria dependente desse tipo de arquitetura.
Eu sou iniciante nesse tipo de estudo, mas acho que aplicar esse tipo de abordagem em Delphi gera uma complicação excessiva.
O ideal seria que seu objeto tivesse um método Save, pois no seu exemplo, seu objeto somente é um conteiner de informação, não realizando nenhuma ação. Ele poderia ter como propriedade um Dataset e no método save do objeto você chamaria esse dataset. Só que dessa forma seu objeto estaria dependente desse tipo de arquitetura.
Eu sou iniciante nesse tipo de estudo, mas acho que aplicar esse tipo de abordagem em Delphi gera uma complicação excessiva.
GOSTEI 0
Ciotti
04/01/2008
ola amigo vc teria algum exemplo?, por favor.
GOSTEI 0