Re: [delphi-br] Migrar delphi 7 para Delphi 2010.

2010-08-26 Por tôpico Alan ricardo Souza
Bom dia,
 
No inicio quando lançou o delphi 2010 tinha muitos problemas em relação algumas 
rotinas alterada na nova versão do dephi 2010, mas a migração é tranquila no 
Delphi 2010 com update 4/5 pois ja não encontrei os bugs anteriores, só que 
alguns tipos de campos mudaram como por exemplo pchar agora é pansichar e assim 
vai, mas 80% aproveita da versão antiga e precisa limpar todos os fields dos 
clientedataset (caso vc usa) e adicionar novamente pois mudam os tipos de 
campos.

--- Em qua, 25/8/10, Samuel M. Basso samuelba...@yahoo.com.br escreveu:


De: Samuel M. Basso samuelba...@yahoo.com.br
Assunto: [delphi-br] Migrar delphi 7 para Delphi 2010.
Para: delphi-br@yahoogrupos.com.br
Data: Quarta-feira, 25 de Agosto de 2010, 13:13


  



Bom dia Pessoal.

Gostaria de trocar algumas dicas e ideias sobre migração de aplicação feita
em delphi 7 para delphi 2010 se é tranquilo, o que muda? Se é complicado ou
não?

To muito afim de fazer a migração porem não sei o quanto é dificil ou não.

-- 
Atenciosamente,

Samuel M. Basso
Cel: (54) 8135-3723
Skype: samuelbasso
E-mail/MSN: samuelba...@gmail.com
Web site: www.otimizy.com.br

[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] Problemas com MySQL 5.1 e Delphi 2010

2010-08-26 Por tôpico Alan ricardo Souza
Boa tarde,
 
