Re: [delphi-br] InstantObjects atualiza o banco de dados automaticamente?

2007-08-04 Por tôpico Alexandre Rodrigues
Concordo...

Ricardo César Cardoso escreveu:
 
 
 Por mim vcs podem continuar pq a conversa está sendo MUITO exclarecedora.
 
 Fellipe Henrique wrote:
   Hum... Mas me diz uma coisa... você deve estar ficando cheio de mim né?
 
 Joao Morais [EMAIL PROTECTED] mailto:post%40joaomorais.com.br 
 escreveu:
 Num esquenta. Quem deve estar de saco cheio é o pessoal que não tá
 interessado na thread.
 
 
 Alertas do Yahoo! Mail em seu celular. Saiba mais.
 
 [As partes desta mensagem que não continham texto foram removidas]
 
 


___ 
Yahoo! Mail - Sempre a melhor opção para você! 
Experimente já e veja as novidades. 
http://br.yahoo.com/mailbeta/tudonovo/
 



Re: [delphi-br] InstantObjects atualiza o banco de dados automaticamente?

2007-08-03 Por tôpico Fellipe Henrique
Olá João,

Eu já possuo uma rotina de atualização no banco, mas sem usar OO, achei que
se eu utilizasse o IO, eu não poderia usar outra coisa senão o próprio IO.
:o)

Mas uma coisa, voce disse que trabalha com o IO, que tem um projeto nele,
como é este projeto? Digo, quanto de dados tem nele? É que estoiu pensando
eu usar o IO, você aconcelharia o uso dele?
Estive pesquisando e vi que a Borland possui uma biblioteca chamada Bold
para Win32, ela é boa? Melhor que o IO?

Ah, estou pensando em modularizar o sistema, usando BPL, acha aconselhavel
isso no IO?

Pelo que deu pra perceber, estou cheio de dúvidas, é que queria começar um
projeto grande com algo que não fosse preciso refazer ou ter muito trabalho
depois na manutenção.

Obrigado.

Em 02/08/07, Joao Morais [EMAIL PROTECTED] escreveu:

   Fellipe Henrique wrote:
  Olá amigos, gostaria de saber dos amigos que mexem com o InstantObjects,
 se
  eu ao alterar um modelo, acresentando um Field e tals.. ele atualiza meu
  banco de dados automaticamente.

 Tem o evolver, ele atualiza o banco de acordo com o modelo.

  Se não existe algo que faz isso?

 Essa história de fazer sozinho é igual programa da M$. De vez em quando
 ele pensa errado e faz o que não devia.

 O próprio evolver não é perfeito, ex., ele não tem como discernir entre
 uma coluna com nome alterado e remover uma coluna para acrescentar outra.

 Se você quer uma coisa bem feita, então grave a versão do metadados do
 banco ou a versão do sistema dentro do próprio banco. No seu sistema,
 para cada nova versão de banco, grave a string dos ddl que você precisa
 executar para atualizar. Ao comparar a versão do metadados que está no
 cliente, você saberá quais conjuntos de ddl tem que ser executado para
 que o banco esteja pronto para uso.

 --
 Joao Morais
  




-- 
_
Fellipe Henrique
[EMAIL PROTECTED]
Você valoriza a existêcia das pessoas extraordinárias e momentos em que a
história avança graças a elas. Tudo o que se imagina pode ser alcançado.
Deve-se ousar sonhar. Mas não há substituto para perseverança e trabalho...
e trabalho em equipe. Por que ninguém consegue sozinho. Se comemoramos a
grandeza desses eventos e as pessoas que os realizam... não podemos esquecer
o sacrifício daqueles que tornam possíveis tais realizações.


[As partes desta mensagem que não continham texto foram removidas]



Re: [delphi-br] InstantObjects atualiza o banco de dados automaticamente?

2007-08-03 Por tôpico Fellipe Henrique
Opa.. comecei a me interessar... :o)

Esse MVP, o Press já o faz?

Mas tipo, vamos supor um Cadastro de Clientes, com Edits para os campos... e
um DBGrid (ou Grid) para os telefones... eu consigo utilizar um Grid com o
Press? E quanto à máscaras e tals.. eu colocava no Field, no Press existe
isso?

[]s

Em 03/08/07, Joao Morais [EMAIL PROTECTED] escreveu:

   Fellipe Henrique wrote:
  Joao,
  O maior problema do Press (neste momento) é ter que fazer tudo na mão...
  sei que isso ajuda a desenvolver e a entender o funcionamento, mas gera
 um
  trabalho imenso... por isso ainda estou relutante a usá-lo. Baixei a
 versão
  no site do Press, e o único exemplo que eu vi, não usava DBWares, isso
 no
  Press é obrigatório? Visto que no IO eu posso utilizá-los.

 Sem problema Felipe. Você pediu conselho, e conselho é dado com base na
 experiência e no ponto de vista daquele que o transmite. Você não é
 obrigado a segui-los porque você pode pensar de uma forma completamente
 diferente.

 Quanto a dbware, esquece. Você usa MVP. Ao invés de configurar controles
 dbware no formulário, você cria linhas neste formato:

 CreateSubPresenter('nome_atributo_objeto_de_negocio',
 'nome_controleform', 'nome_atributo_display');

 Isto é suficiente para o controle ganhar vida: ligar um combo ao form
 pra ser usado para criar mais itens ou alterar o item atual, ligar um
 string grid ao form que inclui ou altera itens, etc.

 Quanto dbware com IO, você não *pode* utilizá-lo, você é *obrigado* a
 utilizá-lo e é aí aonde mora o problema. Como eu te disse: se você está
 feliz com dbware, então você poderá se dar bem com IO e eu deixo de ser
 a pessoa mais indicada a dar conselhos. Se você tem ressalvas quanto a
 dbware, então MVP é o caminho para você.

 --
 Joao Morais


  []s
 
 
  Em 03/08/07, Joao Morais [EMAIL PROTECTED]post%40joaomorais.com.br
 escreveu:
  Fellipe Henrique wrote:
  Eu já possuo uma rotina de atualização no banco, mas sem usar OO,
 achei
  que
  se eu utilizasse o IO, eu não poderia usar outra coisa senão o próprio
  IO.
  :o)
  Mesmo usando um framework de mapeamento, eu recomendo você usar alter
  table e mandar diretamente para o banco. Assim você tem um controle
  melhor do que está acontecendo. E este código, por sinal, pode ser
  construido com a ajuda do evolver do IO.
 
  Mas uma coisa, voce disse que trabalha com o IO, que tem um projeto
  nele,
  como é este projeto? Digo, quanto de dados tem nele? É que estoiu
  pensando
  eu usar o IO, você aconcelharia o uso dele?
  Não tenho projetos enormes, o maior deles tem umas 40 classes que foram
  transformadas em 60 tabelas. Este projeto tem relacionamentos complexos
  que me botaram doido quando usava tdataset. O IO me ajudou montes para
  construir a lógica, mas me quebrou as pernas quando passei para a
  apresentação. Congelei o projeto e dei sequência ao Press. Hoje o Press
  tem maturidade suficiente para tocar todo o projeto adiante, e eu estou
  mantendo IO apenas em projetos que já foram entregues com ele.
 
  Então, se eu fosse aconselhar você, diria para você dedicar tempo
  estudando Press. Mas conselho não é suficiente, eu não tive sucesso com
  tdataset em projetos de verdade, tive sucesso com IO só na parte de
  regras de negócio, mas tem muita gente que só usa tdataset é tá feliz
 da
  vida.
 
  Eu já falei o que sei sobre IO, os problemas que eu julgo que ele tem,
  agora cabe apenas a você, e talvez outras pessoas da sua equipe,
  decidirem que caminho tomar.
 
  Estive pesquisando e vi que a Borland possui uma biblioteca chamada
 Bold
  para Win32, ela é boa? Melhor que o IO?
  Falavam muito bem do Bold, mas eu não o conheço para te dar a minha
  opinião sobre ele. Exceto que: ele não usa um padrão orientado a
 objetos
  para a apresentação; e ele está descontinuado e foi usado como base
 para
  construir o ECO.
 
  Ah, estou pensando em modularizar o sistema, usando BPL, acha
  aconselhavel
  isso no IO?
  Enquanto a declaração das suas classes de negócio estiverem no módulo
  principal (exe), tudo bem.
 
  Pelo que deu pra perceber, estou cheio de dúvidas, é que queria
 começar
  um
  projeto grande com algo que não fosse preciso refazer ou ter muito
  trabalho
  depois na manutenção.
  Você está procurando um início mais prático e usar InstantObjects é
  provavelmente o melhor deles. Para saber se você vai ter problemas no
  futuro, seja com produtividade ou manutenção do código, vai depender do
  seu jeito de trabalhar (pergunta mais importante: você gosta de
  tdataset?), o que você espera de uma ferramenta e o que você espera da
  equipe que a desenvolve e a mantém.
 
  --
  Joao Morais
 
 
 
 
 

  




