Ir para conteúdo
Fórum Script Brasil

SCIENTIST

Membros
  • Total de itens

    67
  • Registro em

  • Última visita

Tudo que SCIENTIST postou

  1. 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.
  2. 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 "
  3. 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
  4. Vou fazer o teste amanhã de manhã no trabalho e retorno aqui no forum.
  5. 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.
  6. 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/
  7. já havia pensado nisso.. apenas queria saber se há outra forma .. mais vou usar trigger mesmo !! obrigado Denis
  8. 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.
  9. 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".
  10. 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
  11. Mais no caso eu tenho 2 index.php, um na raiz do site e outro na pasta admin
  12. 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 ?
  13. Pelo jeito vai ter que ser no Dreamweaver mesmo
  14. 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?
  15. 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
  16. SCIENTIST

    Zend Framework

    POJO = É um classe que possui os atributos (colunas) da classe (Tabela), os getters, setters, constructores, equal e hashcode.
  17. SCIENTIST

    Zend Framework

    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.
  18. SCIENTIST

    Zend Framework

    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
  19. 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.
  20. 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;}
  21. 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
  22. SCIENTIST

    Erro ao usar mail()

    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
  23. SCIENTIST

    Erro ao usar mail()

    de fato os emails estavam chegando todos no lixo eletronico , porém agora parou de funcionar de vez. alguma ideia de como contornar isso ?
×
×
  • Criar Novo...