Ao invés de colocar a virgula no dbedit tente colocar no displayformat do 
clientdataset (obs cito o clientdataset mas o mydac tambem da por uso o corelab 
da devart) que vc nescessita pois normalmente campo decimal é somente colocar a 
mascara no display format ex(###,##0.00).

--- Em qui, 26/8/10, Eduardo Silva dos Santos eduardo@gmail.com escreveu:


De: Eduardo Silva dos Santos eduardo@gmail.com
Assunto: Re: [delphi-br] Problemas com MySQL 5.1 e Delphi 2010
Para: delphi-br@yahoogrupos.com.br
Data: Quinta-feira, 26 de Agosto de 2010, 12:14


Lucas, não uso DbEdit mais vou fazer um teste aqui. Qual versão do MyDAC
você ta usando?


Att,
...
Eduardo Silva dos Santos
DRD SISTEMAS
(27) 3218-4201
(27) 9961-7095
MSN: eduardo@gmail.com
Site: http://www.drdsistemas.com.br/
...


Em 26 de agosto de 2010 08:33, Lucas Eduardo Barao Neves 
lucas_del...@yahoo.com.br escreveu:



 Bom dia pessoal.

 Estou com um problema com campos do tipo float e DBEdit no Delphi 2010 com
 MySQL5.1.

 O problema é o seguinte: crio meu campo no MySQL como float de 16,2. Na
 aplicação coloco um dbedit e quando tento preenchê-lo colocando vírgula
 como
 separador decimal ele dá o seguinte erro:

 ---
 Project raised exception class EDatabaseError with message ''1,25' is not a

 valid floating point value for field 'Valor Gasolina''.
 ---

 Se eu apagar o valor e digitar ponto como separador, por ex. 1.25, ele não
 aceita, aliás, o dbedit nem deixa eu digitar o '.', aceitando somente a
 vírgula.

 Alguém saberia por que isso acontece e como posso resolver?

 Para referência, estou usando os componentes MyDAC.

 Grato a todos,

 Lucas Neves

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

  



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





-- 
 FAVOR REMOVER ESTA PARTE AO RESPONDER ESTA MENSAGEM 






  

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



Re: [delphi-br] Iniciar em sistemas web

2010-08-22 Por tôpico Alan ricardo Souza
Para desenvolvimento web com delphi 7 pesquise no google sobre apostila 
intraweb, so precisa saber de delphi e um pouco de html.
Se puder espere o RadPHP que vai ser lancado ou use o DotNet express(Free) para 
desenvolimento ASP.
 
Abraços.

--- Em qui, 19/8/10, Albuquerque sys.e...@yahoo.com escreveu:


De: Albuquerque sys.e...@yahoo.com
Assunto: [delphi-br] Iniciar em sistemas web
Para: delphi-br@yahoogrupos.com.br, delphi-br@yahoogrupos.com.br
Data: Quinta-feira, 19 de Agosto de 2010, 18:13


  



Caríssimos,

Preciso de um “pontapé inicial” dos colegas.

Há 10 anos trabalho com Delphi (+MSSQL) criando sistemas desktop.

Atualmente utilizo o Delphi2007, porém nunca tive interesse em desenvolver
sistemas para web.Nunca sequer mexi nas opções .net que sei que ele oferece.

Na época gastei um bom dinheiro na licença do RadStudio2007 porém até hoje
sei que só usei “metade” dele..rsrs.

Porém...

Surgiu uma grande, e ótima, oportunidade envolvendo desenvolvimento de um
sistema para web.

Só que estou totalmente perdido !!!

Se não for abusar de suas boas vontades:

-meu conhecimento em desenvolvimento de sistemas desktop é útil em alguma
coisa em sistemas para web ?

-o Delphi “puro” faz todo um webservice funcionar ou tem que ter uma outra
linguagem junto (PHP, Ajax, etc) ?

-o que exatamente procurar no Google para conseguir dar os primeiros passos
nessa nova empreitada ?

Desde já agradeço a atenção dispensada.

Att.

Albuquerque

[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] Free Lancer Delphi 7

2010-08-14 Por tôpico Alan ricardo Souza
se precisa podemos conversar
 
alan.ricardo.so...@gmail.com

--- Em sex, 13/8/10, anderson andersondias2...@yahoo.com.br escreveu:


De: anderson andersondias2...@yahoo.com.br
Assunto: [delphi-br] Free Lancer Delphi 7
Para: delphi-br@yahoogrupos.com.br
Data: Sexta-feira, 13 de Agosto de 2010, 13:48


  



Bom dia preciso de fazer alguams alterações em um programa para pizzaria e um 
para mercado, ecf e relatorios









  

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



Re: [delphi-br] QRAngledLabel

2010-08-13 Por tôpico Alan ricardo Souza
Realmente concordo com o Luciano,
 
Instale o componente citado mas é limitado, ao invés de usar o componente de 
terceiro segundo pelo que percebi a unica finalidade dele é escrever o teste 
inclinado (posso estar errado), sendo que é possivel fazer isso com o canvas no 
delphi sendo nativo e sem depender de componentes.

--- Em sex, 13/8/10, Luciano Bruno lsbdevelopm...@yahoo.com.br escreveu:


De: Luciano Bruno lsbdevelopm...@yahoo.com.br
Assunto: Re: [delphi-br] QRAngledLabel
Para: delphi-br@yahoogrupos.com.br
Data: Sexta-feira, 13 de Agosto de 2010, 1:38


Não percebi. bom existe uma rotina que desenha o testo na vertical, eu usei
ela com o quick e com o report builder.

ela desenha uma imagem com o texto.


Em 12 de agosto de 2010 08:25, Alan ricardo Souza
alanr.so...@yahoo.com.brescreveu:



 Hum, precisa ser realmente este componente?

 --- Em qua, 11/8/10, Magnun Oliveira 
 magnunolive...@gmail.commagnunoliveira%40gmail.com
 escreveu:

 De: Magnun Oliveira magnunolive...@gmail.com magnunoliveira%40gmail.com
 
 Assunto: Re: [delphi-br] QRAngledLabel
 Para: delphi-br@yahoogrupos.com.br delphi-br%40yahoogrupos.com.br
 Data: Quarta-feira, 11 de Agosto de 2010, 14:59




 Já tentei Colocar o caracter #13, #10 sLineBreak, e nada rolou ...

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

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

  




-- 
Luciano S. Bruno
Consultor em TI


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





-- 
 FAVOR REMOVER ESTA PARTE AO RESPONDER ESTA MENSAGEM 






  

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



Re: [delphi-br] QRAngledLabel

2010-08-12 Por tôpico Alan ricardo Souza
Hum, precisa ser realmente este componente?

--- Em qua, 11/8/10, Magnun Oliveira magnunolive...@gmail.com escreveu:


De: Magnun Oliveira magnunolive...@gmail.com
Assunto: Re: [delphi-br] QRAngledLabel
Para: delphi-br@yahoogrupos.com.br
Data: Quarta-feira, 11 de Agosto de 2010, 14:59


  



Já tentei Colocar o caracter #13, #10 sLineBreak, e nada rolou ...

[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] Ver o resultado do Inner Join sem applyupdate

2010-08-11 Por tôpico Alan ricardo Souza
Bom dia,
 
Acredito que não é possivel pois o post salva ele somente do repositorio do 
clientdataset e o applyupdate envia para o banco, neste caso vejo somente duas 
soluções.
 
1 - Mandar um update diretamente pelo banco e dependendo do banco um commit.
2 - Guardar o cod do master dar o applyupdate e resgatar o cod usando depois o 
edit. 
 
Abraços.

--- Em ter, 10/8/10, Marciano Venter venter.marci...@gmail.com escreveu:


De: Marciano Venter venter.marci...@gmail.com
Assunto: [delphi-br] Ver o resultado do Inner Join sem applyupdate
Para: delphi-br@yahoogrupos.com.br, lista-del...@yahoogrupos.com.br
Data: Terça-feira, 10 de Agosto de 2010, 13:39


  



Bom dia Pessoal,

Existe alguma maneira de ver o resultado de uma junsão somente dando o post
no clientdataset ? sem aplicar o applyupdate ?

Estou trabalhando com Master/Detail, então não posso dar um applyupdate
diretamente no detail e preciso dos dados ele em outro furmulário antes de
salvar o master.
o sql do SqldataSet é esse :

SELECT EO.*, E.DSC_EQUIPAMENTO FROM TBL_EQUIP_ORDEM EO
INNER JOIN TBL_EQUIPAMENTO E ON (EO.ID_EQUIPAMENTO = E.ID_EQUIPAMENTO)
WHERE ID_ORDEM = :ID_ORDEM

--
Marciano Venter
Email: venter.marci...@gmail.com
Celular: (51) 9672 6093
venter.marci...@gmail.com
marcianoven...@hotmail.com
[image: Twitter] http://www.twitter.com/ventermarciano@ventermarciano
[image: 
Facebook]http://www.facebook.com/profile.php?id=10304177338ref=profile
Marciano
Venter

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










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



Re: Res: [delphi-br] Estrutura Padrão de Sof tware

2010-08-10 Por tôpico Alan ricardo Souza
Boa tarde,
 
Para trabalhar com aplicação MDI não mudar muita coisa em relação aos 
datamodules.
 
Voce pode criar os data modulos normalmente, depois crie um form novo (na aba 
propriedades formstyle = mdiform) e os demais forms dev ser criardos formstyle 
= mdichild tendo que ser criado em tempo de execução onde sera criado por cima 
dos form child.


--- Em ter, 10/8/10, Eny Urias enyur...@yahoo.com.br escreveu:


De: Eny Urias enyur...@yahoo.com.br
Assunto: Res: [delphi-br] Estrutura Padrão de Software
Para: delphi-br@yahoogrupos.com.br
Data: Terça-feira, 10 de Agosto de 2010, 18:51


  



Como vc trabalha numa aplicação MDI utilizando DataModule? Se o usuário quiser 
abrir dois formularios de clientes como vc faz? Não dá conflito já que os 
componentes de acesso aos dados estão no DM? 

--
Eny Trova Urias

Somos o que repetitivamente fazemos, portanto, a excelência não é um feito, 
mas 
um hábito- Aristóteles


De: Adriano de F. Trindade trind...@desbrava.com.br
Para: delphi-br@yahoogrupos.com.br
Enviadas: Segunda-feira, 9 de Agosto de 2010 19:03:05
Assunto: RES: [delphi-br] Estrutura Padrão de Software

Não quero te desanimar, mas mostrar os problemas provoca a busca de soluções
para eles, e com isso aprende-se.

Pelo jeito você está meio “cru” no negócio, e a lógica, você até que está
indo bem, considerando a herança dos formulários.

O que falta, na real, é você fracionar estes seus casos de uso aí. Explico:
DataSource, por exemplo, alguns formulários vão precisar de um, outros de 5
e outros de 20. Se você fazer no seu modelo primário um único DataSource, em
cada formulário que você criar herdando este formulário, terá que adicionar
mais DataSources. Mas, se você fizer o modelo com 10, aí você atende a
maioria dos casos, e em raras oportunidades terás que adicionar mais data
sources além desses 10 aí.

Entendeu o exemplo? Eu quis dizer: projetar considerando o máximo de
possibilidades para cada form, e não o mínimo. Certo? Agora esqueça esses
data sources aí. Crie um único Data Module, com um nome bem curto (eu uso
“DM”) e coloque todos seus componentes de acesso á dados lá: ClientDataSets,
DataModules, DataSetProviders e por aí vai. Desta maneira, você não vai ter
componentes de acesso á dados espalhados pelo seu projeto.

Eu comecei há 5 anos atrás um sistema mais ou menos da maneira que você
estava começando este. Começou com 34 tabelas e hoje tem 220 tabelas no BD.
De todo o tempo de desenvolvimento, no mínimo 30% dele foi refazendo coisas
que fiz sem considerar todas as possibilidades. Por exemplo: ao projetar um
formulário para Notas Fiscais, você precisa de uma tabela para os dados da
NF e outra para o detalhamento da NF, que são os produtos/serviços. Primeiro
fiz com uma tabela para produtos e outra para serviços: tive que refazer
para colocar produtos e serviços em uma única tabela. Alguns valores como
frete e seguro iam no corpo da NF. Não, não dá certo, valores de frete e
seguro tem que ser distribuídos pelos itens da NF para conseguir gerar a
NF-e direito. No corpo da NF, só dados cadastrais, dados monetários tem que
ser tudo nos itens. E tome refazer enormes partes do código.

Minha dica pra ti é: vá para o Delphi por último. Faça funcionar no papel
primeiro. Vai lidar com Notas Fiscais? Estude o lay-out da NFe e do SPED
antes para saber de quais dados você precisará e modelar seu BD de acordo.
Sugiro usar a padronização de nomes de campos que consta no lay-out da NF-e,
vai tornar sua vida mais fácil no futuro. Vais trabalhar com ECF? Estude o
manual do PAF-ECF. Vais gerar boletos para bancos? Estude a documentação
sobre quais dados você precisa informar nos arquivos gerados para os bancos
e use eles nas contas á pagar/receber. Quais impostos vais ter que informar?
Campos no BD para cada um.

É mais importante para seu projeto entrar nas empresas e ver como que todos
trabalham, que informações um departamento precisa obter do outro, o
rastreamento de quem fez o quê, o controle de acesso, permissões para os
menus, acesso de vários usuários ao mesmo tempo... Depois que tiver tudo
isso no papel, aí sim você vai pro Delphi. Porque sabendo isso tudo, aí você
saberá quantos formulários vai precisar, quantos campos em cada formulário,
quantos ClientDataSets... Bote a prancheta embaixo do braço, esqueça a
“programação de software acadêmica” e disseque a prática das pessoas. Só
depois você vai saber o quê precisa fazer no Delphi e quais problemas terá
que solucionar DE VERDADE.

Falou!

De: delphi-br@yahoogrupos.com.br [mailto:delphi...@yahoogrupos.com.br] Em
nome de Rodrigo Rossi
Enviada em: segunda-feira, 9 de agosto de 2010 17:42
Para: delphi-br@yahoogrupos.com.br; n...@yahoogrupos.com.br
Assunto: [delphi-br] Estrutura Padrão de Software

Boa tarde.

Estou desenvolvendo já faz uns 3 meses um software em Delphi 2010 para 
ERP, não é um ERP muito grande mas a idéia é atender vários ramos de 
atividade, é um projeto importantíssimo para min, este software estou 

[delphi-br] Cadastro de Turmas para Sistema Escolar

2007-11-30 Por tôpico Ricardo Souza
Pessoal,

Estou com uma dúvida de como montar um cadastro de turmas.
Tenho uma tabela de turmas com os campos nome da 
turma,curso,sala,professor,data inicio,data termino,hora inicio,hora término.

Estou tendo problema pois está possível de cadastrar uma turma para um 
professor sendo que ele já está dando aula em uma sala. Ou colocar um professor 
numa sala onde já está ocupada por outro professor.

Queria uma idéia de como montar esse cadastro para não ter esse tipo de erro.

Desde já agradeço

Ricardo.

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



Re: [delphi-br] Componente TImage

2007-09-21 Por tôpico Ricardo Souza
Amigo, tenta esse macete: em tempo de projeto, coloque uma imagem do tipo
jpg e depois a tire, rode o programa e tenta abrir uma imagem jpg

Também evite colocar somente a instrução que colocou:
image1.picture.loadfromfile.

Coloque assim if (OpenPictureDialog1.execute) then  aí vc coloca a sua
linha. Isso é para evitar que, caso clique em cancelar, não gere uma
exceção.

Depois diga se funcionou. Comigo funciona


Em 20/09/07, Ribamar Sousa [EMAIL PROTECTED] escreveu:

   Tentei fazer novamente uma aplicacao colocando o mesmo comando:

 Image1.Picture.LoadFromFile(OpenPictureDialog1.FileName);

 Sendo que agora está aparecendo esse erro:

 ---
 Debugger Exception Notification
 ---
 Project TESTE.exe raised exception class EInvalidGraphic with message
 'Unknown picture file extension (.)'. Process stopped. Use Step or Run to
 continue.
 ---
 OK Help
 ---

 Alguém sabe dizer o que seria??

 Agradeço desde já

 Abraços

 - Mensagem original 
 De: Rubem Nascimento da Rocha [EMAIL PROTECTED]djpardalrocha%40hotmail.com
 
 Para: delphi-br@yahoogrupos.com.br delphi-br%40yahoogrupos.com.br
 Enviadas: Quarta-feira, 19 de Setembro de 2007 22:56:20
 Assunto: RE: [delphi-br] Componente TImage

 Inclua na cláusula uses do teu form a unit jpeg.
 Sds.

 To: [EMAIL PROTECTED] os.com.brFrom: [EMAIL PROTECTED] com.brDate: Wed, 19
 Sep 2007 18:51:20 -0700Subject: [delphi-br] Componente TImage

 Pessoal seguinte...eu estou utilizando o componente TImage...e
 adicionei tambem o OpenPictureDialog e no clique do botao eu façoImage1.
 Picture.LoadFrom File(OpenPicture Dialog1.FileName );para selecionar a
 imagem...sendo que só seleciona imagens:*.BMP, *.ICO, *.EMF, *WMFeu queria
 selecionar tambem *.JPG...isso seria possivel???Caso nao seja... qual seria
 uma solucao para isso?!?!?!Abraç osFlickr agora em português. Você clica,
 todo mundo vê.http://www.flickr. com.br/[As http://com.br/%5BAs partes
 desta mensagem que não continham texto foram removidas]

  _ _ _ _ _ _
 Receba GRÁTIS as mensagens do Messenger no seu celular quando você estiver
 offline. Conheça o MSN Mobile!
 http://mobile. live.com/ signup/signup2. aspx?lc=pt- br

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

 Flickr agora em português. Você clica, todo mundo vê.
 http://www.flickr.com.br/

 [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] Sobre herança no delphi

