
SCIENTIST
Membros-
Total de itens
67 -
Registro em
-
Última visita
Tudo que SCIENTIST postou
-
(Resolvido) Trabalhando com MVC no Delphi
pergunta respondeu ao SCIENTIST de SCIENTIST em Delphi, Kylix
Resolvido !!! Obrigado Jhonas -
(Resolvido) Trabalhando com MVC no Delphi
pergunta respondeu ao SCIENTIST de SCIENTIST em Delphi, Kylix
Pois então Jhonas, eu consigo fazer o código acima funcionar na mesma UNIT que o ENUMERATED TEstado foi declarado, porém se faço isso em outra UNIT não funciona (mesmo dando USES na UNIT) Aqui vai a UNIT onde funciona, ClienteController: unit ClienteController; interface uses PojoCliente, DaoCliente; type TEstadoClienteController = (active, insert, edit); TClienteController = Class private pojo: TPojoCliente; dao: TDaoCliente; estado: TEstadoClienteController; class var Instance: TClienteController; constructor PrivateCreate; public class function getInstance: TClienteController; constructor create; destructor destroy;override; procedure Salvar; function Inserir:TPojoCliente; function getInstanceCliente:TPojoCliente; function getEstadoAtual:TEstadoClienteController; End; implementation uses SysUtils, Dialogs; { TClienteController } constructor TClienteController.create; begin raise Exception.Create('Você não pode chamar o construtor da classe diretamente, chame o método getInstance()'); end; destructor TClienteController.destroy; begin inherited; end; function TClienteController.getEstadoAtual: TEstadoClienteController; begin result := estado; end; class function TClienteController.getInstance: TClienteController; begin if not Assigned(Instance) then Instance := TClienteController.PrivateCreate; result := Instance; end; function TClienteController.getInstanceCliente: TPojoCliente; begin result := pojo; end; function TClienteController.Inserir:TPojoCliente; begin estado := insert; pojo := TPojoCliente.Create; dao := TDaoCliente.getInstance; Result := pojo; end; constructor TClienteController.PrivateCreate; begin inherited create; estado := active; end; procedure TClienteController.Salvar; begin if (dao.Inserir(pojo)) then estado := active; end; end. Agora o Formulario que estou tentando usar isso: unit uFrmCliente; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, ExtCtrls, ClienteController, ActnList, DB, ADODB, Grids, DBGrids; type TfrmCliente = class(TForm) _leID: TLabeledEdit; _leNOME: TLabeledEdit; _leIDADE: TLabeledEdit; _btSalvar: TButton; _btInserir: TButton; ActionList1: TActionList; _acInserir: TAction; _actSalvar: TAction; Button1: TButton; DBGrid1: TDBGrid; procedure FormClose(Sender: TObject; var Action: TCloseAction); procedure _acInserirUpdate(Sender: TObject); procedure _acInserirExecute(Sender: TObject); procedure _actSalvarUpdate(Sender: TObject); procedure _actSalvarExecute(Sender: TObject); procedure Button1Click(Sender: TObject); private { Private declarations } controller: TClienteController; public { Public declarations } constructor create(AOwner:TComponent;Controller:TClienteController);reintroduce; end; var frmCliente: TfrmCliente; implementation uses PojoCliente, TypInfo; {$R *.dfm} { TfrmCliente } { TfrmCliente } procedure TfrmCliente.Button1Click(Sender: TObject); var est: TEstadoClienteController; begin est := controller.getEstadoAtual; if est = active then showmessage('ativo'); end; constructor TfrmCliente.create(AOwner: TComponent; Controller: TClienteController); begin inherited create(AOwner); self.controller := Controller; end; procedure TfrmCliente.FormClose(Sender: TObject; var Action: TCloseAction); begin controller.Destroy; end; procedure TfrmCliente._acInserirExecute(Sender: TObject); begin controller.Inserir; end; procedure TfrmCliente._acInserirUpdate(Sender: TObject); begin { if controller.getEstadoAtual = active then TAction(Sender).Enabled := true else TAction(Sender).Enabled := false; } end; procedure TfrmCliente._actSalvarExecute(Sender: TObject); begin (controller.getInstanceCliente).setId(strtoint(_leID.Text)); (controller.getInstanceCliente).setNome(_leNOME.Text); (controller.getInstanceCliente).setIdade(strtoint(_leIDADE.Text)); controller.Salvar; end; procedure TfrmCliente._actSalvarUpdate(Sender: TObject); begin { if (controller.getEstadoAtual = insert) or (controller.getEstadoAtual = edit) then TAction(Sender).Enabled := true else TAction(Sender).Enabled := false; } end; end. -
(Resolvido) Trabalhando com MVC no Delphi
pergunta respondeu ao SCIENTIST de SCIENTIST em Delphi, Kylix
pois então, veja bem: eu consigo recuperar a variável "ESTADO" no tipo enumerated em outra classe, até debuguei e o valor de ESTADO está como ACTIVE (corretíssimo). Porém faço o seguinte: est = controller.getEstadoAtual(); if est = active then showmessage('ativo"); da erro na linha "if est = active then " -
Boa Noite, estou trabalhando com Padrão MVC no delphi e estou tendo problemas na minha Camada Controller, mais especificamente em um tipo Enumerated. Tenho o seguinte tipo na minha Classe ControllerCliente: TEstadoClienteController = (active, insert, edit); Tenho também uma variável chamada Estado do tipo TEstadoClienteController. Por último tenho um método público que retorna a variável estado: function TClienteController.getEstadoAtual: TEstadoClienteController; begin result := estado; end; Porém quando pego este retorno no formulário (camada VIEW) e faço o código abaixo: if (controller.getEstadoAtual = active) then showmessage('ATIVO') else if (controller.getEstadoAtual = insert) then showmessage('INSERIR') else if (controller.getEstadoAtual = edit) then showmessage('EDITAR'); Ele da o seguinte erro: [DCC Error] uFrmCliente.pas(55): E2008 Incompatible types
-
Vou fazer o teste amanhã de manhã no trabalho e retorno aqui no forum.
-
Bom, tanto a libpq81.dll como a libpq.dll já coloquei no system32 e também já testei na mesma pasta do programa, e o erro continua. Já até coloquei o caminho: C:\Arquivos e Programas\Postgres\9.0\bin no PATH do Windows e nada. Li no link que você postou que precisa do destas DLL's: comerr32.dll k5sprt32.dll krb5_32.dll libeay32.dll libiconv-2.dll libintl-2.dll libpq81.dll ssleay32.dll Fiz o seguinte Jhonas, coloquei essas DLL'S que tinham na minha máquina: libeay32.dll libiconv-2.dll libintl-2.dll libpq81.dll ssleay32.dll Ae depois começou a dizer que faltava a comerr32.dll. Fui atrás na internet e baixei aqui : http://www.dll-download-system.com/home/c-...ll/details.html. Porém depois de por a comerr32.dll e tentar executar novamente o sistema fica dando o erro: "A comerr32.dll não serve para esse sistema operaciona ou estão corrompida bla bla bla..." Só uma observação: O componente ZConnection conecta normal em TEMPO DE DESIGN, até consigo popular uma DBGRID em TEMPO DE DESIGN com ajuda do ZConnection + ZQuery. O problema ocorre quando eu executo o sistema.
-
Uso o POSTGRES 9.1 + Delphi XE com Componente ZEOS 7. Ao clicar no "connect" no componente ZeosConnection em tempo de design, ele conecta normalmente, porém ao executar a aplicação ele da os seguintes erros abaixo: http://s18.postimage.../Sem_t_tulo.png http://postimage.org/image/k788wnae9/
-
já havia pensado nisso.. apenas queria saber se há outra forma .. mais vou usar trigger mesmo !! obrigado Denis
-
Bom dia pessoal, tenho um campo no meu banco chamado foto, este campo sempre tem o seguinte formato: ID_USUARIO+.jpg , isto é, se o usuario tiver código 102 o caminho da foto é : qualquercoisa/102.jpg, e assim por diante. Atualmente eu faço isso via programação, porém gostaria de saber se é possível no mysql setar um valor padrão para o campo se forma que ele sempre receba "images/id+.jpg ", onde id é um outro campo na mesma tabela referente ao código do usuário.
-
Bom, estou com um grande problema. O Layout do Site está "perfeito", porém quando o usuário da um Zoom na página desestrutura toda página, fica tudo "louco".
-
RESOLVIDO !
-
Pois é .. mais quando tento acesse o www.meudominio.com.br/admin , ele não vai para lugar nenhum, e deveria ir para o index.php da pasta admin
-
Mais no caso eu tenho 2 index.php, um na raiz do site e outro na pasta admin
-
Boa Tarde Pessoal. Estou com a seguinte dúvida: Caso o usuário acesse a url : www.meusite.com.br/admin , como faço para direcioná-lo para o www.meusite.com.br/admin/index.php que seria de fato a página do painel de administração ?
-
Pelo jeito vai ter que ser no Dreamweaver mesmo
-
Bom, eu gosto muito de programar no netbeans pois considero um ambiente poderosíssimo, porém o meu ambiente não tem interface gráfica apenas código puro, ex: Se eu quiser visualizar como o site está ficando, tenho que ir pro dreamweaver. Tem alguma forma de fazer isso no netbeans?
-
Bom, quando vou mostrar alguma letra com acento ela fica assim: BELéM (Deve ser BELÉM) obs: observei que no banco tambem fica BELéM
-
POJO = É um classe que possui os atributos (colunas) da classe (Tabela), os getters, setters, constructores, equal e hashcode.
-
Resumindo .. no meu caso não teria muita vantagem correto ? Pois como já uso um padrão de projeto e atende meus requisitos perfeitamente não acho que seria vantajoso mudar.
-
Bom dia, atualmente utilizo o padrão de projeto DAO, onde crio um POJO que tem os atributos da Classe e o DAO que tem os métodos de conexão ao banco (CRUD). Isso está suprimindo todas minhas necessidades e meu código fica limpo e organizado. Andei procurando sobre boa prática PHP e vi muita gente falando sobre Zend Framework, o que vocÊs acham ? Qual a vantagem de usar ZEND ou usar o padrão de projeto DAO sem nenhum framework
-
Bom, já li vários tópicos que a melhor forma de se trabalhar com data em php é salvar a mesma com o formato Y-m-d que é o formato US, e mostrar ao usuário no formato m-d-Y. Porém eu trabalho com o padrão DAO para desenvolver meu Website e no POJO do meu objeto estou tentando fazer isso: <?php class PojoReserva{ private $pessoa; private $produto; private $quantidade; private $data_reserva; private $situacao; private $data_max_retirada; public function getPessoa() { return $this->pessoa; } public function setPessoa(PojoPessoa $pessoa) { $this->pessoa = $pessoa; } public function getProduto() { return $this->produto; } public function setProduto(PojoProduto $produto) { $this->produto = $produto; } public function getQuantidade() { return $this->quantidade; } public function setQuantidade($quantidade) { $this->quantidade = $quantidade; } public function getData_reserva() { return date('d/m/Y',strtotime($this->data_reserva)); } public function setData_reserva($data_reserva) { $this->data_reserva = date('Y-m-d',strtotime($data_reserva)); } public function getSituacao() { return $this->situacao; } public function setSituacao($situacao) { $this->situacao = $situacao; } public function getData_max_retirada() { return date('d/m/Y',strtotime($this->data_max_retirada)); } public function setData_max_retirada($data_max_retirada) { $this->data_max_retirada = date('Y-m-d',strtotime($data_max_retirada)); } } ?> Explicando: no Get eu retorno para o usuário a data com o formato pt-br , e no Set eu coloco o formato US. O problema é que no Set que tento converter de pt-br para US não converte, fica uma data tipo assim: 1969-2-19. Só funciona converter de US para PT-BR.
-
BOm, tenho tabelas que apenas mostram os registros, porém tenho tabelas que contém forms dentro, o que eu queria é que essas tabelas que contém apenas dados dentro, tudo ficasse centralizado, porém as que contém form não fossem centralizadas, continuassem com a alinhamento à esquerda. Meu css no momento está assim, mais não funciona: form{ background-color: #f2f2f2; margin: 10px 0 10px 0; width: 100%; } table {border-collapse: collapse; border: 1px solid #ccc; width: 100%;} table tbody td{ padding: 6px; color: #333; font-size: 9px; text-align: center; } table thead th { background-color:#87CEEB; font: bold; color: #FFFFFF; font-size: 14px; padding: 6px; text-align: center;}
-
Bom, quando envio um email ele da o warning: It is not safe to rely on the system's timezone settings. You are *required* to use the date.timezone setting or the date_default_timezone_set() function. In case you used any of those methods and you are still getting this warning, you most likely misspelled the timezone identifier. We selected 'America/Sao_Paulo' for '-3.0/no DST' instead in C:\Program Files\VertrigoServ\www\Ache Roupas\admin\util\enviarEmail.php on line 11 A mensagem é enviada normalmente mais aparece esse erro
-
não ajudou muito não amigo. Desde o inicio (como já havia falado) ele já ia pro lixo eletronico, como faço para que ele não considere como spam ? essa é a pergunta
-
de fato os emails estavam chegando todos no lixo eletronico , porém agora parou de funcionar de vez. alguma ideia de como contornar isso ?