Re: [delphi-br] Framework MVP

2006-11-30 Por tôpico Fellipe Henrique
Olá João,

Qual seria o seu framework? É gratuito?

Testei o Jazz, mas ele é tudo manual... ou seja, tenho que colocar tudo na
mão... aí complica um pouco.. hehe...

[]s


Em 29/11/06, Joao Morais [EMAIL PROTECTED] escreveu:

   Luiz Escobar wrote:

  É realmente achei assustador hehehehe
  Creio que o cara não deve saber do que estava falando...

 Conheço o Paulo e o Marcos, os autores do artigo. Eles sabem sim do que
 estão falando. O problema é que o artigo poderia ser um pouco mais
 didático.

  Bom existe algum FRAMEWORK que não seja ALFA ou BETA e que já funcione
 100% ou pelo menos 99% pra se produzir algo com facilidade e produtividade
 assim como os DBWare´s. ???

 O meu está em pré-alfa porque eu ainda preciso escrever os wizards, mas
 eu já tenho duas aplicações em produção feitas com ele.

 --
 João Morais

 




-- 
_
Fellipe Henrique
[EMAIL PROTECTED]


Venham até a borda, ele disse.
Eles disseram: Nós temos medo.
Venham até a borda, ele insistiu.
Eles foram, Ele os empurrou...
E eles voaram.
(Guillaume Apollinaire)


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



Re: [delphi-br] Framework MVP

2006-11-30 Por tôpico Joao Morais
Fellipe Henrique wrote:

 Olá João,
 
 Qual seria o seu framework? É gratuito?
 
 Testei o Jazz, mas ele é tudo manual... ou seja, tenho que colocar tudo na
 mão... aí complica um pouco.. hehe...

www.pressobjects.org/ptbr

Ele ainda é todo manual também, porém precisa de menos código do que 
Infra -- e talvez Jazz -- pois não é obrigatório o uso de interface, e 
logo passarei para o todo list que você pode ver no site do projeto, 
fazendo com que você não precise escrever as classes na mão.

Ainda assim, você quase arranca os cabelos de tanto escrever apenas para 
desenhar as classes - e apenas no início do projeto. Quando passa para 
forms, Presenters, etc., é muito pouca escrita e uma pequena decoreba. 
Diga-se de passagem, você troca o ficar ligando DataSource, DataField, 
KeyField, ListField, eventos, etc. por ligar, no Presenter, qual é o 
atributo de tal componente.

Os poucos docs passam rapidamente sobre o assunto, o aplicativo 
demonstração mostra um pequeno projeto pronto, e a lista support-br tá 
lá para completar o que faltar.

--
João Morais



[delphi-br] COLORIR LINHAS DO DBGRID

2006-11-30 Por tôpico Marcio William
Tem como colorir as linhas do DBGRID em RUN-TIME, seria no caso de cliente 
em debito aparecer em vermelho  e os demais em branco mesmo?

Atenciosamente,

Marcio William



[delphi-br] Impressão direta via Rede

2006-11-30 Por tôpico Giovanny Carvalho
Boa noite,

Alguém poderia me dar a dica de como fazer a impressão direta, sem o 
sppol, numa matricial em rede.  Eu faço a impressão com Assignfile e 
funciona da máquina onde a impressora está conectada mas na rede eu 
não consigo.

Tô usando o windowsXP.

Obrigado,
Giovanny



RE: [delphi-br] COLORIR LINHAS DO DBGRID

2006-11-30 Por tôpico Rubem Nascimento da Rocha
Dica na internet sobre isso tem a botão (Como fazer um grid zebrado?, e 
coisas do tipo). O google pode dar uma força nisso. Agora, se vc ñ quer ter 
trabalho, o TJvDBGrid da suite JEDI VCL já tem propriedades pra tratar isso 
de forma transparente.

Sds.


From: Marcio William [EMAIL PROTECTED]
Reply-To: delphi-br@yahoogrupos.com.br
To: delphi-br@yahoogrupos.com.br
Subject: [delphi-br] COLORIR LINHAS DO DBGRID
Date: Thu, 30 Nov 2006 08:43:13 -0200

Tem como colorir as linhas do DBGRID em RUN-TIME, seria no caso de cliente
em debito aparecer em vermelho  e os demais em branco mesmo?

Atenciosamente,

Marcio William


_
MSN Busca: fácil, rápido, direto ao ponto.  http://search.msn.com.br



Re: [delphi-br] Re: Usar ou não usar DBWares? Eis a questão!

2006-11-30 Por tôpico Fellipe Henrique
É isso aí Andreano, DBWare são muito bem vindos, deste que o programador
saiba usar. A grande maioria que fala mal dele, não o conhece muito...

[]s


Em 30/11/06, Andreano Lanusse [EMAIL PROTECTED] escreveu:

   Pessoal,

 após diversas opiniões...

 Qualquer desenvolvimento é mais produtivo com os componentes DBWare, mas
 para trabalhar com eles é bom que se entenda como funciona os eventos e os
 componentes DataSet e DataSource.

 Ao longo de todos os softwares que desenvolvi nunca tive problemas com os
 componentes, se algum comportamento dos componentes não estivesse de acordo
 com a minha necessidade, bastava herdar e alterar o comportamente do mesmo.

 Avaliem a necessidade, estude os componentes, agora ter uma aplicação sem
 nada de data ware por achar que não deve ter é uma decisão equivocada.

 Abraços,

 Andreano Lanusse
 System Engineer
 CodeGear

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

 




-- 
_
Fellipe Henrique
[EMAIL PROTECTED]


Venham até a borda, ele disse.
Eles disseram: Nós temos medo.
Venham até a borda, ele insistiu.
Eles foram, Ele os empurrou...
E eles voaram.
(Guillaume Apollinaire)


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



Re: [delphi-br] Impressão direta via Rede

2006-11-30 Por tôpico Joao Morais
Giovanny Carvalho wrote:
 Boa noite,
 
 Alguém poderia me dar a dica de como fazer a impressão direta, sem o 
 sppol, numa matricial em rede.  Eu faço a impressão com Assignfile e 
 funciona da máquina onde a impressora está conectada mas na rede eu 
 não consigo.

Troca a porta lptx: pelo atalho da impressora: \\host\impr

--
João Morais



[delphi-br] Re: Usar ou não usar DBWares? Eis a questão!

2006-11-30 Por tôpico Walter Chagas (Yahoo)
Você mesmo é um que deve se lembrar como eu metia o pau nos DBWares 
antes né? Lá pros remotos D1 e D2, ainda meio cru em conhecimento do 
Delphi e da VCL, me meti a embarcar nessa canoa e me dei muito mal. 
Tomei raiva do negócio e passei a usar a Suite Munhecaware. 

Recentemente, com grande ajuda dos colegas Eduardo Rocha da 
EduDelphipage, Mequi Pinho, Bruno Lichot e até de você Rubem, revi 
meus conceitos a respeito do supra-citado. Aprendi a usá-los da forma 
correta e hoje não volto atrás nem fudendo. O grande problema do 
DBWare é que ele aparenta facilitar a vida do desenvolvedor sem que 
ele tenha que escrever uma única linha de código sequer. Aí que tá a 
ilusão. Você ainda assim tem que escrever, mas não é TANTO quanto 
seria fazer na mão, mas tem. Aí o cara vê que a coisa não funciona, 
porque não soube usar ou usou de forma errada, o troço vai dar 
problema e como sabemos muito bem, o ser humano jamais assume seus 
erros e sua culpa. A culpa é sempre do vizinho, do Governo, do 
DBEdit, do Delphi, do Andreano, etc...

Alias pessoal, sem querer fazer propaganda, mas o CD do Eduardo, que 
trata justamente disto, é uma senhora mão na roda viu. Convem o 
pessoal dar uma olhada. Ele tá sempre ministrando Minicursos de 
ClientDataset nos DDDs quem vem acontecendo aí anualmente. Quem já 
assitiu um viu que a coisa é de nível.


[]s



Walter Alves Chagas Junior
Belo Horizonte - MG - Brazil
[EMAIL PROTECTED]
http://www.geocities.com/SiliconValley/Bay/1058
MSN: [EMAIL PROTECTED]


--- Em delphi-br@yahoogrupos.com.br, Fellipe Henrique 
[EMAIL PROTECTED] escreveu

 É isso aí Andreano, DBWare são muito bem vindos, deste que o 
programador
 saiba usar. A grande maioria que fala mal dele, não o conhece 
muito...
 
 []s
 
 
 Em 30/11/06, Andreano Lanusse [EMAIL PROTECTED] escreveu:
 
Pessoal,
 
  após diversas opiniões...
 
  Qualquer desenvolvimento é mais produtivo com os componentes 
DBWare, mas
  para trabalhar com eles é bom que se entenda como funciona os 
eventos e os
  componentes DataSet e DataSource.
 
  Ao longo de todos os softwares que desenvolvi nunca tive 
problemas com os
  componentes, se algum comportamento dos componentes não estivesse 
de acordo
  com a minha necessidade, bastava herdar e alterar o comportamente 
do mesmo.
 
  Avaliem a necessidade, estude os componentes, agora ter uma 
aplicação sem
  nada de data ware por achar que não deve ter é uma decisão 
equivocada.
 
  Abraços,
 
  Andreano Lanusse
  System Engineer
  CodeGear
 
  [As partes desta mensagem que não continham texto foram removidas]
 
  
 
 
 
 
 -- 
 _
 Fellipe Henrique
 [EMAIL PROTECTED]
 
 
 Venham até a borda, ele disse.
 Eles disseram: Nós temos medo.
 Venham até a borda, ele insistiu.
 Eles foram, Ele os empurrou...
 E eles voaram.
 (Guillaume Apollinaire)
 
 
 [As partes desta mensagem que não continham texto foram removidas]





[delphi-br] Problema com o Quick Report

2006-11-30 Por tôpico Moked - Thiago \(Brasil\)
Bom dia colegas Delphianos,
 
Estou tendo um problema na hora de gerar um relatório, 
estou utilizando um componente do tipo QRMemo, para receber os dados, conforme 
parte do código abaixo, mas quando o relatório é gerado,
somente aparece os dados do 1ºregistro do banco ou do último registro... 
 
ele não fica passando de um a um, como os campos .DataField
 
Alguém teria uma sugestão??
 
eu tentei.. abrir o ClientDataSet.. e dar um first. depois dentro do laço 
colocar um next... e não adiantou...
 
for i := 0 to RecordCount-1 do
begin
  qrdbDadoAten0.DataField := 'AteCodi';
  qrdbDadoAten3.DataField := 'UsuNome';
  qrdbNomeProcurador.DataField := 'pro_nome';
  qrdbAtend1.DataField:= 'His_Data';
  qrdbDadoAte2.DataField  := 'HisDura';
  qrdbSituacao.DataField  := 'ate_situ';
  mmAteDesc.Lines.Text:= fieldbyname('AteDesc').AsString;
end;
 
 
Thiago Filiano


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



Re: [delphi-br] Impressão direta via Rede

2006-11-30 Por tôpico André - Gmail
Ou mapeia a impressora no terminal.
- Original Message - 
From: Joao Morais [EMAIL PROTECTED]
To: delphi-br@yahoogrupos.com.br
Sent: Thursday, November 30, 2006 9:27 AM
Subject: Re: [delphi-br] Impressão direta via Rede


 Giovanny Carvalho wrote:
 Boa noite,

 Alguém poderia me dar a dica de como fazer a impressão direta, sem o
 sppol, numa matricial em rede.  Eu faço a impressão com Assignfile e
 funciona da máquina onde a impressora está conectada mas na rede eu
 não consigo.

 Troca a porta lptx: pelo atalho da impressora: \\host\impr

 --
 João Morais



 -- 
  FAVOR REMOVER ESTA PARTE AO RESPONDER ESTA MENSAGEM 

 Links do Yahoo! Grupos

 



[delphi-br] Re: Só para o Fellipe Henrique! Desculpe os demais.

2006-11-30 Por tôpico maniacapordelphi
Puxa, vc é O CARA, HEIN?
Extremamente ético, educado e tudo o mais. hehehehehe
Nossa, eu daria um braço pra trabalhar com vc!
Se prestar atenção na minha mensagem anterior verá que eu dei a 
minha opinião de forma educada sem desmerecer o trabalho de ninguém.
Sou maniaca por delphi, mas nem por isso sou puxa-saco do Delphi. 
Reconheço que essa ferramenta tem defeitos sim (serão que vc nunca 
percebeu isso?), faltam componentes importantes sim (se não fosse 
assim não precisaríamos de componentes terceirizados). 
(não mexe com quem tá queto!)

T+
Mani 

--- Em delphi-br@yahoogrupos.com.br, Fellipe Henrique 
[EMAIL PROTECTED] escreveu

 Olá maniacapordelphi
 
 Sua informacao que DBWares podem travar maquinas em rede está 
incorreta,
 pois eu tenho um sistema que roda em 45 lojas, cada qual com no 
minimo 5
 máquinas, todas conectadas via internet usando BSS, tirando a 
matriz.. ou
 seja são quase 300 maquinas, e nada de dar pau...
 
 Se o sistema usa DBWares e é ruim, não é culpa dele, e sim do 
programador...
 me desculpem aos amigos.. mas essa é a verdade, 99% dos erros 
estão nos que
 nós mesmos causamos, e nao no componente.
 
 []s
 
 Em 29/11/06, maniacapordelphi [EMAIL PROTECTED] escreveu:
 
Eu sigo a tese do Vitor. Também uso os dois.
  Simplesmente, se usa TDataSet quando ele permite o desenvolvedor
  fazer o q precisa e obter o resultado que espera, ou se usa o 
Edit
  tratando-o da forma que melhor se quer.
  Confesso que DBWares tem furos e às vezes nos dão um resultado
  inesperado sim. E nem sempre é rapido como se diz por aí. Pode
  travar a rede em caso de grande numero de usuarios e quando se 
usa o
  aplicativo através do Client Terminal, então?
  T+
  Mani
 
  --- Em delphi-br@yahoogrupos.com.br delphi-br%
40yahoogrupos.com.br,
  Vitor Luiz Redes
  vredesredsystem@ escreveu
  
   Trabalho com os dois.
   É besteira fazer sistemas pequenos com classes de negócio, é
  besteira fazer sistemas grandes com TDataSet.
  
   
   Vitor Luiz Redes
   Analista de Sistemas
   Redsystem Software / Bureau Software
   Messenger: vitorluizredes@
 
   
   Phone: 3379-6939
   Cel. Phone: 9677-8445
   
   - Original Message -
   From: Joao Morais
   To: delphi-br@yahoogrupos.com.br delphi-br%
40yahoogrupos.com.br
   Sent: Wednesday, November 29, 2006 10:04 AM
   Subject: Re: RES: [delphi-br] Re: Usar ou não usar DBWares? Eis
  a questão!
  
  
   Walter Chagas (Yahoo) wrote:
  
snip prazos que não
lhe darão margens pra criar coisas que já existem (o famoso
reinventar a roda) ou então ficar fazendo na mão, aquilo que
  já tem
pronto por mero capricho de desenvolvimento.
  
   Metendo o bedelho de novo.
  
   Ninguém está reinventando a roda ao usar um Edit para 
apresentar
  dados,
   muito pelo contrário, está ignorando uma roda quadrada
  idealizada há 10
   anos pela Borland para implementar uma roda devidamente 
redonda,
   calibrada, com liga leve e orientada a objetos.
  
   Ainda acrescento que não é de bom tom falar mal de uma
  implementação
   quando esta lhe é completamente desconhecida. Eu estou falando
  com a
   experiência (e problemas) dos meus quase 10 anos de TDataset
  comparado
   com o que eu posso fazer com uma classe de negócio. Você não 
tem
  como
   sequer fazer idéia da diferença relacionada a ganho de
  produtividade no
   médio e longo prazos.
  
   --
   João Morais
  
  
  
  
  
   --
  ---
  
  
   Internal Virus Database is out-of-date.
   Checked by AVG Free Edition.
   Version: 7.1.409 / Virus Database: 268.14.0/524 - Release Date:
  8/11/2006
  
  
   [As partes desta mensagem que não continham texto foram 
removidas]
  
 
   
 
 
 
 
 -- 
 _
 Fellipe Henrique
 [EMAIL PROTECTED]
 
 
 Venham até a borda, ele disse.
 Eles disseram: Nós temos medo.
 Venham até a borda, ele insistiu.
 Eles foram, Ele os empurrou...
 E eles voaram.
 (Guillaume Apollinaire)
 
 
 [As partes desta mensagem que não continham texto foram removidas]





Re: [delphi-br] Re: Usar ou não usar DBWare s? Eis a questão!

2006-11-30 Por tôpico Joao Morais
Andreano Lanusse wrote:

 Pessoal,
  
 após diversas opiniões...
  
 Qualquer desenvolvimento é mais produtivo com os componentes DBWare, mas para 
 trabalhar com eles é bom que se entenda como funciona os eventos e os 
 componentes DataSet e DataSource.
  
 Ao longo de todos os softwares que desenvolvi nunca tive problemas com os  
 componentes, se algum comportamento dos componentes não estivesse de acordo 
 com a minha necessidade, bastava herdar e alterar o comportamente do mesmo.
  
 Avaliem a necessidade, estude os componentes, agora ter uma aplicação sem 
 nada de data ware por achar que não deve ter é uma decisão equivocada.

Mistérios do Yahoo, ou então eu já estou moderado. Desculpem se a 
mensagem chegar em duplicidade.

Reencaminhando mensagem de hoje, 6:30hs



Andreano, não é achar que não deve ter, é ter certeza que não precisa ter.

É sempre questão de preferência. Falo por mim, estou apenas expondo 
vantagens de um modelo orientado a objetos perante o RAD (com exceção de 
usar TDataset como objeto de negócio - isso é roda quadrada).

Vou aproventar sua mensagem para citar uma vantagem de cada lado (de OPF 
e de MVP, lógico).

TDataset é orientado a tabela, OPF é orientado a objetos do domínio do 
problema.

==TDataset==
TabCliente.Open; // ou .Query := 'xx';
TabCliente.Locate(); // ou TabCliente.Open;
TabCliente.Edit
TabClienteNOME := 'Outro';
TabCliente.Post;
e se tiver Cached updates... transação...

==OPF==
Cliente := TCliente.Retrieve(ID); -- monta query, pesquisa, etc.
Cliente.Nome := 'Outro Nome';
Cliente.Save; -- cache, controle transacional, tudo aqui dentro.