2007-08-14 Por tôpico Ricardo Souza
Olá Valfrid, tudo bem? Agora vc complicou o meu entendimento... :-(
Estou voando  na sua explicação. Se vc puder elucidar com um exemplo,
ficarei grato.


Em 13/08/07, Valfrid-Ly Silva Couto [EMAIL PROTECTED] escreveu:

   Ricardo,

 Só complementando, já que aparentemente nas suas classes você não teria um
 sacramento não tipado o seu objeto sacramento deveria ser abstrato para
 não ser instanciado, implementando os métodos genéricos e forçando a
 implementação dos métodos nas classes descendentes.

 Se você não utilizar um framework de persistência, um exemplo seria o
 método save que teria que obrigatoriamente ser implementado em cada classe
 filha para gravar os dados na tabela correta, chamando o método da classe
 pai (sacramento) para que esse gravasse os dados genéricos na própria
 tabela!

 Joao Morais [EMAIL PROTECTED] post%40joaomorais.com.br escreveu:
 ricardo_sx wrote:
  Alguém teria um sisteminha exemplo para demonstrar como, na prática, é
  aplicado a herança no delphi entre classes e no Banco de Dados? Pois
  estou com dificuldades nesse entendimento.
  Fiz um sistema onde a classe genérica se chama Sacramento e as
  especializadas se chamam batismo, eucaristia, matrimonio, crisma.
  No banco de dados eu fiz assim: criei as tabelas sacramento, batismo,
  matrimonio, crisma e eucaristia. O que era comum a todos eu gravava em
  sacramento e o que era específico gravava na tabela específica. ou
  seja: ao registrar um batismo, alguns dados, como nome e endereço
  cadastrava em sacramento e padrinho, madrinha, data de batismo gravava
  na tabela batismo. a relação que faço entre a tabela genérica com a
  especializada é o código de registro que são iguais.
  Por favor, se alguém puder me orientar a respeito, agradeceria e muito.
  No momento, preciso, somente, entender esse esquema de forma simples e
  clara para ficar fixado na mente.

 A regra é a seguinte: cada classe deve possuir uma tabela que irá
 guardar os membros desta classe. Neste exemplo:

 TContato
 Nome: string;
 Endereco: string;

 TPessoa = class(TContato)
 Apelido: string;

 TEmpresa = class(TContato)
 NroFiliais: Integer;

 você tem três tabelas. A tabela contato tem campos para nome e endereço.
 A tabela pessoa tem apenas o campo apelido. A tabela Empresa tem apenas
 o campo NroFiliais.

 Quando você cria uma instância de pessoa, você:

 VPessoa.Nome := 'O nome';
 VPessoa.Endereco := 'O endereco, nro';
 VPessoa.Apelido := 'O apelido';

 e quando grava, o campo nome e endereço vai para uma tabela, o campo
 apelido vai para outra.

 Todas as tabelas tem, além destes campos, o campo Id. Para este caso, o
 campo Id na tabela contato e pessoa tem o mesmo valor, e é desta forma
 que as informações estão ligadas.

 Esta é a forma politicamente correta de se escrever um OPF.

 Hth.

 --
 Joao Morais

 --
  FAVOR REMOVER ESTA PARTE AO RESPONDER ESTA MENSAGEM 

 Links do Yahoo! Grupos

 Flickr agora em português. Você clica, todo mundo vê. Saiba mais.

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

  



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



Re: RES: [delphi-br] (off topic) Quero comprar a revista PC EXPERT 29 - que veio com o Delphi 4.

2007-06-28 Por tôpico Ricardo Souza
Eu acho que tenho essa revista... Só olhando em casa mesmo. Se eu tiver,
farei um precinho especial pra vc ok? rsrsrsrs

Em 28/06/07, Valfrid-Ly Silva Couto [EMAIL PROTECTED] escreveu:

   Olha, essa eu não achei não, mas você ainda consegue comprar a revista
 WWW.COM.BR http://www.com.br/ no site da editora Europa!! Acho que é a
 edição 13 que veio com o Delphi 3 C/S!

 Walter Alves Chagas Junior [EMAIL PROTECTED]wchagas%40telemont.com.br
 escreveu: Olha, essa revista esteve nas bancas em 2001 mais ou menos. Se
 você conseguir um exemplar destes é só mesmo com quem a tenha pois acredito
 que nem a distribuidora ou a editora também os tenham mais.

 []s

 Walter Alves Chagas Junior
 Projeto e desenvolvimento de sistemas
 Telemont Engenharia de telecomunicações S/A
 Belo Horizonte - MG - Brasil
 [EMAIL PROTECTED] wchagas%40telemont.com.br
 Fone: (31) 3389-8217 Fax: (31) 3389-8215

 -Mensagem original-
 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 [EMAIL PROTECTED] tiano27%40yahoo.com.br
 Enviada em: quinta-feira, 28 de junho de 2007 08:30
 Para: delphi-br@yahoogrupos.com.br delphi-br%40yahoogrupos.com.br
 Assunto: [delphi-br] (off topic) Quero comprar a revista PC EXPERT 29 -
 que veio com o Delphi 4.

 Colegas

 Se algum colega tiver a revista ou souber me indicar onde posso comprar a
 revista PC EXPERT que veio com o Delphi 4.

 Qualquer comentario é bem-vindo, muito obrigado.

 []´s.

 --
  FAVOR REMOVER ESTA PARTE AO RESPONDER ESTA MENSAGEM 

 Links do Yahoo! Grupos

 --
  FAVOR REMOVER ESTA PARTE AO RESPONDER ESTA MENSAGEM 

 Links do Yahoo! Grupos

 Valfrid-Ly Silva Couto
 [EMAIL PROTECTED] valfrid%40uol.com.br
 [EMAIL PROTECTED] valfrid%40intermega.com.br
 [EMAIL PROTECTED] valfrid_ly%40hotmail.com
 ICQ 15114646

 -
 Novo Yahoo! Cadê? - Experimente uma nova busca.

 [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] Dúvidas sobre quickreport.

2007-06-21 Por tôpico Ricardo Souza
Marcelo, bom dia.

Eu especifiquei isso sim, mas continua gerando aquele resultado que eu
apresentei anteriormente...
Será pq os componentes de acesso aos dados estão num datamodule?

Em 21/06/07, Marcelo - Kappesberg [EMAIL PROTECTED] escreveu:

   Ola, veja se vc especificou o agrupamento na propriedade Expression da
 banda do grupo...

 La vc deve informar qual eh o agrupamento. tipo

 QRGroup1.Expression := 'SqlTeste.mes';

 falow!!!

 - Original Message -
 From: ricardo_sx
 To: delphi-br@yahoogrupos.com.br delphi-br%40yahoogrupos.com.br
 Sent: Wednesday, June 20, 2007 8:23 PM
 Subject: [delphi-br] Dúvidas sobre quickreport.

 Amigos, estou com o seguinte problema no quick report (estou
 utilizando o interbase 6.0):

 Tenho a seguinte view: codigo_Caixa, data, valor, descricao,
 tipo_movimento, mes, ano

 (isso vale também quando estou fazendo pela própria tabela)

 E estou tentando gerar um relatório no seguinte formato:

 Cabeçalho: Relatório de Entradas
 ---
 Group Header: REferente ao mês de [DbMes]

 codigo movimentado em valor descricao
 -
 detail: [codigo_Caixa] [data] [valor] [descricao]
 ---
 group footer: Subtotal Sum(valor)
 --

 No form create aonde está o componente quickrep, está assim:

 SqlTeste.Close;
 SqlTeste.SQL.Clear;
 SqlTeste.SQL.Add('SELECT * from vw_caixa');
 SqlTeste.SQL.Add('where tipo_Movimentacao = :ptipo order by mes');
 SqlTeste.ParamByName('ptipo').AsString:='Entrada';

 SqlTeste.Open;

 No BeforePrint do Group Header está assim:

 case sqlteste['mes'] of
 1:DbMes.Caption:='Janeiro';
 2:DbMes.Caption:='Fevereiro';
 3:DbMes.Caption:='Março';
 4:DbMes.Caption:='Abril';
 5:DbMes.Caption:='Maio';
 6:DbMes.Caption:='Junho';
 7:DbMes.Caption:='Julho';
 8:DbMes.Caption:='agosto';
 9:DbMes.Caption:='setembro';
 10:DbMes.Caption:='oututbro';
 11:DbMes.Caption:='novembro';
 12:DbMes.Caption:='dezembro';
 end;

 Quando eu rodo a aplicação, ele só me mostra o 1º ou o último dado
 que consta na referida view no group header. Em detail, ele mostra
 todos os registros. Por que isso está acontecendo? Por que o group
 header não está sendo atualizado quando é mudado de mês? Alguém
 poderia me ajudar?

 Segue o modelo do resultado:

 Referente ao mês de Março

 codigo caixa movimentado em valor descricao
 0001 19/03/2007 100,00 jfgufg
 0003 19/04/2007 100,00 jhgjguf
 0004 19/06/2007 100,00 ufghfhg
 .
 .
 .
 subtotal 300,00

 Lembrando que o componente SqlTeste (TIBQuery) não consta,
 previamente, uma instrução sql. Isso é feito no momento em que se
 cria o formulário.

 [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] Dúvidas sobre quickreport.

2007-06-21 Por tôpico Ricardo Souza
Vou ver se quebro mais a cabeça por aqui, pois tudo o que foi dito está
funcionando corretamente. A view não está retornando somente um mês. No
detail do quickrep ele apresenta todas as datas, porém no group header só
fica no mes de março, por exemplo.
Quanto ao master, o mesmo está apontando para o quickrep e o footerband ou
footband está apontando para a banda do group footer ou algo similar.


Em 21/06/07, Delphi 2005 - BR [EMAIL PROTECTED] escreveu:

   Verifique a propriedade master do seu qrgroup.

 - Original Message -
 From: Marcelo - Kappesberg
 To: delphi-br@yahoogrupos.com.br delphi-br%40yahoogrupos.com.br
 Sent: Thursday, June 21, 2007 8:24 AM
 Subject: Re: [delphi-br] Dúvidas sobre quickreport.

 Pois eh, mas o sintoma eh como se nao estivesse com a propriedade
 expression definida.

 mas ainda pode ser um problema na view, ela pode estar trazendo sempre o
 mesmo mes no campo mes...
 coloca o campo mes para ser exibido no relatorio tambem, soh para ver se
 traz o mes certo...

 No caso de ser por causa do datamodule acho que eh indiferente, jah que os
 dados estao sendo retornados..

 - Original Message -
 From: Ricardo Souza
 To: delphi-br@yahoogrupos.com.br delphi-br%40yahoogrupos.com.br
 Sent: Thursday, June 21, 2007 7:52 AM
 Subject: Re: [delphi-br] Dúvidas sobre quickreport.

 Marcelo, bom dia.

 Eu especifiquei isso sim, mas continua gerando aquele resultado que eu
 apresentei anteriormente...
 Será pq os componentes de acesso aos dados estão num datamodule?

 Em 21/06/07, Marcelo - Kappesberg [EMAIL PROTECTED]joe%40kappesberg.com.br
 escreveu:
 
  Ola, veja se vc especificou o agrupamento na propriedade Expression da
  banda do grupo...
 
  La vc deve informar qual eh o agrupamento. tipo
 
  QRGroup1.Expression := 'SqlTeste.mes';
 
  falow!!!
 
  - Original Message -
  From: ricardo_sx
  To: delphi-br@yahoogrupos.com.br 
  delphi-br%40yahoogrupos.com.brdelphi-br%40yahoog
 rupos.com.br
  Sent: Wednesday, June 20, 2007 8:23 PM
  Subject: [delphi-br] Dúvidas sobre quickreport.
 
  Amigos, estou com o seguinte problema no quick report (estou
  utilizando o interbase 6.0):
 
  Tenho a seguinte view: codigo_Caixa, data, valor, descricao,
  tipo_movimento, mes, ano
 
  (isso vale também quando estou fazendo pela própria tabela)
 
  E estou tentando gerar um relatório no seguinte formato:
 
  Cabeçalho: Relatório de Entradas
  ---
  Group Header: REferente ao mês de [DbMes]
 
  codigo movimentado em valor descricao
  -
  detail: [codigo_Caixa] [data] [valor] [descricao]
  ---
  group footer: Subtotal Sum(valor)
  --
 
  No form create aonde está o componente quickrep, está assim:
 
  SqlTeste.Close;
  SqlTeste.SQL.Clear;
  SqlTeste.SQL.Add('SELECT * from vw_caixa');
  SqlTeste.SQL.Add('where tipo_Movimentacao = :ptipo order by mes');
  SqlTeste.ParamByName('ptipo').AsString:='Entrada';
 
  SqlTeste.Open;
 
  No BeforePrint do Group Header está assim:
 
  case sqlteste['mes'] of
  1:DbMes.Caption:='Janeiro';
  2:DbMes.Caption:='Fevereiro';
  3:DbMes.Caption:='Março';
  4:DbMes.Caption:='Abril';
  5:DbMes.Caption:='Maio';
  6:DbMes.Caption:='Junho';
  7:DbMes.Caption:='Julho';
  8:DbMes.Caption:='agosto';
  9:DbMes.Caption:='setembro';
  10:DbMes.Caption:='oututbro';
  11:DbMes.Caption:='novembro';
  12:DbMes.Caption:='dezembro';
  end;
 
  Quando eu rodo a aplicação, ele só me mostra o 1º ou o último dado
  que consta na referida view no group header. Em detail, ele mostra
  todos os registros. Por que isso está acontecendo? Por que o group
  header não está sendo atualizado quando é mudado de mês? Alguém
  poderia me ajudar?
 
  Segue o modelo do resultado:
 
  Referente ao mês de Março
 
  codigo caixa movimentado em valor descricao
  0001 19/03/2007 100,00 jfgufg
  0003 19/04/2007 100,00 jhgjguf
  0004 19/06/2007 100,00 ufghfhg
  .
  .
  .
  subtotal 300,00
 
  Lembrando que o componente SqlTeste (TIBQuery) não consta,
  previamente, uma instrução sql. Isso é feito no momento em que se
  cria o formulário.
 
  [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]

 [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] Pesquisando aniversário por período

2007-06-10 Por tôpico Ricardo Souza
Ezequiel e Eduardo, desde já, agradeço pela ajuda dada.
Ao Ezequiel, gostei da solução que vc deu pra esse problema. Fiz o teste no
interbase e funcionou legal. Vou jogar na aplicação e ver se vai dar ou não
algum piti... Mas, de antemão, fico muito grato pela força. Se puder e tiver
um tempinho, teria como me falar em off por que dessas multiplicações com
100 e a soma com os dias? Pra eu poder entender no todo a estrutura montada
por vc. Caso contrário, não tem problema algum, pois já ajudou e muito.

Um abraço aos dois.
Ricardo


Em 10/06/07, Ezequiel [EMAIL PROTECTED] escreveu:

   É tudo questão de lógica...
 Repare o seu SQL (substituindo os valores dos parametros):

 select * from paroquiano
 where (extract(day from data_Nascimento)=25 and extract(day from
 data_Nascimento)=3) .

 Você quer pegar o registro que o dia seja = a 25 mas que seja = 3
 Impossível
 Bom, mas uma maneira de resolver isso é através da matemática!
 Tente assim:

 select * from paroquiano
 where ((extract(month from data_nascimento)*100)+(extract(day from
 data_nascimento))) = ((:MesIni * 100) + :DiaIni)
 and ((extract(month from data_nascimento)*100)+(extract(day from
 data_nascimento))) = ((:MesFim * 100) + :DiaFim)

 Existem outras maneiras, mas acho que essa é a mais curta...

 []'s
 Ezequiel

 ricardo_sx escreveu:
 
 
  Amigos, boa noite. Estou tentando fazer uma consulta onde retorne,
  através de um período informado, os registros contido na tabela
  paroquiano.
  Eu tenho a seguinte linha que atende em parte o meu problema:
 
  select * from paroquiano
  where (extract(day from data_Nascimento)=:DiaIni and extract(day from
  data_Nascimento)=:DiaFim) and extract(month from data_Nascimento)
  =:MesIni; //poderia incluir até and extract(month from data_Nascimento)
  =:MesFim que não vai fazer efeito
 
  Através dessa instrução, caso eu digite 01/04 a 31/04, eu vou ter o
  retorno desejado, porém, se eu digitar 25/04 a 03/05 não vou conseguir
  resultado.
 
  Gostaria de saber se alguém tem uma solução pra esse problema?
  Lembrando que utilizo interbase 6.0
 
  PS: procurei mensagens anteriores sobre esse assunto e, as dicas
  informadas, não fizeram efeito pra mim. Peguei todas e testei na hora
  no interbase e nada de gerar o retorno desejado.
 
 
 



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



Re: [delphi-br] Re: Moderadores

2007-06-07 Por tôpico Ricardo Souza
Também não aguentei... galdariah o Davi disse: por que ALGUMAS mensagens
minhas Ele não disse todas, disse algumas

Em 07/06/07, galdariah [EMAIL PROTECTED] escreveu:

   Desculpa não sou moderadora, mas eu não agüentei.
 se suas mensagens não chegam na lista, como essa chegou?

 --- Em delphi-br@yahoogrupos.com.br delphi-br%40yahoogrupos.com.br,
 Davi Eduardo Borges Wall
 [EMAIL PROTECTED] escreveu
 
  Gostaria de saber por que algumas mensagens minhas não estão
 chegando na lista.
 
 
 
  Todas as mensagens passam pelos moderadores? Qual critério utilizado
 para não liberar uma mensagem?
 
 
 
  []'s
 
 
 
  [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] problemas em capturar o último registro via sql

2007-06-05 Por tôpico Ricardo Souza
Ricardo, realmente concordo com vc na sua primeira frase e vc sabe pq?
Porque, antes de enviar pra lista a minha dúvida, eu procuro informações de
maneiras variadas, seja no help do delphi, seja em apostilas que encontro
pela internet e etc. Caso não venha localizar a informação, realmente acabo
postando aqui para pedir ajuda aos companheiros, que por sinal, vem
procurando me ajudar de alguma forma. Inclusive quero externar minha
gratidão ao João Morais. João, a dica sobre o fieldbyname... .isNull
funcionou! valeu mesmo!
Ricardo, desculpe qualquer coisa, mas antes de afirmarmos qualquer coisa
sobre o próximo, vamos colher informações para saber se realmente a pessoa
procurou pesquisar a informação antes ou não.
A lista, fico grato por tê-la encontrado e, mais ainda, por ter pessoas
dispostas a ajudar!


Em 04/06/07, Joao Morais [EMAIL PROTECTED] escreveu:

   Ricardo César Cardoso wrote:
  Sei que não devia me meter, mas as vezes usar a ajuda do Delphi pode ser
 bem produtivo. IsEmpty e IsNull são funções documentadas no Help de qualquer
 versão do Delphi.
 
  Sempre é importante ter em mente quais variações de comandos podem
 existir e verificar se elas existem e podem ajudá-lo.

 Mas as vezes o problema é um pouco mais complicado. Ele estava acessando
 o objeto tdataset diretamente, sem fazer referência ao objeto tfield,
 portanto sem base para consultar o help. O problema não era o uso do
 IsNull, mas o fato de converter um variant null para string.

 As pessoas em geral até sabem pescar, as vezes falta apenas alguém para
 explicar de que lado é melhor jogar o anzol.

 --
 Joao Morais

  Ricardo Souza [EMAIL PROTECTED] ricardo.sx%40gmail.com escreveu:
 João, muito obrigado por passar essa instrução. Vou fazer o teste para ver
  se funciona. Mas, de antemão, creio que vai funcionar! Agradeço pela
  objetividade na resposta, procurando, acima de tudo, auxiliar seu
  semelhante.
 
  Deus te abençoe.
 
  Em 02/06/07, Joao Morais [EMAIL PROTECTED]post%40joaomorais.com.br
 escreveu:
  
   ricardo_sx wrote:
amigos, boa noite. foi-me ensinado usar a instrução select max
(codigo) as cod from sacramento para retornar o código máximo de uma
tabela. quando faço isso no delphi não gera problema quando eu
realmente tenho registro na tabela, mas quando eu não tenho ele
critica dizendo que não pode converter o valor null para string.
segue um pedaço de código para poder ilustrar:
sqlsacramento.sql.add(´select max(codigo) as cod from sacramento´);
sqlsacramento.open;
texto:=sqlsacramento[´cod´]; **
  
   var
   VField: TField;
   VCod: Integer;
   begin
   VField := SQLSacramento.FieldByName('cod');
   if VField.IsNull then
   VCod := 1
   else
   VCod := VField.AsInteger + 1;
  
   --
   Joao Morais
  
** nessa linha gera o erro que citei anteriormente porque é
retornado null.
   
o que fazer para corrigir esse problema? eu uso interbase e os
componentes (tibdatabase, tibtransaction, tibquery, tibupdatesql)
   
já tentei testar da seguinte maneira:
if (sqlsacramento.isempty) then

else

   
só que isso ainda assim gera problema. preciso de algo que teste se
está nulo o retorno ´cod´.
   
existe alguma forma de conseguir testar se é valor nulo ou não?
   
(delphi 7 + interbase 6)
   
   
   
  
  
  
 
  [As partes desta mensagem que não continham texto foram removidas]
 
 
 
 
 
 
 
 
  -
  Novo Yahoo! Cadê? - Experimente uma nova busca.
 
  [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] problemas em capturar o último registro via sql

2007-06-02 Por tôpico Ricardo Souza
João, muito obrigado por passar essa instrução. Vou fazer o teste para ver
se funciona. Mas, de antemão, creio que vai funcionar! Agradeço pela
objetividade na resposta, procurando, acima de tudo, auxiliar seu
semelhante.

Deus te abençoe.


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

   ricardo_sx wrote:
  amigos, boa noite. foi-me ensinado usar a instrução select max
  (codigo) as cod from sacramento para retornar o código máximo de uma
  tabela. quando faço isso no delphi não gera problema quando eu
  realmente tenho registro na tabela, mas quando eu não tenho ele
  critica dizendo que não pode converter o valor null para string.
  segue um pedaço de código para poder ilustrar:
  sqlsacramento.sql.add(´select max(codigo) as cod from sacramento´);
  sqlsacramento.open;
  texto:=sqlsacramento[´cod´]; **

 var
 VField: TField;
 VCod: Integer;
 begin
 VField := SQLSacramento.FieldByName('cod');
 if VField.IsNull then
 VCod := 1
 else
 VCod := VField.AsInteger + 1;

 --
 Joao Morais

  ** nessa linha gera o erro que citei anteriormente porque é
  retornado null.
 
  o que fazer para corrigir esse problema? eu uso interbase e os
  componentes (tibdatabase, tibtransaction, tibquery, tibupdatesql)
 
  já tentei testar da seguinte maneira:
  if (sqlsacramento.isempty) then
  
  else
  
 
  só que isso ainda assim gera problema. preciso de algo que teste se
  está nulo o retorno ´cod´.
 
  existe alguma forma de conseguir testar se é valor nulo ou não?
 
  (delphi 7 + interbase 6)
 
 
 

 



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



Re: [delphi-br] Sobre inherited - parte 2

2007-05-29 Por tôpico Ricardo Souza
Romário, mais uma vez, valeu pela dica. Quanto os tipos dos atributos, estou
fazendo um programa bem específico (proj. final de faculdade) para um
determinado lugar, não me preocupando em distribuí-lo para outros. A minha
preocupação é, somente, passar e ter o canudo nas mãos, entende? O tempo
está curtíssimo e não estou apto (atualmente) para fazer aquele projeto.
Tenho que fazer um capaz de passar.

Aproveitando, gostaria de pedir uma dica sua, caso vc possa dar e saiba:
estou com uma base de dados no interbase e, quando tento incluir um novo
registro, ele simplesmente é criticado, não deixando gravar por causa do
código que é PK. A minha rotina pra, antes de gravar, é a seguinte:
consulto no banco o último código da seguinte maneira: SELECT * FROM EVENTO
--- SqlEvento.last  codigo:=SqlEvento['codigo_Evento']; Depois o
incremento em 1. Só que, ao fazer esse passo a passo todo para pegar o
último registro, na verdade o registro retornado é o penúltimo e eu não
entendo por que. Será que existe outra forma de fazer isso, com o mesmo
pensamento?


Em 28/05/07, Romario (Listas) [EMAIL PROTECTED] escreveu:

   Ricardo,

 Os atributos da sua classe TUCSacramento podem até estar corretos, mas o
 tipo deles é que acho que estão errados. Você tem OBJETOS na classe
 tratados como String e/ou TDatetime.

 Note que paróquia, curso e celebrante tem vida própria. Ou seja, eles
 existem mesmo que não haja o Sacramento.

 Quanto ao seu problema, só faltou o OVERRIDE na classe Batismo.

 Ficaria assim:

 Classe Sacramento:
 Function Consultar (Var Texto: String; ID: Byte): Byte; Virtual;
 ...
 Function TUCSacramento.Consultar (Var Texto: String; ID: Byte): Byte;
 Begin
 {código a ser executado}
 End;
 --
 Classe Batismo
 Type TUCBatismo = Class (TUCSacramento)
 ...
 Function Consultar (Var Texto: String; ID: Byte): Byte; Override;
 
 Function TUCBatismo.Consultar (Var Texto: String; ID: Byte): Byte;
 Begin
 Inherited;
 {código do consultar batismo a ser executado}
 End;
 --

 Sds,

 Romario

 Ricardo Souza escreveu:
 
  Romário, antes de mais nada, agradeço a atenção dispensada para o meu
  problema. Quanto a ele, os atributos anteriormente informados estão
  corretos, pois a classe sacramento engloba 4 classes especialistas, a
 saber:
  batismo, crisma, eucaristia e matrimônio e os atributos que constam nela
  estão corretos.
 
  E, sobre o problema de executar o que está na function consultar
 localizada
  em sacramento, basta eu colocar o termo virtual e fazer o código
 normalmente
  e, depois, em batismo faço nova declaração da mesma function consultar
 e, no
  corpo dela, incluo inherited para que faça o que antecessor tem + o
 código
  do herdeiro?
  Ex.:
  --
  classe sacramento:
  function consultar (var texto:string;id:byte):byte; virtual;
  ...
  function TUCSacramento.consultar (var texto:string;id:byte):byte;
  begin
  {código a ser executado}
  end;
  --
  classe batismo
  type TUCBatismo = class (TUCSacramento)
  ...
  function consultar (var texto:string;id:byte):byte;
  
  function TUCBatismo.consultar (var texto:string;id:byte):byte;
  begin
  inherited;
  {código do consultar batismo a ser executado}
  end;
  --
 
  É isso mesmo que eu entendi?

  



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



Re: [delphi-br] Sobre inherited - parte 2

2007-05-29 Por tôpico Ricardo Souza
João, valeu por ter respondido minha dúvida. Agora com essa informação gerou
outra: o max funciona para campo string? Eu armazeno o código assim:  0001,
0002, 0003 ...  do tipo string; Desculpe perguntar isso pois sou
iniciante e não entendo certas coisas.

Em 29/05/07, Joao Morais [EMAIL PROTECTED] escreveu:

   Ricardo Souza wrote:
  A minha rotina pra, antes de gravar, é a seguinte:
  consulto no banco o último código da seguinte maneira: SELECT * FROM
 EVENTO
  --- SqlEvento.last  codigo:=SqlEvento['codigo_Evento']; Depois o
  incremento em 1.

 select max(codigo_evento) as cod from evento;

 então pega o campo 'cod' e incrementa 1.

 --
 Joao Morais
 



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



Re: [delphi-br] Sobre inherited - parte 2

2007-05-28 Por tôpico Ricardo Souza
Romário, antes de mais nada, agradeço a atenção dispensada para o meu
problema. Quanto a ele, os atributos anteriormente informados estão
corretos, pois a classe sacramento engloba 4 classes especialistas, a saber:
batismo, crisma, eucaristia e matrimônio e os atributos que constam nela
estão corretos.

E, sobre o problema de executar o que está na function consultar localizada
em sacramento, basta eu colocar o termo virtual e fazer o código normalmente
e, depois, em batismo faço nova declaração da mesma function consultar e, no
corpo dela, incluo inherited para que faça o que antecessor tem + o código
do herdeiro?
Ex.:
---
classe sacramento:
function consultar (var texto:string;id:byte):byte; virtual;
...
function TUCSacramento.consultar (var texto:string;id:byte):byte;
begin
  {código a ser executado}
end;
---
classe batismo
type TUCBatismo = class (TUCSacramento)
...
function consultar (var texto:string;id:byte):byte;

function TUCBatismo.consultar (var texto:string;id:byte):byte;
begin
inherited;
   {código do consultar batismo a ser executado}
end;


É isso mesmo que eu entendi?

Em 27/05/07, Romario (Listas) [EMAIL PROTECTED] escreveu:

   Ricardo,

 Ao meu ver, você está colocando quatro objetos em uma classe só.

 1) Paróquia

 2) Sacramento

 3) Curso

 4) Celebrante

 Identifique as propriedades de cada uma dessas classes e depois monte a
 classe TUCSacramento.

 Ex.:

 Type

 TUCSacramento = Class(TObject)

 Private

 Codigo : Integer;
 Paroquia : TUCParoquia;
 Celebrante : TUCCelebrante;
 Curso : TUCCurso;
 TipoSacramento : String;
 Observacao : String;

 Protected

 Public

 End;

 Quanto ao seu problema, defina o método como VIRTUAL para aproveitar
 as facilidades oferecidas pelo polimorfismo e modificar o comportamento
 do acessor.

 Ex.:

 Function Cadastrar : Boolean; Virtual;

 Function Consultar(Var Texto: String; ID: Byte): Byte; Virtual;

 Sds,

 Romario

 ricardo_sx escreveu:
 
  Há um tempo atrás questionei sobre o termo Inherited, onde me
  informaram que ele significa faça aquele código contido no herdado
  + o código posterior ao termo. Blz.
 
  Eu, agora estou com a seguinte dificuldade: tenho duas classes: uma
  genérica e outra especializada, seguem:
 
  type TUCSacramento = class {classe genérica}
  private
  codigo_Sacramento:string;
  codigo_Paroquiano:string;
  tipo_Sacramento:string;
  celebrante:string;
  data_Inscricao:TDateTime;
  inicio_Curso:TDateTime;
  termino_Curso:TDateTime;
  obs:string;
  public
  function cadastrar:boolean;
  function consultar(var texto:string;id:byte):byte;
  function alterar:boolean; virtual;
  function excluir(codigo:string):boolean;
  end;
 
  function TUCSacramento.consultar(var texto:string;id:byte):byte;
  begin
  texto:='qualquer coisa';
  result:=1;
  end;
 
  e a classe especializada:
 
  type TUCBatismo = class(TUCSacramento)
  private
  padrinho:string;
  madrinha:string;
  diocese_Batismo:string;
  paroquia_Batismo:string;
  data_Batismo:TDateTime;
  livro_Batismo:string;
  folha_Batismo:string;
  numero_Batismo:string;
  public
  function cadastrar:boolean;
  function consultar(var texto:string;id:byte):byte;
  function alterar:boolean; override;
  function excluir(codigo:string):boolean; override;
  end;
 
  function TUCBatismo.consultar(var texto:string;id:byte):byte;
  begin
  inherited;
  result:=2;
  end;
 
  Meu problema é o seguinte: Eu tenho um código pra ser realizado na
  classe Sacramento e um outro na classe batismo. Sendo que na classe
  batismo eu preciso que, antes de executar seu respectivo código,
  realize o código descrito na classe Sacramento. Então pensei nesse
  tal de inherited, porém não estou conseguindo fazê-lo funcionar.
  Será que alguém poderia me ajudar?

 



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