-- 
_
Fellipe Henrique
[EMAIL PROTECTED]
Você valoriza a existêcia das pessoas extraordinárias e momentos em que a
história avança graças a elas. Tudo o que se imagina pode ser alcançado.
Deve-se ousar sonhar. Mas não há substituto para perseverança e trabalho...
e trabalho em equipe. Por que ninguém 

Re: [delphi-br] InstantObjects atualiza o banco de dados automaticamente?

2007-08-03 Por tôpico Joao Morais
Fellipe Henrique wrote:
 Eu já possuo uma rotina de atualização no banco, mas sem usar OO, achei que
 se eu utilizasse o IO, eu não poderia usar outra coisa senão o próprio IO.
 :o)

Mesmo usando um framework de mapeamento, eu recomendo você usar alter 
table e mandar diretamente para o banco. Assim você tem um controle 
melhor do que está acontecendo. E este código, por sinal, pode ser 
construido com a ajuda do evolver do IO.

 Mas uma coisa, voce disse que trabalha com o IO, que tem um projeto nele,
 como é este projeto? Digo, quanto de dados tem nele? É que estoiu pensando
 eu usar o IO, você aconcelharia o uso dele?

Não tenho projetos enormes, o maior deles tem umas 40 classes que foram 
transformadas em 60 tabelas. Este projeto tem relacionamentos complexos 
que me botaram doido quando usava tdataset. O IO me ajudou montes para 
construir a lógica, mas me quebrou as pernas quando passei para a 
apresentação. Congelei o projeto e dei sequência ao Press. Hoje o Press 
tem maturidade suficiente para tocar todo o projeto adiante, e eu estou 
mantendo IO apenas em projetos que já foram entregues com ele.

Então, se eu fosse aconselhar você, diria para você dedicar tempo 
estudando Press. Mas conselho não é suficiente, eu não tive sucesso com 
tdataset em projetos de verdade, tive sucesso com IO só na parte de 
regras de negócio, mas tem muita gente que só usa tdataset é tá feliz da 
vida.

Eu já falei o que sei sobre IO, os problemas que eu julgo que ele tem, 
agora cabe apenas a você, e talvez outras pessoas da sua equipe, 
decidirem que caminho tomar.

 Estive pesquisando e vi que a Borland possui uma biblioteca chamada Bold
 para Win32, ela é boa? Melhor que o IO?

Falavam muito bem do Bold, mas eu não o conheço para te dar a minha 
opinião sobre ele. Exceto que: ele não usa um padrão orientado a objetos 
para a apresentação; e ele está descontinuado e foi usado como base para 
construir o ECO.

 Ah, estou pensando em modularizar o sistema, usando BPL, acha aconselhavel
 isso no IO?

Enquanto a declaração das suas classes de negócio estiverem no módulo 
principal (exe), tudo bem.

 Pelo que deu pra perceber, estou cheio de dúvidas, é que queria começar um
 projeto grande com algo que não fosse preciso refazer ou ter muito trabalho
 depois na manutenção.

Você está procurando um início mais prático e usar InstantObjects é 
provavelmente o melhor deles. Para saber se você vai ter problemas no 
futuro, seja com produtividade ou manutenção do código, vai depender do 
seu jeito de trabalhar (pergunta mais importante: você gosta de 
tdataset?), o que você espera de uma ferramenta e o que você espera da 
equipe que a desenvolve e a mantém.

--
Joao Morais


Re: [delphi-br] InstantObjects atualiza o banco de dados automaticamente?

2007-08-03 Por tôpico Joao Morais
Fellipe Henrique wrote:
 Joao,
   O maior problema do Press (neste momento) é ter que fazer tudo na mão...
 sei que isso ajuda a desenvolver e a entender o funcionamento, mas gera um
 trabalho imenso... por isso ainda estou relutante a usá-lo. Baixei a versão
 no site do Press, e o único exemplo que eu vi, não usava  DBWares, isso no
 Press é obrigatório? Visto que no IO eu posso utilizá-los.

Sem problema Felipe. Você pediu conselho, e conselho é dado com base na 
experiência e no ponto de vista daquele que o transmite. Você não é 
obrigado a segui-los porque você pode pensar de uma forma completamente 
diferente.

Quanto a dbware, esquece. Você usa MVP. Ao invés de configurar controles 
dbware no formulário, você cria linhas neste formato:

CreateSubPresenter('nome_atributo_objeto_de_negocio', 
'nome_controleform', 'nome_atributo_display');

Isto é suficiente para o controle ganhar vida: ligar um combo ao form 
pra ser usado para criar mais itens ou alterar o item atual, ligar um 
string grid ao form que inclui ou altera itens, etc.

Quanto dbware com IO, você não *pode* utilizá-lo, você é *obrigado* a 
utilizá-lo e é aí aonde mora o problema. Como eu te disse: se você está 
feliz com dbware, então você poderá se dar bem com IO e eu deixo de ser 
a pessoa mais indicada a dar conselhos. Se você tem ressalvas quanto a 
dbware, então MVP é o caminho para você.

--
Joao Morais




 []s
 
 
 Em 03/08/07, Joao Morais [EMAIL PROTECTED] escreveu:
   Fellipe Henrique wrote:
 Eu já possuo uma rotina de atualização no banco, mas sem usar OO, achei
 que
 se eu utilizasse o IO, eu não poderia usar outra coisa senão o próprio
 IO.
 :o)
 Mesmo usando um framework de mapeamento, eu recomendo você usar alter
 table e mandar diretamente para o banco. Assim você tem um controle
 melhor do que está acontecendo. E este código, por sinal, pode ser
 construido com a ajuda do evolver do IO.

 Mas uma coisa, voce disse que trabalha com o IO, que tem um projeto
 nele,
 como é este projeto? Digo, quanto de dados tem nele? É que estoiu
 pensando
 eu usar o IO, você aconcelharia o uso dele?
 Não tenho projetos enormes, o maior deles tem umas 40 classes que foram
 transformadas em 60 tabelas. Este projeto tem relacionamentos complexos
 que me botaram doido quando usava tdataset. O IO me ajudou montes para
 construir a lógica, mas me quebrou as pernas quando passei para a
 apresentação. Congelei o projeto e dei sequência ao Press. Hoje o Press
 tem maturidade suficiente para tocar todo o projeto adiante, e eu estou
 mantendo IO apenas em projetos que já foram entregues com ele.

 Então, se eu fosse aconselhar você, diria para você dedicar tempo
 estudando Press. Mas conselho não é suficiente, eu não tive sucesso com
 tdataset em projetos de verdade, tive sucesso com IO só na parte de
 regras de negócio, mas tem muita gente que só usa tdataset é tá feliz da
 vida.

 Eu já falei o que sei sobre IO, os problemas que eu julgo que ele tem,
 agora cabe apenas a você, e talvez outras pessoas da sua equipe,
 decidirem que caminho tomar.

 Estive pesquisando e vi que a Borland possui uma biblioteca chamada Bold
 para Win32, ela é boa? Melhor que o IO?
 Falavam muito bem do Bold, mas eu não o conheço para te dar a minha
 opinião sobre ele. Exceto que: ele não usa um padrão orientado a objetos
 para a apresentação; e ele está descontinuado e foi usado como base para
 construir o ECO.

 Ah, estou pensando em modularizar o sistema, usando BPL, acha
 aconselhavel
 isso no IO?
 Enquanto a declaração das suas classes de negócio estiverem no módulo
 principal (exe), tudo bem.

 Pelo que deu pra perceber, estou cheio de dúvidas, é que queria começar
 um
 projeto grande com algo que não fosse preciso refazer ou ter muito
 trabalho
 depois na manutenção.
 Você está procurando um início mais prático e usar InstantObjects é
 provavelmente o melhor deles. Para saber se você vai ter problemas no
 futuro, seja com produtividade ou manutenção do código, vai depender do
 seu jeito de trabalhar (pergunta mais importante: você gosta de
 tdataset?), o que você espera de uma ferramenta e o que você espera da
 equipe que a desenvolve e a mantém.

 --
 Joao Morais
  

 
 
 