E olha que eu escolhi um modelo de dados sem herança, pra ficar mumu pra 
TDataset.

==DBAware==

DBAware é orientado a TDataset (win32) e ainda assim fica pendurado em 
um componente (DB*) e a um datasource. Se você quer um componente 
'Combo' mais envenenado, ele tem que entender DBAware. Se o seu Dataset 
estiver em um DataModule e por desencargo do destino a ligação quebrar 
(nisso o Delphi melhorou um bocado), você tem que reabrir o form e 
refazer a bendita.

==MVP==

MVP é totalmente desacoplado, é o framework que entende o componente, e 
não o contrário. O formulário que usa o padrão MVP *não tem código*, 
você pode mandar os .pas e os .dfm para uma empresa de design, entregar 
uma licença de Delphi pra eles, eles usam qualquer componente que eles 
quiserem, você tras os novos formulários para o seu projeto e recompila. 
A única exigência é que os componentes continuem com o mesmo nome, 
porque MVP pode ser bom, mas não é feiticeiro.

Teria mais um monte pra falar, mas encerro aqui minha participação nessa 
thread com esse mini-artigo (a menos que os colegas tenham dúvidas).

-- 
João Morais



Res: [delphi-br] Framework MVP

2006-11-30 Por tôpico Ricardo Cesar Cardoso
Acho que me equivoquei umas mensagens atrás e gostaria então de saber quem é 
quem e o que faz... Porque acho que dependendo como for eu sou o ser mais 
ignorante deste planeta.

* O que são DePO, Jazz, InstantObjects, PressObjects  e Infra?

* Qual a diferença entre eles?

* Quais as vantagens de cada um deles?

Na verdade perguntei tudo isso por que lendo várias opiniões e posts em fóruns 
das ferramentas acima (na verdade a única que eu não li muito foi o 
PressObjects, mas por falta de tempo), achei que o DePO e o InstantObjects, 
fazendo a persistencia do BD e grandes doses de OO, já foram pelo menos para 
mim um grande avanço, já que eu posso ter uma unit apenas com as definições 
pertinentes ao modelo relacional na minha aplicação e voilà, na camada de 
apresentação posso usar o que quiser, sejam componentes DataWare ou componentes 
non-DataWare (que nesse caso são a minha preferência).

Agora se Jazz e PressObjects fazem fazem algo além disso, gostaria de saber 
exatamente o que fazem.

Abraços,
Ricardo.

- Mensagem original 
De: Joao Morais [EMAIL PROTECTED]
Para: delphi-br@yahoogrupos.com.br
Enviadas: Quinta-feira, 30 de Novembro de 2006 8:30:57
Assunto: Re: [delphi-br] Framework MVP









  



Fellipe Henrique wrote:



 Olá João,

 

 Qual seria o seu framework? É gratuito?

 

 Testei o Jazz, mas ele é tudo manual... ou seja, tenho que colocar tudo na

 mão... aí complica um pouco.. hehe...



www.pressobjects. org/ptbr



Ele ainda é todo manual também, porém precisa de menos código do que 

Infra -- e talvez Jazz -- pois não é obrigatório o uso de interface, e 

logo passarei para o todo list que você pode ver no site do projeto, 

fazendo com que você não precise escrever as classes na mão.



Ainda assim, você quase arranca os cabelos de tanto escrever apenas para 

desenhar as classes - e apenas no início do projeto. Quando passa para 

forms, Presenters, etc., é muito pouca escrita e uma pequena decoreba. 

Diga-se de passagem, você troca o ficar ligando DataSource, DataField, 

KeyField, ListField, eventos, etc. por ligar, no Presenter, qual é o 

atributo de tal componente.



Os poucos docs passam rapidamente sobre o assunto, o aplicativo 

demonstração mostra um pequeno projeto pronto, e a lista support-br tá 

lá para completar o que faltar.



--

João Morais






  







!--

#ygrp-mlmsg {font-size:13px;font-family:arial,helvetica,clean,sans-serif;}
#ygrp-mlmsg table {font-size:inherit;font:100%;}
#ygrp-mlmsg select, input, textarea {font:99% arial,helvetica,clean,sans-serif;}
#ygrp-mlmsg pre, code {font:115% monospace;}
#ygrp-mlmsg * {line-height:1.22em;}
#ygrp-text{
font-family:Georgia;
}
#ygrp-text p{
margin:0 0 1em 0;
}
#ygrp-tpmsgs{
font-family:Arial;
clear:both;
}
#ygrp-vitnav{
padding-top:10px;
font-family:Verdana;
font-size:77%;
margin:0;
}
#ygrp-vitnav a{
padding:0 1px;
}
#ygrp-actbar{
clear:both;
margin:25px 0;
white-space:nowrap;
color:#666;
text-align:right;
}
#ygrp-actbar .left{
float:left;
white-space:nowrap;
}
.bld{font-weight:bold;}
#ygrp-grft{
font-family:Verdana;
font-size:77%;
padding:15px 0;
}
#ygrp-ft{
font-family:verdana;
font-size:77%;
border-top:1px solid #666;
padding:5px 0;
}
#ygrp-mlmsg #logo{
padding-bottom:10px;
}

#ygrp-vital{
background-color:#e0ecee;
margin-bottom:20px;
padding:2px 0 8px 8px;
}
#ygrp-vital #vithd{
font-size:77%;
font-family:Verdana;
font-weight:bold;
color:#333;
text-transform:uppercase;
}
#ygrp-vital ul{
padding:0;
margin:2px 0;
}
#ygrp-vital ul li{
list-style-type:none;
clear:both;
border:1px solid #e0ecee;
}
#ygrp-vital ul li .ct{
font-weight:bold;
color:#ff7900;
float:right;
width:2em;
text-align:right;
padding-right:.5em;
}
#ygrp-vital ul li .cat{
font-weight:bold;
}
#ygrp-vital a {
text-decoration:none;
}

#ygrp-vital a:hover{
text-decoration:underline;
}

#ygrp-sponsor #hd{
color:#999;
font-size:77%;
}
#ygrp-sponsor #ov{
padding:6px 13px;
background-color:#e0ecee;
margin-bottom:20px;
}
#ygrp-sponsor #ov ul{
padding:0 0 0 8px;
margin:0;
}
#ygrp-sponsor #ov li{
list-style-type:square;
padding:6px 0;
font-size:77%;
}
#ygrp-sponsor #ov li a{
text-decoration:none;
font-size:130%;
}
#ygrp-sponsor #nc {
background-color:#eee;
margin-bottom:20px;
padding:0 8px;
}
#ygrp-sponsor .ad{
padding:8px 0;
}
#ygrp-sponsor .ad #hd1{
font-family:Arial;
font-weight:bold;
color:#628c2a;
font-size:100%;
line-height:122%;
}
#ygrp-sponsor .ad a{
text-decoration:none;
}
#ygrp-sponsor .ad a:hover{
text-decoration:underline;
}
#ygrp-sponsor .ad p{
margin:0;
}
o {font-size:0;}
.MsoNormal {
margin:0 0 0 0;
}
#ygrp-text tt{
font-size:120%;
}
blockquote{margin:0 0 0 4px;}
.replbq {margin:4;}
--







__
Fale com seus amigos  de graça com o novo Yahoo! Messenger 
http://br.messenger.yahoo.com/ 

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



Re: [delphi-br] Problema com o Quick Report

2006-11-30 Por tôpico Desenvolvimento \(Anderson\)
veja se a propriedade dataset do quickrep tá setada!!!



  - Original Message - 
  From: Moked - Thiago (Brasil) 
  To: delphi-br@yahoogrupos.com.br 
  Sent: Thursday, November 30, 2006 9:34 AM
  Subject: [delphi-br] Problema com o Quick Report


  Bom dia colegas Delphianos,

  Estou tendo um problema na hora de gerar um relatório, 
  estou utilizando um componente do tipo QRMemo, para receber os dados, 
conforme parte do código abaixo, mas quando o relatório é gerado,
  somente aparece os dados do 1ºregistro do banco ou do último registro... 

  ele não fica passando de um a um, como os campos .DataField

  Alguém teria uma sugestão??

  eu tentei.. abrir o ClientDataSet.. e dar um first. depois dentro do laço 
colocar um next... e não adiantou...

  for i := 0 to RecordCount-1 do
  begin
  qrdbDadoAten0.DataField := 'AteCodi';
  qrdbDadoAten3.DataField := 'UsuNome';
  qrdbNomeProcurador.DataField := 'pro_nome';
  qrdbAtend1.DataField := 'His_Data';
  qrdbDadoAte2.DataField := 'HisDura';
  qrdbSituacao.DataField := 'ate_situ';
  mmAteDesc.Lines.Text := fieldbyname('AteDesc').AsString;
  end;


  Thiago Filiano

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



   

  __ Informação do NOD32 IMON 1892 (20061130) __

  Esta mensagem foi verificada pelo NOD32 sistema antivírus
  http://www.eset.com.br


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



[delphi-br] teste

2006-11-30 Por tôpico Moked - Thiago \(Brasil\)
testando


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



RES: [delphi-br] Impressão direta via Rede

2006-11-30 Por tôpico Tatu-yahoogrupos
somente que ese comando \\host\impr serve para rede, se fizer isso
localmente (no proprio computador onde esteja espetada a impressora) da
erro...

