Criando Classe
Boa noite pessoal!
Montei um Recod:
ta fungando blz ,,, so q qdo eu vo atribuir um valor pra propriedade Cheque, teu tenho q passar uma variavel do tipow TCheque como valor...
c eu tentar fazer assim: Troco.Cheque.Nome:= ´Teste´; ele da a msg : Left side cannot be assigned to
alguem sabe resolver isto ?
Montei um Recod:
type TCheque = record Nome: string; CPF: string[14]; end;
type TTroco = class private FCheque: TCheque; procedure SetCheque(const Value: TCheque); published property Cheque: TCheque read FCheque write SetCheque; end; procedure TTroco.SetCheque(const Value: TCheque); begin FCheque.Nome:= Value.Nome; FCheque.CPF:= Value.CPF; end;
ta fungando blz ,,, so q qdo eu vo atribuir um valor pra propriedade Cheque, teu tenho q passar uma variavel do tipow TCheque como valor...
c eu tentar fazer assim: Troco.Cheque.Nome:= ´Teste´; ele da a msg : Left side cannot be assigned to
alguem sabe resolver isto ?
Output
Curtidas 0
Respostas
Emerson Nascimento
06/08/2007
acho que só funciona se TCheque for uma classe, e não um record.
type TCheque = class FNome: string; FCPF: string; private procedure SetCPF(const Value: string); published property Nome: string read FNome write FNome; property CPF: string read FCPF write SetCPF; end; TTroco = class private FCheque: TCheque; procedure SetCheque(const Value: TCheque); published // como não há nenhum tratamento, a procedure SetCheque é desnecessária property Cheque: TCheque read FCheque write FCheque;//SetCheque; public constructor Create; destructor Destroy; end;
{ TTroco }
constructor TTroco.Create;
begin
FCheque := TCheque.Create;
end;
destructor TTroco.Destroy;
begin
FCheque.Free;
end;
procedure TTroco.SetCheque(const Value: TCheque);
begin
FCheque.Nome:= Value.Nome;
FCheque.CPF:= Value.CPF;
end;
{ TCheque }
procedure TCheque.SetCPF(const Value: string);
var
CPFValido: boolean;
begin
// aqui pode ser feita a validação necessária
if FCPF <> Value then
begin
CPFValido := Value <> ´000.000.000-00´;
if not CPFValido then
raise Exception.Create(´CPF Inválido´);
FCPF := Value;
end;
end;GOSTEI 0
Output
06/08/2007
opa! bom dia [b:87ef9c0742]emerson.en[/b:87ef9c0742] !
kra ... impressionamente como sua dica fez eu entender sobre classe .... hehehehe. Bastou correr os olhos pra linha comentada ´ // como não há nenhum tratamento, a procedure SetCheque é desnecessária ´ e pronto! hehe
É q eu to começando agora a lidar com classes, e somente agora q to entendendo realmente o lance da POO ...
Show de bola ...
deu certinho aki do geito q eu qria .... forte abraço
kra ... impressionamente como sua dica fez eu entender sobre classe .... hehehehe. Bastou correr os olhos pra linha comentada ´ // como não há nenhum tratamento, a procedure SetCheque é desnecessária ´ e pronto! hehe
É q eu to começando agora a lidar com classes, e somente agora q to entendendo realmente o lance da POO ...
Show de bola ...
deu certinho aki do geito q eu qria .... forte abraço
GOSTEI 0
Adriano Santos
06/08/2007
Se quiser saber mais sobre Classes e Objetos, vale a pena dar uma olhada neste artigo. Está em inglês, mas é muito bom:
http://tu.kotev.net/Parvi¬20kurs/Wtori¬20semestar/PIK2/Lect51.htm
http://tu.kotev.net/Parvi¬20kurs/Wtori¬20semestar/PIK2/Lect51.htm
GOSTEI 0
Output
06/08/2007
Opa blz [b:1dc34b3524]Adriano Santos[/b:1dc34b3524] com certeza vo olhar sim ...
é mto interessante saber sobre classes ....
vlw pela dica ...
é mto interessante saber sobre classes ....
vlw pela dica ...
GOSTEI 0
Adriano Santos
06/08/2007
Opa blz [b:2a8c8a2c95]Adriano Santos[/b:2a8c8a2c95] com certeza vo olhar sim ...
é mto interessante saber sobre classes ....
vlw pela dica ...
Pode crer, embora tenha uma certa intimidade com classes, estou aprendendo pra caramba com este artigo. ;)
GOSTEI 0