Re: [delphi-br] InstantObjects atualiza o banco de dados automaticamente?

2007-08-03 Por tôpico Joao Morais
Fellipe Henrique wrote:
 Opa.. comecei a me interessar... :o)
 
 Esse MVP, o Press já o faz?

Hei, quando eu falo que estou usando Press em produção, eu estou falando 
sério. Mas se ainda resta dúvidas, sim, implementa. E está *muito* 
estável e com maturidade.

 Mas tipo, vamos supor um Cadastro de Clientes, com Edits para os campos... e
 um DBGrid (ou Grid) para os telefones... eu consigo utilizar um Grid com o
 Press? E quanto à máscaras e tals.. eu colocava no Field, no Press existe
 isso?

Sim, nos objetos de negócio você pode setar o FormatMask. Ou ainda 
melhor, que é o que eu faço e posso te passar o código. Para Telefone, 
CNPJ e CPF eu criei um tipo de atributo derivado de string e sobrescrevi 
o GetDisplayText deles. Daí quando declaro um telefone, ao invés de fazer:

Fone: String(15);

eu faço:

Fone: TMeuTipoFone(15);

É isto que eu chamo de reaproveitamento de código, e é nestes detalhes 
que Press é superior ao feijão com arroz com o qual o pessoal está 
acostumado (inclusive IO).

--
Joao Morais



 Em 03/08/07, Joao Morais [EMAIL PROTECTED] escreveu:
   Fellipe Henrique wrote:
 Joao,
 O maior problema do Press (neste momento) é ter que fazer tudo na mão...
 sei que isso ajuda a desenvolver e a entender o funcionamento, mas gera
 um
 trabalho imenso... por isso ainda estou relutante a usá-lo. Baixei a
 versão
 no site do Press, e o único exemplo que eu vi, não usava DBWares, isso
 no
 Press é obrigatório? Visto que no IO eu posso utilizá-los.
 Sem problema Felipe. Você pediu conselho, e conselho é dado com base na
 experiência e no ponto de vista daquele que o transmite. Você não é
 obrigado a segui-los porque você pode pensar de uma forma completamente
 diferente.

 Quanto a dbware, esquece. Você usa MVP. Ao invés de configurar controles
 dbware no formulário, você cria linhas neste formato:

 CreateSubPresenter('nome_atributo_objeto_de_negocio',
 'nome_controleform', 'nome_atributo_display');

 Isto é suficiente para o controle ganhar vida: ligar um combo ao form
 pra ser usado para criar mais itens ou alterar o item atual, ligar um
 string grid ao form que inclui ou altera itens, etc.

 Quanto dbware com IO, você não *pode* utilizá-lo, você é *obrigado* a
 utilizá-lo e é aí aonde mora o problema. Como eu te disse: se você está
 feliz com dbware, então você poderá se dar bem com IO e eu deixo de ser
 a pessoa mais indicada a dar conselhos. Se você tem ressalvas quanto a
 dbware, então MVP é o caminho para você.

 --
 Joao Morais


 []s


 Em 03/08/07, Joao Morais [EMAIL PROTECTED]post%40joaomorais.com.br
 escreveu:
 Fellipe Henrique wrote:
 Eu já possuo uma rotina de atualização no banco, mas sem usar OO,
 achei
 que
 se eu utilizasse o IO, eu não poderia usar outra coisa senão o próprio
 IO.
 :o)
 Mesmo usando um framework de mapeamento, eu recomendo você usar alter
 table e mandar diretamente para o banco. Assim você tem um controle
 melhor do que está acontecendo. E este código, por sinal, pode ser
 construido com a ajuda do evolver do IO.

 Mas uma coisa, voce disse que trabalha com o IO, que tem um projeto
 nele,
 como é este projeto? Digo, quanto de dados tem nele? É que estoiu
 pensando
 eu usar o IO, você aconcelharia o uso dele?
 Não tenho projetos enormes, o maior deles tem umas 40 classes que foram
 transformadas em 60 tabelas. Este projeto tem relacionamentos complexos
 que me botaram doido quando usava tdataset. O IO me ajudou montes para
 construir a lógica, mas me quebrou as pernas quando passei para a
 apresentação. Congelei o projeto e dei sequência ao Press. Hoje o Press
 tem maturidade suficiente para tocar todo o projeto adiante, e eu estou
 mantendo IO apenas em projetos que já foram entregues com ele.

 Então, se eu fosse aconselhar você, diria para você dedicar tempo
 estudando Press. Mas conselho não é suficiente, eu não tive sucesso com
 tdataset em projetos de verdade, tive sucesso com IO só na parte de
 regras de negócio, mas tem muita gente que só usa tdataset é tá feliz
 da
 vida.

 Eu já falei o que sei sobre IO, os problemas que eu julgo que ele tem,
 agora cabe apenas a você, e talvez outras pessoas da sua equipe,
 decidirem que caminho tomar.

 Estive pesquisando e vi que a Borland possui uma biblioteca chamada
 Bold
 para Win32, ela é boa? Melhor que o IO?
 Falavam muito bem do Bold, mas eu não o conheço para te dar a minha
 opinião sobre ele. Exceto que: ele não usa um padrão orientado a
 objetos
 para a apresentação; e ele está descontinuado e foi usado como base
 para
 construir o ECO.

 Ah, estou pensando em modularizar o sistema, usando BPL, acha
 aconselhavel
 isso no IO?
 Enquanto a declaração das suas classes de negócio estiverem no módulo
 principal (exe), tudo bem.

 Pelo que deu pra perceber, estou cheio de dúvidas, é que queria
 começar
 um
 projeto grande com algo que não fosse preciso refazer ou ter muito
 trabalho
 depois na manutenção.
 Você está procurando um início mais prático e usar InstantObjects é
 provavelmente o melhor deles. Para 

Re: [delphi-br] InstantObjects atualiza o banco de dados automaticamente?

2007-08-03 Por tôpico Fellipe Henrique
Hum... Mas me diz uma coisa... você deve estar ficando cheio de mim né?

No caso do Grid, eu continuaria a usar o DBGrid mesmo, ou não? É que uso
demais o cxGrid da DevExpress...

E no caso de Relatórios... utilizo o ReportBuilder e o FastReport, será que
eles conseguem pegar o Press?

[]s