-Mensagem original-
De: delphi-br@yahoogrupos.com.br [mailto:[EMAIL PROTECTED] Em
nome de Joao Morais
Enviada em: quinta-feira, 30 de novembro de 2006 08:27
Para: delphi-br@yahoogrupos.com.br
Assunto: Re: [delphi-br] Impressão direta via Rede



Giovanny Carvalho wrote:
 Boa noite,
 
 Alguém poderia me dar a dica de como fazer a impressão direta, sem o 
 sppol, numa matricial em rede. Eu faço a impressão com Assignfile e 
 funciona da máquina onde a impressora está conectada mas na rede eu 
 não consigo.

Troca a porta lptx: pelo atalho da impressora: \\host\impr

--
João Morais



 



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



RES: [delphi-br] Problema com o Quick Report

2006-11-30 Por tôpico Moked - Thiago \(Brasil\)
O QRMemo não possui essa propriedade, por isso 
 
estava sendo usado assim:
 
mmAteDesc.Lines.Text := fieldbyname('AteDesc').AsString;
 
[s]
 
Thiago http://www.moked.com.br/ 

 




De: delphi-br@yahoogrupos.com.br [mailto:[EMAIL PROTECTED] Em nome de 
Desenvolvimento (Anderson)
Enviada em: quinta-feira, 30 de novembro de 2006 10:31
Para: delphi-br@yahoogrupos.com.br
Assunto: Re: [delphi-br] Problema com o Quick Report



veja se a propriedade dataset do quickrep tá setada!!!

- Original Message - 
From: Moked - Thiago (Brasil) 
To: delphi-br@yahoogrupos.com.br mailto:delphi-br%40yahoogrupos.com.br  
Sent: Thursday, November 30, 2006 9:34 AM
Subject: [delphi-br] Problema com o Quick Report

Bom dia colegas Delphianos,

Estou tendo um problema na hora de gerar um relatório, 
estou utilizando um componente do tipo QRMemo, para receber os dados, conforme 
parte do código abaixo, mas quando o relatório é gerado,
somente aparece os dados do 1ºregistro do banco ou do último registro... 

ele não fica passando de um a um, como os campos .DataField

Alguém teria uma sugestão??

eu tentei.. abrir o ClientDataSet.. e dar um first. depois dentro do laço 
colocar um next... e não adiantou...

for i := 0 to RecordCount-1 do
begin
qrdbDadoAten0.DataField := 'AteCodi';
qrdbDadoAten3.DataField := 'UsuNome';
qrdbNomeProcurador.DataField := 'pro_nome';
qrdbAtend1.DataField := 'His_Data';
qrdbDadoAte2.DataField := 'HisDura';
qrdbSituacao.DataField := 'ate_situ';
mmAteDesc.Lines.Text := fieldbyname('AteDesc').AsString;
end;

Thiago Filiano

[

Atividade nos últimos dias

*   
 25
Novos usuários 
http://br.groups.yahoo.com/group/delphi-br/members;_ylc=X3oDMTJmNnR1aTNwBF9TAzk3NDkwNDM3BGdycElkAzEwNTg3NzgEZ3Jwc3BJZAMyMTM3MTExMjY0BHNlYwN2dGwEc2xrA3ZtYnJzBHN0aW1lAzExNjQ4ODkwMDY-
 

Visite seu Grupo 
http://br.groups.yahoo.com/group/delphi-br;_ylc=X3oDMTJldW82NHNvBF9TAzk3NDkwNDM3BGdycElkAzEwNTg3NzgEZ3Jwc3BJZAMyMTM3MTExMjY0BHNlYwN2dGwEc2xrA3ZnaHAEc3RpbWUDMTE2NDg4OTAwNg--
 
Yahoo! Respostas

Já respondeu hoje? 
http://br.ard.yahoo.com/SIG=12g68sa9a/M=562730.9603557.10326417.9298217/D=brclubs/S=2137111264:NC/Y=BR/EXP=1164896207/A=4123673/R=0/SIG=10up3c083/*http://br.answers.yahoo.com/
 

Ajude alguém, é só

compartilhar o que sabe!

Yahoo! Mail

Cadastre-se já! 
http://br.ard.yahoo.com/SIG=12gbb33gb/M=562730.9603561.10326427.9298221/D=brclubs/S=2137111264:NC/Y=BR/EXP=1164896207/A=4123678/R=0/SIG=10rk43vfg/*http://mail.yahoo.com.br/
 

Proteção anti-spam

Muito mais espaço 

Barra de Ferramentas

Instale grátis! 
http://br.ard.yahoo.com/SIG=12gp1enh3/M=562730.9603569.10326421.9298218/D=brclubs/S=2137111264:NC/Y=BR/EXP=1164896207/A=4123742/R=0/SIG=10tl97i9a/*http://br.toolbar.yahoo.com
 

Os produtos Yahoo!

no seu navegador.

.
 
http://geo.yahoo.com/serv?s=97490437/grpId=1058778/grpspId=2137111264/msgId=164807/stime=1164889006/nc1=4123673/nc2=4123678/nc3=4123742
 
 


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



Re: RES: [delphi-br] Re: Usar ou não usar DBWares? Eis a questão!

2006-11-30 Por tôpico Campus
hehe, o que tenho visto muito aqui no trabalho, é o pessoal usando eventos
OnChange de DbEdits por exemplo, mas acabam tendo efeitos colaterais, uma
vez que o evento é disparado quando o estado do Dataset modifica quando se
abre, fecha ou ainda em casos de pesquisa com SetKey-Gotokey/GotoNearest.

Esse tipo de bug muitas vezes é dificil de achar, pricipalmente no caso de
uso de datamodules, no caso de serem usados por diversos forms.

Isso não é um problema do componente, ele faz exatamente o que tem que
fazer, o programador é que desconhece o funcionamento do mesmo.


- Original Message - 
From: Rubem Nascimento da Rocha [EMAIL PROTECTED]
To: delphi-br@yahoogrupos.com.br
Sent: Wednesday, November 29, 2006 11:56 PM
Subject: Re: RES: [delphi-br] Re: Usar ou não usar DBWares? Eis a questão!



 maniacapordelphi, eu lhe desafio vc a me dizer pq controles data-aware lhe
 causam resultados inesperados! Se vc me provar isso, eu abandono tudo o
que
 eu sei hoje sobre o uso de controles data-aware.

 Sds.

 From: Joao Morais [EMAIL PROTECTED]
 Reply-To: delphi-br@yahoogrupos.com.br
 To: delphi-br@yahoogrupos.com.br
 Subject: Re: RES: [delphi-br] Re: Usar ou não usar DBWares? Eis a
questão!
 Date: Wed, 29 Nov 2006 18:41:09 -0200
 
 maniacapordelphi wrote:
 
   Confesso que DBWares tem furos e às vezes nos dão um resultado
   inesperado sim. E nem sempre é rapido como se diz por aí. Pode
   travar a rede em caso de grande numero de usuarios e quando se usa o
   aplicativo através do Client Terminal, então?
 
 Se existisse alguma culpa, seria do TDataset e não do DBAware. Mas
 geralmente OPFs são mais lentos do que o TDataset braçal (ponto pro
 RAD), DBAware faz meramente a apresentação dos dados. Nesse caso
 concordo com os colegas Felipe e Walter, isso tem dedo do programador.
 
 --
 João Morais

 _
 MSN Busca: fácil, rápido, direto ao ponto.  http://search.msn.com.br



 -- 
  FAVOR REMOVER ESTA PARTE AO RESPONDER ESTA MENSAGEM 

 Links do Yahoo! Grupos




 -- 
 No virus found in this incoming message.
 Checked by AVG Free Edition.
 Version: 7.5.430 / Virus Database: 268.14.19/556 - Release Date:
28/11/2006 15:22





[delphi-br] Componente para lembrar?

2006-11-30 Por tôpico Marcos Roberto da Cruz
Ola estou fazendo um programa que tem agenda tem algum componente para 
usar para lembra cada compromisso como um alarme por exemplo

obrigado



Re: Res: [delphi-br] Framework MVP

2006-11-30 Por tôpico Joao Morais
Ricardo Cesar Cardoso wrote:

 Acho que me equivoquei umas mensagens atrás e gostaria então de saber quem é 
 quem e o que faz... Porque acho que dependendo como for eu sou o ser mais 
 ignorante deste planeta.
 
 * O que são DePO, Jazz, InstantObjects, PressObjects  e Infra?

DePO e InstantObjects são OPF - frameworks de persistência.

Jazz, Infra e Press são um conjunto de frameworks, controlam 
persistência, apresentação, etc. Press eu nomeei de framework de 
aplicação, pois você deixa 100% da sua aplicação sob o seu controle.

 * Qual a diferença entre eles?

OPF é um único framework, Jazz, Infra e Press incluem OPF, MVP e outros 
badulaques.

 * Quais as vantagens de cada um deles?

OPF faz mapeamento objeto-relacional e persistência de objetos em bancos 
relacionais, flat tables, xml, etc. Veja mais detalhes em minha resposta 
ao Andreano.

Um framework de aplicação controla a persistência, a apresentação, 
notificações, validações, e para o caso específico do Press (não posso 
falar pelos demais), controla criação e destruição de instância de 
formulários e liga cada form a cada classe de negócio e um evento 
(incluir, alterar, registrar, etc.)

 Na verdade perguntei tudo isso por que lendo várias opiniões e posts em 
 fóruns das ferramentas acima (na verdade a única que eu não li muito foi o 
 PressObjects, mas por falta de tempo), achei que o DePO e o InstantObjects, 
 fazendo a persistencia do BD e grandes doses de OO, já foram pelo menos para 
 mim um grande avanço, já que eu posso ter uma unit apenas com as definições 
 pertinentes ao modelo relacional na minha aplicação e voilà, na camada de 
 apresentação posso usar o que quiser, sejam componentes DataWare ou 
 componentes non-DataWare (que nesse caso são a minha preferência).

Tens razão. O grande problema discutido aqui foi usar TDataset como 
objeto de negócio, e isso é um baita de um tiro no pé (no próprio pé e 
no pé do cliente). OPF resolve 70% dos teus problemas.

Os outros 30% ficam por conta do MVP, que ajuda você desacoplar 100% os 
teus componentes visuais da lógica da sua aplicação. Tem gente que acha 
que isso não é importante. Paciência, eu acho que é.

 Agora se Jazz e PressObjects fazem fazem algo além disso, gostaria de saber 
 exatamente o que fazem.

É o que eu disse um pouco acima. Infra, Jazz e Press controlam a sua 
aplicação, e faz com que você perca menos tempo repetindo o mesmo tipo 
de acerto em pontos distintos da aplicação, reduzindo drasticamente os 
bugs nos seus sistemas. Mas para isso você tem que usar *muita* 
orientação a objetos, e muita gente desiste antes de começar.

Se você quiser entrar de cabeça nesse conceito, recomendo que estude 
muita OOP, ela vai te ajudar bastante.

No mais, estamos aí.

--
João Morais


Re: [delphi-br] Re: Usar ou não usar DBWare s? Eis a questão!

2006-11-30 Por tôpico Joao Morais
Andreano Lanusse wrote:

 Pessoal,
  
 após diversas opiniões...
  
 Qualquer desenvolvimento é mais produtivo com os componentes DBWare, mas para 
 trabalhar com eles é bom que se entenda como funciona os eventos e os 
 componentes DataSet e DataSource.
  
 Ao longo de todos os softwares que desenvolvi nunca tive problemas com os  
 componentes, se algum comportamento dos componentes não estivesse de acordo 
 com a minha necessidade, bastava herdar e alterar o comportamente do mesmo.
  
 Avaliem a necessidade, estude os componentes, agora ter uma aplicação sem 
 nada de data ware por achar que não deve ter é uma decisão equivocada.

Andreano, não é achar que não deve ter, é ter certeza que não precisa ter.

É sempre questão de preferência. Falo por mim, estou apenas expondo 
vantagens de um modelo orientado a objetos perante o RAD (com exceção de 
usar TDataset como objeto de negócio - isso é roda quadrada).

Vou aproventar sua mensagem para citar uma vantagem de cada lado (de OPF 
e de MVP, lógico).

TDataset é orientado a tabela, OPF é orientado a objetos do domínio do 
problema.

==TDataset==
TabCliente.Open; // ou .Query := 'xx';
TabCliente.Locate(); // ou TabCliente.Open;
TabCliente.Edit
TabClienteNOME := 'Outro';
TabCliente.Post;
e se tiver Cached updates... transação...

==OPF==
Cliente := TCliente.Retrieve(ID); -- monta query, pesquisa, etc.
Cliente.Nome := 'Outro Nome';
Cliente.Save; -- cache, controle transacional, tudo aqui dentro.

E olha que eu escolhi um modelo de dados sem herança, pra ficar mumu pra 
TDataset.

==DBAware==

DBAware é orientado a TDataset (win32) e ainda assim fica pendurado em 
um componente (DB*) e a um datasource. Se você quer um componente 
'Combo' mais envenenado, ele tem que entender DBAware. Se o seu Dataset 
estiver em um DataModule e por desencargo do destino a ligação quebrar 
(nisso o Delphi melhorou um bocado), você tem que reabrir o form e 
refazer a bendita.

==MVP==

MVP é totalmente desacoplado, é o framework que entende o componente, e 
não o contrário. O formulário que usa o padrão MVP *não tem código*, 
você pode mandar os .pas e os .dfm para uma empresa de design, entregar 
uma licença de Delphi pra eles, eles usam qualquer componente que eles 
quiserem, você tras os novos formulários para o seu projeto e recompila. 
A única exigência é que os componentes continuem com o mesmo nome, 
porque MVP pode ser bom, mas não é feiticeiro.

Teria mais um monte pra falar, mas encerro aqui minha participação nessa 
thread com esse mini-artigo (a menos que os colegas tenham dúvidas).

--
João Morais


[delphi-br] session com idhttp

2006-11-30 Por tôpico Thiago Muniz
Ola pessoas, como eu faço para pegar o valor da sessão numa conexao com o 
componente idhttp ?
obs: Delphi 7

grato, thiago

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



[delphi-br] Zona Azul, off-top

2006-11-30 Por tôpico Sérgio Toshio Kawahara
Somente repassando

Zona Azul, saiba seus direitos

Esta informação é muito valida para nós contribuintes. 
Vamos aproveitar e fazer o nosso exercicio de cidadania. Zona Azul Revista 
Consultor Jurídico- O Estado de S. Paulo Dever de vigilância - Quem paga Zona 
Azul tem direito à segurança do carro.
Optando o Poder Público pela cobrança de remuneração de estacionamentos em 
vias públicas de uso comum do povo, tem o dever de vigiá-los, com 
responsabilidade pelos danos ali ocorridos. Assim,  a empresa Soil Serviços 
Técnicos e Consultoria de Santa Catarina, foi condenada a pagar indenização no 
valor de R$ 8,5 mil ao motorista Acácio Irineu Klemke, que teve o carro furtado 
quando ocupava uma das vagas do sistema de Zona Azul da cidade de Joinville, 
serviço explorado pela empresa. A decisão é da 1ª Câmara de Direito Civil do 
Tribunal de Justiça de Santa Catarina confirmando sentença da comarca de 
Joinville. Para se exercer a plena cidadania, é imprescindível a informação. 
Repasse-a, oportunizando o conhecimento a outras pessoas assim fazendo valer os 
seus direitos e também com isso retendo a indústria da multa, porque quem ainda 
não foi multado pelo Zona Azul?


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



Re: RES: [delphi-br] Re: Usar ou não usar DBWares? Eis a questão!

2006-11-30 Por tôpico Luiz Escobar
Nunca tive problema algum com DBWARE´s

Luiz Escobar
Analista/Desenvolvedor:
WEB - HTML/JavaScript/PHP/MySQL 
WINDOWS - Delphi/MyDAC/ASSEMBLER/MySQL/xBase
DOS - Clipper/Assembler xBase
SERVIDORES - NetWare4.11, LINUX-REDHAT9, WINDOWS-2k
LINUX - LAZARUS/Kylix/MySQL;
http://www.megasistema.com.br




  - Original Message - 
  From: Rubem Nascimento da Rocha 
  To: delphi-br@yahoogrupos.com.br 
  Sent: Wednesday, November 29, 2006 11:56 PM
  Subject: Re: RES: [delphi-br] Re: Usar ou não usar DBWares? Eis a questão!



  maniacapordelphi, eu lhe desafio vc a me dizer pq controles data-aware lhe 
  causam resultados inesperados! Se vc me provar isso, eu abandono tudo o que 
  eu sei hoje sobre o uso de controles data-aware.

  Sds.

  From: Joao Morais [EMAIL PROTECTED]
  Reply-To: delphi-br@yahoogrupos.com.br
  To: delphi-br@yahoogrupos.com.br
  Subject: Re: RES: [delphi-br] Re: Usar ou não usar DBWares? Eis a questão!
  Date: Wed, 29 Nov 2006 18:41:09 -0200
  
  maniacapordelphi wrote:
  
Confesso que DBWares tem furos e às vezes nos dão um resultado
inesperado sim. E nem sempre é rapido como se diz por aí. Pode
travar a rede em caso de grande numero de usuarios e quando se usa o
aplicativo através do Client Terminal, então?
  
  Se existisse alguma culpa, seria do TDataset e não do DBAware. Mas
  geralmente OPFs são mais lentos do que o TDataset braçal (ponto pro
  RAD), DBAware faz meramente a apresentação dos dados. Nesse caso
  concordo com os colegas Felipe e Walter, isso tem dedo do programador.
  
  --
  João Morais

  __
  MSN Busca: fácil, rápido, direto ao ponto. http://search.msn.com.br



   

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



Re: [delphi-br] Tem como pegar o retorno de um site?

2006-11-30 Por tôpico Thiago Muniz
Usa o componente idhttp do indy,

idhttp.get('http://seusite.com');


isso irá retornar a pagina ;)

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



[delphi-br] Erro em rede!!

2006-11-30 Por tôpico hernandes_sp
Instalei um programa em rede. Porém, quando mais de um usuário tenta
se conectar, dá o seguinte erro:

LOCK CONFLICT ON NO WAIT TRANSACTION DEADLOCK
UPDATE CONFLICTS WITH CONCURRENT UPDATE

O que pode estar acontecendo? Estou iniciando as transações e
commitando  normalmente. 



Re: [delphi-br] Re: Usar ou não usar DBWares? Eis a questão!

2006-11-30 Por tôpico Luiz Escobar
APOIADO...

Luiz Escobar
Analista/Desenvolvedor:



  Pessoal,

  após diversas opiniões...

  Qualquer desenvolvimento é mais produtivo com os componentes DBWare, mas para 
trabalhar com eles é bom que se entenda como funciona os eventos e os 
componentes DataSet e DataSource.

  Ao longo de todos os softwares que desenvolvi nunca tive problemas com os 
componentes, se algum comportamento dos componentes não estivesse de acordo com 
a minha necessidade, bastava herdar e alterar o comportamente do mesmo.

  Avaliem a necessidade, estude os componentes, agora ter uma aplicação sem 
nada de data ware por achar que não deve ter é uma decisão equivocada.

  Abraços,

  Andreano Lanusse
  System Engineer
  CodeGear

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



   

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



Re: [delphi-br] Re: Usar ou não usar DBWares? Eis a questão!

2006-11-30 Por tôpico Luiz Escobar
 Andreano, não é achar que não deve ter, é ter certeza que não precisa ter.
Opa, isso precisa ter muita base pra falar  né futuro matuzalem

É sempre questão de preferência. Falo por mim, estou apenas expondo 
vantagens de um modelo orientado a objetos perante o RAD (com exceção de 
usar TDataset como objeto de negócio - isso é roda quadrada).

HUmmm uma questao de preferencias.  agora melhorou

TDataset é orientado a tabela, OPF é orientado a objetos do domínio do 
problema.

==TDataset==
TabCliente.Open; // ou .Query := 'xx';
TabCliente.Locate(); // ou TabCliente.Open;
TabCliente.Edit
TabClienteNOME := 'Outro';
TabCliente.Post;
e se tiver Cached updates... transação...
ai vc coloca um APPLYUPDATE(-1) e ta tudo certo

==OPF==
Cliente := TCliente.Retrieve(ID); -- monta query, pesquisa, etc.
Cliente.Nome := 'Outro Nome';
Cliente.Save; -- cache, controle transacional, tudo aqui dentro.

E olha que eu escolhi um modelo de dados sem herança, pra ficar mumu pra 
TDataset.

Ta tirei o EDIT, quer dizer só mando o valor, sem dar um EDIT, mas tenho um 
SAVE = POST, os cache/transaction no OPF não existem ? onde eu faço varias 
alterações e mando salvar tudo de uma vez para que se der um problema eu possa 
fazer um ROLLBACK ???
Este exemplo ta meio desproporcional... 
Pra quem acha que EDIT´s são melhores que DBEDIT´s, isso ai Fudeu com tudo 
mesmo porque os controles ficaram mais ainda longe das mãos dos 
programadores não que eu não ache isso maravilhoso, muito pelo contrario, 
quanto menos codigo melhor...

BOM mas o que o OPF do RETRIEVE usou para se ligar ao BANCO ? não foi um DBWARE 
? tipo um TTABLE ? TQUERY ? TDATABASE ? e para visualizar as coisas, vou ter 
que fazer um label1.caption := cliente.nome ? 
Explique mais, ou mostre onde posso conseguir mais coisa to começando a 
gostar do bixim 

==DBAware==

DBAware é orientado a TDataset (win32) e ainda assim fica pendurado em 
um componente (DB*) e a um datasource. Se você quer um componente 
'Combo' mais envenenado, ele tem que entender DBAware. Se o seu Dataset 
estiver em um DataModule e por desencargo do destino a ligação quebrar 
(nisso o Delphi melhorou um bocado), você tem que reabrir o form e 
refazer a bendita.

é isso de quebrar realmente acontecia muito com D2 mas no D6 nunca 
aconteceu comigo

==MVP==

MVP é totalmente desacoplado, é o framework que entende o componente, e 
não o contrário. O formulário que usa o padrão MVP *não tem código*, 
você pode mandar os .pas e os .dfm para uma empresa de design, entregar 
uma licença de Delphi pra eles, eles usam qualquer componente que eles 
quiserem, você tras os novos formulários para o seu projeto e recompila. 
A única exigência é que os componentes continuem com o mesmo nome, 
porque MVP pode ser bom, mas não é feiticeiro.

HUmmm isso realmente parece bom...

Teria mais um monte pra falar, mas encerro aqui minha participação nessa 
thread com esse mini-artigo (a menos que os colegas tenham dúvidas).

Vixe... varias... mas vamos deixar para quando vc chegar no BETA ai eu vou ser 
um que vai querer testar isso ai... porque em PRÉ-ALFA, num vai dar

Valeu e obrigado



Luiz Escobar
Analista/Desenvolvedor:
WEB - HTML/JavaScript/PHP/MySQL 
WINDOWS - Delphi/MyDAC/ASSEMBLER/MySQL/xBase
DOS - Clipper/Assembler xBase
SERVIDORES - NetWare4.11, LINUX-REDHAT9, WINDOWS-2k
LINUX - LAZARUS/Kylix/MySQL;
http://www.megasistema.com.br


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



Re: [delphi-br] Re: Usar ou não usar DBWares? Eis a questão!

2006-11-30 Por tôpico Flavio Maltempe
Olá galera
Não acredito que o uso de TDataset seja ruim assim como citado, nem o uso de
componentes DB-aware.
Esse componentes são usados com muito sucesso aqui na empresa e ao mesmo
tempo conseguimos manter a aplicação com as três camadas (persistência,
regra de negócios e apresentação) muito bem separadas. Eu já tive alguns
problemas com db-aware, mas quando eu necessitava de alguma funcionalidade
um pouco diferente na interface, dai então carregava o componente com
dados via código. Mas fora isso, o datasource nos dá um ganho de
produtividade muito alto.
Quanto ao uso de objetos de negócio ao invés de Tdataset, como citado
anteriormente, não vejo vantagens na abordagem, já que necessita um duplo
trabalho ao trazer os dados do banco em Datasets (ou existe outra forma de
fazer) e depois popular objetos, tarefa essa realizada pelo OPF, e que
poderia ser feita em um passo apenas. Além disso, existem funcionalidades de
performance dos Datasets e Datasources como trazer os dados sobre demanda,
sem contar o sistema de clientdataset e providers que estão prontos e que
teriam que ser reimplementados pelo MVC.

Usamos uma abordagem ao desenvolver a SpeedCASE onde o padrão Adapter faz
com que as propriedades das classes de regras de negócio sejam mapedas para
os campos das tablelas de forma transparente pelo nosso framework de regras
de negócio, sem que se conheça qualquer detalhe da persistência, mas sem
perder funções importantes de Tdatasets, como Edit, Post e Apply e com a
possibilidade de usar db-aware, pois cada classe possui um dataset interno.

Bom, espero não ter me alongado muito e mostrado a abordagem que utilizamos
por aqui.

Abraço a todos

On 11/30/06, Joao Morais [EMAIL PROTECTED] wrote:

   Andreano Lanusse wrote:

  Pessoal,
 
  após diversas opiniões...
 
  Qualquer desenvolvimento é mais produtivo com os componentes DBWare, mas
 para trabalhar com eles é bom que se entenda como funciona os eventos e os
 componentes DataSet e DataSource.
 
  Ao longo de todos os softwares que desenvolvi nunca tive problemas com
 os componentes, se algum comportamento dos componentes não estivesse de
 acordo com a minha necessidade, bastava herdar e alterar o comportamente do
 mesmo.
 
  Avaliem a necessidade, estude os componentes, agora ter uma aplicação
 sem nada de data ware por achar que não deve ter é uma decisão equivocada.

 Andreano, não é achar que não deve ter, é ter certeza que não precisa ter.

 É sempre questão de preferência. Falo por mim, estou apenas expondo
 vantagens de um modelo orientado a objetos perante o RAD (com exceção de
 usar TDataset como objeto de negócio - isso é roda quadrada).

 Vou aproventar sua mensagem para citar uma vantagem de cada lado (de OPF
 e de MVP, lógico).

 TDataset é orientado a tabela, OPF é orientado a objetos do domínio do
 problema.

 ==TDataset==
 TabCliente.Open; // ou .Query := 'xx';
 TabCliente.Locate(); // ou TabCliente.Open;
 TabCliente.Edit
 TabClienteNOME := 'Outro';
 TabCliente.Post;
 e se tiver Cached updates... transação...

 ==OPF==
 Cliente := TCliente.Retrieve(ID); -- monta query, pesquisa, etc.
 Cliente.Nome := 'Outro Nome';
 Cliente.Save; -- cache, controle transacional, tudo aqui dentro.

 E olha que eu escolhi um modelo de dados sem herança, pra ficar mumu pra
 TDataset.

 ==DBAware==

 DBAware é orientado a TDataset (win32) e ainda assim fica pendurado em
 um componente (DB*) e a um datasource. Se você quer um componente
 'Combo' mais envenenado, ele tem que entender DBAware. Se o seu Dataset
 estiver em um DataModule e por desencargo do destino a ligação quebrar
 (nisso o Delphi melhorou um bocado), você tem que reabrir o form e
 refazer a bendita.

 ==MVP==

 MVP é totalmente desacoplado, é o framework que entende o componente, e
 não o contrário. O formulário que usa o padrão MVP *não tem código*,
 você pode mandar os .pas e os .dfm para uma empresa de design, entregar
 uma licença de Delphi pra eles, eles usam qualquer componente que eles
 quiserem, você tras os novos formulários para o seu projeto e recompila.
 A única exigência é que os componentes continuem com o mesmo nome,
 porque MVP pode ser bom, mas não é feiticeiro.

 Teria mais um monte pra falar, mas encerro aqui minha participação nessa
 thread com esse mini-artigo (a menos que os colegas tenham dúvidas).

 --
 João Morais

  




-- 
--
  Flávio G. Maltempe
  Publisoft Informática
  Maringá - PR
  http://www.publisoft.com.br
  http://www.speedcase.com.br
--


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



RE: [delphi-br] Re: Usar ou não usar DBWares? Eis a questão!

2006-11-30 Por tôpico Andreano Lanusse
O que você diz de OPF é o que o ECO faz.
 
mas unindo os 2 mundos DataWare e 100% OO



From: delphi-br@yahoogrupos.com.br [mailto:[EMAIL PROTECTED] On Behalf Of Joao 
Morais
Sent: Thursday, November 30, 2006 2:30 AM
To: delphi-br@yahoogrupos.com.br
Subject: Re: [delphi-br] Re: Usar ou não usar DBWares? Eis a questão!



Andreano Lanusse wrote:

 Pessoal,
 
 após diversas opiniões...
 
 Qualquer desenvolvimento é mais produtivo com os componentes DBWare, mas para 
 trabalhar com eles é bom que se entenda como funciona os eventos e os 
 componentes DataSet e DataSource.
 
 Ao longo de todos os softwares que desenvolvi nunca tive problemas com os 
 componentes, se algum comportamento dos componentes não estivesse de acordo 
 com a minha necessidade, bastava herdar e alterar o comportamente do mesmo.
 
 Avaliem a necessidade, estude os componentes, agora ter uma aplicação sem 
 nada de data ware por achar que não deve ter é uma decisão equivocada.

Andreano, não é achar que não deve ter, é ter certeza que não precisa ter.

É sempre questão de preferência. Falo por mim, estou apenas expondo 
vantagens de um modelo orientado a objetos perante o RAD (com exceção de 
usar TDataset como objeto de negócio - isso é roda quadrada).

Vou aproventar sua mensagem para citar uma vantagem de cada lado (de OPF 
e de MVP, lógico).

TDataset é orientado a tabela, OPF é orientado a objetos do domínio do 
problema.

==TDataset==
TabCliente.Open; // ou .Query := 'xx';
TabCliente.Locate(); // ou TabCliente.Open;
TabCliente.Edit
TabClienteNOME := 'Outro';
TabCliente.Post;
e se tiver Cached updates... transação...

==OPF==
Cliente := TCliente.Retrieve(ID); -- monta query, pesquisa, etc.
Cliente.Nome := 'Outro Nome';
Cliente.Save; -- cache, controle transacional, tudo aqui dentro.

E olha que eu escolhi um modelo de dados sem herança, pra ficar mumu pra 
TDataset.

==DBAware==

DBAware é orientado a TDataset (win32) e ainda assim fica pendurado em 
um componente (DB*) e a um datasource. Se você quer um componente 
'Combo' mais envenenado, ele tem que entender DBAware. Se o seu Dataset 
estiver em um DataModule e por desencargo do destino a ligação quebrar 
(nisso o Delphi melhorou um bocado), você tem que reabrir o form e 
refazer a bendita.

==MVP==

MVP é totalmente desacoplado, é o framework que entende o componente, e 
não o contrário. O formulário que usa o padrão MVP *não tem código*, 
você pode mandar os .pas e os .dfm para uma empresa de design, entregar 
uma licença de Delphi pra eles, eles usam qualquer componente que eles 
quiserem, você tras os novos formulários para o seu projeto e recompila. 
A única exigência é que os componentes continuem com o mesmo nome, 
porque MVP pode ser bom, mas não é feiticeiro.

Teria mais um monte pra falar, mas encerro aqui minha participação nessa 
thread com esse mini-artigo (a menos que os colegas tenham dúvidas).

--
João Morais


 


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



Re: [delphi-br] Tem como pegar o retorno de um site?

2006-11-30 Por tôpico Henry Maltz
Obrigado pelo retorno, Thiago. Tentei utilizar, porém ele demora e acaba
retornando Socket Erro # 10054 - Connection reset by peer, mesmo que o
site que eu coloquei ali seja válido(se eu coloco no browser ele retorna um
site).

E agora?

valeu!!!


On 11/30/06, Thiago Muniz [EMAIL PROTECTED] wrote:

   Usa o componente idhttp do indy,

 idhttp.get('http://seusite.com');

 isso irá retornar a pagina ;)

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

 



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



Re: [delphi-br] Re: Usar ou não usar DBWar es? Eis a questão!

2006-11-30 Por tôpico Welson Avelar
--- Joao Morais escreveu:
 Andreano, não é achar que não deve ter, é ter certeza que não precisa ter.
 
 É sempre questão de preferência. Falo por mim, estou apenas expondo 
 vantagens de um modelo orientado a objetos perante o RAD (com exceção de 
 usar TDataset como objeto de negócio - isso é roda quadrada).
 
 Vou aproventar sua mensagem para citar uma vantagem de cada lado (de OPF 
 e de MVP, lógico).
 
 TDataset é orientado a tabela, OPF é orientado a objetos do domínio do 
 problema.
 
[--x--]

[Welson] Só uma coisa: o que é OPF ?! define:opf no Google me retorna uma
parada da NASA. oO


[]s.

=
'O que me preocupa não é o grito dos maus. É o silêncio dos bons.'
Martin Luther King.
=
Welson de Avelar Soares Filho
Analista/Programador Delphi
Gemini Sistemas
www.geminisistemas.com.br
Juiz de Fora - Minas Gerais
=



___ 
O Yahoo! está de cara nova. Venha conferir! 
http://br.yahoo.com


[delphi-br] Validação mais inteligente

2006-11-30 Por tôpico Rodrigo
if (cpf  '000')and(cpf  '111')and(cpf  '222')
and(cpf  '333')and(cpf  '444')and(cpf  '555')
and(cpf  '666')and(cpf  '777')and(cpf  '888')
and(cpf  '999')then

galera tenho uma validação de CPF e tive que colocar esse codigo acima também
existe uma forma de validação...usando expressão regular..ou algo melhor do que 
o acima...?

qq sugestão é bem vinda.

abs.

Rodrigo Mota.


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



[delphi-br] DBExpress

2006-11-30 Por tôpico Fabio Dantas
   Pessoal vcs recomendam o uso da paleta dbExpress para acessar o
firebird ? ou melhor outro componente ?
 
 
Abraço
 
 


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



Re: [delphi-br] Framework MVP

2006-11-30 Por tôpico Luiz Escobar
Conheço o Paulo e o Marcos, os autores do artigo. Eles sabem sim do que 
estão falando. O problema é que o artigo poderia ser um pouco mais didático.

òtimo assim sabemos que o negocio esta certo então...

 Bom existe algum FRAMEWORK que não seja ALFA ou BETA e que
 já funcione 100% ou pelo menos 99% pra se produzir algo com facilidade 
 e produtividade assim como os DBWare´s. ???

O meu está em pré-alfa porque eu ainda preciso escrever os wizards, mas 
eu já tenho duas aplicações em produção feitas com ele.

PRÉ-ALFA  vc usuaria algo PRÉ-ALFA que vc não tem dominio sobre o que ta 
acontecendo de errado, DIGO:
vc usuaria algo PRÉ-ALFA em um desenvolvimento seu se fosse EU ou melhor a 
BORLAND estive-se desenvolvendo, em uma aplicação sua para instalar em um 
cliente seu e ficar ouvindo reclamações de erros insoluveis por causa do 
PRÉ-ALFA !?

Luiz Escobar
Analista/Desenvolvedor:
WEB - HTML/JavaScript/PHP/MySQL 
WINDOWS - Delphi/MyDAC/ASSEMBLER/MySQL/xBase
DOS - Clipper/Assembler xBase
SERVIDORES - NetWare4.11, LINUX-REDHAT9, WINDOWS-2k
LINUX - LAZARUS/Kylix/MySQL;
http://www.megasistema.com.br


  - Original Message - 
  From: Joao Morais 
  To: delphi-br@yahoogrupos.com.br 
  Sent: Wednesday, November 29, 2006 6:36 PM
  Subject: Re: [delphi-br] Framework MVP


  Luiz Escobar wrote:

   É realmente achei assustador hehehehe
   Creio que o cara não deve saber do que estava falando... 

  Conheço o Paulo e o Marcos, os autores do artigo. Eles sabem sim do que 
  estão falando. O problema é que o artigo poderia ser um pouco mais didático.

   Bom existe algum FRAMEWORK que não seja ALFA ou BETA e que já funcione 100% 
ou pelo menos 99% pra se produzir algo com facilidade e produtividade assim 
como os DBWare´s. ???

  O meu está em pré-alfa porque eu ainda preciso escrever os wizards, mas 
  eu já tenho duas aplicações em produção feitas com ele.

  --
  João Morais



   

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



[delphi-br] Re: Cadastro com relacionamento 1 p/ muitos

2006-11-30 Por tôpico Cleiton
Oi...

Esse relacionamento que você está querendo fazer está me parecendo um 
relacionamento de muitos pra muitos. Nesse caso seria melhor você criar uma 
tabela associativa. Daria menos trabalho e voce teria a solução ideal.
- Original Message - 
  From: carolinetcc 
  To: delphi-br@yahoogrupos.com.br 
  Sent: Wednesday, November 29, 2006 3:15 PM
  Subject: [delphi-br] Cadastro com relacionamento 1 p/ muitos


  Olá grupo!

  Seguinte, eu tenho um cadastro de EVENTOS, e dentro dele eu tenho a
  chave primária de MODALIDADE, pois eu preciso permitir que cada evento
  possa cadastrar modalidade.
  Só que eu preciso tb que meu sistema permita que se possa cadastrar
  quantas modalidades for preciso para cada evento.

  Eu estava usando o DBLookupComboBox mas este só me permite
  selecionar uma modalidade. Então tentei usar DBCheckBox, e setei o
  valor dele e tal... só que tb não está funcionando, pois quando eu
  clico em uma opção, eu preciso que o ID desta opção seja enviado ao
  meu banco de dados, e não está repassando essa informação.

  Alguém pode me ajudar?



   
-- 
Esta mensagem foi verificada pelo sistema de antivírus e
 acredita-se estar livre de perigo.



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



Re: [delphi-br] Validação mais inteligente

2006-11-30 Por tôpico Gabriel Filho
Function Occurs(T, S : ShortString) : Byte;
Var
P : Byte;
Begin
Result := 0;
P := Pos (T, S);
while P  0 do
begin
Inc (Result);
S := Copy (S, P + Length (T), 255);
P := Pos (T, S);
end;
End;

Essa funcao identifica quantas ocorrecias de um caracter há em uma string,


Desculpe nao postar a fonte mas tenho faz tempo e nao me lembro onde
consegui.
Mas se nao me engano foi o DTDelphi

espero ter ajudado

Codigo de Ex.:

usei isso no onValidate do campo

If (Occurs(copy((Sender as TField).Value,0,1),(Sender as TField).Value)11)
then





Em 30/11/06, Rodrigo [EMAIL PROTECTED] escreveu:

   if (cpf  '000')and(cpf  '111')and(cpf 
 '222')
 and(cpf  '333')and(cpf  '444')and(cpf 
 '555')
 and(cpf  '666')and(cpf  '777')and(cpf 
 '888')
 and(cpf  '999')then

 galera tenho uma validação de CPF e tive que colocar esse codigo acima
 também
 existe uma forma de validação...usando expressão regular..ou algo melhor
 do que o acima...?

 qq sugestão é bem vinda.

 abs.

 Rodrigo Mota.

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

  



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



RES: [delphi-br] Validação mais inteligente

2006-11-30 Por tôpico Valdir UOL
 

Porque vc já não valida se o cpf é valido?

 

Por exe:

 

//procedure para que só deixe digitar números

procedure TForm1.Edit1KeyPress(Sender: TObject; var Key: Char);

begin

if not (Key in['0'..'9',Chr(8)]) then Key:= #0;

end;

//função para verificar se o CPF é valido...

 

uses SysUtils;

 

function cpf(num: string): boolean;

var

n1,n2,n3,n4,n5,n6,n7,n8,n9: integer;

d1,d2: integer;

digitado, calculado: string;

begin

n1:=StrToInt(num[1]);

n2:=StrToInt(num[2]);

n3:=StrToInt(num[3]);

n4:=StrToInt(num[4]);

n5:=StrToInt(num[5]);

n6:=StrToInt(num[6]);

n7:=StrToInt(num[7]);

n8:=StrToInt(num[8]);

n9:=StrToInt(num[9]);

d1:=n9*2+n8*3+n7*4+n6*5+n5*6+n4*7+n3*8+n2*9+n1*10;

d1:=11-(d1 mod 11);

if d1=10 then d1:=0;

d2:=d1*2+n9*3+n8*4+n7*5+n6*6+n5*7+n4*8+n3*9+n2*10+n1*11;

d2:=11-(d2 mod 11);

if d2=10 then d2:=0;

calculado:=inttostr(d1)+inttostr(d2);

digitado:=num[10]+num[11];

if calculado=digitado then

  cpf:=true

else

  cpf:=false;

end;

 

 

Ats...

 

Valdir

 

 

 

 

 

 

 

  _  

De: delphi-br@yahoogrupos.com.br [mailto:[EMAIL PROTECTED] Em
nome de Rodrigo
Enviada em: quinta-feira, 30 de novembro de 2006 16:19
Para: delphi-br@yahoogrupos.com.br
Assunto: [delphi-br] Validação mais inteligente

 

if (cpf  '000')and(cpf  '111')and(cpf  '222')
and(cpf  '333')and(cpf  '444')and(cpf  '555')
and(cpf  '666')and(cpf  '777')and(cpf  '888')
and(cpf  '999')then

galera tenho uma validação de CPF e tive que colocar esse codigo acima
também
existe uma forma de validação...usando expressão regular..ou algo melhor do
que o acima...?

qq sugestão é bem vinda.

abs.

Rodrigo Mota.

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

 



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



Re: [delphi-br] DBExpress

2006-11-30 Por tôpico Fellipe Henrique
Olha, se você quer rapidez use o IBX, já com DBExpress você terá um pouco
mais de trabalho, mas o resultado é muito melhor...eu particularmente, nao
uso mais IBX, somente DBExpress...

[]s

Em 30/11/06, Fabio Dantas [EMAIL PROTECTED] escreveu:

Pessoal vcs recomendam o uso da paleta dbExpress para acessar o
 firebird ? ou melhor outro componente ?


 Abraço



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

  




-- 
_
Fellipe Henrique
[EMAIL PROTECTED]


Venham até a borda, ele disse.
Eles disseram: Nós temos medo.
Venham até a borda, ele insistiu.
Eles foram, Ele os empurrou...
E eles voaram.
(Guillaume Apollinaire)


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



[delphi-br] Re: Framework MVP

2006-11-30 Por tôpico Walter Chagas (Yahoo)
João,

Com o mais profundo respeito que o nobre colega é digno de merecer, 
mas acredito que você tentou, equivocadamente, defender um ponto de 
vista sobre um recurso que nada teria haver com sua proposta 
ideológica. Veja bem. De ontem pra hoje, que esta discussão começou, 
eu andei dando uma fuçada pela WEB em busca de mais insumos sobre o 
Frameork MVP, OPF, etc.. Quase tudo que encontrei, a nível de 
exemplos e código, é algo próximo daquele artigo da revista (Criar 
interface, instanciar classe, overrides, etc). Ou seja, Trocar 
DBWares por codificação massante, é um ponto de vista que torno a 
repetir, entra em total rota de colisão (com o transpoder desligado) 
com a proposta do Delphi, que é PRODUTIVIDADE e VELOCIDADE. O 
propósito do DBWare, como eu já disse aqui outra vezes, é ganhar 
tempo com coisas que não são prioridade e, muito menos, críticas no 
projeto. Sistemas temos que focar no propósito do mesmo (Regras de 
negócios e automatização de processos), procurando investir menos 
tempo em coisas triviais. Mas é pra estas coisas triviais é que temos 
esta plataforma proposta pelo Delphi. Para as regras de negocios, pro 
miolo do sistema, Pra alma da coisa, eu até concordo plenamente com 
você que podemos utilizar frameworks pois, acredito plenamente que 
facilitarão muito ao desenvolvedor com o trabalho pesado e crítico do 
sistema. mas usar coisas deste tipo pra coisas triviais no sistema, é 
meramente trabalho de caranguejo. Veja você que muitos aqui 
apareceram defendendo o DBWare. Muitos são contra mas são contra o 
DBWare. Agora defendendo o Framework, quantos de ontem pra hoje?

Cadê o exemplo que te pedimos aqui? Vimos um. O da revista 
ClubeDelphi e a rejeição por aquela ideia (comparando-se com o óbvio)
foi imediata e instantânea e com total razão. Se podemos montar uma 
tela de login e senha funcional e eficaz em questão de minutos, pra 
que que o camarada vai gastar horas e mais horas implementando uma 
classe ancestrando e descendendo praqui e pralí pra fazer uma coisa 
que há como ser feita mais rapidamente? Isso pra mim é querer dizer 
que a menor distancia entre dois pontos é uma curva e não uma reta... 

E veja você, que ao tentar apresentar um argumento, pra nos 
contestar, você vem e fala em um pré-alfa, uma coisa que ainda não 
está pronta e muito menos consolidada. Então tudo indica, que o que 
você aqui defende, é algo muito mais teórico do que prático não?

Mui respeitosamente.


[]s



Walter Alves Chagas Junior
Belo Horizonte - MG - Brazil
[EMAIL PROTECTED]
http://www.geocities.com/SiliconValley/Bay/1058
MSN: [EMAIL PROTECTED]


--- Em delphi-br@yahoogrupos.com.br, Luiz Escobar [EMAIL PROTECTED] 
escreveu

 Conheço o Paulo e o Marcos, os autores do artigo. Eles sabem sim 
do que 
 estão falando. O problema é que o artigo poderia ser um pouco 
mais didático.
 
 òtimo assim sabemos que o negocio esta certo então...
 
  Bom existe algum FRAMEWORK que não seja ALFA ou BETA e que
  já funcione 100% ou pelo menos 99% pra se produzir algo com 
facilidade 
  e produtividade assim como os DBWare´s. ???
 
 O meu está em pré-alfa porque eu ainda preciso escrever os 
wizards, mas 
 eu já tenho duas aplicações em produção feitas com ele.
 
 PRÉ-ALFA  vc usuaria algo PRÉ-ALFA que vc não tem dominio sobre 
o que ta acontecendo de errado, DIGO:
 vc usuaria algo PRÉ-ALFA em um desenvolvimento seu se fosse EU ou 
melhor a BORLAND estive-se desenvolvendo, em uma aplicação sua para 
instalar em um cliente seu e ficar ouvindo reclamações de erros 
insoluveis por causa do PRÉ-ALFA !?
 
 Luiz Escobar
 Analista/Desenvolvedor:
 WEB - HTML/JavaScript/PHP/MySQL 
 WINDOWS - Delphi/MyDAC/ASSEMBLER/MySQL/xBase
 DOS - Clipper/Assembler xBase
 SERVIDORES - NetWare4.11, LINUX-REDHAT9, WINDOWS-2k
 LINUX - LAZARUS/Kylix/MySQL;
 http://www.megasistema.com.br
 
 
   - Original Message - 
   From: Joao Morais 
   To: delphi-br@yahoogrupos.com.br 
   Sent: Wednesday, November 29, 2006 6:36 PM
   Subject: Re: [delphi-br] Framework MVP
 
 
   Luiz Escobar wrote:
 
É realmente achei assustador hehehehe
Creio que o cara não deve saber do que estava falando... 
 
   Conheço o Paulo e o Marcos, os autores do artigo. Eles sabem sim 
do que 
   estão falando. O problema é que o artigo poderia ser um pouco 
mais didático.
 
Bom existe algum FRAMEWORK que não seja ALFA ou BETA e que já 
funcione 100% ou pelo menos 99% pra se produzir algo com facilidade e 
produtividade assim como os DBWare´s. ???
 
   O meu está em pré-alfa porque eu ainda preciso escrever os 
wizards, mas 
   eu já tenho duas aplicações em produção feitas com ele.
 
   --
   João Morais
 
 
 

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





Re: [delphi-br] Framework MVP

2006-11-30 Por tôpico Joao Morais
Luiz Escobar wrote:

 PRÉ-ALFA  vc usuaria algo PRÉ-ALFA que vc não tem dominio sobre o que ta 
 acontecendo de errado, DIGO:
 vc usuaria algo PRÉ-ALFA em um desenvolvimento seu se fosse EU ou melhor a 
 BORLAND estive-se desenvolvendo, em uma aplicação sua para instalar em um 
 cliente seu e ficar ouvindo reclamações de erros insoluveis por causa do 
 PRÉ-ALFA !?

Se você prefere assim, vamos dar nomes às coisas separadas por categoria:

- Application, Subjects, MVP, Notifier, broker para Persistência, broker 
para relatório (mais uns paranhos que eu devo ter esquecido): Stable;

- Wizards: Em estudo;

--
João Morais


[delphi-br] OFF: Pra quem ainda não viu!

2006-11-30 Por tôpico Robson
Galera, quem ainda não viu o novo layout e fórum dá ActiveDelphi acessa lá 
www.activedelphi.com.br 
Achei que melhorou muito

abraços !
Robson

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



Re: [delphi-br] DBExpress

2006-11-30 Por tôpico Henrique Netzka \(Vetor Sistemas\)
Fellipe,

Aproveitando que você comentou, me diga uma coisa... Como você faz com os 
generators? Pq na IBX é fácil, ele pega o valor do generator e está tranqüilo; 
mas o DBExpress não tem essa facilidade. Já pensei em alguns métodos ,mas me 
parecem meio toscos (do tipo buscar o valor do generator antes de gravar o 
registro). Tem alguma forma mais direta de trabalhar com generator e 
ClientDataSets?

Abraços
Henrique Netzka

  - Original Message - 
  From: Fellipe Henrique 
  To: delphi-br@yahoogrupos.com.br 
  Sent: Thursday, November 30, 2006 4:00 PM
  Subject: Re: [delphi-br] DBExpress


  Olha, se você quer rapidez use o IBX, já com DBExpress você terá um pouco
  mais de trabalho, mas o resultado é muito melhor...eu particularmente, nao
  uso mais IBX, somente DBExpress...

  []s

  Em 30/11/06, Fabio Dantas [EMAIL PROTECTED] escreveu:
  
   Pessoal vcs recomendam o uso da paleta dbExpress para acessar o
   firebird ? ou melhor outro componente ?
  
  
   Abraço
  
  
  
   [As partes desta mensagem que não continham texto foram removidas]
  
   
  

  -- 
  _
  Fellipe Henrique
  [EMAIL PROTECTED]

  Venham até a borda, ele disse.
  Eles disseram: Nós temos medo.
  Venham até a borda, ele insistiu.
  Eles foram, Ele os empurrou...
  E eles voaram.
  (Guillaume Apollinaire)

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



   

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



Re: [delphi-br] Re: Usar ou não usar DBWare s? Eis a questão!

2006-11-30 Por tôpico Joao Morais
Andreano Lanusse wrote:
 O que você diz de OPF é o que o ECO faz.
  
 mas unindo os 2 mundos DataWare e 100% OO

Apenas para fins de esclarecimento:

- Eu não disse que a Borland não tem um framework OPF;
- 100% OO é uma opinião, e não um fato.

--
João Morais


Re: [delphi-br] Validação mais inteligente

2006-11-30 Por tôpico Henrique Netzka \(Vetor Sistemas\)
Mas essa funçao é bem mais demorada do que fazer a comparação direta... Além do 
quê, se são exceções (pq 111 não é um CPF válido, então a validação é 
para deixá-lo passar, certo?!), é melhor deixar o mais visível possível (acho 
eu). Porque exceções não são esperadas pelo próximo programador que vai pegar o 
código, então é melhor q fique mais visível pra este!

De qualquer forma, antes que gere qualquer polêmica, eu sei que a velocidade de 
ambas as formas é ridícula e desprezível! Mas bem, já li até críticas sobre o 
FieldByName pelo consumo de processamento; então, para os que se preocupam 
com a velocidade do FieldByName, se preocupem também com a velocidade de usar 
uma função como essa (Occurs) em relação à comparação direta. :)

Gabriel, não leve a mal ok?! Só comentando e discutindo mesmo...

Henrique Netzka

  - Original Message - 
  From: Gabriel Filho 
  To: delphi-br@yahoogrupos.com.br 
  Sent: Thursday, November 30, 2006 3:41 PM
  Subject: Re: [delphi-br] Validação mais inteligente


  Function Occurs(T, S : ShortString) : Byte;
  Var
  P : Byte;
  Begin
  Result := 0;
  P := Pos (T, S);
  while P  0 do
  begin
  Inc (Result);
  S := Copy (S, P + Length (T), 255);
  P := Pos (T, S);
  end;
  End;

  Essa funcao identifica quantas ocorrecias de um caracter há em uma string,

  Desculpe nao postar a fonte mas tenho faz tempo e nao me lembro onde
  consegui.
  Mas se nao me engano foi o DTDelphi

  espero ter ajudado

  Codigo de Ex.:

  usei isso no onValidate do campo

  If (Occurs(copy((Sender as TField).Value,0,1),(Sender as TField).Value)11)
  then

  Em 30/11/06, Rodrigo [EMAIL PROTECTED] escreveu:
  
   if (cpf  '000')and(cpf  '111')and(cpf 
   '222')
   and(cpf  '333')and(cpf  '444')and(cpf 
   '555')
   and(cpf  '666')and(cpf  '777')and(cpf 
   '888')
   and(cpf  '999')then
  
   galera tenho uma validação de CPF e tive que colocar esse codigo acima
   também
   existe uma forma de validação...usando expressão regular..ou algo melhor
   do que o acima...?
  
   qq sugestão é bem vinda.
  
   abs.
  
   Rodrigo Mota.
  
   [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: [delphi-br] DBExpress

2006-11-30 Por tôpico Fellipe Henrique
Olá Henrique, eu não uso generators... a não ser pra tabelas filhas,  tenho
uma funcao que guarda em uma tabela o numero de cada campo chave.

O ideal é isso mesmo, vc ter o codigo no OnNewRecord...

[]s

Em 30/11/06, Henrique Netzka (Vetor Sistemas) [EMAIL PROTECTED]
escreveu:

   Fellipe,

 Aproveitando que você comentou, me diga uma coisa... Como você faz com os
 generators? Pq na IBX é fácil, ele pega o valor do generator e está
 tranqüilo; mas o DBExpress não tem essa facilidade. Já pensei em alguns
 métodos ,mas me parecem meio toscos (do tipo buscar o valor do generator
 antes de gravar o registro). Tem alguma forma mais direta de trabalhar com
 generator e ClientDataSets?

 Abraços
 Henrique Netzka

 - Original Message -
 From: Fellipe Henrique
 To: delphi-br@yahoogrupos.com.br delphi-br%40yahoogrupos.com.br
 Sent: Thursday, November 30, 2006 4:00 PM
 Subject: Re: [delphi-br] DBExpress

 Olha, se você quer rapidez use o IBX, já com DBExpress você terá um pouco
 mais de trabalho, mas o resultado é muito melhor...eu particularmente, nao
 uso mais IBX, somente DBExpress...

 []s

 Em 30/11/06, Fabio Dantas [EMAIL PROTECTED]dmsdantas%40astra-sa.com.br
 escreveu:
 
  Pessoal vcs recomendam o uso da paleta dbExpress para acessar o
  firebird ? ou melhor outro componente ?
 
 
  Abraço
 
 
 
  [As partes desta mensagem que não continham texto foram removidas]
 
 
 

 --
 _
 Fellipe Henrique
 [EMAIL PROTECTED] fellipeh%40gmail.com

 Venham até a borda, ele disse.
 Eles disseram: Nós temos medo.
 Venham até a borda, ele insistiu.
 Eles foram, Ele os empurrou...
 E eles voaram.
 (Guillaume Apollinaire)

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

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

  




-- 
_
Fellipe Henrique
[EMAIL PROTECTED]


Venham até a borda, ele disse.
Eles disseram: Nós temos medo.
Venham até a borda, ele insistiu.
Eles foram, Ele os empurrou...
E eles voaram.
(Guillaume Apollinaire)


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



RES: [delphi-br] DBExpress

2006-11-30 Por tôpico Valdir UOL
Pra mim é o melhor...

 

  _  

De: delphi-br@yahoogrupos.com.br [mailto:[EMAIL PROTECTED] Em
nome de Fabio Dantas
Enviada em: quinta-feira, 30 de novembro de 2006 15:06
Para: delphi-br@yahoogrupos.com.br
Assunto: [delphi-br] DBExpress

 

Pessoal vcs recomendam o uso da paleta dbExpress para acessar o
firebird ? ou melhor outro componente ?


Abraço



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

 



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



Re: [delphi-br] Re: Usar ou não usar DBWare s? Eis a questão!

2006-11-30 Por tôpico Joao Morais
Welson Avelar wrote:
 --- Joao Morais escreveu:
 Andreano, não é achar que não deve ter, é ter certeza que não precisa ter.

 É sempre questão de preferência. Falo por mim, estou apenas expondo 
 vantagens de um modelo orientado a objetos perante o RAD (com exceção de 
 usar TDataset como objeto de negócio - isso é roda quadrada).

 Vou aproventar sua mensagem para citar uma vantagem de cada lado (de OPF 
 e de MVP, lógico).

 TDataset é orientado a tabela, OPF é orientado a objetos do domínio do 
 problema.

 [--x--]
 
 [Welson] Só uma coisa: o que é OPF ?! define:opf no Google me retorna uma
 parada da NASA. oO

Object Persistence Framework. É o framework que torna coisas como isto 
aqui possíveis:

Cliente := TCliente.Create;
Cliente.NomeCampo := Valor;
Cliente.Save;

Procurei na wikipedia sem sucesso. Sinistro.

Esse é o artigo do pai da idéia (inglês):
http://www.ambysoft.com/persistenceLayer.html

Tem uns artigos no www.oodesign.com.br também.

--
João Morais


RES: [delphi-br] Re: Usar ou não usar DBWares? Eis a questão!

2006-11-30 Por tôpico anderson
É possivel então eu ter o OPF com ECO, continuando usando DBWares e utilizar
MVP 

 

  _  

De: delphi-br@yahoogrupos.com.br [mailto:[EMAIL PROTECTED] Em
nome de Joao Morais
Enviada em: quinta-feira, 30 de novembro de 2006 15:11
Para: delphi-br@yahoogrupos.com.br
Assunto: Re: [delphi-br] Re: Usar ou não usar DBWares? Eis a questão!

 

Andreano Lanusse wrote:
 O que você diz de OPF é o que o ECO faz.
 
 mas unindo os 2 mundos DataWare e 100% OO

Apenas para fins de esclarecimento:

- Eu não disse que a Borland não tem um framework OPF;
- 100% OO é uma opinião, e não um fato.

--
João Morais

 



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



Re: [delphi-br] DBExpress

2006-11-30 Por tôpico Marcelo
Henrique Netzka (Vetor Sistemas) escreveu:

 Fellipe,

 Aproveitando que você comentou, me diga uma coisa... Como você faz com 
 os generators? Pq na IBX é fácil, ele pega o valor do generator e está 
 tranqüilo; mas o DBExpress não tem essa facilidade. Já pensei em 
 alguns métodos ,mas me parecem meio toscos (do tipo buscar o valor do 
 generator antes de gravar o registro). Tem alguma forma mais direta de 
 trabalhar com generator e ClientDataSets?

 Abraços
 Henrique Netzka

 - Original Message -
 From: Fellipe Henrique
 To: delphi-br@yahoogrupos.com.br mailto:delphi-br%40yahoogrupos.com.br
 Sent: Thursday, November 30, 2006 4:00 PM
 Subject: Re: [delphi-br] DBExpress

 Olha, se você quer rapidez use o IBX, já com DBExpress você terá um pouco
 mais de trabalho, mas o resultado é muito melhor...eu particularmente, nao
 uso mais IBX, somente DBExpress...

 []s

 Em 30/11/06, Fabio Dantas [EMAIL PROTECTED] 
 mailto:dmsdantas%40astra-sa.com.br escreveu:
 
  Pessoal vcs recomendam o uso da paleta dbExpress para acessar o
  firebird ? ou melhor outro componente ?
 
 
  Abraço
 
 
 
  [As partes desta mensagem que não continham texto foram removidas]
 
 
 

 -- 
 _
 Fellipe Henrique
 [EMAIL PROTECTED] mailto:fellipeh%40gmail.com

 Venham até a borda, ele disse.
 Eles disseram: Nós temos medo.
 Venham até a borda, ele insistiu.
 Eles foram, Ele os empurrou...
 E eles voaram.
 (Guillaume Apollinaire)

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

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

 



Internal Virus Database is out-of-date.
Checked by AVG Free Edition.
Version: 7.1.408 / Virus Database: 268.13.6/486 - Release Date: 19/10/2006
  

Olha amigo se voce tem condicoes $$ vc poderia usar o IBO. Mas tem um 
excelente e free é o ZeosLib. O IBX tb é uma boa alternativa, é nativo 
do Delphi. O DBExpress com toda sinceridade nunca usei.


Re: [delphi-br] DBExpress

2006-11-30 Por tôpico Fellipe Henrique
Os Generators? Como você controla pra não perder a numeração? Vamos dizer
com umas 5 máquinas em rede, lançando pedido?


[]s

Em 30/11/06, Valdir UOL [EMAIL PROTECTED] escreveu:

   Pra mim é o melhor...

 _

 De: delphi-br@yahoogrupos.com.br delphi-br%40yahoogrupos.com.br [mailto:
 delphi-br@yahoogrupos.com.br delphi-br%40yahoogrupos.com.br] Em
 nome de Fabio Dantas
 Enviada em: quinta-feira, 30 de novembro de 2006 15:06
 Para: delphi-br@yahoogrupos.com.br delphi-br%40yahoogrupos.com.br
 Assunto: [delphi-br] DBExpress

 Pessoal vcs recomendam o uso da paleta dbExpress para acessar o
 firebird ? ou melhor outro componente ?

 Abraço

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

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

  




-- 
_
Fellipe Henrique
[EMAIL PROTECTED]


Venham até a borda, ele disse.
Eles disseram: Nós temos medo.
Venham até a borda, ele insistiu.
Eles foram, Ele os empurrou...
E eles voaram.
(Guillaume Apollinaire)


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



[delphi-br] Verificar programa em execução

2006-11-30 Por tôpico Herbert Meiners Jr
Pessoal, boa tarde!

Gostaria de saber como faço para verificar se um programa está em execução, e 
caso não esteja, como faço para abrir.

Preciso abrir um executável dentro de um outro.

Att,
Herbert Junior

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



Re: [delphi-br] DBExpress

2006-11-30 Por tôpico Marcelo
Olha amigo se voce tem condicoes $$ vc poderia usar o IBO. Mas tem um
excelente e free é o ZeosLib. O IBX tb é uma boa alternativa, é nativo
do Delphi. O DBExpress com toda sinceridade nunca usei.


Fellipe Henrique escreveu:

 Os Generators? Como você controla pra não perder a numeração? Vamos dizer
 com umas 5 máquinas em rede, lançando pedido?

 []s

 Em 30/11/06, Valdir UOL [EMAIL PROTECTED] 
 mailto:vcadanos%40uol.com.br escreveu:
 
  Pra mim é o melhor...
 
  _
 
  De: delphi-br@yahoogrupos.com.br 
 mailto:delphi-br%40yahoogrupos.com.br 
 delphi-br%40yahoogrupos.com.br [mailto:
  delphi-br@yahoogrupos.com.br mailto:delphi-br%40yahoogrupos.com.br 
 delphi-br%40yahoogrupos.com.br] Em
  nome de Fabio Dantas
  Enviada em: quinta-feira, 30 de novembro de 2006 15:06
  Para: delphi-br@yahoogrupos.com.br 
 mailto:delphi-br%40yahoogrupos.com.br delphi-br%40yahoogrupos.com.br
  Assunto: [delphi-br] DBExpress
 
  Pessoal vcs recomendam o uso da paleta dbExpress para acessar o
  firebird ? ou melhor outro componente ?
 
  Abraço
 
  [As partes desta mensagem que não continham texto foram removidas]
 
  [As partes desta mensagem que não continham texto foram removidas]
 
 
 

 -- 
 _
 Fellipe Henrique
 [EMAIL PROTECTED] mailto:fellipeh%40gmail.com

 Venham até a borda, ele disse.
 Eles disseram: Nós temos medo.
 Venham até a borda, ele insistiu.
 Eles foram, Ele os empurrou...
 E eles voaram.
 (Guillaume Apollinaire)

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

 



Internal Virus Database is out-of-date.
Checked by AVG Free Edition.
Version: 7.1.408 / Virus Database: 268.13.6/486 - Release Date: 19/10/2006
  




Re: [delphi-br] DBExpress

2006-11-30 Por tôpico Marcelo
Henrique Netzka (Vetor Sistemas) escreveu:

 Fellipe,

 Aproveitando que você comentou, me diga uma coisa... Como você faz com 
 os generators? Pq na IBX é fácil, ele pega o valor do generator e está 
 tranqüilo; mas o DBExpress não tem essa facilidade. Já pensei em 
 alguns métodos ,mas me parecem meio toscos (do tipo buscar o valor do 
 generator antes de gravar o registro). Tem alguma forma mais direta de 
 trabalhar com generator e ClientDataSets?

 Abraços
 Henrique Netzka

 - Original Message -
 From: Fellipe Henrique
 To: delphi-br@yahoogrupos.com.br mailto:delphi-br%40yahoogrupos.com.br
 Sent: Thursday, November 30, 2006 4:00 PM
 Subject: Re: [delphi-br] DBExpress

 Olha, se você quer rapidez use o IBX, já com DBExpress você terá um pouco
 mais de trabalho, mas o resultado é muito melhor...eu particularmente, nao
 uso mais IBX, somente DBExpress...

 []s

 Em 30/11/06, Fabio Dantas [EMAIL PROTECTED] 
 mailto:dmsdantas%40astra-sa.com.br escreveu:
 
  Pessoal vcs recomendam o uso da paleta dbExpress para acessar o
  firebird ? ou melhor outro componente ?
 
 
  Abraço
 
 
 
  [As partes desta mensagem que não continham texto foram removidas]
 
 
 

 -- 
 _
 Fellipe Henrique
 [EMAIL PROTECTED] mailto:fellipeh%40gmail.com

 Venham até a borda, ele disse.
 Eles disseram: Nós temos medo.
 Venham até a borda, ele insistiu.
 Eles foram, Ele os empurrou...
 E eles voaram.
 (Guillaume Apollinaire)

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

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

 



Internal Virus Database is out-of-date.
Checked by AVG Free Edition.
Version: 7.1.408 / Virus Database: 268.13.6/486 - Release Date: 19/10/2006
  

Olha amigo se voce tem condicoes $$ vc poderia usar o IBO. Mas tem um
excelente e free é o ZeosLib. O IBX tb é uma boa alternativa, é nativo
do Delphi. O DBExpress com toda sinceridade nunca usei.



Re: [delphi-br] COLORIR LINHAS DO DBGRID

2006-11-30 Por tôpico Marcio William
Rubem, as dicas que eu achei na web eh para GRID nao para DBGRID.
De qualquer forma vou checar o JEDI. Obrigado.

Atenciosamente,

Marcio William

- Original Message - 
From: Rubem Nascimento da Rocha [EMAIL PROTECTED]
To: delphi-br@yahoogrupos.com.br
Sent: Thursday, November 30, 2006 9:11 AM
Subject: RE: [delphi-br] COLORIR LINHAS DO DBGRID


 Dica na internet sobre isso tem a botão (Como fazer um grid zebrado?, e
 coisas do tipo). O google pode dar uma força nisso. Agora, se vc ñ quer 
 ter
 trabalho, o TJvDBGrid da suite JEDI VCL já tem propriedades pra tratar 
 isso
 de forma transparente.

 Sds.


From: Marcio William [EMAIL PROTECTED]
Reply-To: delphi-br@yahoogrupos.com.br
To: delphi-br@yahoogrupos.com.br
Subject: [delphi-br] COLORIR LINHAS DO DBGRID
Date: Thu, 30 Nov 2006 08:43:13 -0200

Tem como colorir as linhas do DBGRID em RUN-TIME, seria no caso de cliente
em debito aparecer em vermelho  e os demais em branco mesmo?

Atenciosamente,

Marcio William


 _
 MSN Busca: fácil, rápido, direto ao ponto.  http://search.msn.com.br



 -- 
  FAVOR REMOVER ESTA PARTE AO RESPONDER ESTA MENSAGEM 

 Links do Yahoo! Grupos




 -- 
 No virus found in this incoming message.
 Checked by AVG Free Edition.
 Version: 7.5.430 / Virus Database: 268.14.19/555 - Release Date: 
 27/11/2006 18:09

 



Re: [delphi-br] Re: Framework MVP

2006-11-30 Por tôpico Joao Morais
Walter Chagas (Yahoo) wrote:

 João,
 
 Com o mais profundo respeito que o nobre colega é digno de merecer, 
 mas acredito que você tentou, equivocadamente, defender um ponto de 
 vista sobre um recurso que nada teria haver com sua proposta 
 ideológica.


Walter,

igualmente, com o mais profundo respeito que tenho à sua pessoa, mas 
você tem misturado alhos com bugalhos.

1. tudo o que você conseguiu encontrar na web são implementações do 
padrão MVP, e não formas de uso. Veja que, quando você escreve um 
projeto usando DBWare, você não escreve DBWare, você o utiliza. O artigo 
do Paulo fala da implementação interna do padrão. Você, por acaso, 
ficaria assustado se lesse um artigo sobre como os componentes DBWare 
funcionam?

2. eu defendi um ponto de vista com base em experiência própria. MVP 
pode não ser mais produtivo do que DBWare quando você tem 15 minutos 
para concluir um projeto (e olhe lá), mas se você tiver algumas horas 
você pode escrever sob o padrão MVP de forma tão produtiva quanto usando 
DBWare. Repito - você não precisa escrever MVP, você o utiliza. Exemplo: 
eu te garanto que faço uma agendinha telefônica em Press com login de 
acesso, privilégios de usuários, opção desabilitada para usuários com 
menos privilégios, meia dúzia de relatórios personalizáveis (filtros, 
quantos quiser) em apenas uma tarde. Com os testes. Isto porque tudo o 
que eu citei - o login, os acessos, os relatórios personalizáveis, assim 
como usar o padrão MVP, são recursos reutilizáveis. Você faz uma vez e 
depois usa o modelo já criado. Você acha que, ao mesmo tempo que eu falo 
em OOP, eu escreveria uma renca de coisa repetida em cada projeto?

3. meu projeto está em pré-alfa porque eu não comecei a escrever tudo o 
que tenho para a primeira versão, mas se você me fizesse a pergunta ao 
invés de arremessar um tijolo, eu citaria que tudo o que está escrito 
está suficientemente estável para que eu coloque em produção em meus 
próprios clientes. Ou você acha que libero sistemas dando pau sem mais 
nem menos?

O que está escrito aqui também está escrito em algumas outras mensagens 
por esta lista, espero não ter sido repetitivo. Permita-me saber se eu 
posso ser útil em mais algum esclarecimento. Sim, por favor, pergunte e 
não tire conclusões precipitadas, você parece estar me tirando pra doido.

Agora eu preciso cumprir a promessa que fiz ao Andreano antes que 
coloquem meu nome na quarentena (se é que já não estou).

--
João Morais



 Veja bem. De ontem pra hoje, que esta discussão começou, 
 eu andei dando uma fuçada pela WEB em busca de mais insumos sobre o 
 Frameork MVP, OPF, etc.. Quase tudo que encontrei, a nível de 
 exemplos e código, é algo próximo daquele artigo da revista (Criar 
 interface, instanciar classe, overrides, etc). Ou seja, Trocar 
 DBWares por codificação massante, é um ponto de vista que torno a 
 repetir, entra em total rota de colisão (com o transpoder desligado) 
 com a proposta do Delphi, que é PRODUTIVIDADE e VELOCIDADE. O 
 propósito do DBWare, como eu já disse aqui outra vezes, é ganhar 
 tempo com coisas que não são prioridade e, muito menos, críticas no 
 projeto. Sistemas temos que focar no propósito do mesmo (Regras de 
 negócios e automatização de processos), procurando investir menos 
 tempo em coisas triviais. Mas é pra estas coisas triviais é que temos 
 esta plataforma proposta pelo Delphi. Para as regras de negocios, pro 
 miolo do sistema, Pra alma da coisa, eu até concordo plenamente com 
 você que podemos utilizar frameworks pois, acredito plenamente que 
 facilitarão muito ao desenvolvedor com o trabalho pesado e crítico do 
 sistema. mas usar coisas deste tipo pra coisas triviais no sistema, é 
 meramente trabalho de caranguejo. Veja você que muitos aqui 
 apareceram defendendo o DBWare. Muitos são contra mas são contra o 
 DBWare. Agora defendendo o Framework, quantos de ontem pra hoje?
 
 Cadê o exemplo que te pedimos aqui? Vimos um. O da revista 
 ClubeDelphi e a rejeição por aquela ideia (comparando-se com o óbvio)
 foi imediata e instantânea e com total razão. Se podemos montar uma 
 tela de login e senha funcional e eficaz em questão de minutos, pra 
 que que o camarada vai gastar horas e mais horas implementando uma 
 classe ancestrando e descendendo praqui e pralí pra fazer uma coisa 
 que há como ser feita mais rapidamente? Isso pra mim é querer dizer 
 que a menor distancia entre dois pontos é uma curva e não uma reta... 
 
 E veja você, que ao tentar apresentar um argumento, pra nos 
 contestar, você vem e fala em um pré-alfa, uma coisa que ainda não 
 está pronta e muito menos consolidada. Então tudo indica, que o que 
 você aqui defende, é algo muito mais teórico do que prático não?
 
 Mui respeitosamente.
 
 
 []s
 
 
 
 Walter Alves Chagas Junior
 Belo Horizonte - MG - Brazil
 [EMAIL PROTECTED]
 http://www.geocities.com/SiliconValley/Bay/1058
 MSN: [EMAIL PROTECTED]
 
 
 --- Em delphi-br@yahoogrupos.com.br, Luiz Escobar [EMAIL PROTECTED] 
 

Re: [delphi-br] Problema com o Quick Report

2006-11-30 Por tôpico Marcelo
Moked - Thiago (Brasil) escreveu:

 Bom dia colegas Delphianos,

 Estou tendo um problema na hora de gerar um relatório,
 estou utilizando um componente do tipo QRMemo, para receber os dados, 
 conforme parte do código abaixo, mas quando o relatório é gerado,
 somente aparece os dados do 1ºregistro do banco ou do último registro

 ele não fica passando de um a um, como os campos .DataField

 Alguém teria uma sugestão??

 eu tentei.. abrir o ClientDataSet.. e dar um first. depois dentro do 
 laço colocar um next... e não adiantou...

 for i := 0 to RecordCount-1 do
 begin
 qrdbDadoAten0.DataField := 'AteCodi';
 qrdbDadoAten3.DataField := 'UsuNome';
 qrdbNomeProcurador.DataField := 'pro_nome';
 qrdbAtend1.DataField := 'His_Data';
 qrdbDadoAte2.DataField := 'HisDura';
 qrdbSituacao.DataField := 'ate_situ';
 mmAteDesc.Lines.Text := fieldbyname('AteDesc').AsString;
 end;


 Thiago Filiano

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

 



Internal Virus Database is out-of-date.
Checked by AVG Free Edition.
Version: 7.1.408 / Virus Database: 268.13.6/486 - Release Date: 19/10/2006
  

Voce experimentou fazer assim:

mmAteDesc.Lines.Add(fieldbyname('AteDesc').AsString)   ???

Espero ter ajudado






Re: [delphi-br] Re: Usar ou não usar DBWare s? Eis a questão!

2006-11-30 Por tôpico Joao Morais
Luiz Escobar wrote:

 ==OPF==
 Cliente := TCliente.Retrieve(ID); -- monta query, pesquisa, etc.
 Cliente.Nome := 'Outro Nome';
 Cliente.Save; -- cache, controle transacional, tudo aqui dentro.
 
 E olha que eu escolhi um modelo de dados sem herança, pra ficar mumu pra 
 TDataset.
 
 Ta tirei o EDIT, quer dizer só mando o valor, sem dar um EDIT, mas tenho um 
 SAVE = POST, os cache/transaction no OPF não existem ? onde eu faço varias 
 alterações e mando salvar tudo de uma vez para que se der um problema eu 
 possa fazer um ROLLBACK ???
 Este exemplo ta meio desproporcional...

Por favor, esclareça melhor a sua dúvida (ou as dúvidas).

 Pra quem acha que EDIT´s são melhores que DBEDIT´s, isso ai Fudeu com tudo 
 mesmo porque os controles ficaram mais ainda longe das mãos dos 
 programadores não que eu não ache isso maravilhoso, muito pelo contrario, 
 quanto menos codigo melhor...

Que controles você precisa?

 BOM mas o que o OPF do RETRIEVE usou para se ligar ao BANCO ? não foi um 
 DBWARE ? tipo um TTABLE ? TQUERY ? TDATABASE ? e para visualizar as coisas, 
 vou ter que fazer um label1.caption := cliente.nome ? 
 Explique mais, ou mostre onde posso conseguir mais coisa to começando a 
 gostar do bixim 

Cliente := TCliente.Retrieve(ID);
TClienteEditPresenter.Run(Cliente);

Em duas linhas você traz o cliente, mostra pro usuário, o usuário altera 
o que quer, clica OK, e o que o usuário alterou é enviado para o banco 
em uma única transação.

TClienteEditPresenter.Run;

Em uma linha você faz tudo o que eu falei acima, mas ao invés de 
alterar, você cria um novo cliente. Detalhe - nem precisa se preocupar 
em criar instância de coisa nenhuma. Nem destruir (use o FastMM se você 
não acredita).

 ==DBAware==

 DBAware é orientado a TDataset (win32) e ainda assim fica pendurado em 
 um componente (DB*) e a um datasource. Se você quer um componente 
 'Combo' mais envenenado, ele tem que entender DBAware. Se o seu Dataset 
 estiver em um DataModule e por desencargo do destino a ligação quebrar 
 (nisso o Delphi melhorou um bocado), você tem que reabrir o form e 
 refazer a bendita.
 
 é isso de quebrar realmente acontecia muito com D2 mas no D6 nunca 
 aconteceu comigo

E eu te juro que na época eu achava uma coisa normal.

 ==MVP==

 MVP é totalmente desacoplado, é o framework que entende o componente, e 
 não o contrário. O formulário que usa o padrão MVP *não tem código*, 
 você pode mandar os .pas e os .dfm para uma empresa de design, entregar 
 uma licença de Delphi pra eles, eles usam qualquer componente que eles 
 quiserem, você tras os novos formulários para o seu projeto e recompila. 
 A única exigência é que os componentes continuem com o mesmo nome, 
 porque MVP pode ser bom, mas não é feiticeiro.
 
 HUmmm isso realmente parece bom...

Isso é só o começo.

 Teria mais um monte pra falar, mas encerro aqui minha participação nessa 
 thread com esse mini-artigo (a menos que os colegas tenham dúvidas).
 
 Vixe... varias... mas vamos deixar para quando vc chegar no BETA ai eu vou 
 ser um que vai querer testar isso ai... porque em PRÉ-ALFA, num vai dar

Pré alfa não significa cangalha. Significa que ainda tem mais código pra 
vir. Eu, no seu lugar, baixaria e fuçaria até virar do avesso. Pra quem 
gosta de Assembly isso é um prato cheio.

O framework está estável, como eu já te disse, tenho ele em produção.

--
João Morais



 Valeu e obrigado
 
 
 
 Luiz Escobar
 Analista/Desenvolvedor:
 WEB - HTML/JavaScript/PHP/MySQL 
 WINDOWS - Delphi/MyDAC/ASSEMBLER/MySQL/xBase
 DOS - Clipper/Assembler xBase
 SERVIDORES - NetWare4.11, LINUX-REDHAT9, WINDOWS-2k
 LINUX - LAZARUS/Kylix/MySQL;
 http://www.megasistema.com.br
 
 
 [As partes desta mensagem que não continham texto foram removidas]
 
 
 



Re: [delphi-br] Re: Usar ou não usar DBWares? Eis a questão!

2006-11-30 Por tôpico Flavio Maltempe
Olá galera
Não acredito que o uso de TDataset seja ruim assim como citado, nem o uso de
componentes DB-aware.
Esse componentes são usados com muito sucesso aqui na empresa e ao mesmo
tempo conseguimos manter a aplicação com as três camadas (persistência,
regra de negócios e apresentação) muito bem separadas. Eu já tive alguns
problemas com db-aware, mas quando eu necessitava de alguma funcionalidade
um pouco diferente na interface, dai então carregava o componente com
dados via código. Mas fora isso, o datasource nos dá um ganho de
produtividade muito alto.
Quanto ao uso de objetos de negócio ao invés de Tdataset, como citado
anteriormente, não vejo vantagens na abordagem, já que necessita um duplo
trabalho ao trazer os dados do banco em Datasets (ou existe outra forma de
fazer) e depois popular objetos, tarefa essa realizada pelo OPF, e que
poderia ser feita em um passo apenas. Além disso, existem funcionalidades de
performance dos Datasets e Datasources como trazer os dados sobre demanda,
sem contar o sistema de clientdataset e providers que estão prontos e que
teriam que ser reimplementados pelo MVC.

Usamos uma abordagem ao desenvolver a SpeedCASE onde o padrão Adapter faz
com que as propriedades das classes de regras de negócio sejam mapedas para
os campos das tablelas de forma transparente pelo nosso framework de regras
de negócio, sem que se conheça qualquer detalhe da persistência, mas sem
perder funções importantes de Tdatasets, como Edit, Post e Apply e com a
possibilidade de usar db-aware, pois cada classe possui um dataset interno.

Bom, espero não ter me alongado muito e mostrado a abordagem que utilizamos
por aqui.

Abraço a todos
--
  Flávio G. Maltempe
  Publisoft Informática
  Maringá - PR
  http://www.publisoft.com.br
  http://www.speedcase.com.br
--


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



Res: [delphi-br] Re: Usar ou não usar DBWares? Eis a questão!

2006-11-30 Por tôpico Ricardo Cesar Cardoso
Nem terminei de ler o e-mail mas já sugiro que procure no Google por DePO  ou 
InstantObjects ou PressObjects  e leia um pouco dos fóruns tanto do DePO 
quanto do InstantObjects. Acho que vc vai se surpreender com o que vai achar.

- Mensagem original 
De: Luiz Escobar [EMAIL PROTECTED]
Para: delphi-br@yahoogrupos.com.br
Enviadas: Quinta-feira, 30 de Novembro de 2006 14:01:21
Assunto: Re: [delphi-br] Re: Usar ou não usar DBWares? Eis a questão!









  



 Andreano, não é achar que não deve ter, é ter certeza que não 
precisa ter.

Opa, isso precisa ter muita base pra falar  né futuro matuzalem... .



É sempre questão de preferência. Falo por mim, estou apenas expondo 

vantagens de um modelo orientado a objetos perante o RAD (com exceção de 

usar TDataset como objeto de negócio - isso é roda quadrada).



HUmmm uma questao de preferencias.   agora melhorou



TDataset é orientado a tabela, OPF é orientado a objetos do domínio do 

problema.



==TDataset==

TabCliente.Open; // ou .Query := 'xx';

TabCliente.Locate( ); // ou TabCliente.Open;

TabCliente.Edit

TabClienteNOME := 'Outro';

TabCliente.Post;

e se tiver Cached updates... transação...

ai vc coloca um APPLYUPDATE( -1) e ta tudo certo



==OPF==

Cliente := TCliente.Retrieve( ID); -- monta query, pesquisa, etc.

Cliente.Nome := 'Outro Nome';

Cliente.Save; -- cache, controle transacional, tudo aqui dentro.



E olha que eu escolhi um modelo de dados sem herança, pra ficar mumu pra 
TDataset.



Ta tirei o EDIT, quer dizer só mando o valor, sem dar um EDIT, mas tenho um 
SAVE = POST, os cache/transaction no OPF não existem ? onde eu faço varias 
alterações e mando salvar tudo de uma vez para que se der um problema eu possa 
fazer um ROLLBACK ???

Este exemplo ta meio desproporcional. .. 

Pra quem acha que EDIT´s são melhores que DBEDIT´s, isso ai Fudeu com tudo 
mesmo porque os controles ficaram mais ainda longe das mãos dos programadores. 
... não que eu não ache isso maravilhoso, muito pelo contrario, quanto menos 
codigo melhor...



BOM mas o que o OPF do RETRIEVE usou para se ligar ao BANCO ? não foi um DBWARE 
? tipo um TTABLE ? TQUERY ? TDATABASE ? e para visualizar as coisas, vou ter 
que fazer um label1.caption := cliente.nome ? 

Explique mais, ou mostre onde posso conseguir mais coisa to começando a 
gostar do bixim 



==DBAware==



DBAware é orientado a TDataset (win32) e ainda assim fica pendurado em 

um componente (DB*) e a um datasource. Se você quer um componente 

'Combo' mais envenenado, ele tem que entender DBAware. Se o seu Dataset 

estiver em um DataModule e por desencargo do destino a ligação quebrar 

(nisso o Delphi melhorou um bocado), você tem que reabrir o form e 

refazer a bendita.



é isso de quebrar realmente acontecia muito com D2 mas no D6 nunca 
aconteceu comigo



==MVP==



MVP é totalmente desacoplado, é o framework que entende o componente, e 

não o contrário. O formulário que usa o padrão MVP *não tem código*, 

você pode mandar os .pas e os .dfm para uma empresa de design, entregar 

uma licença de Delphi pra eles, eles usam qualquer componente que eles 

quiserem, você tras os novos formulários para o seu projeto e recompila. 

A única exigência é que os componentes continuem com o mesmo nome, 

porque MVP pode ser bom, mas não é feiticeiro.



HUmmm isso realmente parece bom...



Teria mais um monte pra falar, mas encerro aqui minha participação nessa 

thread com esse mini-artigo (a menos que os colegas tenham dúvidas).



Vixe... varias... mas vamos deixar para quando vc chegar no BETA ai eu vou ser 
um que vai querer testar isso ai... porque em PRÉ-ALFA, num vai dar



Valeu e obrigado



Luiz Escobar

Analista/Desenvolve dor:

WEB - HTML/JavaScript/ PHP/MySQL 

WINDOWS - Delphi/MyDAC/ ASSEMBLER/ MySQL/xBase

DOS - Clipper/Assembler xBase

SERVIDORES - NetWare4.11, LINUX-REDHAT9, WINDOWS-2k

LINUX - LAZARUS/Kylix/ MySQL;

http://www.megasist ema.com.br



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






  







!--

#ygrp-mlmsg {font-size:13px;font-family:arial,helvetica,clean,sans-serif;}
#ygrp-mlmsg table {font-size:inherit;font:100%;}
#ygrp-mlmsg select, input, textarea {font:99% arial,helvetica,clean,sans-serif;}
#ygrp-mlmsg pre, code {font:115% monospace;}
#ygrp-mlmsg * {line-height:1.22em;}
#ygrp-text{
font-family:Georgia;
}
#ygrp-text p{
margin:0 0 1em 0;
}
#ygrp-tpmsgs{
font-family:Arial;
clear:both;
}
#ygrp-vitnav{
padding-top:10px;
font-family:Verdana;
font-size:77%;
margin:0;
}
#ygrp-vitnav a{
padding:0 1px;
}
#ygrp-actbar{
clear:both;
margin:25px 0;
white-space:nowrap;
color:#666;
text-align:right;
}
#ygrp-actbar .left{
float:left;
white-space:nowrap;
}
.bld{font-weight:bold;}
#ygrp-grft{
font-family:Verdana;
font-size:77%;
padding:15px 0;
}
#ygrp-ft{
font-family:verdana;
font-size:77%;
border-top:1px solid #666;
padding:5px 0;
}
#ygrp-mlmsg #logo{
padding-bottom:10px;