Re: [delphi-br] Sobre inherited - parte 2

2007-05-28 Por tôpico Ricardo Souza
Caro João, obrigado pelas dicas! vou fazer e ver se funciona. Qualquer coisa
retorno, lembrando que bons filmes têm trilogia e, possivelmente, o meu terá
a parte 3 rsrsrsrs.



Em 28/05/07, Joao Morais [EMAIL PROTECTED] escreveu:

Ricardo Souza wrote:
  Romário, antes de mais nada, agradeço a atenção dispensada para o meu
  problema. Quanto a ele, os atributos anteriormente informados estão
  corretos, pois a classe sacramento engloba 4 classes especialistas, a
 saber:
  batismo, crisma, eucaristia e matrimônio e os atributos que constam nela
  estão corretos.
 
  E, sobre o problema de executar o que está na function consultar
 localizada
  em sacramento, basta eu colocar o termo virtual e fazer o código
 normalmente
  e, depois, em batismo faço nova declaração da mesma function consultar
 e, no
  corpo dela, incluo inherited para que faça o que antecessor tem + o
 código
  do herdeiro?
  Ex.:
  --
  classe sacramento:
  function consultar (var texto:string;id:byte):byte; virtual;
  ...
  function TUCSacramento.consultar (var texto:string;id:byte):byte;
  begin
  {código a ser executado}
  end;
  --
  classe batismo
  type TUCBatismo = class (TUCSacramento)
  ...
  function consultar (var texto:string;id:byte):byte;
  
  function TUCBatismo.consultar (var texto:string;id:byte):byte;
  begin
  inherited;
  {código do consultar batismo a ser executado}
  end;
  --
 
  É isso mesmo que eu entendi?

 Falta alguns detalhes:

 Na classe abstrata, inclua o termo virtual depois de cada método que
 você queira especializar. Mas apenas na classe, na implementação você
 não precisa recolocar o virtual.

 Na classe especializada, inclua o termo override para os métodos que
 você quer modificar comportamento. Aqui também, apenas na linha que
 declara o método. Na implementação não precisa do override.

 Dentro do método que possui um override você usa o inherited para chamar
 o que foi declarado na classe anterior.

 Por enquanto é isso, o restante fica para uma futura parte 3 pra não
 complicar além do necessário.

 --
 Joao Morais

  Em 27/05/07, Romario (Listas) [EMAIL PROTECTED]rbr_vix_es%40yahoo.com.br
 escreveu:
  Ricardo,
 
  Ao meu ver, você está colocando quatro objetos em uma classe só.
 
  1) Paróquia
 
  2) Sacramento
 
  3) Curso
 
  4) Celebrante
 
  Identifique as propriedades de cada uma dessas classes e depois monte a
  classe TUCSacramento.
 
  Ex.:
 
  Type
 
  TUCSacramento = Class(TObject)
 
  Private
 
  Codigo : Integer;
  Paroquia : TUCParoquia;
  Celebrante : TUCCelebrante;
  Curso : TUCCurso;
  TipoSacramento : String;
  Observacao : String;
 
  Protected
 
  Public
 
  End;
 
  Quanto ao seu problema, defina o método como VIRTUAL para aproveitar
  as facilidades oferecidas pelo polimorfismo e modificar o comportamento
  do acessor.
 
  Ex.:
 
  Function Cadastrar : Boolean; Virtual;
 
  Function Consultar(Var Texto: String; ID: Byte): Byte; Virtual;
 
  Sds,
 
  Romario
 
  ricardo_sx escreveu:
  Há um tempo atrás questionei sobre o termo Inherited, onde me
  informaram que ele significa faça aquele código contido no herdado
  + o código posterior ao termo. Blz.
 
  Eu, agora estou com a seguinte dificuldade: tenho duas classes: uma
  genérica e outra especializada, seguem:
 
  type TUCSacramento = class {classe genérica}
  private
  codigo_Sacramento:string;
  codigo_Paroquiano:string;
  tipo_Sacramento:string;
  celebrante:string;
  data_Inscricao:TDateTime;
  inicio_Curso:TDateTime;
  termino_Curso:TDateTime;
  obs:string;
  public
  function cadastrar:boolean;
  function consultar(var texto:string;id:byte):byte;
  function alterar:boolean; virtual;
  function excluir(codigo:string):boolean;
  end;
 
  function TUCSacramento.consultar(var texto:string;id:byte):byte;
  begin
  texto:='qualquer coisa';
  result:=1;
  end;
 
  e a classe especializada:
 
  type TUCBatismo = class(TUCSacramento)
  private
  padrinho:string;
  madrinha:string;
  diocese_Batismo:string;
  paroquia_Batismo:string;
  data_Batismo:TDateTime;
  livro_Batismo:string;
  folha_Batismo:string;
  numero_Batismo:string;
  public
  function cadastrar:boolean;
  function consultar(var texto:string;id:byte):byte;
  function alterar:boolean; override;
  function excluir(codigo:string):boolean; override;
  end;
 
  function TUCBatismo.consultar(var texto:string;id:byte):byte;
  begin
  inherited;
  result:=2;
  end;
 
  Meu problema é o seguinte: Eu tenho um código pra ser realizado na
  classe Sacramento e um outro na classe batismo. Sendo que na classe
  batismo eu preciso que, antes de executar seu respectivo código,
  realize o código descrito na classe Sacramento. Então pensei nesse
  tal de inherited, porém não estou conseguindo fazê-lo funcionar.
  Será que alguém poderia me ajudar?
 
 
 
 
  [As partes desta mensagem que não continham texto

Re: Re: RES: [delphi-br] ClientDataSet

2006-08-09 Por tôpico Ricardo Souza
Qual é a versão do Delphi que você está usando?



Em 09/08/06, Bruno Lichot [EMAIL PROTECTED] escreveu:

  vamos la entaum

 ele altera o comando, mas naum e dificl fazer isso, e so ir no fonte do
 dsp e
 criar um metodo q faça isso e seja invocado pelo cds com o novo
 comando..soluçao mais demorada, e a outra e fazer a funçãozinha pra fazer
 direto  mesmo.. solução viavel tb

 mas, pra q precisa de alterar o comando do SQLDataSet?
 Não consigo ver justificativa tecnologica pra isso.

 --
 []´s

 Bruno Lichot






 Mas desta dorma não altera o SQL do TSQLDataSet?
 
 Em 09/08/06, Bruno Lichot [EMAIL PROTECTED] escreveu:
 
   tem sim hehehe
 
  e so setar a propriedade do dataset provider allowcomandtex para true,
 e
  no
  clientdataset preencher a propriedade commandtex com o comando q vc
 quiser
  q
  ele sobrescreve, isso e mto util pra gerar a alterar relatorios,
 
  pra manipulação de dados desaconselho totalmente.
 
  mais uma de otimização se os seus dados forem soemnte de consulta, vai
 no
  sqldataset e coloca getmetadata false e no datasetprovider readonly
 true
 
  vai ficar mto mais rapido a execução do comando e o retorno dos dados!
 
  as ordens
 
  --
  []´s
 
  Bruno Lichot
 
 
 
 
 
 
  Já procurei por isto e achei uma solução. já precisei. O CDS não tem um
  propriedade SQL e nem uma que faça um override na propriedade SQL do
  dataset
  
  []s
  
  Walter Alves Chagas Junior
  Projeto e desenvolvimento de sistemas
  Telemont Engenharia de telecomunicações S/A
  Belo Horizonte - MG - Brasil
  [EMAIL PROTECTED]
  Fone: (31) 3389-8215 Fax: (31) 3389-8200
  
  Parabens Telemont - Somos a 8ª maior empresa do Brasil no segmento de
  construção!!
  
  
  -Mensagem original-
  De: delphi-br@yahoogrupos.com.br [mailto:delphi-br@yahoogrupos.com.br
 ]Em
  nome de Yahoo
  Enviada em: quarta-feira, 9 de agosto de 2006 15:05
  Para: delphi-br@yahoogrupos.com.br
  Assunto: [delphi-br] ClientDataSet
  
  
  Alguém sabe como alterar a SQL no componente ClientDataSet e afetar o
  SQLDataSet?
  
  
  [As partes desta mensagem que não continham texto foram removidas]
  
  
  
  --
   FAVOR REMOVER ESTA PARTE AO RESPONDER ESTA MENSAGEM 
  
  
  
  Links do Yahoo! Grupos
  
  
  
  
  
  
  
  
  [As partes desta mensagem que não continham texto foram removidas]
  
  
  
 
 
 
 
 
 [As partes desta mensagem que não continham texto foram removidas]
 
 
 

 




-- 
[]'s

Ricardo Souza


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






-- 
 FAVOR REMOVER ESTA PARTE AO RESPONDER ESTA MENSAGEM 

* Para ver as mensagens antigas, acesse:
http://br.groups.yahoo.com/group/delphi-br/messages

* Para falar com o moderador, envie um e-mail para:
[EMAIL PROTECTED]
 
Links do Yahoo! Grupos

* Para visitar o site do seu grupo na web, acesse:
http://br.groups.yahoo.com/group/delphi-br/

* Para sair deste grupo, envie um e-mail para:
[EMAIL PROTECTED]

* O uso que você faz do Yahoo! Grupos está sujeito aos:
http://br.yahoo.com/info/utos.html