Em 03/08/07, Joao Morais [EMAIL PROTECTED] escreveu:

   Fellipe Henrique wrote:
  Opa.. comecei a me interessar... :o)
 
  Esse MVP, o Press já o faz?

 Hei, quando eu falo que estou usando Press em produção, eu estou falando
 sério. Mas se ainda resta dúvidas, sim, implementa. E está *muito*
 estável e com maturidade.

  Mas tipo, vamos supor um Cadastro de Clientes, com Edits para os
 campos... e
  um DBGrid (ou Grid) para os telefones... eu consigo utilizar um Grid com
 o
  Press? E quanto à máscaras e tals.. eu colocava no Field, no Press
 existe
  isso?

 Sim, nos objetos de negócio você pode setar o FormatMask. Ou ainda
 melhor, que é o que eu faço e posso te passar o código. Para Telefone,
 CNPJ e CPF eu criei um tipo de atributo derivado de string e sobrescrevi
 o GetDisplayText deles. Daí quando declaro um telefone, ao invés de fazer:

 Fone: String(15);

 eu faço:

 Fone: TMeuTipoFone(15);

 É isto que eu chamo de reaproveitamento de código, e é nestes detalhes
 que Press é superior ao feijão com arroz com o qual o pessoal está
 acostumado (inclusive IO).

 --
 Joao Morais


  Em 03/08/07, Joao Morais [EMAIL PROTECTED]post%40joaomorais.com.br
 escreveu:
  Fellipe Henrique wrote:
  Joao,
  O maior problema do Press (neste momento) é ter que fazer tudo na
 mão...
  sei que isso ajuda a desenvolver e a entender o funcionamento, mas
 gera
  um
  trabalho imenso... por isso ainda estou relutante a usá-lo. Baixei a
  versão
  no site do Press, e o único exemplo que eu vi, não usava DBWares, isso
  no
  Press é obrigatório? Visto que no IO eu posso utilizá-los.
  Sem problema Felipe. Você pediu conselho, e conselho é dado com base na
  experiência e no ponto de vista daquele que o transmite. Você não é
  obrigado a segui-los porque você pode pensar de uma forma completamente
  diferente.
 
  Quanto a dbware, esquece. Você usa MVP. Ao invés de configurar
 controles
  dbware no formulário, você cria linhas neste formato:
 
  CreateSubPresenter('nome_atributo_objeto_de_negocio',
  'nome_controleform', 'nome_atributo_display');
 
  Isto é suficiente para o controle ganhar vida: ligar um combo ao form
  pra ser usado para criar mais itens ou alterar o item atual, ligar um
  string grid ao form que inclui ou altera itens, etc.
 
  Quanto dbware com IO, você não *pode* utilizá-lo, você é *obrigado* a
  utilizá-lo e é aí aonde mora o problema. Como eu te disse: se você está
  feliz com dbware, então você poderá se dar bem com IO e eu deixo de ser
  a pessoa mais indicada a dar conselhos. Se você tem ressalvas quanto a
  dbware, então MVP é o caminho para você.
 
  --
  Joao Morais
 
 
  []s
 
 
  Em 03/08/07, Joao Morais [EMAIL PROTECTED]post%40joaomorais.com.br
 post%40joaomorais.com.br
  escreveu:
  Fellipe Henrique wrote:
  Eu já possuo uma rotina de atualização no banco, mas sem usar OO,
  achei
  que
  se eu utilizasse o IO, eu não poderia usar outra coisa senão o
 próprio
  IO.
  :o)
  Mesmo usando um framework de mapeamento, eu recomendo você usar alter
  table e mandar diretamente para o banco. Assim você tem um controle
  melhor do que está acontecendo. E este código, por sinal, pode ser
  construido com a ajuda do evolver do IO.
 
  Mas uma coisa, voce disse que trabalha com o IO, que tem um projeto
  nele,
  como é este projeto? Digo, quanto de dados tem nele? É que estoiu
  pensando
  eu usar o IO, você aconcelharia o uso dele?
  Não tenho projetos enormes, o maior deles tem umas 40 classes que
 foram
  transformadas em 60 tabelas. Este projeto tem relacionamentos
 complexos
  que me botaram doido quando usava tdataset. O IO me ajudou montes
 para
  construir a lógica, mas me quebrou as pernas quando passei para a
  apresentação. Congelei o projeto e dei sequência ao Press. Hoje o
 Press
  tem maturidade suficiente para tocar todo o projeto adiante, e eu
 estou
  mantendo IO apenas em projetos que já foram entregues com ele.
 
  Então, se eu fosse aconselhar você, diria para você dedicar tempo
  estudando Press. Mas conselho não é suficiente, eu não tive sucesso
 com
  tdataset em projetos de verdade, tive sucesso com IO só na parte de
  regras de negócio, mas tem muita gente que só usa tdataset é tá feliz
  da
  vida.
 
  Eu já falei o que sei sobre IO, os problemas que eu julgo que ele
 tem,
  agora cabe apenas a você, e talvez outras pessoas da sua equipe,
  decidirem que caminho tomar.
 
  Estive pesquisando e vi que a Borland possui uma biblioteca chamada
  Bold
  para Win32, ela é boa? Melhor que o IO?
  Falavam muito bem do Bold, mas eu não o conheço para te dar a minha
  opinião sobre ele. Exceto que: ele não usa um padrão orientado a
  objetos
  para a apresentação; e ele está descontinuado e foi usado 

Re: [delphi-br] InstantObjects atualiza o banco de dados automaticamente?

2007-08-03 Por tôpico Joao Morais
Fellipe Henrique wrote:
 Hum... Mas me diz uma coisa... você deve estar ficando cheio de mim né?

Num esquenta. Quem deve estar de saco cheio é o pessoal que não tá 
interessado na thread.

 No caso do Grid, eu continuaria a usar o DBGrid mesmo, ou não? É que uso
 demais o cxGrid da DevExpress...

Com MVP não se usa nada que cheire a dbware. Por quê você usa este grid? 
O que ele tem de bom? Se valer a pena, basta que seja escrito uma view, 
assim como existe view para StringGrid.

 E no caso de Relatórios... utilizo o ReportBuilder e o FastReport, será que
 eles conseguem pegar o Press?

Primeiro um conceito: tudo o que é nativo está implementado em Core e 
não tem nenhuma dependência externa. Tudo o que gera uma dependência é 
um Broker (negociador) e a implementação é separada.

Os relatórios construidos para Delphi entendem apenas de tdataset, eles 
não tem como alcançar os dados em um objeto de negócio, então é 
necessário um negociador entre o módulo de relatório e o componente 
gerenciador de relatórios.

Press tem um negociador para FastReport. Eu não conheço ReportBuilder, 
se ele tiver um designer para tempo de execução e tiver um componente 
para entrada de dados customizada (tipo o TfrUserDataset) vai ficar mais 
fácil de construir um negociador para ele.

--
Joao Morais



 Em 03/08/07, Joao Morais [EMAIL PROTECTED] escreveu:
   Fellipe Henrique wrote:
 Opa.. comecei a me interessar... :o)

 Esse MVP, o Press já o faz?
 Hei, quando eu falo que estou usando Press em produção, eu estou falando
 sério. Mas se ainda resta dúvidas, sim, implementa. E está *muito*
 estável e com maturidade.

 Mas tipo, vamos supor um Cadastro de Clientes, com Edits para os
 campos... e
 um DBGrid (ou Grid) para os telefones... eu consigo utilizar um Grid com
 o
 Press? E quanto à máscaras e tals.. eu colocava no Field, no Press
 existe
 isso?
 Sim, nos objetos de negócio você pode setar o FormatMask. Ou ainda
 melhor, que é o que eu faço e posso te passar o código. Para Telefone,
 CNPJ e CPF eu criei um tipo de atributo derivado de string e sobrescrevi
 o GetDisplayText deles. Daí quando declaro um telefone, ao invés de fazer:

 Fone: String(15);

 eu faço:

 Fone: TMeuTipoFone(15);

 É isto que eu chamo de reaproveitamento de código, e é nestes detalhes
 que Press é superior ao feijão com arroz com o qual o pessoal está
 acostumado (inclusive IO).

 --
 Joao Morais




Re: [delphi-br] InstantObjects atualiza o banco de dados automaticamente?

2007-08-03 Por tôpico Fellipe Henrique
Joao,
  O maior problema do Press (neste momento) é ter que fazer tudo na mão...
sei que isso ajuda a desenvolver e a entender o funcionamento, mas gera um
trabalho imenso... por isso ainda estou relutante a usá-lo. Baixei a versão
no site do Press, e o único exemplo que eu vi, não usava  DBWares, isso no
Press é obrigatório? Visto que no IO eu posso utilizá-los.

[]s