RES: [delphi-br] Problema com o Quick Report

2006-11-30 Por tôpico Moked - Thiago \(Brasil\)
Marcelo,
 
Ainda assim não funciona...
ele não vai para o próximo registro
 
mesmo assim, obrigado pela força!
 
Thiago

 



De: delphi-br@yahoogrupos.com.br [mailto:[EMAIL PROTECTED] Em nome de Marcelo
Enviada em: quinta-feira, 30 de novembro de 2006 18:46
Para: delphi-br@yahoogrupos.com.br
Assunto: Re: [delphi-br] Problema com o Quick Report



Moked - Thiago (Brasil) escreveu:

 Bom dia colegas Delphianos,

 Estou tendo um problema na hora de gerar um relatório,
 estou utilizando um componente do tipo QRMemo, para receber os dados, 
 conforme parte do código abaixo, mas quando o relatório é gerado,
 somente aparece os dados do 1ºregistro do banco ou do último registro

 ele não fica passando de um a um, como os campos .DataField

 Alguém teria uma sugestão??

 eu tentei.. abrir o ClientDataSet.. e dar um first. depois dentro do 
 laço colocar um next... e não adiantou...

 for i := 0 to RecordCount-1 do
 begin
 qrdbDadoAten0.DataField := 'AteCodi';
 qrdbDadoAten3.DataField := 'UsuNome';
 qrdbNomeProcurador.DataField := 'pro_nome';
 qrdbAtend1.DataField := 'His_Data';
 qrdbDadoAte2.DataField := 'HisDura';
 qrdbSituacao.DataField := 'ate_situ';
 mmAteDesc.Lines.Text := fieldbyname('AteDesc').AsString;
 end;


 Thiago Filiano

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

 

--

Internal Virus Database is out-of-date.
Checked by AVG Free Edition.
Version: 7.1.408 / Virus Database: 268.13.6/486 - Release Date: 19/10/2006
 

Voce experimentou fazer assim:

mmAteDesc.Lines.Add(fieldbyname('AteDesc').AsString) ???

Espero ter ajudado



 


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



Re: RES: [delphi-br] Re: Usar ou não usar D BWares? Eis a questão!

2006-11-30 Por tôpico Joao Morais
anderson wrote:
 É possivel então eu ter o OPF com ECO, continuando usando DBWares e utilizar
 MVP 

DBWare e MVP são inimigos mortais!

Brincadeira. É o mesmo você dizer que quer sair de carro e moto ao mesmo 
tempo. MVP é um padrão para apresentação de dados, assim como DBWare.

--
João Morais



Re: [delphi-br] Problema com o Quick Report

2006-11-30 Por tôpico Marcelo
Moked - Thiago (Brasil) escreveu:

 Bom dia colegas Delphianos,

 Estou tendo um problema na hora de gerar um relatório,
 estou utilizando um componente do tipo QRMemo, para receber os dados, 
 conforme parte do código abaixo, mas quando o relatório é gerado,
 somente aparece os dados do 1ºregistro do banco ou do último registro

 ele não fica passando de um a um, como os campos .DataField

 Alguém teria uma sugestão??

 eu tentei.. abrir o ClientDataSet.. e dar um first. depois dentro do 
 laço colocar um next... e não adiantou...

 for i := 0 to RecordCount-1 do
 begin
 qrdbDadoAten0.DataField := 'AteCodi';
 qrdbDadoAten3.DataField := 'UsuNome';
 qrdbNomeProcurador.DataField := 'pro_nome';
 qrdbAtend1.DataField := 'His_Data';
 qrdbDadoAte2.DataField := 'HisDura';
 qrdbSituacao.DataField := 'ate_situ';
 mmAteDesc.Lines.Text := fieldbyname('AteDesc').AsString;
 end;


 Thiago Filiano

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

 



Internal Virus Database is out-of-date.
Checked by AVG Free Edition.
Version: 7.1.408 / Virus Database: 268.13.6/486 - Release Date: 19/10/2006
  

Voce experimentou fazer assim:

 mmAteDesc.Lines.Add(fieldbyname('AteDesc').AsString)   ???

Espero ter ajudado





RES: [delphi-br] DBExpress

2006-11-30 Por tôpico Moked - Humberto \(Brazil\)
Eu costumo utilizar e nunca tive problemas... mas existem outros componentes de 
acesso.. tem um que se chama Zeos (algo assim).. mas nunca utilizei.



De: delphi-br@yahoogrupos.com.br [mailto:[EMAIL PROTECTED] Em nome de Fabio 
Dantas
Enviada em: quinta-feira, 30 de novembro de 2006 16:31
Para: delphi-br@yahoogrupos.com.br
Assunto: [delphi-br] DBExpress



Pessoal vcs recomendam o uso da paleta dbExpress para acessar o
firebird ? ou melhor outro componente ?


Abraço



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



 


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



RES: [delphi-br] Verificar maskedit

2006-11-30 Por tôpico Moked - Humberto \(Brazil\)
Eu fiz algo parecido... Vlw.



De: delphi-br@yahoogrupos.com.br [mailto:[EMAIL PROTECTED] Em nome de Tamara 
Clemente
Enviada em: quinta-feira, 30 de novembro de 2006 05:01
Para: delphi-br@yahoogrupos.com.br
Assunto: Re: [delphi-br] Verificar maskedit



try
StrToDateTime(edit.text);
except
Showmessage('Digite a data certa');
end;

Em 29/11/06, Moked - Humberto (Brazil) [EMAIL PROTECTED] 
mailto:humberto%40moked.com.br  escreveu:

 Como faço para verificar se um texto é hora? Por exemplo: Tenho um Edit
 que o usuário digita uma hora, porém se o usuário digitar uma data inválida
 da msg de erro..


 Como fazer?

 No VB tem o comando isDate.. tem algo parecido no Delphi?

 [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]



[delphi-br] Exibir Fontes

2006-11-30 Por tôpico marciogarciarj
Boa Tarde Galera,
 
Eu gostaria que alguém pudesse me informar como eu posso exibir as fontes de
uma pasta de fontes que não estão instaladas no computador.
Eu montei um programa para exibir fontes mas somente consigo mostrar as do
Windows.
 
Quando peço para ver uma de uma pasta comum elas não são exibidas... :(
 
Obrigado a todos...


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



Re: [delphi-br] Re: Usar ou não usar DBWares? Eis a questão!

2006-11-30 Por tôpico Luiz Escobar
 ==OPF==
 Cliente := TCliente.Retrieve(ID); -- monta query, pesquisa, etc.
 Cliente.Nome := 'Outro Nome';
 Cliente.Save; -- cache, controle transacional, tudo aqui dentro.
 
 E olha que eu escolhi um modelo de dados sem herança, pra ficar mumu 
 pra TDataset.
 
 Ta tirei o EDIT, quer dizer só mando o valor, sem dar um EDIT, mas tenho um 
 SAVE = POST, os cache/transaction no OPF não existem ? onde eu faço varias 
 alterações e mando salvar tudo de uma vez para que se der um problema eu 
 possa fazer um ROLLBACK ???
 Este exemplo ta meio desproporcional...

 Por favor, esclareça melhor a sua dúvida (ou as dúvidas).

Onde eu implemento uma TRANSAÇÂO ? se der pau para fazer um ROLLBACK.
TIPO usado seu exemplo... :

try
   cliente.insert;
   Cliente.Nome := 'fulano';
   contrato.insert;
   Contrato.data := 'hoje';
   nota.insert;
   nota.id := '1';
   itens.insert;
   itens.nota := 'item 001';

   cliente.save;
   contrato.save;
   nota.save;
   itens.save;

   ALL.APPLYUPDATE ( -1 ); - e somente aqui salva tudo e se der um pau

exception 
all.roolback();  -- volta tudo sem cadastrar nadinha nos bancos !!!
end;

 Pra quem acha que EDIT´s são melhores que DBEDIT´s, isso ai Fudeu com tudo 
 mesmo porque os controles ficaram mais ainda longe das mãos dos 
 programadores não que eu não ache isso maravilhoso, muito pelo 
 contrario, quanto menos codigo melhor...

 Que controles você precisa?

EU !, De nenhum Quando menos tiver que me preocupar com controles 
disso-daquilo melhor, ganho em produtividade... eu disse PRA QUEM ACHA, afinal 
a discusão era DBWARE ou não...  

 BOM mas o que o OPF do RETRIEVE usou para se ligar ao BANCO ? não foi um 
 DBWARE ? tipo um TTABLE ? TQUERY ? TDATABASE ? e para visualizar as coisas, 
 vou ter que fazer um label1.caption := cliente.nome ? 
 Explique mais, ou mostre onde posso conseguir mais coisa to começando a 
 gostar do bixim 

Cliente := TCliente.Retrieve(ID);
TClienteEditPresenter.Run(Cliente);

Em duas linhas você traz o cliente, mostra pro usuário, o usuário altera 
o que quer, clica OK, e o que o usuário alterou é enviado para o banco 
em uma única transação.

TClienteEditPresenter.Run;

Em uma linha você faz tudo o que eu falei acima, mas ao invés de 
alterar, você cria um novo cliente. Detalhe - nem precisa se preocupar 
em criar instância de coisa nenhuma. Nem destruir (use o FastMM se você 
não acredita).


Acho que vou precisar experimentar para ver como é o trem ai... pra continuar a 
thread.. hehehhe
Pois tem que ter uma ligação  pra esse RUN ai uai... ele tem que estar ligado a 
um FORM que vc construiu... o o negocio é magico d+
Vejo um exemplo que pra LOGIN o cara faz uma aplicação completa agora vc vem 
com 2 linha que abre, localiza, edit, salva, create, destroiu e nem ligou ela 
ao banco ele adinhou tudo... ai ficou vago... heheheheh

 ==DBAware==

 DBAware é orientado a TDataset (win32) e ainda assim fica pendurado em 
 um componente (DB*) e a um datasource. Se você quer um componente 
 'Combo' mais envenenado, ele tem que entender DBAware. Se o seu Dataset 
 estiver em um DataModule e por desencargo do destino a ligação quebrar 
 (nisso o Delphi melhorou um bocado), você tem que reabrir o form e 
 refazer a bendita.
 
 é isso de quebrar realmente acontecia muito com D2 mas no D6 nunca 
 aconteceu comigo

E eu te juro que na época eu achava uma coisa normal.

 ==MVP==

 MVP é totalmente desacoplado, é o framework que entende o componente, e 
 não o contrário. O formulário que usa o padrão MVP *não tem código*, 
 você pode mandar os .pas e os .dfm para uma empresa de design, entregar 
 uma licença de Delphi pra eles, eles usam qualquer componente que eles 
 quiserem, você tras os novos formulários para o seu projeto e recompila. 
 A única exigência é que os componentes continuem com o mesmo nome, 
 porque MVP pode ser bom, mas não é feiticeiro.
 
 HUmmm isso realmente parece bom...

Isso é só o começo.

 Teria mais um monte pra falar, mas encerro aqui minha participação nessa 
 thread com esse mini-artigo (a menos que os colegas tenham dúvidas).
 
 Vixe... varias... mas vamos deixar para quando vc chegar no BETA ai eu vou 
 ser um que vai querer testar isso ai... porque em PRÉ-ALFA, num vai dar

Pré alfa não significa cangalha. Significa que ainda tem mais código pra 
vir. Eu, no seu lugar, baixaria e fuçaria até virar do avesso. Pra quem 
gosta de Assembly isso é um prato cheio.

O framework está estável, como eu já te disse, tenho ele em produção.


BLZ vamos ver no que vai dar.  
Mas assim como troquei o CLIPPER por DELPHI vou acabar trocando o DELPHI por 
PHP um dia. ;-)


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



[delphi-br] [OFF] Exemplo de MVP

2006-11-30 Por tôpico Joao Morais

Olá,

conforme solicitado explicita ou implicitamente por Walter, Luiz, 
Ricardo, Felipe, e acho que teve mais gente--desculpa se esqueci de 
alguém, e também para satisfazer a curiosidade do pessoal, eu adaptei o 
aplicativo demonstração do PressObjects--PhoneBook--a fim de torná-lo 
mais simples de compilar e rodar.

Quem tiver alguma familiaridade com InstantObjects poderá testar os 
Combos através do MVP do Press, é simplesmente maravilhoso. Quem não 
tiver paciência para configurar o IO ou não tiver muita familiaridade 
com ele--reconheço que ele é um pouco complicado de instalar--poderá 
testar o Combo através do atributo Enum (procure por PhoneType). É com 
exemplos como este que eu falo que MVP pode dar um show de produtividade 
quando comparado a DBWare. Leia os dois Readme-ptbr.txt que você 
encontrar pelo caminho até chegar ao aplicativo.

Agora dois pedidos igualmente importantes:

1. Você não é obrigado a gostar, nem mesmo concordar com nada do que eu 
disse. Basta ignorar minha mensagem para que isto não inicie outra 
thread barulhenta.

2. Se você tiver interesse, dúvida, quiser saber mais sobre o projeto, 
testar melhor, acompanhar o desenvolvimento, etc., etc., utilize a lista 
support-br para estar mais próximo de outras pessoas também 
interessadas. Quem não tiver interesse não estará inscrito e não será 
importunado.

Ainda assim, se você não gostou ou ainda não acredita que desse mato 
saia algum coelho, mas tá apostando pra ver, então inscreva-se ao menos 
na lista announce para ser notificado assim que os releases estiverem 
disponíveis para download.

Quem tiver algum interesse e não pegou o link: www.pressobjects.org

--
João Morais


[delphi-br] Re: COLORIR LINHAS DO DBGRID

2006-11-30 Por tôpico Edison Garcia
Caro Marcio
A partir do exemplo abaixo voce faz o que quizer.  (Evento 
OnDrawColumnCell do DBrid)
Não esquecer a ultima linha: 
(DefaultDrawColumnCellRect,DataCol,Column,state); )

[]s Edison

{retirado do forum em 15/9/2006}
Como mudar cores e fontes de uma determinada celula em um DBGrid de 
acordo com seu valor, ou seleção

procedure TFConsultarItens.DBGrid1DrawColumnCell(Sender: TObject;
  const Rect: TRect; DataCol: Integer; Column: TColumn;
  State: TGridDrawState);
var I : integer;
begin
   with DBGrid1 do
   begin
// mude a cor das celulas em que FieldValor1 = 0
  if(FieldValor1.Value = 0) then
 if(column.Index = 1) then
Canvas.brush.Color:= clLime;
// se coluna 6 contiver 'Amarelo' mude a cor da célula para red - 
mude para
negrita
  if(column.Index = 6) then
if(pos('Amarelo', FieldNomeCor.asstring)  0) then
begin
Canvas.brush.Color:= clred;
Canvas.Font.Color:= clWhite;
Canvas.Font.Style := [fsbold];
  end;

// mude a cor de celulas selecionadas
  if(gdSelected in State) then
  begin
 Canvas.brush.Color:= clblue;
 Canvas.Font.Color:= clWhite;
  end;
// mude a cor das celulas com foco
  if(gdfocused in State) then
  begin
 Canvas.brush.Color:= clYellow;
 Canvas.Font.Color:= clBlue;
  end;

  DefaultDrawColumnCell(Rect,DataCol,Column,state);
   end;
end;
if gdselected in state then   // se a linha estiver 
selecionada
  dbgrid1.Canvas.Font.Color := clwhite;  // muda a cor do 
texto


--- Em delphi-br@yahoogrupos.com.br, Rubem Nascimento da Rocha 
[EMAIL PROTECTED] escreveu

 Dica na internet sobre isso tem a botão (Como fazer um grid 
zebrado?, e 
 coisas do tipo). O google pode dar uma força nisso. Agora, se vc ñ 
quer ter 
 trabalho, o TJvDBGrid da suite JEDI VCL já tem propriedades pra 
tratar isso 
 de forma transparente.
 
 Sds.
 
 
 From: Marcio William [EMAIL PROTECTED]
 Reply-To: delphi-br@yahoogrupos.com.br
 To: delphi-br@yahoogrupos.com.br
 Subject: [delphi-br] COLORIR LINHAS DO DBGRID
 Date: Thu, 30 Nov 2006 08:43:13 -0200
 
 Tem como colorir as linhas do DBGRID em RUN-TIME, seria no caso de 
cliente
 em debito aparecer em vermelho  e os demais em branco mesmo?
 
 Atenciosamente,
 
 Marcio William
 
 
 _
 MSN Busca: fácil, rápido, direto ao ponto.  http://search.msn.com.br





Re: [delphi-br] Re: Usar ou não usar DBWare s? Eis a questão!

2006-11-30 Por tôpico Joao Morais
Luiz Escobar wrote:

 Onde eu implemento uma TRANSAÇÂO ? se der pau para fazer um ROLLBACK.
 TIPO usado seu exemplo... :
 
 try
cliente.insert;
Cliente.Nome := 'fulano';
contrato.insert;
Contrato.data := 'hoje';
nota.insert;
nota.id := '1';
itens.insert;
itens.nota := 'item 001';
 
cliente.save;
contrato.save;
nota.save;
itens.save;
 
ALL.APPLYUPDATE ( -1 ); - e somente aqui salva tudo e se der um pau
 
 exception 
 all.roolback();  -- volta tudo sem cadastrar nadinha nos bancos !!!
 end;

O seu modelo de classe sabe que itens pertence a nota, portanto 
itens.save não existe.

Eu não entendi direito o que você quer dizer com contrato, mas quanto ao 
resto, fica assim:

Cliente := TCliente.Create; // esqueça o conceito de Insert
Cliente.Nome := 'Fulano';

Se você estiver preenchendo na tela, pode deixar que o Presenter que 
controla a Combo dá a opção de você criar um novo cliente. Estou falando 
de um exemplo hipotético totalmente em código. Continuando:

Cliente.Save;

Nesse ponto eu criei um cliente e salvei, mas eu poderia pegar um do banco:

Cliente := TCliente.Retrieve(IDCliente);

IDCliente não vem por mágica. Você pode usar uma PressQuery para 
consegui-lo -- o que por sinal te traria a própria instância Cliente e 
nem precisaria de Retrieve. Ainda assim, apenas exemplo em código, um 
Presenter faz isso pelo usuário e pelo programador com um pé nas costas.

Continuando - o que importa é que Cliente agora aponta para o cliente 
que eu quero usar.

Nota := TNota.Create;
Nota.Cliente := Cliente;
ItemNota := TItemNota.Create;
ItemNota.Quant := 10;
Nota.Itens.Add(ItemNota);
Nota.Save;

Liberando memória -- apenas memória, os objetos já estão no banco.

Nota.Free;
Cliente.Free;

Claro, faça isso dentro de blocos try/finally. Itens? Não precisa, itens 
é parte de Nota e não deve ser destruído.

Pronto. Sua nota foi salva junto com os itens, e apontando para o seu 
cliente, tenha ele sido criado ou trazido da base. Isto está simulando 
regras de negócio que funcionam em eventos independentes do que o 
usuário esteja cadastrando. Mas se você criou um formulário para 
preenchimento de nota, então precisa apenas disto:

TNotaEditPresenter.Run;

e aqui o usuário pode escolher o cliente, ou criar um novo caso ele não 
encontre, incluir itens, etc., etc. e o botão OK irá disparar o .Save 
deste objeto.

O cache é feito pelo objeto de negócio. Quando você executa

Nota.Cliente := Cliente;

ou ainda

Cliente.Nome := 'Nome';

isto é guardado no objeto de negócio, apenas em memória. Quando você 
executa:

Nota.Save;

todas as queries necessárias para gravar a nota, inclusive seus itens, 
são criados pelo OPF. Se ocorrer uma falha na transação, ela é cancelada 
e seu objeto permanece como 'ainda não salvo'. Mas isso não é problema 
da regra, é um problema do OPF e será reportado com uma exceção. O que 
você pode fazer é registrar um serviço de mensagens para traduzir 
algumas mensagens de erro que você queira (em desenvolvimento). Enfim, 
esquece transaction, esquece rollback, esquece qualquer coisa que não 
seja relacinado estritamente com regras de negócio.

Claro que você pode precisar gravar dois ou mais objetos em um único 
contexto transacional. Não é comum acontecer, mas pode. Veja que isto 
não se aplica a Cliente x Nota -- se o cliente for salvo e der pau pra 
gravar a nota, o cliente está íntegro, a nota não tem nada que ver com 
os dados dele. Enfim, o exemplo:

PressDefaultPersistence.StartTransaction;
try
   Obj1.Save;
   Obj2.Save;
   PressDefaultPersistence.CommitTransaction;
except
   PressDefaultPersistence.RollbackTransaction;
   raise;
end;

Este código fica implícito quando você chama .Save fora de um contexto 
de transação. Ou seja, sempre existe segurança, nada é feito nas coxas.


 Pra quem acha que EDIT´s são melhores que DBEDIT´s, isso ai Fudeu com tudo 
 mesmo porque os controles ficaram mais ainda longe das mãos dos 
 programadores não que eu não ache isso maravilhoso, muito pelo 
 contrario, quanto menos codigo melhor...
 
 Que controles você precisa?
 
 EU !, De nenhum Quando menos tiver que me preocupar com controles 
 disso-daquilo melhor, ganho em produtividade... eu disse PRA QUEM ACHA, 
 afinal a discusão era DBWARE ou não...  

Pra quem achar, basta dizer o que precisa, pois sempre haverá uma forma 
de fazer.

 BOM mas o que o OPF do RETRIEVE usou para se ligar ao BANCO ? não foi um 
 DBWARE ? tipo um TTABLE ? TQUERY ? TDATABASE ? e para visualizar as 
 coisas, vou ter que fazer um label1.caption := cliente.nome ? 
 Explique mais, ou mostre onde posso conseguir mais coisa to começando 
 a gostar do bixim 
 
 Cliente := TCliente.Retrieve(ID);
 TClienteEditPresenter.Run(Cliente);

 Em duas linhas você traz o cliente, mostra pro usuário, o usuário altera 
 o que quer, clica OK, e o que o usuário alterou é enviado para o banco 
 em uma única transação.

 TClienteEditPresenter.Run;

 Em uma linha você faz 

[delphi-br] alguém tem uma função vamos dizer mais eficaz

2006-11-30 Por tôpico Rodrigo
a função abaixo deixa somente os números, eu ainda estou dando uma olhada
em expressões regulares e da pra fazer muita coisa, se alguém tiver
uma função mais rapida do que essa...ja ajuda...

function adOnlyNumber(const Value: String): String;
var
  I : Integer;
  S : String;
begin
  S := '';

  for I := 0 to Length(Value) do
if (Value[I] in ['0'..'9']) then
  S := S + Copy(Value,I,1);

  Result := S;
end;

Rodrigo Mota.

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



Re: [delphi-br] Validação mais inteligente

2006-11-30 Por tôpico Leonardo Quinino
procedure valida_cpf ;
var x : integer;
begin
for x := 1 to 11 do
begin
   if cpf = replicate( ord(x) ,11) )  then
 begin
   ShowMessage('CPF Inválido');
   Exit;
end;
end;



Em 30/11/06, Rodrigo [EMAIL PROTECTED] escreveu:

   if (cpf  '000')and(cpf  '111')and(cpf 
 '222')
 and(cpf  '333')and(cpf  '444')and(cpf 
 '555')
 and(cpf  '666')and(cpf  '777')and(cpf 
 '888')
 and(cpf  '999')then

 galera tenho uma validação de CPF e tive que colocar esse codigo acima
 também
 existe uma forma de validação...usando expressão regular..ou algo melhor
 do que o acima...?

 qq sugestão é bem vinda.

 abs.

 Rodrigo Mota.

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

 




-- 
Leonardo Quinino


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



Re: RES: [delphi-br] Re: Usar ou não usar DBWares? Eis a questão!

2006-11-30 Por tôpico Luiz Escobar
Luiz Escobar wrote:

DBAware não é um desconhecido pra mim, e confesso que eu fiz injustiça. 
A roda quadrada é usar TDataset como objeto de negócio. Isso dá mais dor 
de cabeça do que Whisky paraguaio.
O TDataset da dor de cabeça pra quem não sabe usar, é como Whisky paraguaio, 
pra quem não sabe comprar e tomar...  

Outro Matuzalém. Esse ano completei 21 de programação, 18 de Basic, 16 
de Clipper e Pascal (Turbo 3). Parece que foi ontem.

Meu DEUS, outro Jovem que acha que sabe tudo que diz Até parece que vc não 
vai ser um matuzalém... e pior vai ser um dos teimosos e sem educação

Já está acontecendo. DBAware em .net publica propriedades de objetos, e 
o InstantObjects tem um esquema parecido para win32 e propriedades 
publicadas via RTTI. Pra quem gosta de DBAware é um prato cheio.

Bom seguinte meu caro, a conversa arqui é DBWARE ou ÑDBWare certo, referindo-se 
a RESUMINDO, DBEDIT ou EDIT, DBLISTBOX ou LISTBOX,  sendo assim DBWare é muito 
melhor
Outra, até que me provem ao contrario à matematica sempre foi exata, então 
1+1=2+3=5, certo  então quanto mais código para ser 
interpretado/executado/compilado, maior a aplicação e mais pesada para rodar 
nas maquinas, então enquanto o parque tecnologico são de maquinas mais 
modestas, os DBWare´s ainda vão ser a melhor opção, imagine uma aplicação 
Delphi 6-DWARE contra uma BDS2006-FrameWork-MVC, a diferença deve ser em 
MEGAS.  então, veja se me entende, por enquanto DBWare´s são melhores em 
performance e em produtividade contra os Edit´s da vida BASTA vc saber 
usar, porque se vc não sabe usar então meu caro, ai num tem jeito não...

Não disse que FRAMEWORK-MVC seja pior que DBWare´s, quiz dizer que ele ainda 
esta crescendo/amadurecendo e futuramente com maquinas melhores que as de hoje, 
com certeza seja mais uma opção ou à opção realmente melhor que os DBWare´s


Ponto Final... DEU PRA ENTERDER !!!...

Luiz Escobar
Analista/Desenvolvedor:
WEB - HTML/JavaScript/PHP/MySQL 
WINDOWS - Delphi/MyDAC/ASSEMBLER/MySQL/xBase
DOS - Clipper/Assembler xBase
SERVIDORES - NetWare4.11, LINUX-REDHAT9, WINDOWS-2k
LINUX - LAZARUS/Kylix/MySQL;
http://www.megasistema.com.br



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



Re: [delphi-br] Re: Usar ou não usar DBWares? Eis a questão!

2006-11-30 Por tôpico Campus
Luiz eu tb estou olhando mais de perto isso.

O bom é que tu pode criar uma classe TCliente, e chamando o retrieve, por
exemplo, carregar os dados do banco.

O ganho é que tu faz isso na classe, e só instancia o objeto.

Com TDataSet, se em cada form tu for colocar um TTable ou um TQuery para
buscar esses dados, tu vai ter que localizar o cliente corespondente, ou com
Locate, ou com um GotoKey. Em resumo, e sempre tem que escrever muito
código.

Já no caso, usando um objeto cliente, tu escreve esse código uma vez só e
pronto.




- Original Message - 
From: Luiz Escobar [EMAIL PROTECTED]
To: delphi-br@yahoogrupos.com.br
Sent: Thursday, November 30, 2006 2:01 PM
Subject: Re: [delphi-br] Re: Usar ou não usar DBWares? Eis a questão!


 Andreano, não é achar que não deve ter, é ter certeza que não precisa
ter.
Opa, isso precisa ter muita base pra falar  né futuro matuzalem

É sempre questão de preferência. Falo por mim, estou apenas expondo
vantagens de um modelo orientado a objetos perante o RAD (com exceção de
usar TDataset como objeto de negócio - isso é roda quadrada).

HUmmm uma questao de preferencias.  agora melhorou

TDataset é orientado a tabela, OPF é orientado a objetos do domínio do
problema.

==TDataset==
TabCliente.Open; // ou .Query := 'xx';
TabCliente.Locate(); // ou TabCliente.Open;
TabCliente.Edit
TabClienteNOME := 'Outro';
TabCliente.Post;
e se tiver Cached updates... transação...
ai vc coloca um APPLYUPDATE(-1) e ta tudo certo

==OPF==
Cliente := TCliente.Retrieve(ID); -- monta query, pesquisa, etc.
Cliente.Nome := 'Outro Nome';
Cliente.Save; -- cache, controle transacional, tudo aqui dentro.

E olha que eu escolhi um modelo de dados sem herança, pra ficar mumu pra
TDataset.

Ta tirei o EDIT, quer dizer só mando o valor, sem dar um EDIT, mas tenho um
SAVE = POST, os cache/transaction no OPF não existem ? onde eu faço varias
alterações e mando salvar tudo de uma vez para que se der um problema eu
possa fazer um ROLLBACK ???
Este exemplo ta meio desproporcional...
Pra quem acha que EDIT´s são melhores que DBEDIT´s, isso ai Fudeu com tudo
mesmo porque os controles ficaram mais ainda longe das mãos dos
programadores não que eu não ache isso maravilhoso, muito pelo
contrario, quanto menos codigo melhor...

BOM mas o que o OPF do RETRIEVE usou para se ligar ao BANCO ? não foi um
DBWARE ? tipo um TTABLE ? TQUERY ? TDATABASE ? e para visualizar as coisas,
vou ter que fazer um label1.caption := cliente.nome ?
Explique mais, ou mostre onde posso conseguir mais coisa to começando a
gostar do bixim

==DBAware==

DBAware é orientado a TDataset (win32) e ainda assim fica pendurado em
um componente (DB*) e a um datasource. Se você quer um componente
'Combo' mais envenenado, ele tem que entender DBAware. Se o seu Dataset
estiver em um DataModule e por desencargo do destino a ligação quebrar
(nisso o Delphi melhorou um bocado), você tem que reabrir o form e
refazer a bendita.

é isso de quebrar realmente acontecia muito com D2 mas no D6 nunca
aconteceu comigo

==MVP==

MVP é totalmente desacoplado, é o framework que entende o componente, e
não o contrário. O formulário que usa o padrão MVP *não tem código*,
você pode mandar os .pas e os .dfm para uma empresa de design, entregar
uma licença de Delphi pra eles, eles usam qualquer componente que eles
quiserem, você tras os novos formulários para o seu projeto e recompila.
A única exigência é que os componentes continuem com o mesmo nome,
porque MVP pode ser bom, mas não é feiticeiro.

HUmmm isso realmente parece bom...

Teria mais um monte pra falar, mas encerro aqui minha participação nessa
thread com esse mini-artigo (a menos que os colegas tenham dúvidas).

Vixe... varias... mas vamos deixar para quando vc chegar no BETA ai eu vou
ser um que vai querer testar isso ai... porque em PRÉ-ALFA, num vai dar

Valeu e obrigado



Luiz Escobar
Analista/Desenvolvedor:
WEB - HTML/JavaScript/PHP/MySQL
WINDOWS - Delphi/MyDAC/ASSEMBLER/MySQL/xBase
DOS - Clipper/Assembler xBase
SERVIDORES - NetWare4.11, LINUX-REDHAT9, WINDOWS-2k
LINUX - LAZARUS/Kylix/MySQL;
http://www.megasistema.com.br


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



-- 
 FAVOR REMOVER ESTA PARTE AO RESPONDER ESTA MENSAGEM 

Links do Yahoo! Grupos




-- 
No virus found in this incoming message.
Checked by AVG Free Edition.
Version: 7.5.430 / Virus Database: 268.15.2/559 - Release Date: 30/11/2006
05:07