Em 03/08/07, Joao Morais [EMAIL PROTECTED] escreveu:

   Fellipe Henrique wrote:
  Eu já possuo uma rotina de atualização no banco, mas sem usar OO, achei
 que
  se eu utilizasse o IO, eu não poderia usar outra coisa senão o próprio
 IO.
  :o)

 Mesmo usando um framework de mapeamento, eu recomendo você usar alter
 table e mandar diretamente para o banco. Assim você tem um controle
 melhor do que está acontecendo. E este código, por sinal, pode ser
 construido com a ajuda do evolver do IO.

  Mas uma coisa, voce disse que trabalha com o IO, que tem um projeto
 nele,
  como é este projeto? Digo, quanto de dados tem nele? É que estoiu
 pensando
  eu usar o IO, você aconcelharia o uso dele?

 Não tenho projetos enormes, o maior deles tem umas 40 classes que foram
 transformadas em 60 tabelas. Este projeto tem relacionamentos complexos
 que me botaram doido quando usava tdataset. O IO me ajudou montes para
 construir a lógica, mas me quebrou as pernas quando passei para a
 apresentação. Congelei o projeto e dei sequência ao Press. Hoje o Press
 tem maturidade suficiente para tocar todo o projeto adiante, e eu estou
 mantendo IO apenas em projetos que já foram entregues com ele.

 Então, se eu fosse aconselhar você, diria para você dedicar tempo
 estudando Press. Mas conselho não é suficiente, eu não tive sucesso com
 tdataset em projetos de verdade, tive sucesso com IO só na parte de
 regras de negócio, mas tem muita gente que só usa tdataset é tá feliz da
 vida.

 Eu já falei o que sei sobre IO, os problemas que eu julgo que ele tem,
 agora cabe apenas a você, e talvez outras pessoas da sua equipe,
 decidirem que caminho tomar.

  Estive pesquisando e vi que a Borland possui uma biblioteca chamada Bold
  para Win32, ela é boa? Melhor que o IO?

 Falavam muito bem do Bold, mas eu não o conheço para te dar a minha
 opinião sobre ele. Exceto que: ele não usa um padrão orientado a objetos
 para a apresentação; e ele está descontinuado e foi usado como base para
 construir o ECO.

  Ah, estou pensando em modularizar o sistema, usando BPL, acha
 aconselhavel
  isso no IO?

 Enquanto a declaração das suas classes de negócio estiverem no módulo
 principal (exe), tudo bem.

  Pelo que deu pra perceber, estou cheio de dúvidas, é que queria começar
 um
  projeto grande com algo que não fosse preciso refazer ou ter muito
 trabalho
  depois na manutenção.

 Você está procurando um início mais prático e usar InstantObjects é
 provavelmente o melhor deles. Para saber se você vai ter problemas no
 futuro, seja com produtividade ou manutenção do código, vai depender do
 seu jeito de trabalhar (pergunta mais importante: você gosta de
 tdataset?), o que você espera de uma ferramenta e o que você espera da
 equipe que a desenvolve e a mantém.

 --
 Joao Morais
  




-- 
_
Fellipe Henrique
[EMAIL PROTECTED]
Você valoriza a existêcia das pessoas extraordinárias e momentos em que a
história avança graças a elas. Tudo o que se imagina pode ser alcançado.
Deve-se ousar sonhar. Mas não há substituto para perseverança e trabalho...
e trabalho em equipe. Por que ninguém consegue sozinho. Se comemoramos a
grandeza desses eventos e as pessoas que os realizam... não podemos esquecer
o sacrifício daqueles que tornam possíveis tais realizações.


[As partes desta mensagem que não continham texto foram removidas]



Re: [delphi-br] InstantObjects atualiza o banco de dados automaticamente?

2007-08-03 Por tôpico Fellipe Henrique
Tem sim.. o ReportBuilder tem um ppUserPipeLine... já melhorou demais... eu
uso o cxGrid da DevExpress porque ele é simplesmente o melhor Grid que
existe.. :o).. se faz de tudo nele, agrupamento.. somatório... se bem, que
há uma possíbilidade de usar o cxGrid, sem vínculo com DataSet, como se
fosse Grid normal, vi isso agora...

Cara, já baixei a versão 27 do Press, e este fim de semana irei ver ele a
fundo... gostei muito da idéia dele... mas me diga uma coisa.. eu como nunca
mexi com este tipo de informação e tals.. esse negócio de não usar DBWare,
não deixa lento o sistema, ou é o contrário?

Ah.. no SVN tem algo a mais que na versão 27 do Press?

[]s

Em 03/08/07, Joao Morais [EMAIL PROTECTED] escreveu:

   Fellipe Henrique wrote:
  Hum... Mas me diz uma coisa... você deve estar ficando cheio de mim né?

 Num esquenta. Quem deve estar de saco cheio é o pessoal que não tá
 interessado na thread.

  No caso do Grid, eu continuaria a usar o DBGrid mesmo, ou não? É que uso
  demais o cxGrid da DevExpress...

 Com MVP não se usa nada que cheire a dbware. Por quê você usa este grid?
 O que ele tem de bom? Se valer a pena, basta que seja escrito uma view,
 assim como existe view para StringGrid.

  E no caso de Relatórios... utilizo o ReportBuilder e o FastReport, será
 que
  eles conseguem pegar o Press?

 Primeiro um conceito: tudo o que é nativo está implementado em Core e
 não tem nenhuma dependência externa. Tudo o que gera uma dependência é
 um Broker (negociador) e a implementação é separada.

 Os relatórios construidos para Delphi entendem apenas de tdataset, eles
 não tem como alcançar os dados em um objeto de negócio, então é
 necessário um negociador entre o módulo de relatório e o componente
 gerenciador de relatórios.

 Press tem um negociador para FastReport. Eu não conheço ReportBuilder,
 se ele tiver um designer para tempo de execução e tiver um componente
 para entrada de dados customizada (tipo o TfrUserDataset) vai ficar mais
 fácil de construir um negociador para ele.


 --
 Joao Morais



[As partes desta mensagem que não continham texto foram removidas]



RES: [delphi-br] InstantObjects atualiza o banco de dados automaticamente?

2007-08-03 Por tôpico Davi Eduardo Borges Wall
Eu to achando a thread interessante.

 

Andei procurando por MVP no Google. É alguma coisa relacionada com uma 
biblioteca procedural ou algo assim?

 

 

De: delphi-br@yahoogrupos.com.br [mailto:[EMAIL PROTECTED] Em nome de Joao 
Morais
Enviada em: sexta-feira, 3 de agosto de 2007 13:43
Para: delphi-br@yahoogrupos.com.br
Assunto: Re: [delphi-br] InstantObjects atualiza o banco de dados 
automaticamente?

 

Fellipe Henrique wrote:
 Hum... Mas me diz uma coisa... você deve estar ficando cheio de mim né?

Num esquenta. Quem deve estar de saco cheio é o pessoal que não tá 
interessado na thread.

 No caso do Grid, eu continuaria a usar o DBGrid mesmo, ou não? É que uso
 demais o cxGrid da DevExpress...

Com MVP não se usa nada que cheire a dbware. Por quê você usa este grid? 
O que ele tem de bom? Se valer a pena, basta que seja escrito uma view, 
assim como existe view para StringGrid.

 E no caso de Relatórios... utilizo o ReportBuilder e o FastReport, será que
 eles conseguem pegar o Press?

Primeiro um conceito: tudo o que é nativo está implementado em Core e 
não tem nenhuma dependência externa. Tudo o que gera uma dependência é 
um Broker (negociador) e a implementação é separada.

Os relatórios construidos para Delphi entendem apenas de tdataset, eles 
não tem como alcançar os dados em um objeto de negócio, então é 
necessário um negociador entre o módulo de relatório e o componente 
gerenciador de relatórios.

Press tem um negociador para FastReport. Eu não conheço ReportBuilder, 
se ele tiver um designer para tempo de execução e tiver um componente 
para entrada de dados customizada (tipo o TfrUserDataset) vai ficar mais 
fácil de construir um negociador para ele.

--
Joao Morais

 Em 03/08/07, Joao Morais [EMAIL PROTECTED] mailto:post%40joaomorais.com.br 
  escreveu:
 Fellipe Henrique wrote:
 Opa.. comecei a me interessar... :o)

 Esse MVP, o Press já o faz?
 Hei, quando eu falo que estou usando Press em produção, eu estou falando
 sério. Mas se ainda resta dúvidas, sim, implementa. E está *muito*
 estável e com maturidade.

 Mas tipo, vamos supor um Cadastro de Clientes, com Edits para os
 campos... e
 um DBGrid (ou Grid) para os telefones... eu consigo utilizar um Grid com
 o
 Press? E quanto à máscaras e tals.. eu colocava no Field, no Press
 existe
 isso?
 Sim, nos objetos de negócio você pode setar o FormatMask. Ou ainda
 melhor, que é o que eu faço e posso te passar o código. Para Telefone,
 CNPJ e CPF eu criei um tipo de atributo derivado de string e sobrescrevi
 o GetDisplayText deles. Daí quando declaro um telefone, ao invés de fazer:

 Fone: String(15);

 eu faço:

 Fone: TMeuTipoFone(15);

 É isto que eu chamo de reaproveitamento de código, e é nestes detalhes
 que Press é superior ao feijão com arroz com o qual o pessoal está
 acostumado (inclusive IO).

 --
 Joao Morais



 



[As partes desta mensagem que não continham texto foram removidas]



Re: [delphi-br] InstantObjects atualiza o banco de dados automaticamente?

2007-08-03 Por tôpico Joao Morais
Fellipe Henrique wrote:
 Tem sim.. o ReportBuilder tem um ppUserPipeLine... já melhorou demais... eu
 uso o cxGrid da DevExpress porque ele é simplesmente o melhor Grid que
 existe.. :o).. se faz de tudo nele, agrupamento.. somatório... se bem, que
 há uma possíbilidade de usar o cxGrid, sem vínculo com DataSet, como se
 fosse Grid normal, vi isso agora...

Não sei o que exatamente você quer dizer com agrupamento. Somatório e 
qualquer outro campo calculado você pode criar no próprio objeto de negócio.

 Cara, já baixei a versão 27 do Press, e este fim de semana irei ver ele a
 fundo...

27? Ele nem chegou na versão 1 ainda. Você deve estar falando da revisão 
no svn, seria então 427. No site já tem uma revisão mais nova (550) e 
também no subversion (neste momento está em 551).

 gostei muito da idéia dele... mas me diga uma coisa.. eu como nunca
 mexi com este tipo de informação e tals.. esse negócio de não usar DBWare,
 não deixa lento o sistema, ou é o contrário?

O que deixa o sistema lento é o acesso a dados. Press é um pouco mais 
lento do que tdataset, mas isto já está na prancheta para ser melhorado 
e vai virar passado.

O que o pessoal chama de lento é aquela implementação acadêmica que 
consiste em fazer uma pesquisa em uma tabela, a pesquisa retorna mil 
registros e o camarada lê os mil de uma só vez para transformar em 
objetos. Qualquer opf razoável lê apenas o Id do registro e recupera as 
demais informações sob demanda, apenas quando elas forem realmente 
necessárias.

--
Joao Morais



Re: [delphi-br] InstantObjects atualiza o banco de dados automaticamente?

2007-08-03 Por tôpico Ricardo César Cardoso
Por mim vcs podem continuar pq a conversa está sendo MUITO exclarecedora.

  Fellipe Henrique wrote:
  Hum... Mas me diz uma coisa... você deve estar ficando cheio de mim né?
 
Joao Morais [EMAIL PROTECTED] escreveu:
 Num esquenta. Quem deve estar de saco cheio é o pessoal que não tá 
 interessado na thread.
 






   Alertas do Yahoo! Mail em seu celular. Saiba mais.

[As partes desta mensagem que não continham texto foram removidas]



Re: [delphi-br] InstantObjects atualiza o banco de dados automaticamente?

2007-08-03 Por tôpico Fellipe Henrique
Ou cara, foi mal... o que quis dizer foi versão 29 de 29072007.. hehe... o
que quiz dizer com agrupamentos foi, que o grid cria grupos e se voce clicar
no maiszinho que fica ao lado, expande os registros pertencentes à aquele
grupo e por aí vai, fora outras coisas muito boas... :o)

Vou fazer o seguinte, acho que vou baixar a ultima versao do SVN... e
iniciar um projetinho de teste.. somente uns cadastrinhos e tals,
master-detail... pra ir aprimorando

ah.. outra coisa que percebi... ao criar os objetos, tudo fica numa Unit só
não é?! não seria interessante - caso seja possível - uma Unit por modelo?
sabe.. vamos supor.. o que for financeiro, numa unit, cadastro noutra e
etc... tem lógica o que eu falei?

[]s

Em 03/08/07, Joao Morais [EMAIL PROTECTED] escreveu:

   Fellipe Henrique wrote:
  Tem sim.. o ReportBuilder tem um ppUserPipeLine... já melhorou demais...
 eu
  uso o cxGrid da DevExpress porque ele é simplesmente o melhor Grid que
  existe.. :o).. se faz de tudo nele, agrupamento.. somatório... se bem,
 que
  há uma possíbilidade de usar o cxGrid, sem vínculo com DataSet, como se
  fosse Grid normal, vi isso agora...

 Não sei o que exatamente você quer dizer com agrupamento. Somatório e
 qualquer outro campo calculado você pode criar no próprio objeto de
 negócio.

  Cara, já baixei a versão 27 do Press, e este fim de semana irei ver ele
 a
  fundo...

 27? Ele nem chegou na versão 1 ainda. Você deve estar falando da revisão
 no svn, seria então 427. No site já tem uma revisão mais nova (550) e
 também no subversion (neste momento está em 551).

  gostei muito da idéia dele... mas me diga uma coisa.. eu como nunca
  mexi com este tipo de informação e tals.. esse negócio de não usar
 DBWare,
  não deixa lento o sistema, ou é o contrário?

 O que deixa o sistema lento é o acesso a dados. Press é um pouco mais
 lento do que tdataset, mas isto já está na prancheta para ser melhorado
 e vai virar passado.

 O que o pessoal chama de lento é aquela implementação acadêmica que
 consiste em fazer uma pesquisa em uma tabela, a pesquisa retorna mil
 registros e o camarada lê os mil de uma só vez para transformar em
 objetos. Qualquer opf razoável lê apenas o Id do registro e recupera as
 demais informações sob demanda, apenas quando elas forem realmente
 necessárias.

 --
 Joao Morais

  




-- 
_
Fellipe Henrique
[EMAIL PROTECTED]
Você valoriza a existêcia das pessoas extraordinárias e momentos em que a
história avança graças a elas. Tudo o que se imagina pode ser alcançado.
Deve-se ousar sonhar. Mas não há substituto para perseverança e trabalho...
e trabalho em equipe. Por que ninguém consegue sozinho. Se comemoramos a
grandeza desses eventos e as pessoas que os realizam... não podemos esquecer
o sacrifício daqueles que tornam possíveis tais realizações.


[As partes desta mensagem que não continham texto foram removidas]



RES: [delphi-br] InstantObjects atualiza o banco de dados automaticamente? (Joao Morais)

2007-08-03 Por tôpico Davi Eduardo Borges Wall
Será que a minha pergunta foi tão estúpida assim para ser ignorada???

 

De: delphi-br@yahoogrupos.com.br [mailto:[EMAIL PROTECTED] Em nome de Davi 
Eduardo Borges Wall
Enviada em: sexta-feira, 3 de agosto de 2007 14:05
Para: delphi-br@yahoogrupos.com.br
Assunto: RES: [delphi-br] InstantObjects atualiza o banco de dados 
automaticamente?

 

Eu to achando a thread interessante.

Andei procurando por MVP no Google. É alguma coisa relacionada com uma 
biblioteca procedural ou algo assim?

De: delphi-br@yahoogrupos.com.br mailto:delphi-br%40yahoogrupos.com.br  
[mailto:delphi-br@yahoogrupos.com.br mailto:delphi-br%40yahoogrupos.com.br ] 
Em nome de Joao Morais
Enviada em: sexta-feira, 3 de agosto de 2007 13:43
Para: delphi-br@yahoogrupos.com.br mailto:delphi-br%40yahoogrupos.com.br 
Assunto: Re: [delphi-br] InstantObjects atualiza o banco de dados 
automaticamente?

Fellipe Henrique wrote:
 Hum... Mas me diz uma coisa... você deve estar ficando cheio de mim né?

Num esquenta. Quem deve estar de saco cheio é o pessoal que não tá 
interessado na thread.

 No caso do Grid, eu continuaria a usar o DBGrid mesmo, ou não? É que uso
 demais o cxGrid da DevExpress...

Com MVP não se usa nada que cheire a dbware. Por quê você usa este grid? 
O que ele tem de bom? Se valer a pena, basta que seja escrito uma view, 
assim como existe view para StringGrid.

 E no caso de Relatórios... utilizo o ReportBuilder e o FastReport, será que
 eles conseguem pegar o Press?

Primeiro um conceito: tudo o que é nativo está implementado em Core e 
não tem nenhuma dependência externa. Tudo o que gera uma dependência é 
um Broker (negociador) e a implementação é separada.

Os relatórios construidos para Delphi entendem apenas de tdataset, eles 
não tem como alcançar os dados em um objeto de negócio, então é 
necessário um negociador entre o módulo de relatório e o componente 
gerenciador de relatórios.

Press tem um negociador para FastReport. Eu não conheço ReportBuilder, 
se ele tiver um designer para tempo de execução e tiver um componente 
para entrada de dados customizada (tipo o TfrUserDataset) vai ficar mais 
fácil de construir um negociador para ele.

--
Joao Morais

 Em 03/08/07, Joao Morais [EMAIL PROTECTED] mailto:post%40joaomorais.com.br 
  mailto:post%40joaomorais.com.br  escreveu:
 Fellipe Henrique wrote:
 Opa.. comecei a me interessar... :o)

 Esse MVP, o Press já o faz?
 Hei, quando eu falo que estou usando Press em produção, eu estou falando
 sério. Mas se ainda resta dúvidas, sim, implementa. E está *muito*
 estável e com maturidade.

 Mas tipo, vamos supor um Cadastro de Clientes, com Edits para os
 campos... e
 um DBGrid (ou Grid) para os telefones... eu consigo utilizar um Grid com
 o
 Press? E quanto à máscaras e tals.. eu colocava no Field, no Press
 existe
 isso?
 Sim, nos objetos de negócio você pode setar o FormatMask. Ou ainda
 melhor, que é o que eu faço e posso te passar o código. Para Telefone,
 CNPJ e CPF eu criei um tipo de atributo derivado de string e sobrescrevi
 o GetDisplayText deles. Daí quando declaro um telefone, ao invés de fazer:

 Fone: String(15);

 eu faço:

 Fone: TMeuTipoFone(15);

 É isto que eu chamo de reaproveitamento de código, e é nestes detalhes
 que Press é superior ao feijão com arroz com o qual o pessoal está
 acostumado (inclusive IO).

 --
 Joao Morais



[As partes desta mensagem que não continham texto foram removidas]

 



[As partes desta mensagem que não continham texto foram removidas]



Re: RES: [delphi-br] InstantObjects atualiza o banco de dados automaticamente? (Joao Morais)

2007-08-03 Por tôpico Ricardo César Cardoso
Acho que não mas o conceito de MVP é um pouco mais do que isso.

Dá uma olhada neste link [http://www.javafree.org/content/view.jf?idContent=91] 
que vc vai entender.

Sds,
Ricardo.

Davi Eduardo Borges Wall [EMAIL PROTECTED] escreveu:  
Será que a minha pergunta foi tão estúpida assim para ser ignorada???
 
 De: delphi-br@yahoogrupos.com.br [mailto:[EMAIL PROTECTED] Em nome de Davi 
Eduardo Borges Wall
 Enviada em: sexta-feira, 3 de agosto de 2007 14:05
 Para: delphi-br@yahoogrupos.com.br
 Assunto: RES: [delphi-br] InstantObjects atualiza o banco de dados 
automaticamente?
 
 Eu to achando a thread interessante.
 
 Andei procurando por MVP no Google. É alguma coisa relacionada com uma 
biblioteca procedural ou algo assim?
 
 De: delphi-br@yahoogrupos.com.br mailto:delphi-br%40yahoogrupos.com.br  
[mailto:delphi-br@yahoogrupos.com.br mailto:delphi-br%40yahoogrupos.com.br ] 
Em nome de Joao Morais
 Enviada em: sexta-feira, 3 de agosto de 2007 13:43
 Para: delphi-br@yahoogrupos.com.br mailto:delphi-br%40yahoogrupos.com.br 
 Assunto: Re: [delphi-br] InstantObjects atualiza o banco de dados 
automaticamente?
 
 Fellipe Henrique wrote:
  Hum... Mas me diz uma coisa... você deve estar ficando cheio de mim né?
 
 Num esquenta. Quem deve estar de saco cheio é o pessoal que não tá 
 interessado na thread.
 
  No caso do Grid, eu continuaria a usar o DBGrid mesmo, ou não? É que uso
  demais o cxGrid da DevExpress...
 
 Com MVP não se usa nada que cheire a dbware. Por quê você usa este grid? 
 O que ele tem de bom? Se valer a pena, basta que seja escrito uma view, 
 assim como existe view para StringGrid.
 
  E no caso de Relatórios... utilizo o ReportBuilder e o FastReport, será que
  eles conseguem pegar o Press?
 
 Primeiro um conceito: tudo o que é nativo está implementado em Core e 
 não tem nenhuma dependência externa. Tudo o que gera uma dependência é 
 um Broker (negociador) e a implementação é separada.
 
 Os relatórios construidos para Delphi entendem apenas de tdataset, eles 
 não tem como alcançar os dados em um objeto de negócio, então é 
 necessário um negociador entre o módulo de relatório e o componente 
 gerenciador de relatórios.
 
 Press tem um negociador para FastReport. Eu não conheço ReportBuilder, 
 se ele tiver um designer para tempo de execução e tiver um componente 
 para entrada de dados customizada (tipo o TfrUserDataset) vai ficar mais 
 fácil de construir um negociador para ele.
 
 --
 Joao Morais
 
  Em 03/08/07, Joao Morais [EMAIL PROTECTED] 
  mailto:post%40joaomorais.com.br  mailto:post%40joaomorais.com.br  
  escreveu:
  Fellipe Henrique wrote:
  Opa.. comecei a me interessar... :o)
 
  Esse MVP, o Press já o faz?
  Hei, quando eu falo que estou usando Press em produção, eu estou falando
  sério. Mas se ainda resta dúvidas, sim, implementa. E está *muito*
  estável e com maturidade.
 
  Mas tipo, vamos supor um Cadastro de Clientes, com Edits para os
  campos... e
  um DBGrid (ou Grid) para os telefones... eu consigo utilizar um Grid com
  o
  Press? E quanto à máscaras e tals.. eu colocava no Field, no Press
  existe
  isso?
  Sim, nos objetos de negócio você pode setar o FormatMask. Ou ainda
  melhor, que é o que eu faço e posso te passar o código. Para Telefone,
  CNPJ e CPF eu criei um tipo de atributo derivado de string e sobrescrevi
  o GetDisplayText deles. Daí quando declaro um telefone, ao invés de fazer:
 
  Fone: String(15);
 
  eu faço:
 
  Fone: TMeuTipoFone(15);
 
  É isto que eu chamo de reaproveitamento de código, e é nestes detalhes
  que Press é superior ao feijão com arroz com o qual o pessoal está
  acostumado (inclusive IO).
 
  --
  Joao Morais
 
 
 
 [As partes desta mensagem que não continham texto foram removidas]
 
 [As partes desta mensagem que não continham texto foram removidas]
 
 
 
   

   Alertas do Yahoo! Mail em seu celular. Saiba mais.

[As partes desta mensagem que não continham texto foram removidas]



Re: [delphi-br] InstantObjects atualiza o banco de dados automaticamente?

2007-08-03 Por tôpico Joao Morais
Fellipe Henrique wrote:
 ah.. outra coisa que percebi... ao criar os objetos, tudo fica numa Unit só
 não é?! não seria interessante - caso seja possível - uma Unit por modelo?
 sabe.. vamos supor.. o que for financeiro, numa unit, cadastro noutra e
 etc... tem lógica o que eu falei?

Só estão em uma única unit porque foram implementados em apenas uma. 
Meus projetos são divididos exatamente como você citou.

--
Joao Morais



Re: [delphi-br] InstantObjects atualiza o banco de dados automaticamente? (Joao Morais)

2007-08-03 Por tôpico Anderson RB
Amigo, este link podera responder as suas duvidas...
http://www.devmedia.com.br/articles/viewcomp.asp?comp=3043
  - Original Message - 
  From: Davi Eduardo Borges Wall 
  To: delphi-br@yahoogrupos.com.br 
  Sent: Friday, August 03, 2007 4:31 PM
  Subject: RES: [delphi-br] InstantObjects atualiza o banco de dados 
automaticamente? (Joao Morais)


  Será que a minha pergunta foi tão estúpida assim para ser ignorada???

  De: delphi-br@yahoogrupos.com.br [mailto:[EMAIL PROTECTED] Em nome de Davi 
Eduardo Borges Wall
  Enviada em: sexta-feira, 3 de agosto de 2007 14:05
  Para: delphi-br@yahoogrupos.com.br
  Assunto: RES: [delphi-br] InstantObjects atualiza o banco de dados 
automaticamente?

  Eu to achando a thread interessante.

  Andei procurando por MVP no Google. É alguma coisa relacionada com uma 
biblioteca procedural ou algo assim?

  De: delphi-br@yahoogrupos.com.br mailto:delphi-br%40yahoogrupos.com.br 
[mailto:delphi-br@yahoogrupos.com.br mailto:delphi-br%40yahoogrupos.com.br ] 
Em nome de Joao Morais
  Enviada em: sexta-feira, 3 de agosto de 2007 13:43
  Para: delphi-br@yahoogrupos.com.br mailto:delphi-br%40yahoogrupos.com.br 
  Assunto: Re: [delphi-br] InstantObjects atualiza o banco de dados 
automaticamente?

  Fellipe Henrique wrote:
   Hum... Mas me diz uma coisa... você deve estar ficando cheio de mim né?

  Num esquenta. Quem deve estar de saco cheio é o pessoal que não tá 
  interessado na thread.

   No caso do Grid, eu continuaria a usar o DBGrid mesmo, ou não? É que uso
   demais o cxGrid da DevExpress...

  Com MVP não se usa nada que cheire a dbware. Por quê você usa este grid? 
  O que ele tem de bom? Se valer a pena, basta que seja escrito uma view, 
  assim como existe view para StringGrid.

   E no caso de Relatórios... utilizo o ReportBuilder e o FastReport, será que
   eles conseguem pegar o Press?

  Primeiro um conceito: tudo o que é nativo está implementado em Core e 
  não tem nenhuma dependência externa. Tudo o que gera uma dependência é 
  um Broker (negociador) e a implementação é separada.

  Os relatórios construidos para Delphi entendem apenas de tdataset, eles 
  não tem como alcançar os dados em um objeto de negócio, então é 
  necessário um negociador entre o módulo de relatório e o componente 
  gerenciador de relatórios.

  Press tem um negociador para FastReport. Eu não conheço ReportBuilder, 
  se ele tiver um designer para tempo de execução e tiver um componente 
  para entrada de dados customizada (tipo o TfrUserDataset) vai ficar mais 
  fácil de construir um negociador para ele.

  --
  Joao Morais

   Em 03/08/07, Joao Morais [EMAIL PROTECTED] 
mailto:post%40joaomorais.com.br mailto:post%40joaomorais.com.br  escreveu:
   Fellipe Henrique wrote:
   Opa.. comecei a me interessar... :o)
  
   Esse MVP, o Press já o faz?
   Hei, quando eu falo que estou usando Press em produção, eu estou falando
   sério. Mas se ainda resta dúvidas, sim, implementa. E está *muito*
   estável e com maturidade.
  
   Mas tipo, vamos supor um Cadastro de Clientes, com Edits para os
   campos... e
   um DBGrid (ou Grid) para os telefones... eu consigo utilizar um Grid com
   o
   Press? E quanto à máscaras e tals.. eu colocava no Field, no Press
   existe
   isso?
   Sim, nos objetos de negócio você pode setar o FormatMask. Ou ainda
   melhor, que é o que eu faço e posso te passar o código. Para Telefone,
   CNPJ e CPF eu criei um tipo de atributo derivado de string e sobrescrevi
   o GetDisplayText deles. Daí quando declaro um telefone, ao invés de fazer:
  
   Fone: String(15);
  
   eu faço:
  
   Fone: TMeuTipoFone(15);
  
   É isto que eu chamo de reaproveitamento de código, e é nestes detalhes
   que Press é superior ao feijão com arroz com o qual o pessoal está
   acostumado (inclusive IO).
  
   --
   Joao Morais
  
  

  [As partes desta mensagem que não continham texto foram removidas]

  [As partes desta mensagem que não continham texto foram removidas]



   

[As partes desta mensagem que não continham texto foram removidas]



Re: RES: [delphi-br] InstantObjects atualiza o banco de dados automaticamente?

2007-08-03 Por tôpico Joao Morais
Davi Eduardo Borges Wall wrote:
 Andei procurando por MVP no Google. É alguma coisa relacionada
 com uma biblioteca procedural ou algo assim?

MVP é um padrão para apresentação de objetos de negócio em controles 
visuais. É equivalente ao dbware do Delphi, porém, orientado a objetos. 
Há pouco material na internet falando sobre o assunto, e este link é na 
minha opinião o melhor deles:

http://www.martinfowler.com/eaaDev/uiArchs.html

--
Joao Morais



Re: RES: [delphi-br] InstantObjects atualiza o banco de dados automaticamente? (Joao Morais)

2007-08-03 Por tôpico Joao Morais
Davi Eduardo Borges Wall wrote:
 Será que a minha pergunta foi tão estúpida assim para ser ignorada???

Não.

- a sua pergunta foi respondida antes da pergunta do Fellipe e o 
estúpido do Yahoo foi quem não entregou ainda;
- eu não faço distinção entre pergunta assim ou assado. Se ela não foi 
respondida para você, ou fui eu quem não recebi a pergunta (normal, 
yahoo não ajuda) ou foi você quem não recebeu a resposta (normal, yahoo 
continua não ajudando).

--
Joao Morais



[delphi-br] InstantObjects atualiza o banco de dados automaticamente?

2007-08-02 Por tôpico Fellipe Henrique
Olá amigos, gostaria de saber dos amigos que mexem com o InstantObjects, se
eu ao alterar um modelo, acresentando um Field e tals.. ele atualiza meu
banco de dados automaticamente. Se não existe algo que faz isso?

Desde já agradeço.

[]s

-- 
_
Fellipe Henrique
[EMAIL PROTECTED]
Você valoriza a existêcia das pessoas extraordinárias e momentos em que a
história avança graças a elas. Tudo o que se imagina pode ser alcançado.
Deve-se ousar sonhar. Mas não há substituto para perseverança e trabalho...
e trabalho em equipe. Por que ninguém consegue sozinho. Se comemoramos a
grandeza desses eventos e as pessoas que os realizam... não podemos esquecer
o sacrifício daqueles que tornam possíveis tais realizações.


[As partes desta mensagem que não continham texto foram removidas]



Re: [delphi-br] InstantObjects atualiza o banco de dados automaticamente?

2007-08-02 Por tôpico Joao Morais
Fellipe Henrique wrote:
 Olá amigos, gostaria de saber dos amigos que mexem com o InstantObjects, se
 eu ao alterar um modelo, acresentando um Field e tals.. ele atualiza meu
 banco de dados automaticamente.

Tem o evolver, ele atualiza o banco de acordo com o modelo.

 Se não existe algo que faz isso?

Essa história de fazer sozinho é igual programa da M$. De vez em quando 
ele pensa errado e faz o que não devia.

O próprio evolver não é perfeito, ex., ele não tem como discernir entre 
uma coluna com nome alterado e remover uma coluna para acrescentar outra.

Se você quer uma coisa bem feita, então grave a versão do metadados do 
banco ou a versão do sistema dentro do próprio banco. No seu sistema, 
para cada nova versão de banco, grave a string dos ddl que você precisa 
executar para atualizar. Ao comparar a versão do metadados que está no 
cliente, você saberá quais conjuntos de ddl tem que ser executado para 
que o banco esteja pronto para uso.

--
Joao Morais