Re: [delphi-br] Problemas com arredondamento

2009-11-26 Por tôpico Marcio Luis
Ja tentou aplicar as funcoes  div e mod
talvez resolva seu caso ..


att. Marcio.



[delphi-br] Desculpas

2009-11-26 Por tôpico Anderson Carlos
Peço desculpas pelos e-mails enviados com o assunto Hi, how are you, trata-se 
de algum virus adquirido por minha máquina, o qual já estou resolvendo.

Atenciosamente, 

Anderson Carlos
Programador Cobol / Net Express;
Delphi / Paradox - Firebird - MySql


  

Veja quais são os assuntos do momento no Yahoo! +Buscados
http://br.maisbuscados.yahoo.com

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



Re: [delphi-br] Problemas com arredondamento

2009-11-26 Por tôpico josue
Eu normalmente faço o seguinte:

1 - divido o total pelo numero de parcelas, truncando nas duas decimais, 
esquece o resto. = (valor das parcelas)

2 - multiplica o (valor da parcela) obtido, pelo (numero de parcelas - 1) = 
(valor subtotal);

3 - o valor da primeira parcela é (valor total) - (valor subtotal);

4 - As demais parcelas o valor é o calculado no inicio.
 Use currency, não use float.

Espero ter ajudado.




  - Original Message - 
  From: Tico 
  To: delphi-br@yahoogrupos.com.br 
  Sent: Wednesday, November 25, 2009 4:45 PM
  Subject: [delphi-br] Problemas com arredondamento



  Boa tarde senhores,

  Estou tendo um problema com arredondamento no meu sistema. É o seguinte:

  Se o valor da minha nota é de R$ 1477,00, e preciso dividir em 3 parcelas eu
  antes deixava simplesmente 3 parcelas de R$ 492,33.
  O problema é que agora, com a NF-e, os clientes estão exigindo que a soma
  das parcelas sejam exatamente o valor da nota (o que é lógico), já que na
  forma antiga totalizava R$ 1476,99.

  Montei uma rotina que, durante um loop na minha tabela temporária de
  duplicatas faço o seguinte:

  // Somente a primeira parcela leva o valor do ICMS-ST
  // A primeira parcela é arredondada e divide-se o restante nas
  demais
  nParcela := ((nValTotNota - nTotValICMSST) / iQtdParc) +
  nTotValICMSST;
  if (DM.TabFaturas.RecordCount  1) then begin
  if (DM.TabFaturas.Bof) then begin
  nDiferenca := Round(nParcela);
  nDupl1 := nDiferenca;
  end else
  nDupl1 := (nValTotNota - nDiferenca) / (iQtdParc - 1);
  end else
  nDupl1 := (nValTotNota - nTotValICMSST - nDiferenca) / (iQtdParc)
  + nTotValICMSST;

  Neste caso, a nota de R$ 1477,00 ficaria 1 parcela de R$ 492,00 e 2 parcelas
  de R$ 492,50.

  Mas me apareceu um outro caso onde o valor da nota é R$ 5670,00 e preciso
  dividir em 4x.
  Fica 1 parcela de R$ 1418,00 e as outras 3 de R$ 1417,33 o que me leva
  novamente ao primeiro caso.

  Alguém já teve algum problema parecido? Obigado pessoal.

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

2009-11-26 Por tôpico Matheus Nabao

Cara você está fazendo errado.
Saca só:
5670 / 4= 1471,5  1471,5 * 4 = 5670

Bem o que você tira disso? Que esse valor não precisa de ajuste ou seja, 
divisão simples parcelas OK.

O quê você tem que fazer?

Apenas ajustar 1 das parcelas APENAS quando for necessário. ÓBVIO
Pense a respeito e será simples. A resolução também é simples para esse caso. 
Sua rotina de arredondamento está completamente equivocada.
To: delphi-br@yahoogrupos.com.br
From: doutort...@gmail.com
Date: Wed, 25 Nov 2009 16:45:29 -0200
Subject: [delphi-br] Problemas com arredondamento


















 



  



  
  
  Boa tarde senhores,



Estou tendo um problema com arredondamento no meu sistema. É o seguinte:



Se o valor da minha nota é de R$ 1477,00, e preciso dividir em 3 parcelas eu

antes deixava simplesmente 3 parcelas de R$ 492,33.

O problema é que agora, com a NF-e, os clientes estão exigindo que a soma

das parcelas sejam exatamente o valor da nota (o que é lógico), já que na

forma antiga totalizava R$ 1476,99.



Montei uma rotina que, durante um loop na minha tabela temporária de

duplicatas faço o seguinte:



// Somente a primeira parcela leva o valor do ICMS-ST

// A primeira parcela é arredondada e divide-se o restante nas

demais

nParcela := ((nValTotNota - nTotValICMSST) / iQtdParc) +

nTotValICMSST;

if (DM.TabFaturas.RecordCount  1) then begin

  if (DM.TabFaturas.Bof) then begin

nDiferenca := Round(nParcela);

nDupl1 := nDiferenca;

  end else

nDupl1 := (nValTotNota - nDiferenca) / (iQtdParc - 1);

end else

  nDupl1 := (nValTotNota - nTotValICMSST - nDiferenca) / (iQtdParc)

+ nTotValICMSST;



Neste caso, a nota de R$ 1477,00 ficaria 1 parcela de R$ 492,00 e 2 parcelas

de R$ 492,50.



Mas me apareceu um outro caso onde o valor da nota é R$ 5670,00 e preciso

dividir em 4x.

Fica 1 parcela de R$ 1418,00 e as outras 3 de R$ 1417,33 o que me leva

novamente ao primeiro caso.



Alguém já teve algum problema parecido? Obigado pessoal.



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







 









  
_
Novo windowslive.com.br. Descubra como juntar a galera com os produtos Windows 
Live.
http://www.windowslive.com.br/?ocid=WindowsLive09_MSN_Hotmail_Tagline_out09

[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:
delphi-br-ow...@yahoogrupos.com.br
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:
delphi-br-unsubscr...@yahoogrupos.com.br

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




Re: [delphi-br] Ajuda

2009-11-26 Por tôpico Dirlei Dionísio
Uma alternativa é uniformizar os bancos de dados dos seus clientes e passar
a versioná-los. À cada alteração, você gera um script de atualização que
faz as alterações necessárias e incrementa a versão do banco. Seu programa
pode ler esse script e executá-lo na inicialização.


[ ]'s
Dirlei.



2009/11/25 Felipe Lopes felipearaujolo...@yahoo.com.br



 Galera, boa noite

 Estou desenvolvendo um software, e já estou com ele instalado em 3
 clientes.

 Estou tendo uma dificuldade quando faço alterações no banco de dados(crio
 tabelas, altero tabelas, índices e etc...)

 A minha dificuldade é na hora de atualizar nos clientes, onde perco muito
 tempo descobrindo as atualizações que tenho que fazer.

 Eu já vi um programa que acerta o banco de dados por completo, só não tenho
 a idéia de como fazer.

 Alguém pode me ajudar?

 [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 

* 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:
delphi-br-ow...@yahoogrupos.com.br
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:
delphi-br-unsubscr...@yahoogrupos.com.br

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




RE: [delphi-br] Destruir Form

2009-11-26 Por tôpico Matheus Nabao

Julio,
Nada contra ninguém aqui. Mas olha só, tem coisas que acho que nós mesmos 
devemos solucionar. (Como nesse caso).
Não adianta simplesmente você saber a solução e pronto. Você tem que entender o 
que está acontecendo na execução, nos eventos etc. Eu já disse que no primeiro 
e-mail, que no próprio exemplo está a solução. É só debugar!
Eu não quero ser o chato ou sádico da turma, apenas quero ajudar o cara a 
pensar no problema, eu aprendi muito com isso e todos conseguiremos. Senão 
conseguir, depois eu postarei a solução, mas acredito que ele conseguirá achar 
facilmente se debugar.
Mais uma pista... é um mero detalhe que até no help ele encontraria a solução.
To: delphi-br@yahoogrupos.com.br
From: jcsguio...@gmail.com
Date: Wed, 25 Nov 2009 12:06:32 -0300
Subject: Re: [delphi-br] Destruir Form


















 



  



  
  
  Matheus,



não é mais fácil e amigável você enviar a solução?

Acho que já somos todos crescidinhos não?!



Abraço,

Júlio César Santiago Guiótti



2009/11/25 Matheus Nabao matheus_...@hotmail.com





 Não não não e não.







 O try não é o problema, presta atenção no seu primeiro e-mail. Debuga que

 você vai encontrar a resposta fácil fácil.









 To: delphi-br@yahoogrupos.com.br

 From: dionata...@hotmail.com

 Date: Wed, 25 Nov 2009 11:38:20 +

 Subject: RE: [delphi-br] Destruir Form













 sim por causa do try...



 mas se eu colocar uma variavel de controle tipo erro :='S' e depois testar



 if Erro= 'S' then close fora do try também nao fecha...



  To: delphi-br@yahoogrupos.com.br

  From: matheus_...@hotmail.com

  Date: Tue, 24 Nov 2009 17:51:33 +

  Subject: RE: [delphi-br] Destruir Form

 

 

  Já vi o erro!

 

  Se você prestar atenção verá também o erro assim como eu.

 

  Olhe o exemplo que você postou que você verá por quê o Form não fecha.

 

 

 

  To: delphi-br@yahoogrupos.com.br

  From: dionata...@hotmail.com

  Date: Tue, 24 Nov 2009 12:23:15 +

  Subject: [delphi-br] Destruir Form

 

 

 

 

 

  Pessoal uma pergunta bem simples...

 

  no onshow do meu form tenho varios procedures dentro do try except;

 

  Exemplo

 

  try

  procedure1

  preocedure2

  except

  Showmessage('Não foi possivel abrir a aplicação!');

  Close;

  end;

 

  so que quando dou um close ele nao esta fechando o form, esta anbrindo

 igual..

 

  no onclose do form tenho

 

  Action :=cafree;

  form :=nil;

 

  Como posso resolver isso?Valeu

 

 

 

 

 

  __

  Agora a pressa é amiga da perfeição. Chegou o Windows 7. Conheça!

  http://www.microsoft.com/brasil/windows7/default.html?WT.mc_id=1539

 

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

 

 

 

  

 

  --

   FAVOR REMOVER ESTA PARTE AO RESPONDER ESTA MENSAGEM 

 

 

 



 __

 Converse e compartilhe fotos ao mesmo tempo. Saiba como no novo Site de

 Windows Live.

 http://www.windowslive.com.br/?ocid=WindowsLive09_MSN_Hotmail_Tagline_out09



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











 __

 Agora a pressa é amiga da perfeição. Chegou o Windows 7. Conheça!

 http://www.microsoft.com/brasil/windows7/default.html?WT.mc_id=1539



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







 









  
_
Converse e compartilhe fotos ao mesmo tempo. Saiba como no novo Site de Windows 
Live.
http://www.windowslive.com.br/?ocid=WindowsLive09_MSN_Hotmail_Tagline_out09

[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:
delphi-br-ow...@yahoogrupos.com.br
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:
delphi-br-unsubscr...@yahoogrupos.com.br

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




RE: [delphi-br] Duvida

2009-11-26 Por tôpico Matheus Nabao

Cara,
Acredito que você vai fazer CACA se travar a venda! Imagina n caixas parados 
por quê alguém resolveu editar o produto??Você tem rever sua rotina de 
gravação, ela deva estar dando update com o estoque anterior, por isso a zebra. 
Refaça isso ai para não ter dor de cabeça posteriormente.

To: delphi-br@yahoogrupos.com.br
From: nazareno.nobr...@gmail.com
Date: Wed, 25 Nov 2009 14:45:41 -0300
Subject: [delphi-br] Duvida


















 



  



  
  
  Pessoal acho q alguem ja passo pelo problema, e nao sei como resolver. É o

seguinte:

tenho o cadastro de produtos e a venda, quando dou um edit no produto e

deixo ele la em estado de edit

e vem outro usuario do sistema e faz uma venda para o mesmo produto, ele vai

e baixa o estoque, registra

na ficha de movimentação tudo bonitinho. Mas ai quando o usuario q estava

editando da o post no produto

o estoque volta o de antes. O que eu queria era tipo dar um LOCATE no

produto, ate consegui mas estave

dando erro, fiz assim:

quando o usuario da edição da edit, logo em seguindo do um locate no

registro, quando o cara ta fazendo venda

ele vai da a exceção e nao deixa gravar ate o usuario do edit dar o post,

mas quando o usuario do edit da um post

fala que o registro nao ta em modo de edição ou inserção, isso so ocorre

quando na venda tem o produto que tava

no locate.



Apos todo esse blabla, sera que alguem tem uma idea de como bloquear o

registro de um determinidado

produto enquanto ele estiver sendo editado?



Felicidade



-- 

Nazareno Neto

Programador Delphi e Firebird



http://www.delphisistemas.com.br

nazarenon...@hotmail.com

nazareno.nobr...@gmail.com



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







 









  
_
Agora a pressa é amiga da perfeição. Chegou o Windows 7. Conheça!
http://www.microsoft.com/brasil/windows7/default.html?WT.mc_id=1539

[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:
delphi-br-ow...@yahoogrupos.com.br
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:
delphi-br-unsubscr...@yahoogrupos.com.br

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




[delphi-br] Quick Report na Horizontal

2009-11-26 Por tôpico Daniel de Oliveira
Alguem sabe se é possível fazer o Details PageHeader começarem na Esquerda e
seguir para Direita?



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



[delphi-br] Comercializar Software

2009-11-26 Por tôpico celioecarol


Bom pessoal tenho algumas dúvidas sobre como comercializar um software 
desenvolvido em delphi.
1º Desenvolvi um software em Delphi usando uma versão pirata baixada da 
internet! É legal comercializar um programa desenvolvido em delphi pirata? Dá 
problema?
2º Não emito cupom fiscal nem nota fiscal no programa, tenho que registrar o 
programa na receita?
3º se Não registrar o que pode acontecer?
4º para registrar o que precisa para registrar no paraná, e se a versão do 
delphi for pirata consigo registrar?

O programa é para loja com rotinas diversas como estoque, compras, vendas, 
financeiro, etc.

Então o que devo fazer?
Começar do zero e fazer denovo no lazarus?



[delphi-br] Criar Colunas no Select baseado em outra consulta.

2009-11-26 Por tôpico Daniel de Oliveira
Caros amigos existe essa possibilidade:

 

Quero criar um select onde os campos sejam resultados de outro select

 

EX.

 

Select Dia1, Dia2, Dia3 from Tab1

 

Onde Dia1, etc... seja o resultado de Select Dia from TabDia.

 

Muito Obrigado.

 

Daniel



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



Re: [delphi-br] Duvida

2009-11-26 Por tôpico Nazareno Neto
So lembrando estou usando Delphi 7 + ibx + firebird.
Se outra pessoa poder me ajudar, ficarei muito grato!

Felicidades

2009/11/26 Nazareno Neto nazareno.nobr...@gmail.com

 ou, ate tenho cadastro na active delphi, frequento quase toda semana, mas
 nao sou assinante para ver o video.
 mas vlw pela dica!

 2009/11/25 Rubens Antunes rubensantu...@yahoo.com.br



 Amigo

 Dar uma olhada nessa video


 http://www.activedelphi.com.br/modules.php?op=modloadname=Newsfile=articlesid=659

 Rubens Antunes

 Autor do Livro - Delphi Faça Uma Aplicação Comercial

 Blog http://rubensantunes.zip.net/

 --- Em qua, 25/11/09, Nazareno Neto 
 nazareno.nobr...@gmail.comnazareno.nobrega%40gmail.com
 escreveu:

 De: Nazareno Neto nazareno.nobr...@gmail.comnazareno.nobrega%40gmail.com
 
 Assunto: [delphi-br] Duvida
 Para: delphi-br@yahoogrupos.com.br delphi-br%40yahoogrupos.com.br
 Data: Quarta-feira, 25 de Novembro de 2009, 17:45




 Pessoal acho q alguem ja passo pelo problema, e nao sei como resolver. É o

 seguinte:

 tenho o cadastro de produtos e a venda, quando dou um edit no produto e

 deixo ele la em estado de edit

 e vem outro usuario do sistema e faz uma venda para o mesmo produto, ele
 vai

 e baixa o estoque, registra

 na ficha de movimentação tudo bonitinho. Mas ai quando o usuario q estava

 editando da o post no produto

 o estoque volta o de antes. O que eu queria era tipo dar um LOCATE no

 produto, ate consegui mas estave

 dando erro, fiz assim:

 quando o usuario da edição da edit, logo em seguindo do um locate no

 registro, quando o cara ta fazendo venda

 ele vai da a exceção e nao deixa gravar ate o usuario do edit dar o post,

 mas quando o usuario do edit da um post

 fala que o registro nao ta em modo de edição ou inserção, isso so ocorre

 quando na venda tem o produto que tava

 no locate.

 Apos todo esse blabla, sera que alguem tem uma idea de como bloquear o

 registro de um determinidado

 produto enquanto ele estiver sendo editado?

 Felicidade

 --

 Nazareno Neto

 Programador Delphi e Firebird

 http://www.delphisi stemas.com. br


 nazarenoneto@ hotmail.com

 nazareno.nobrega@ gmail.com

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

 __
 Veja quais são os assuntos do momento no Yahoo! +Buscados
 http://br.maisbuscados.yahoo.com

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

  




 --
 Nazareno Neto
 Programador Delphi e Firebird

 http://www.delphisistemas.com.br

 nazarenon...@hotmail.com
 nazareno.nobr...@gmail.com




-- 
Nazareno Neto
Programador Delphi e Firebird

http://www.delphisistemas.com.br
nazarenon...@hotmail.com
nazareno.nobr...@gmail.com


[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:
delphi-br-ow...@yahoogrupos.com.br
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:
delphi-br-unsubscr...@yahoogrupos.com.br

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




Re: [delphi-br] Duvida

2009-11-26 Por tôpico Nazareno Neto
ou, ate tenho cadastro na active delphi, frequento quase toda semana, mas
nao sou assinante para ver o video.
mas vlw pela dica!

2009/11/25 Rubens Antunes rubensantu...@yahoo.com.br



 Amigo

 Dar uma olhada nessa video


 http://www.activedelphi.com.br/modules.php?op=modloadname=Newsfile=articlesid=659

 Rubens Antunes

 Autor do Livro - Delphi Faça Uma Aplicação Comercial

 Blog http://rubensantunes.zip.net/

 --- Em qua, 25/11/09, Nazareno Neto 
 nazareno.nobr...@gmail.comnazareno.nobrega%40gmail.com
 escreveu:

 De: Nazareno Neto nazareno.nobr...@gmail.comnazareno.nobrega%40gmail.com
 
 Assunto: [delphi-br] Duvida
 Para: delphi-br@yahoogrupos.com.br delphi-br%40yahoogrupos.com.br
 Data: Quarta-feira, 25 de Novembro de 2009, 17:45




 Pessoal acho q alguem ja passo pelo problema, e nao sei como resolver. É o

 seguinte:

 tenho o cadastro de produtos e a venda, quando dou um edit no produto e

 deixo ele la em estado de edit

 e vem outro usuario do sistema e faz uma venda para o mesmo produto, ele
 vai

 e baixa o estoque, registra

 na ficha de movimentação tudo bonitinho. Mas ai quando o usuario q estava

 editando da o post no produto

 o estoque volta o de antes. O que eu queria era tipo dar um LOCATE no

 produto, ate consegui mas estave

 dando erro, fiz assim:

 quando o usuario da edição da edit, logo em seguindo do um locate no

 registro, quando o cara ta fazendo venda

 ele vai da a exceção e nao deixa gravar ate o usuario do edit dar o post,

 mas quando o usuario do edit da um post

 fala que o registro nao ta em modo de edição ou inserção, isso so ocorre

 quando na venda tem o produto que tava

 no locate.

 Apos todo esse blabla, sera que alguem tem uma idea de como bloquear o

 registro de um determinidado

 produto enquanto ele estiver sendo editado?

 Felicidade

 --

 Nazareno Neto

 Programador Delphi e Firebird

 http://www.delphisi stemas.com. br


 nazarenoneto@ hotmail.com

 nazareno.nobrega@ gmail.com

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

 __
 Veja quais são os assuntos do momento no Yahoo! +Buscados
 http://br.maisbuscados.yahoo.com

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

  




-- 
Nazareno Neto
Programador Delphi e Firebird

http://www.delphisistemas.com.br
nazarenon...@hotmail.com
nazareno.nobr...@gmail.com


[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:
delphi-br-ow...@yahoogrupos.com.br
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:
delphi-br-unsubscr...@yahoogrupos.com.br

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




[delphi-br] [OFF] Desenvolvedor Delphi - Vagas

2009-11-26 Por tôpico Marco
Experiência em delphi 2009 + devexpress + postgresql
 
desejável conhecimento em C#.net

vagas em Campo Grande/MS.

Encaminhar CV com pretensão salarial para ma.pile...@yahoo.com.br




[delphi-br] Re: Criar Colunas no Select baseado em outra consulta.

2009-11-26 Por tôpico simoesluciano


Você pode usar subquery, ex.:

select (select campo from tabela where campo = valor_campo) as dia1, (select 
campo from tabela where campo = valor_campo) as dia2

Dá uma lida da sintaxe do select que tem bastante opção.

Luciano C. Simões

--- Em delphi-br@yahoogrupos.com.br, Daniel de Oliveira dan...@... escreveu

 Caros amigos existe essa possibilidade:
 
  
 
 Quero criar um select onde os campos sejam resultados de outro select
 
  
 
 EX.
 
  
 
 Select Dia1, Dia2, Dia3 from Tab1
 
  
 
 Onde Dia1, etc... seja o resultado de Select Dia from TabDia.
 
  
 
 Muito Obrigado.
 
  
 
 Daniel
 




Re: [delphi-br] Ajuda

2009-11-26 Por tôpico Nazareno Neto
o problema com  o banco, se vc usar firebird/interbase, vc pode usar o
componente DataBase Comparer da Clever Components, é free para uso nao
comercial.
com ele vc pode comparar 2 base de dados e ele ira gerar o script de
atualização.
Muito bom mesmo esse programinha, uso ele aqui na empresa ond trabalho,
assim nao tenho preocupação de qual script passar em qual banco.
mas veja ai, pois pra min pode ser bom, nun sei pra vc.

Felicidades

2009/11/25 Dirlei Dionísio dir...@gmail.com

 Uma alternativa é uniformizar os bancos de dados dos seus clientes e passar
 a versioná-los. À cada alteração, você gera um script de atualização que
 faz as alterações necessárias e incrementa a versão do banco. Seu programa
 pode ler esse script e executá-lo na inicialização.


 [ ]'s
 Dirlei.



 2009/11/25 Felipe Lopes felipearaujolo...@yahoo.com.br

 
 
  Galera, boa noite
 
  Estou desenvolvendo um software, e já estou com ele instalado em 3
  clientes.
 
  Estou tendo uma dificuldade quando faço alterações no banco de dados(crio
  tabelas, altero tabelas, índices e etc...)
 
  A minha dificuldade é na hora de atualizar nos clientes, onde perco muito
  tempo descobrindo as atualizações que tenho que fazer.
 
  Eu já vi um programa que acerta o banco de dados por completo, só não
 tenho
  a idéia de como fazer.
 
  Alguém pode me ajudar?
 
  [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 






-- 
Nazareno Neto
Programador Delphi e Firebird

http://www.delphisistemas.com.br
nazarenon...@hotmail.com
nazareno.nobr...@gmail.com


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



Re: [delphi-br] Criar Colunas no Select baseado em outra consulta.

2009-11-26 Por tôpico emerson
Acho possivel voce criar um CASE com um subselect nas clausulas when.


  - Original Message - 
  From: Daniel de Oliveira 
  To: delphi-br@yahoogrupos.com.br 
  Sent: Thursday, November 26, 2009 9:30 AM
  Subject: [delphi-br] Criar Colunas no Select baseado em outra consulta.



  Caros amigos existe essa possibilidade:

  Quero criar um select onde os campos sejam resultados de outro select

  EX.

  Select Dia1, Dia2, Dia3 from Tab1

  Onde Dia1, etc... seja o resultado de Select Dia from TabDia.

  Muito Obrigado.

  Daniel

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



  

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



Re: [Bulk] Re: [delphi-br] Duvida

2009-11-26 Por tôpico Samuca ( Yahoo )
Neto,

Bom Dia,

Que tipos de recursos você utiliza para controlar as tabelas?

Eu costumo fazer por queries, neste caso que você falou eu não colocaria 
o campo da quantidade na query de update do cadastro de produtos, aí não 
teria problemas de um estar editando o cadastro e outro fazendo a venda e 
você não prenderia o processo de venda.

Outra coisa, eu não controlaria a quantidade em estoque do produto na 
mesma tabela do cadastro, eu faria uma tabela à parte relacionando a 
quantidade ao produto.

Entendeu?

Abraço

Samuca



- Original Message - 
From: Nazareno Neto nazareno.nobr...@gmail.com
To: delphi-br@yahoogrupos.com.br
Sent: Thursday, November 26, 2009 8:47 AM
Subject: [Bulk] Re: [delphi-br] Duvida


So lembrando estou usando Delphi 7 + ibx + firebird.
Se outra pessoa poder me ajudar, ficarei muito grato!

Felicidades

2009/11/26 Nazareno Neto nazareno.nobr...@gmail.com

 ou, ate tenho cadastro na active delphi, frequento quase toda semana, mas
 nao sou assinante para ver o video.
 mas vlw pela dica!

 2009/11/25 Rubens Antunes rubensantu...@yahoo.com.br



 Amigo

 Dar uma olhada nessa video


 http://www.activedelphi.com.br/modules.php?op=modloadname=Newsfile=articlesid=659

 Rubens Antunes

 Autor do Livro - Delphi Faça Uma Aplicação Comercial

 Blog http://rubensantunes.zip.net/

 --- Em qua, 25/11/09, Nazareno Neto 
 nazareno.nobr...@gmail.comnazareno.nobrega%40gmail.com
 escreveu:

 De: Nazareno Neto 
 nazareno.nobr...@gmail.comnazareno.nobrega%40gmail.com
 
 Assunto: [delphi-br] Duvida
 Para: delphi-br@yahoogrupos.com.br delphi-br%40yahoogrupos.com.br
 Data: Quarta-feira, 25 de Novembro de 2009, 17:45




 Pessoal acho q alguem ja passo pelo problema, e nao sei como resolver. É 
 o

 seguinte:

 tenho o cadastro de produtos e a venda, quando dou um edit no produto e

 deixo ele la em estado de edit

 e vem outro usuario do sistema e faz uma venda para o mesmo produto, ele
 vai

 e baixa o estoque, registra

 na ficha de movimentação tudo bonitinho. Mas ai quando o usuario q estava

 editando da o post no produto

 o estoque volta o de antes. O que eu queria era tipo dar um LOCATE no

 produto, ate consegui mas estave

 dando erro, fiz assim:

 quando o usuario da edição da edit, logo em seguindo do um locate no

 registro, quando o cara ta fazendo venda

 ele vai da a exceção e nao deixa gravar ate o usuario do edit dar o post,

 mas quando o usuario do edit da um post

 fala que o registro nao ta em modo de edição ou inserção, isso so ocorre

 quando na venda tem o produto que tava

 no locate.

 Apos todo esse blabla, sera que alguem tem uma idea de como bloquear o

 registro de um determinidado

 produto enquanto ele estiver sendo editado?

 Felicidade

 --

 Nazareno Neto

 Programador Delphi e Firebird

 http://www.delphisi stemas.com. br


 nazarenoneto@ hotmail.com

 nazareno.nobrega@ gmail.com

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

 __
 Veja quais são os assuntos do momento no Yahoo! +Buscados
 http://br.maisbuscados.yahoo.com

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






 --
 Nazareno Neto
 Programador Delphi e Firebird

 http://www.delphisistemas.com.br

 nazarenon...@hotmail.com
 nazareno.nobr...@gmail.com




-- 
Nazareno Neto
Programador Delphi e Firebird

http://www.delphisistemas.com.br
nazarenon...@hotmail.com
nazareno.nobr...@gmail.com


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





-- 
 FAVOR REMOVER ESTA PARTE AO RESPONDER ESTA MENSAGEM 



__
Faça ligações para outros computadores com o novo Yahoo! Messenger 
http://br.beta.messenger.yahoo.com/ 



[delphi-br] Variavel String, Delphi e C++

2009-11-26 Por tôpico Tiago F. Zacchi

Olá pessoal,
Criei uma dll em delphi, nesta dll uma função que retona uma String.
Estou querendo acessar esta dll e utilizar o retorno da função no c++, mas
estou tendo problemas com o tipo String. Se uso o retorno da função como
Integer funciona legal, mas com String não.
Vejam o código exemplo:

DLL:

library MyDllDelphi;
uses
  SysUtils,
  Classes;

{$R *.res}

function Triple(N: Integer): String; stdcall;
begin
  Result := 'O triplo do numero informado e ' + IntToStr(N * 3);
end;
exports Triple;

begin
end.

Programa em C++:

void __fastcall TForm1::Button1Click(TObject *Sender)
{
typedef String (CALLBACK * tpTriple)(int);
tpTriple Triple;
HINSTANCE vDll;
String vRetorno;

vDll = LoadLibrary(MyDllDelphi.dll);
try
{
if(vDll != NULL)
{
Triple = (tpTriple)GetProcAddress(vDll,Triple);
if(Triple)
vRetorno = Triple(5);
else
MessageBox(0, Erro na leitura de dll! ,
Erro, 0+16+8192);
}
else
MessageBox(0, Dll DNFe.dll não encontrada! ,
Erro, 0+16+8192);

}
catch (Exception vExcep)
{
Application-ShowException(vExcep);
}
FreeLibrary(vDll);
   
ShowMessage( vRetorno );
}
//--
-

Qual seria a melhor forma de retornar uma string que seja compatível com o
C++? 

Talvez eu esteja indo pelo caminho errado, não tenho muito conhecimento com
Delphi e C++.

Desde já, obrigado!




[delphi-br] Novidades na Delphi Conference

2009-11-26 Por tôpico marlon
Boa tarde a todos,

  O endereço http://marlonsouza.wordpress.com/ contém algumas notícias
referente a Delphi Conference realizada no último dia 24 em SP.

Sem mais,

Marlon D. Souza
Desenvolvedor




RE: [delphi-br] Novidades na Delphi Conference

2009-11-26 Por tôpico Bruno Lichot
Valeu Marlon

 

Abraços

 

From: delphi-br@yahoogrupos.com.br [mailto:delphi...@yahoogrupos.com.br] On 
Behalf Of mar...@sysmo.com.br
Sent: quinta-feira, 26 de novembro de 2009 14:35
To: delphi-br@yahoogrupos.com.br
Subject: [delphi-br] Novidades na Delphi Conference

 

  

Boa tarde a todos,

O endereço http://marlonsouza.wordpress.com/ contém algumas notícias
referente a Delphi Conference realizada no último dia 24 em SP.

Sem mais,

Marlon D. Souza
Desenvolvedor



 

Click here 
https://www.mailcontroller.altohiway.com/sr/91jJNw9SiC7TndxI!oX7UnadVIlQ6dyc4VlwUNUDoBAoG435a5NBlofgbI20tEGamgh7+nfwzKaFfmYpsSvVwQ==
  to report this email as spam.

This message has been scanned for viruses by MailController 
http://www.MailController.altohiway.com/ .



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



Re: [delphi-br] Gravar informações dentro do execu tável / DLL

2009-11-26 Por tôpico Alemão
Consegui resolver o problema.

Estou gravando varias informações criptografadas dentro do próprio
executável, no momento da instalação. Encontrei uma rotina na internet que
acrescenta informações na parte de resources dos programas.

Ficou muito legal. No momento da instalação eu gravo essas informações
dentro de cada executavel e quando eles vão executar fazem a checagem das
informações. .

Obrigado pelas sugestões de todos.





2009/11/25 berdam berdamzi...@yahoo.com.br

 configure iso numa tabela com parâmetros na base de dados

 Alemão escreveu:
 
  Como faço para gravar informações dentro de um executável ou dll ja
  compilado? Pode a partir de outro executável.
 
  Como estou preocupado com copias de arquivos de meus sistemas para serem
  utilizados em outros sistemas / clientes, gostaria de gravar algumas
  informações dentro destes executpaveis no momento da instalação, ou em
  algum
  outro momento. Ou seja, cada cliente ficaria com os arquivos com uma
  informação diferente para que eu possa idenficar posteriormente caso seja
  preciso.
 
  O problema é que o arquivo já está compilado. A minha ideia é gravar
  diretamente no executavel mesmo, sem nenhum arquivo adicional, tipo
 quando
  você grava as informações de versão e empresa no programa, lá em
  project -
  options - Version info.
 
  Compilar uma versão diferente para cada cliente no momento do
  lançamento da
  versão não é uma opção, pois são muitos clientes.
 
  Alguem sabe alguma maneira de se fazer isso, ou ainda alguma outra ideia
  para esse controle que estou querendo implementar?
 
  Obrigado.
 
  [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] Gravar informações dentro do execu tável / DLL

2009-11-26 Por tôpico Zote
Alemão, compartilha ai :D
--
José Henrique (Zote)
Analista de TI
Bludata Software


2009/11/26 Alemão forumdel...@gmail.com



 Consegui resolver o problema.

 Estou gravando varias informações criptografadas dentro do próprio
 executável, no momento da instalação. Encontrei uma rotina na internet que
 acrescenta informações na parte de resources dos programas.

 Ficou muito legal. No momento da instalação eu gravo essas informações
 dentro de cada executavel e quando eles vão executar fazem a checagem das
 informações. .

 Obrigado pelas sugestões de todos.

 2009/11/25 berdam berdamzi...@yahoo.com.br berdamzinho%40yahoo.com.br


  configure iso numa tabela com parâmetros na base de dados
 
  Alemão escreveu:
  
   Como faço para gravar informações dentro de um executável ou dll ja
   compilado? Pode a partir de outro executável.
  
   Como estou preocupado com copias de arquivos de meus sistemas para
 serem
   utilizados em outros sistemas / clientes, gostaria de gravar algumas
   informações dentro destes executpaveis no momento da instalação, ou em
   algum
   outro momento. Ou seja, cada cliente ficaria com os arquivos com uma
   informação diferente para que eu possa idenficar posteriormente caso
 seja
   preciso.
  
   O problema é que o arquivo já está compilado. A minha ideia é gravar
   diretamente no executavel mesmo, sem nenhum arquivo adicional, tipo
  quando
   você grava as informações de versão e empresa no programa, lá em
   project -
   options - Version info.
  
   Compilar uma versão diferente para cada cliente no momento do
   lançamento da
   versão não é uma opção, pois são muitos clientes.
  
   Alguem sabe alguma maneira de se fazer isso, ou ainda alguma outra
 ideia
   para esse controle que estou querendo implementar?
  
   Obrigado.
  
   [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]

  



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



Re: [delphi-br] Gravar informações dentro do execu tável / DLL

2009-11-26 Por tôpico Alemão
Claro, vamos lá:

para gravar as informações no arquivo que eu quero, estou usando um outro
programa. Não da pro executavel gravar as informações nele mesmo, ja que
está em uso. Portanto o meu programa de instalação é que está gravando.
Segue o processo pra gravação:

function GravarResourceInfo(const FileName, NomeRecurso, Texto: string):
boolean;
var hRes : THandle;
cHD : String;
Begin
  cHD := AnsiUpperCase(Texto);
  hRes := BeginUpdateResource(pchar(FileName),False);
  if hRes  0 then
  begin
result := true;
UpdateResource(hRes,RT_RCDATA,pchar(AnsiUpperCase(NomeRecurso)), 0 ,
Pointer(cHD), StrLen(PCHAR(cHD)) + 1);
If EndUpdateResource(hRes,False) then
  Result := true
else
  Result := false;
  end
  else
result := false;
end;

onde: FileName é o nome do arquivo que será atualizado.
 NomeRecurso é o nome que você irá dar para o recurso armazenado,
para poder ler a partir do aplicativo.
 Texto é o conteúdo que você quer gravar. Pode ser qualquer
informação.



Agora dentro do meu executavel de programa, vou ler o conteúdo gravado no
resource. Esta é a função:

function LerResourceInfo(NomeRecurso: string): string;
var ResData: HGLOBAL;
ResInfo: HRSRC;
Begin
  Result := '';
  ResInfo := FindResource(hInstance, pchar(AnsiUpperCase(NomeRecurso)),
RT_RCDATA);
  if ResInfo  0 then
  begin
ResData := LoadResource(hInstance, ResInfo);
if ResData  0 then
begin
  try
Result := PChar(LockResource(ResData));
UnlockResource(ResData);
  finally
FreeResource(ResData);
  end;
end;
  end;
end;


Funcionou muito bem.

O legal é que a partir daí vc pode inclusive criptografar o texto, para que
ninguem consiga ver o seu conteúdo com um editor de recursos (Ex: Resource
Explorer).

ps.: para testar se deu certo mesmo, é so abrir o seu programa alterado
neste editor de recursos e ir em RCData, que la vai estar o que vc acabou de
criar.


2009/11/26 José Henrique (Zote) z...@bludata.com.br



 Alemão, compartilha ai :D
 --
 José Henrique (Zote)
 Analista de TI
 Bludata Software

 2009/11/26 Alemão forumdel...@gmail.com forumdelphi%40gmail.com


 
 
  Consegui resolver o problema.
 
  Estou gravando varias informações criptografadas dentro do próprio
  executável, no momento da instalação. Encontrei uma rotina na internet
 que
  acrescenta informações na parte de resources dos programas.
 
  Ficou muito legal. No momento da instalação eu gravo essas informações
  dentro de cada executavel e quando eles vão executar fazem a checagem das
  informações. .
 
  Obrigado pelas sugestões de todos.
 
  2009/11/25 berdam berdamzi...@yahoo.com.br 
  berdamzinho%40yahoo.com.brberdamzinho%
 40yahoo.com.br

 
 
   configure iso numa tabela com parâmetros na base de dados
  
   Alemão escreveu:
   
Como faço para gravar informações dentro de um executável ou dll ja
compilado? Pode a partir de outro executável.
   
Como estou preocupado com copias de arquivos de meus sistemas para
  serem
utilizados em outros sistemas / clientes, gostaria de gravar algumas
informações dentro destes executpaveis no momento da instalação, ou
 em
algum
outro momento. Ou seja, cada cliente ficaria com os arquivos com uma
informação diferente para que eu possa idenficar posteriormente caso
  seja
preciso.
   
O problema é que o arquivo já está compilado. A minha ideia é gravar
diretamente no executavel mesmo, sem nenhum arquivo adicional, tipo
   quando
você grava as informações de versão e empresa no programa, lá em
project -
options - Version info.
   
Compilar uma versão diferente para cada cliente no momento do
lançamento da
versão não é uma opção, pois são muitos clientes.
   
Alguem sabe alguma maneira de se fazer isso, ou ainda alguma outra
  ideia
para esse controle que estou querendo implementar?
   
Obrigado.
   
[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]
 
 
 

 [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 

* 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:
delphi-br-ow...@yahoogrupos.com.br
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:
delphi-br-unsubscr...@yahoogrupos.com.br

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




[delphi-br] Validação de IE do RS

2009-11-26 Por tôpico Berdam
Olá pessoal, venho solicitar ajuda principalmente do pessoal do RS.

Tenho o seguinte IE 481926, que quando cadastro no sistema, acusa que o 
mesmo é inválido

Tenho o seguinte código para validação, reparem na linha em negrito ou aquela q 
tem o nr 467. A validação testa se os primeiros 3 números são maior ou igual a 
1 e menor igual a 467.

Porém o início do meu IE é 480, dai ele não entra no if.

Verifiquei no próprios site do sefaz que existe mesmo essa validação, será que 
meu código está desatualizado ??

Gostaria da ajuda de vcs para resolver isso

function ChkIERS(const ie: string): Boolean; // 999.99-9
var
  b, i, soma: Integer;
  nro: array[1..10] of byte;
  dig: SmallInt;
begin
  Result :=false;
  if (length(ie)  10) then
exit;
  if not IsNumero(ie) then
exit;
  i :=StrToInt(copy(ie, 1, 3));
  if (i = 1) and (i = 467) then //i = 480,
  begin
for i :=1 to 10 do
  nro[i] :=CharToInt(ie[i]);
b :=2;
soma :=0;
for i :=1 to 09 do
begin
  inc(soma, nro[i] * b);
  dec(b);
  if b = 1 then
b :=9;
end;
dig :=11 - (soma mod 11);
if (dig = 10) then
  dig :=0;
Result :=(dig = nro[10]);
  end;
end;



  

Veja quais são os assuntos do momento no Yahoo! +Buscados
http://br.maisbuscados.yahoo.com

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



Re: [Bulk] Re: [delphi-br] Duvida

2009-11-26 Por tôpico Nazareno Neto
Entendi, vlw pela dica, me esqueci que podei gerar o sql de update para
apenas os campos que desejo, uso datasets do ibs.
vo testar isso ai!

Felicidades

2009/11/26 Samuca ( Yahoo ) samuca_1...@yahoo.com.br



 Neto,

 Bom Dia,

 Que tipos de recursos você utiliza para controlar as tabelas?

 Eu costumo fazer por queries, neste caso que você falou eu não colocaria
 o campo da quantidade na query de update do cadastro de produtos, aí não
 teria problemas de um estar editando o cadastro e outro fazendo a venda e
 você não prenderia o processo de venda.

 Outra coisa, eu não controlaria a quantidade em estoque do produto na
 mesma tabela do cadastro, eu faria uma tabela à parte relacionando a
 quantidade ao produto.

 Entendeu?

 Abraço

 Samuca


 - Original Message -
 From: Nazareno Neto 
 nazareno.nobr...@gmail.comnazareno.nobrega%40gmail.com
 
 To: delphi-br@yahoogrupos.com.br delphi-br%40yahoogrupos.com.br
 Sent: Thursday, November 26, 2009 8:47 AM
 Subject: [Bulk] Re: [delphi-br] Duvida

 So lembrando estou usando Delphi 7 + ibx + firebird.
 Se outra pessoa poder me ajudar, ficarei muito grato!

 Felicidades

 2009/11/26 Nazareno Neto 
 nazareno.nobr...@gmail.comnazareno.nobrega%40gmail.com
 

  ou, ate tenho cadastro na active delphi, frequento quase toda semana, mas
  nao sou assinante para ver o video.
  mas vlw pela dica!
 
  2009/11/25 Rubens Antunes 
  rubensantu...@yahoo.com.brrubensantunes%40yahoo.com.br
 
 
 
 
  Amigo
 
  Dar uma olhada nessa video
 
 
 
 http://www.activedelphi.com.br/modules.php?op=modloadname=Newsfile=articlesid=659
 
  Rubens Antunes
 
  Autor do Livro - Delphi Faça Uma Aplicação Comercial
 
  Blog http://rubensantunes.zip.net/
 
  --- Em qua, 25/11/09, Nazareno Neto
  nazareno.nobr...@gmail.com nazareno.nobrega%40gmail.com
 nazareno.nobrega%40gmail.com
  escreveu:
 
  De: Nazareno Neto
  nazareno.nobr...@gmail.com nazareno.nobrega%40gmail.com
 nazareno.nobrega%40gmail.com
  
  Assunto: [delphi-br] Duvida
  Para: delphi-br@yahoogrupos.com.br 
  delphi-br%40yahoogrupos.com.brdelphi-br%
 40yahoogrupos.com.br

  Data: Quarta-feira, 25 de Novembro de 2009, 17:45
 
 
 
 
  Pessoal acho q alguem ja passo pelo problema, e nao sei como resolver. É

  o
 
  seguinte:
 
  tenho o cadastro de produtos e a venda, quando dou um edit no produto e
 
  deixo ele la em estado de edit
 
  e vem outro usuario do sistema e faz uma venda para o mesmo produto, ele
  vai
 
  e baixa o estoque, registra
 
  na ficha de movimentação tudo bonitinho. Mas ai quando o usuario q
 estava
 
  editando da o post no produto
 
  o estoque volta o de antes. O que eu queria era tipo dar um LOCATE no
 
  produto, ate consegui mas estave
 
  dando erro, fiz assim:
 
  quando o usuario da edição da edit, logo em seguindo do um locate no
 
  registro, quando o cara ta fazendo venda
 
  ele vai da a exceção e nao deixa gravar ate o usuario do edit dar o
 post,
 
  mas quando o usuario do edit da um post
 
  fala que o registro nao ta em modo de edição ou inserção, isso so ocorre
 
  quando na venda tem o produto que tava
 
  no locate.
 
  Apos todo esse blabla, sera que alguem tem uma idea de como bloquear o
 
  registro de um determinidado
 
  produto enquanto ele estiver sendo editado?
 
  Felicidade
 
  --
 
  Nazareno Neto
 
  Programador Delphi e Firebird
 
  http://www.delphisi stemas.com. br
 
 
  nazarenoneto@ hotmail.com
 
  nazareno.nobrega@ gmail.com
 
  [As partes desta mensagem que não continham texto foram removidas]
 
  __
  Veja quais são os assuntos do momento no Yahoo! +Buscados
  http://br.maisbuscados.yahoo.com
 
  [As partes desta mensagem que não continham texto foram removidas]
 
 
 
 
 
 
  --

  Nazareno Neto
  Programador Delphi e Firebird
 
  http://www.delphisistemas.com.br
 
  nazarenon...@hotmail.com nazarenoneto%40hotmail.com
  nazareno.nobr...@gmail.com nazareno.nobrega%40gmail.com
 

 --
 Nazareno Neto
 Programador Delphi e Firebird

 http://www.delphisistemas.com.br
 nazarenon...@hotmail.com nazarenoneto%40hotmail.com
 nazareno.nobr...@gmail.com nazareno.nobrega%40gmail.com

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

 


 --
  FAVOR REMOVER ESTA PARTE AO RESPONDER ESTA MENSAGEM 

 __
 Faça ligações para outros computadores com o novo Yahoo! Messenger
 http://br.beta.messenger.yahoo.com/

  




-- 
Nazareno Neto
Programador Delphi e Firebird

http://www.delphisistemas.com.br
nazarenon...@hotmail.com
nazareno.nobr...@gmail.com


[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:
delphi-br-ow...@yahoogrupos.com.br
Links do Yahoo! Grupos

* Para 

Re: [delphi-br] Gravar informações dentro do execu tável / DLL

2009-11-26 Por tôpico CRM Desenvolvimentos
*Cara compartilha com a gente ai a rotina que vc ta usando pelo menos a
parte onde vc grava no executavel?*

2009/11/26 Alemão forumdel...@gmail.com



 Consegui resolver o problema.

 Estou gravando varias informações criptografadas dentro do próprio
 executável, no momento da instalação. Encontrei uma rotina na internet que
 acrescenta informações na parte de resources dos programas.

 Ficou muito legal. No momento da instalação eu gravo essas informações
 dentro de cada executavel e quando eles vão executar fazem a checagem das
 informações. .

 Obrigado pelas sugestões de todos.

 2009/11/25 berdam berdamzi...@yahoo.com.br berdamzinho%40yahoo.com.br

  configure iso numa tabela com parâmetros na base de dados
 
  Alemão escreveu:
  
   Como faço para gravar informações dentro de um executável ou dll ja
   compilado? Pode a partir de outro executável.
  
   Como estou preocupado com copias de arquivos de meus sistemas para
 serem
   utilizados em outros sistemas / clientes, gostaria de gravar algumas
   informações dentro destes executpaveis no momento da instalação, ou em
   algum
   outro momento. Ou seja, cada cliente ficaria com os arquivos com uma
   informação diferente para que eu possa idenficar posteriormente caso
 seja
   preciso.
  
   O problema é que o arquivo já está compilado. A minha ideia é gravar
   diretamente no executavel mesmo, sem nenhum arquivo adicional, tipo
  quando
   você grava as informações de versão e empresa no programa, lá em
   project -
   options - Version info.
  
   Compilar uma versão diferente para cada cliente no momento do
   lançamento da
   versão não é uma opção, pois são muitos clientes.
  
   Alguem sabe alguma maneira de se fazer isso, ou ainda alguma outra
 ideia
   para esse controle que estou querendo implementar?
  
   Obrigado.
  
   [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]

  



[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:
delphi-br-ow...@yahoogrupos.com.br
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:
delphi-br-unsubscr...@yahoogrupos.com.br

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




Re: [delphi-br] Duvida

2009-11-26 Por tôpico Ricardo César Cardoso
Se vc é cadastrado como usuário do site, já consegue baixar a vídeo aula.

Abraço,
Ricardo.

1) Evite escrever suas mensagens usando somente LETRAS MAIÚSCULAS.
2) Revise o texto de sua mensagem. Uma mensagem bem escrita é melhor 
compreendida.
3) Vamos ajudar o Grupo e o Yahoo! Apague o conteúdo irrelevante!


--- Em qui, 26/11/09, Nazareno Neto nazareno.nobr...@gmail.com escreveu:

 De: Nazareno Neto nazareno.nobr...@gmail.com
 Assunto: Re: [delphi-br] Duvida
 Para: delphi-br@yahoogrupos.com.br
 Data: Quinta-feira, 26 de Novembro de 2009, 1:33
 ou, ate tenho cadastro na active
 delphi, frequento quase toda semana, mas
 nao sou assinante para ver o video.
 mas vlw pela dica!
 
 2009/11/25 Rubens Antunes rubensantu...@yahoo.com.br
 
 
 
  Amigo
 
  Dar uma olhada nessa video
 
 
  http://www.activedelphi.com.br/modules.php?op=modloadname=Newsfile=articlesid=659
 
  Rubens Antunes
 
  Autor do Livro - Delphi Faça Uma Aplicação
 Comercial
 
  Blog http://rubensantunes.zip.net/
 
  --- Em qua, 25/11/09, Nazareno Neto 
  nazareno.nobr...@gmail.comnazareno.nobrega%40gmail.com
  escreveu:
 
  De: Nazareno Neto nazareno.nobr...@gmail.comnazareno.nobrega%40gmail.com
  
  Assunto: [delphi-br] Duvida
  Para: delphi-br@yahoogrupos.com.br
 delphi-br%40yahoogrupos.com.br
  Data: Quarta-feira, 25 de Novembro de 2009, 17:45
 
 
 
 
  Pessoal acho q alguem ja passo pelo problema, e nao
 sei como resolver. É o
 
  seguinte:
 
  tenho o cadastro de produtos e a venda, quando dou um
 edit no produto e
 
  deixo ele la em estado de edit
 
  e vem outro usuario do sistema e faz uma venda para o
 mesmo produto, ele
  vai
 
  e baixa o estoque, registra
 
  na ficha de movimentação tudo bonitinho. Mas ai
 quando o usuario q estava
 
  editando da o post no produto
 
  o estoque volta o de antes. O que eu queria era tipo
 dar um LOCATE no
 
  produto, ate consegui mas estave
 
  dando erro, fiz assim:
 
  quando o usuario da edição da edit, logo em seguindo
 do um locate no
 
  registro, quando o cara ta fazendo venda
 
  ele vai da a exceção e nao deixa gravar ate o
 usuario do edit dar o post,
 
  mas quando o usuario do edit da um post
 
  fala que o registro nao ta em modo de edição ou
 inserção, isso so ocorre
 
  quando na venda tem o produto que tava
 
  no locate.
 
  Apos todo esse blabla, sera que alguem tem uma idea de
 como bloquear o
 
  registro de um determinidado
 
  produto enquanto ele estiver sendo editado?
 
  Felicidade
 
  --
 
  Nazareno Neto
 
  Programador Delphi e Firebird
 
  http://www.delphisi stemas.com. br
 
 
  nazarenoneto@ hotmail.com
 
  nazareno.nobrega@ gmail.com
 
  [As partes desta mensagem que não continham texto
 foram removidas]
 
 
 __
  Veja quais são os assuntos do momento no Yahoo!
 +Buscados
  http://br.maisbuscados.yahoo.com
 
  [As partes desta mensagem que não continham texto
 foram removidas]
 
   
 
 
 
 
 -- 
 Nazareno Neto
 Programador Delphi e Firebird
 
 http://www.delphisistemas.com.br
 nazarenon...@hotmail.com
 nazareno.nobr...@gmail.com
 
 
 [As partes desta mensagem que não continham texto foram
 removidas]
 
 
 
 
 
 -- 
  FAVOR REMOVER ESTA PARTE AO RESPONDER
 ESTA MENSAGEM 
 
 Links do Yahoo! Grupos
 
 
 
 


  

Veja quais são os assuntos do momento no Yahoo! +Buscados
http://br.maisbuscados.yahoo.com


[delphi-br] Ajuda Triggers Firebird

2009-11-26 Por tôpico celioecarol
Bom pessoal eh o seguinte tenho uma procedure para recalcular o saldo devedor 
de um determinado cliente onde passo o codigo do cliente e ele atualiza 
conforme as baixas da duplicata, porem como faço para que quando eu efetuar uma 
baixa da duplicata a trigger da tabela de baixas pegue o codigo da duplicata e 
e vai na tabela de duplicatas e atualize o saldo devedor conforme o numero da 
duplicata entenderam.

Assim: exemplo
   duplicata 101500 do cliente tal no valor de R$ 1.000,00 vcto 30/11/09.
   certo dia ele vem e nao pode pagar tudo dai paga parcial ex 500,00 e este 
lançamento eh gravado na tabela baixas com o numero da duplicata e demais dados.
   saldo devedor a duplicata 101500 fica com saldo de 500,00 ex.
   ja criei uma trigger para que quando eu atualizar a tabela de baixas ela 
rode a procedure que recalcula o saldo devedor da duplicata o porem eh passar 
por parametro o numero do cliente pela trigger tentei assim mas nao da:
  execute procedure atualizaduplicata(new.duplicata)
  em after position. Porem ele nao identifica o codigo de new.duplicata se eu 
por exemplo efetuar um update e nao um novo lançamento.
  Entao como obter o numero da duplicata em update?

  
  
  
   



Re: [delphi-br] Duvida

2009-11-26 Por tôpico Nazareno Neto
*ATENÇÃO!
Esta vídeo aula está disponível somente para assinantes da revista Active
Delphi!*


 Clique Aqui para fazer sua assinatura!
http://www.activedelphi.com.br/assinatura.php


olha ai a resposta do site, eu estou indo no link q o amigo me deu, mas nao
consigo acessar o video

2009/11/26 Ricardo César Cardoso ricardo_engs...@yahoo.com.br



 Se vc é cadastrado como usuário do site, já consegue baixar a vídeo aula.

 Abraço,
 Ricardo.

 1) Evite escrever suas mensagens usando somente LETRAS MAIÚSCULAS.
 2) Revise o texto de sua mensagem. Uma mensagem bem escrita é melhor
 compreendida.
 3) Vamos ajudar o Grupo e o Yahoo! Apague o conteúdo irrelevante!

 --- Em qui, 26/11/09, Nazareno Neto 
 nazareno.nobr...@gmail.comnazareno.nobrega%40gmail.com
 escreveu:


  De: Nazareno Neto nazareno.nobr...@gmail.comnazareno.nobrega%40gmail.com
 
  Assunto: Re: [delphi-br] Duvida

  Para: delphi-br@yahoogrupos.com.br delphi-br%40yahoogrupos.com.br
  Data: Quinta-feira, 26 de Novembro de 2009, 1:33

  ou, ate tenho cadastro na active
  delphi, frequento quase toda semana, mas
  nao sou assinante para ver o video.
  mas vlw pela dica!
 
  2009/11/25 Rubens Antunes 
  rubensantu...@yahoo.com.brrubensantunes%40yahoo.com.br
 
 
  
  
   Amigo
  
   Dar uma olhada nessa video
  
  
  
 http://www.activedelphi.com.br/modules.php?op=modloadname=Newsfile=articlesid=659
  
   Rubens Antunes
  
   Autor do Livro - Delphi Faça Uma Aplicação
  Comercial
  
   Blog http://rubensantunes.zip.net/
  
   --- Em qua, 25/11/09, Nazareno Neto 
   nazareno.nobr...@gmail.comnazareno.nobrega%40gmail.com
 nazareno.nobrega%40gmail.com
   escreveu:
  
   De: Nazareno Neto 
   nazareno.nobr...@gmail.comnazareno.nobrega%40gmail.com
 nazareno.nobrega%40gmail.com
   
   Assunto: [delphi-br] Duvida
   Para: delphi-br@yahoogrupos.com.br delphi-br%40yahoogrupos.com.br
  delphi-br%40yahoogrupos.com.br
   Data: Quarta-feira, 25 de Novembro de 2009, 17:45
  
  
  
  
   Pessoal acho q alguem ja passo pelo problema, e nao
  sei como resolver. É o
  
   seguinte:
  
   tenho o cadastro de produtos e a venda, quando dou um
  edit no produto e
  
   deixo ele la em estado de edit
  
   e vem outro usuario do sistema e faz uma venda para o
  mesmo produto, ele
   vai
  
   e baixa o estoque, registra
  
   na ficha de movimentação tudo bonitinho. Mas ai
  quando o usuario q estava
  
   editando da o post no produto
  
   o estoque volta o de antes. O que eu queria era tipo
  dar um LOCATE no
  
   produto, ate consegui mas estave
  
   dando erro, fiz assim:
  
   quando o usuario da edição da edit, logo em seguindo
  do um locate no
  
   registro, quando o cara ta fazendo venda
  
   ele vai da a exceção e nao deixa gravar ate o
  usuario do edit dar o post,
  
   mas quando o usuario do edit da um post
  
   fala que o registro nao ta em modo de edição ou
  inserção, isso so ocorre
  
   quando na venda tem o produto que tava
  
   no locate.
  
   Apos todo esse blabla, sera que alguem tem uma idea de
  como bloquear o
  
   registro de um determinidado
  
   produto enquanto ele estiver sendo editado?
  
   Felicidade
  
   --
  
   Nazareno Neto
  
   Programador Delphi e Firebird
  
   http://www.delphisi stemas.com. br
  
  
   nazarenoneto@ hotmail.com
  
   nazareno.nobrega@ gmail.com
  
   [As partes desta mensagem que não continham texto
  foram removidas]
  
  
  __
   Veja quais são os assuntos do momento no Yahoo!
  +Buscados
   http://br.maisbuscados.yahoo.com
  
   [As partes desta mensagem que não continham texto
  foram removidas]
  
  
  
 
 
 
  --
  Nazareno Neto
  Programador Delphi e Firebird
 
  http://www.delphisistemas.com.br
  nazarenon...@hotmail.com nazarenoneto%40hotmail.com
  nazareno.nobr...@gmail.com nazareno.nobrega%40gmail.com
 
 
  [As partes desta mensagem que não continham texto foram
  removidas]
 
 
 
  
 
  --
   FAVOR REMOVER ESTA PARTE AO RESPONDER
  ESTA MENSAGEM 
 
  Links do Yahoo! Grupos

 
 
 
 

 __
 Veja quais são os assuntos do momento no Yahoo! +Buscados
 http://br.maisbuscados.yahoo.com
  




-- 
Nazareno Neto
Programador Delphi e Firebird

http://www.delphisistemas.com.br
nazarenon...@hotmail.com
nazareno.nobr...@gmail.com


[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:
delphi-br-ow...@yahoogrupos.com.br
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:
delphi-br-unsubscr...@yahoogrupos.com.br

* O uso que você faz do Yahoo! Grupos está sujeito aos:

[delphi-br] Analista Proramador Delphi Pleno

2009-11-26 Por tôpico Margarete Aparecida da Silva







 







 






Boa tarde grupo!


Estamos com uma oportunidade para atuar como Analista programador Delphi com 
experiencia na programação Delphi com Oracle.
O profissional deverá ter os seguintes conhecimentos;
 PLSQL, ambiente WEB, JavaScript. Preferência ter trabalhado com PLSQL Web 
Toolkit. Conhecimento em ASP.NET e C#.
Java será um diferencial.

Modalidade de contratação: PJ
Tempo de alocação: 6 meses (com possibilidade de efetivação pelo proprio 
cliente)
Local de trabalho: Alphaville  Barueri. 
 
 
Os interessados enviar curriculo para msi...@westbr.com.br caso não seja do seu 
interesse ou a seja o seu perfil, por gentileza enviar aos seus contatos.
 
 
Atenciosamente, 
 

Margarete Aparecida da Silva
Recursos Humanos 
55 11 5585-2575 
* msi...@westbr.com.br




Msn: margaret...@hotmail.com 
http://www.westbr.com.br 
P Antes de imprimir pense em seu compromisso com o Meio Ambiente. 



Veja quais são os assuntos do momento no Yahoo! + Buscados: Top 10 - 
Celebridades - Música - Esportes


Veja quais são os assuntos do momento no Yahoo! + Buscados: Top 10 - 
Celebridades - Música - Esportes


Veja quais são os assuntos do momento no Yahoo! + Buscados: Top 10 - 
Celebridades - Música - Esportes


  

Veja quais são os assuntos do momento no Yahoo! +Buscados
http://br.maisbuscados.yahoo.com

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



Re: [delphi-br] Validação de IE do RS

2009-11-26 Por tôpico jalosii gmail
eu usava a dll pra validar os IEs, mas depois que encontrei essa função 
na net, arrumei o que precisava e uso ela sem problemas.

function ConfereIE(IE, UF: String; ApenasDigitos: Boolean = True): Boolean;
const
  MASCARAS_: String = ' X- NNNXY-   
NNX-NX-  NNYX-' +
  'XY-NX-  XNNY-  XNNN- 
NNNXY';
  PESOS_: String = 
'GFEDCJIHGFEDCA-FEDCJIHGFEDCAA-GFEDCJIHGFEDAC-GFEDCA-ABCDEFGHIA-' 
+
  
'AAAJIAAHGFEDCA-FEDCBJIHGFEDCA-IHGFEDCHGFEDCA-HGFEDCHGFEDCAA-ABCBBCBCBCBCAA-ADCLKJIHGFEDCA-'
 
+
  
'AABDEFGHIK-AADCKJIHGFEDCA-AJIHGFEDCA-AIHGFEDCAA-AJIHGFEDCA-KJIHGFEDCA-';
  PESO_: String = 
'ABABBABAAJAAIGAHAADAEALLAFNOQ!A!CC!A!!K!!H!MP!';
  ALFA_: String = 'ABCDEFGHIJKLMNOPQRS';
  ROTINAS_: String = 
'EE0112EE0EEEDEDD0!E!EE!E!!E!!E!DE!';
  MODULOS_: String = 
'99989899709089090090090990';
  INICIO_ : String = 
'002AB000111X2X11X11X2XXX22XX21143337XCC2X8X56X89X0XXX49XX0';
  MASCARA_: String = 'ABAEEABCABAAFDAEAGADAAHIACAJG';
  FATORES_: String = '100011110';
  ESTADOS_: String = 
'ACACALAPAPAPAMBABACEDFESGOGOMAMTMSMGPAPBPRPEPIRJRNRSRORORRSCSPSPSET0TOPERN';
var
  c1, c2, alternativa, inicio, posicao, erros, fator, modulo, soma1, 
soma2, valor, digito: Smallint;
  mascara, inscricao, a1, a2, peso, rotina: String;
begin
  UF := trim(uppercase(UF));
  IE := trim(uppercase(IE));
  result := ((IE = 'ISENTO') or (IE = 'EM ANDAMENTO') or ((UF = 'EX') 
and ((IE = '') or (IE = '00';
  posicao := 0;
  while not result and (posicao  37) and (IE  '') do begin
inc(posicao);
if (copy(ESTADOS_, posicao * 2 - 1, 2))  UF then
  continue;
inscricao := '';
for C1 := 1 to 30 do
  if pos(copy(IE, C1, 1), '0123456789')  0 then
inscricao := inscricao + copy(IE, C1, 1);
mascara := copy(MASCARAS_, pos(copy(MASCARA_, posicao, 1), ALFA_) * 
15 - 14, 14);
while length(inscricao)  length(trim(mascara)) do
  inscricao := '0' + inscricao;
if length(inscricao)  length(trim(mascara)) then
  continue;
inscricao := copy('00' + inscricao, length(inscricao) + 
1, 14);
erros := 0;
alternativa := 0;
while alternativa  2 do begin
  inc(alternativa);
  inicio := posicao + (alternativa * 37) - 37;
  peso := copy(PESO_, inicio, 1);
  if peso = '!' then
continue;
  a1 := copy(INICIO_, inicio, 1);
  a2 := copy(copy(inscricao, 15 - length(trim(mascara)), 
length(trim(mascara))), alternativa, 1);
  if not ApenasDigitos and (((pos(a1, 'ABCX') = 0) and (a1  a2)) or
 ((pos(a1, 'ABCX')  0) and (pos(a2, 
copy('012345-67-01-0123456789', (pos(a1, 'ABCX') * 
11 - 10), 10)) = 0))) then
erros := 1;
  soma1 := 0;
  soma2 := 0;
  for C2 := 1 to 14 do begin
valor := StrToInt(copy(inscricao, C2, 1)) * 
(pos(copy(copy(PESOS_, (pos(peso, ALFA_) * 15 - 14), 14), C2, 1), ALFA_) 
- 1);
soma1 := soma1 + valor;
if valor  9 then
  valor := valor - 9;
soma2 := soma2 + valor;
  end;
  rotina := copy(ROTINAS_, inicio, 1);
  modulo := StrToInt(copy(MODULOS_, inicio, 1)) + 2;
  fator := StrToInt(copy(FATORES_, posicao, 1));
  if pos(rotina, 'A22')  0 then
soma1 := soma2;
  if pos(rotina, 'B00')  0 then
soma1 := soma1 * 10;
  if pos(rotina, 'C11')  0 then
soma1 := soma1 + (5 + 4 * fator);
  if pos(rotina, 'D00')  0 then
digito := soma1 mod modulo;
  if pos(rotina, 'E12')  0 then
digito := modulo - (soma1 mod modulo);
  if digito = 10 then
digito := 0;
  if digito = 11 then
digito := fator;
  if (copy(inscricao, pos(copy('XY', alternativa, 1), mascara), 1) 
 IntToStr(digito)) then
erros := 1;
end;
result := erros = 0;
  end;
end;


Berdam escreveu:
 Olá pessoal, venho solicitar ajuda principalmente do pessoal do RS.

 Tenho o seguinte IE 481926, que quando cadastro no sistema, acusa que o 
 mesmo é inválido

 Tenho o seguinte código para validação, reparem na linha em negrito ou aquela 
 q tem o nr 467. A validação testa se os primeiros 3 números são maior ou 
 igual a 1 e menor igual a 467.

 Porém o início do meu IE é 480, dai ele não entra no if.

 Verifiquei no próprios site do sefaz que existe mesmo essa validação, será 
 que meu código está desatualizado ??

 Gostaria da ajuda de vcs para resolver isso

 function ChkIERS(const ie: string): Boolean; // 999.99-9
 var
   b, i, soma: Integer;
   nro: array[1..10] of byte;
   dig: SmallInt;
 begin
   Result :=false;
   if (length(ie)  10) then
 exit;
   if not IsNumero(ie) then
 exit;
   i :=StrToInt(copy(ie, 1, 3));
   if (i = 1) and (i = 467) then //i = 480,
   begin
 for i :=1 to 10 

Re: [delphi-br] Validação de IE do RS

2009-11-26 Por tôpico berdam
o problema daquela dll é que em debug ela solta umas msgs que atrapalham 
muito.

Irei tentar ver seu código

jalosii gmail escreveu:

 eu usava a dll pra validar os IEs, mas depois que encontrei essa função
 na net, arrumei o que precisava e uso ela sem problemas.

 function ConfereIE(IE, UF: String; ApenasDigitos: Boolean = True): 
 Boolean;
 const
 MASCARAS_: String = ' X- NNNXY-
 NNX- NX- NNYX-' +
 ' XY- NX- XNNY- XNNN-
 NNNXY';
 PESOS_: String =
 'GFEDCJIHGFEDCA- FEDCJIHGFEDCAA- GFEDCJIHGFEDAC- GFEDCA- 
 ABCDEFGHIA- '
 +

 'AAAJIAAHGFEDCA- FEDCBJIHGFEDCA- IHGFEDCHGFEDCA- HGFEDCHGFEDCAA- 
 ABCBBCBCBCBCAA- ADCLKJIHGFEDCA- '
 +

 'AABDEFGHIK- AADCKJIHGFEDCA- AJIHGFEDCA- AIHGFEDCAA- 
 AJIHGFEDCA- KJIHGFEDCA- ';
 PESO_: String =
 'ABABBABAAJ AAIGAHAADAEALLAF NOQ!A !CC!A !!K!!H!!! 
 !!M!! !!P!';
 ALFA_: String = 'ABCDEFGHIJKLMNOPQR S';
 ROTINAS_: String =
 'EE0112 EE0EEEDEDDEE EE0!E !EE!E !!E!!E!!! 
 !!D!! !!E!';
 MODULOS_: String =
 '999898 9979 999090890900 9009 
 0990' ;
 INICIO_ : String =
 '002AB000111X2X 11X11X2XXX22 XX21143337XC C2X8X56X89X0XXX4 
 9XX0' ;
 MASCARA_: String = 'ABAEEABCAB AAFDAEAGADAAHIAC AJG';
 FATORES_: String = '100010 00011100 000';
 ESTADOS_: String =
 'ACACALAPAPAPAMBABA CEDFESGOGOMAMTMS MGPAPBPRPEPIRJRN RSRORORRSCSPSPSE 
 T0TOPERN' ;
 var
 c1, c2, alternativa, inicio, posicao, erros, fator, modulo, soma1,
 soma2, valor, digito: Smallint;
 mascara, inscricao, a1, a2, peso, rotina: String;
 begin
 UF := trim(uppercase( UF));
 IE := trim(uppercase( IE));
 result := ((IE = 'ISENTO') or (IE = 'EM ANDAMENTO') or ((UF = 'EX')
 and ((IE = '') or (IE = '00' ;
 posicao := 0;
 while not result and (posicao  37) and (IE  '') do begin
 inc(posicao) ;
 if (copy(ESTADOS_ , posicao * 2 - 1, 2))  UF then
 continue;
 inscricao := '';
 for C1 := 1 to 30 do
 if pos(copy(IE, C1, 1), '0123456789' )  0 then
 inscricao := inscricao + copy(IE, C1, 1);
 mascara := copy(MASCARAS_ , pos(copy(MASCARA_ , posicao, 1), ALFA_) *
 15 - 14, 14);
 while length(inscricao)  length(trim( mascara)) do
 inscricao := '0' + inscricao;
 if length(inscricao)  length(trim( mascara)) then
 continue;
 inscricao := copy('0 0' + inscricao, length(inscricao) +
 1, 14);
 erros := 0;
 alternativa := 0;
 while alternativa  2 do begin
 inc(alternativa) ;
 inicio := posicao + (alternativa * 37) - 37;
 peso := copy(PESO_, inicio, 1);
 if peso = '!' then
 continue;
 a1 := copy(INICIO_ , inicio, 1);
 a2 := copy(copy(inscricao , 15 - length(trim( mascara)) ,
 length(trim( mascara)) ), alternativa, 1);
 if not ApenasDigitos and (((pos(a1, 'ABCX') = 0) and (a1  a2)) or
 ((pos(a1, 'ABCX')  0) and (pos(a2,
 copy('012345- 67- 01- 0123456789' , (pos(a1, 
 'ABCX') *
 11 - 10), 10)) = 0))) then
 erros := 1;
 soma1 := 0;
 soma2 := 0;
 for C2 := 1 to 14 do begin
 valor := StrToInt(copy( inscricao, C2, 1)) *
 (pos(copy(copy( PESOS_, (pos(peso, ALFA_) * 15 - 14), 14), C2, 1), ALFA_)
 - 1);
 soma1 := soma1 + valor;
 if valor  9 then
 valor := valor - 9;
 soma2 := soma2 + valor;
 end;
 rotina := copy(ROTINAS_ , inicio, 1);
 modulo := StrToInt(copy( MODULOS_, inicio, 1)) + 2;
 fator := StrToInt(copy( FATORES_, posicao, 1));
 if pos(rotina, 'A22')  0 then
 soma1 := soma2;
 if pos(rotina, 'B00')  0 then
 soma1 := soma1 * 10;
 if pos(rotina, 'C11')  0 then
 soma1 := soma1 + (5 + 4 * fator);
 if pos(rotina, 'D00')  0 then
 digito := soma1 mod modulo;
 if pos(rotina, 'E12')  0 then
 digito := modulo - (soma1 mod modulo);
 if digito = 10 then
 digito := 0;
 if digito = 11 then
 digito := fator;
 if (copy(inscricao, pos(copy('XY' , alternativa, 1), mascara), 1)
  IntToStr(digito) ) then
 erros := 1;
 end;
 result := erros = 0;
 end;
 end;

 Berdam escreveu:
  Olá pessoal, venho solicitar ajuda principalmente do pessoal do RS.
 
  Tenho o seguinte IE 481926, que quando cadastro no sistema, 
 acusa que o mesmo é inválido
 
  Tenho o seguinte código para validação, reparem na linha em negrito 
 ou aquela q tem o nr 467. A validação testa se os primeiros 3 números 
 são maior ou igual a 1 e menor igual a 467.
 
  Porém o início do meu IE é 480, dai ele não entra no if.
 
  Verifiquei no próprios site do sefaz que existe mesmo essa 
 validação, será que meu código está desatualizado ??
 
  Gostaria da ajuda de vcs para resolver isso
 
  function ChkIERS(const ie: string): Boolean; // 999.99-9
  var
  b, i, soma: Integer;
  nro: array[1..10] of byte;
  dig: SmallInt;
  begin
  Result :=false;
  if (length(ie)  10) then
  exit;
  if not IsNumero(ie) then
  exit;
  i :=StrToInt(copy( ie, 1, 3));
  if (i = 1) and (i = 467) then //i = 480,
  begin
  for i :=1 to 10 do
  nro[i] :=CharToInt( ie[i]);
  b :=2;
  soma :=0;
  for i :=1 to 09 do
  begin
  inc(soma, nro[i] * b);
  

[delphi-br] [OFF Topic] Curso para formação ESPECIALISTA EM SO FTWARE

2009-11-26 Por tôpico Jorge Ericsson
Olá amigos,

Gostaria de saber aonde posso encontrar um curso para formação em
Especialista em Softwares.
Tenho interesse de fazer Graduação ou Pós caso.
Obrigado.

Jorge Ericsson
Brasília - DF


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



Re: [delphi-br] Duvida

2009-11-26 Por tôpico Ricardo César Cardoso
Ué... mas no trabalho eu consegui baixar normalmente... tá certo que eu sou 
assinante da revista tb, mas achei que não tinha nada a ver.

Bem... falha nossa então.

Atte,
Ricardo.

1) Evite escrever suas mensagens usando somente LETRAS MAIÚSCULAS.
2) Revise o texto de sua mensagem. Uma mensagem bem escrita é melhor 
compreendida.
3) Vamos ajudar o Grupo e o Yahoo! Apague o conteúdo irrelevante!


--- Em qui, 26/11/09, Nazareno Neto nazareno.nobr...@gmail.com escreveu:

 De: Nazareno Neto nazareno.nobr...@gmail.com
 Assunto: Re: [delphi-br] Duvida
 Para: delphi-br@yahoogrupos.com.br
 Data: Quinta-feira, 26 de Novembro de 2009, 18:28
 *ATENÇÃO!
 Esta vídeo aula está disponível somente para assinantes
 da revista Active
 Delphi!*
 
 
      Clique Aqui para fazer sua
 assinatura!
 http://www.activedelphi.com.br/assinatura.php
 
 
 olha ai a resposta do site, eu estou indo no link q o amigo
 me deu, mas nao
 consigo acessar o video
 
 2009/11/26 Ricardo César Cardoso ricardo_engs...@yahoo.com.br
 
 
 
  Se vc é cadastrado como usuário do site, já
 consegue baixar a vídeo aula.
 
  Abraço,
  Ricardo.
 
  1) Evite escrever suas mensagens usando somente LETRAS
 MAIÚSCULAS.
  2) Revise o texto de sua mensagem. Uma mensagem bem
 escrita é melhor
  compreendida.
  3) Vamos ajudar o Grupo e o Yahoo! Apague o conteúdo
 irrelevante!
 
  --- Em qui, 26/11/09, Nazareno Neto 
  nazareno.nobr...@gmail.comnazareno.nobrega%40gmail.com
  escreveu:
 
 
   De: Nazareno Neto 
   nazareno.nobr...@gmail.comnazareno.nobrega%40gmail.com
  
   Assunto: Re: [delphi-br] Duvida
 
   Para: delphi-br@yahoogrupos.com.br
 delphi-br%40yahoogrupos.com.br
   Data: Quinta-feira, 26 de Novembro de 2009, 1:33
 
   ou, ate tenho cadastro na active
   delphi, frequento quase toda semana, mas
   nao sou assinante para ver o video.
   mas vlw pela dica!
  
   2009/11/25 Rubens Antunes 
   rubensantu...@yahoo.com.brrubensantunes%40yahoo.com.br
  
  
   
   
Amigo
   
Dar uma olhada nessa video
   
   
   
  http://www.activedelphi.com.br/modules.php?op=modloadname=Newsfile=articlesid=659
   
Rubens Antunes
   
Autor do Livro - Delphi Faça Uma
 Aplicação
   Comercial
   
Blog http://rubensantunes.zip.net/
   
--- Em qua, 25/11/09, Nazareno Neto 
nazareno.nobr...@gmail.comnazareno.nobrega%40gmail.com
  nazareno.nobrega%40gmail.com
escreveu:
   
De: Nazareno Neto 
nazareno.nobr...@gmail.comnazareno.nobrega%40gmail.com
  nazareno.nobrega%40gmail.com

Assunto: [delphi-br] Duvida
Para: delphi-br@yahoogrupos.com.br
 delphi-br%40yahoogrupos.com.br
   delphi-br%40yahoogrupos.com.br
Data: Quarta-feira, 25 de Novembro de 2009,
 17:45
   
   
   
   
Pessoal acho q alguem ja passo pelo
 problema, e nao
   sei como resolver. É o
   
seguinte:
   
tenho o cadastro de produtos e a venda,
 quando dou um
   edit no produto e
   
deixo ele la em estado de edit
   
e vem outro usuario do sistema e faz uma
 venda para o
   mesmo produto, ele
vai
   
e baixa o estoque, registra
   
na ficha de movimentação tudo bonitinho.
 Mas ai
   quando o usuario q estava
   
editando da o post no produto
   
o estoque volta o de antes. O que eu queria
 era tipo
   dar um LOCATE no
   
produto, ate consegui mas estave
   
dando erro, fiz assim:
   
quando o usuario da edição da edit, logo
 em seguindo
   do um locate no
   
registro, quando o cara ta fazendo venda
   
ele vai da a exceção e nao deixa gravar
 ate o
   usuario do edit dar o post,
   
mas quando o usuario do edit da um post
   
fala que o registro nao ta em modo de
 edição ou
   inserção, isso so ocorre
   
quando na venda tem o produto que tava
   
no locate.
   
Apos todo esse blabla, sera que alguem tem
 uma idea de
   como bloquear o
   
registro de um determinidado
   
produto enquanto ele estiver sendo editado?
   
Felicidade
   
--
   
Nazareno Neto
   
Programador Delphi e Firebird
   
http://www.delphisi stemas.com. br
   
   
nazarenoneto@ hotmail.com
   
nazareno.nobrega@ gmail.com
   
[As partes desta mensagem que não continham
 texto
   foram removidas]
   
   
  
 __
Veja quais são os assuntos do momento no
 Yahoo!
   +Buscados
http://br.maisbuscados.yahoo.com
   
[As partes desta mensagem que não continham
 texto
   foram removidas]
   
   
   
  
  
  
   --
   Nazareno Neto
   Programador Delphi e Firebird
  
   http://www.delphisistemas.com.br
   nazarenon...@hotmail.com
 nazarenoneto%40hotmail.com
   nazareno.nobr...@gmail.com
 nazareno.nobrega%40gmail.com
  
  
   [As partes desta mensagem que não continham
 texto foram
   removidas]
  
  
  
   
  
   --
FAVOR REMOVER ESTA PARTE AO
 RESPONDER
   ESTA MENSAGEM 
  
   Links do Yahoo! Grupos
 
  
  
  
  
 
 
 __
  Veja 

Re: [delphi-br] Problemas com arredondamento

2009-11-26 Por tôpico Valfrid-Ly Silva Couto
Tico, 
É muito mais simples!!
Faça a divisão do valor normalmente pelo número de parcelas, some-as e 
acrescente/diminua a diferença na última parcela!
Ex:
1000 / 3 = 3x 333,3,33 x 3 = 999,991000 - 999,99 = 0,01somando-se esse 0,01 
na última parcela, teria-se 2x333,33 + 1x333,34
Esse raciocínio serve para qualquer quantidade de parcelas!

Valfrid

--- Em qua, 25/11/09, Tico doutort...@gmail.com escreveu:

De: Tico doutort...@gmail.com
Assunto: [delphi-br] Problemas com arredondamento
Para: delphi-br@yahoogrupos.com.br
Data: Quarta-feira, 25 de Novembro de 2009, 16:45

Boa tarde senhores,

Estou tendo um problema com arredondamento no meu sistema. É o seguinte:

Se o valor da minha nota é de R$ 1477,00, e preciso dividir em 3 parcelas eu
antes deixava simplesmente 3 parcelas de R$ 492,33.
O problema é que agora, com a NF-e, os clientes estão exigindo que a soma
das parcelas sejam exatamente o valor da nota (o que é lógico), já que na
forma antiga totalizava R$ 1476,99.

Montei uma rotina que, durante um loop na minha tabela temporária de
duplicatas faço o seguinte:

        // Somente a primeira parcela leva o valor do ICMS-ST
        // A primeira parcela é arredondada e divide-se o restante nas
demais
        nParcela := ((nValTotNota - nTotValICMSST) / iQtdParc) +
nTotValICMSST;
        if (DM.TabFaturas.RecordCount  1) then begin
          if (DM.TabFaturas.Bof) then begin
            nDiferenca := Round(nParcela);
            nDupl1 := nDiferenca;
          end else
            nDupl1 := (nValTotNota - nDiferenca) / (iQtdParc - 1);
        end else
          nDupl1 := (nValTotNota - nTotValICMSST - nDiferenca) / (iQtdParc)
+ nTotValICMSST;

Neste caso, a nota de R$ 1477,00 ficaria 1 parcela de R$ 492,00 e 2 parcelas
de R$ 492,50.

Mas me apareceu um outro caso onde o valor da nota é R$ 5670,00 e preciso
dividir em 4x.
Fica 1 parcela de R$ 1418,00 e as outras 3 de R$ 1417,33 o que me leva
novamente ao primeiro caso.

Alguém já teve algum problema parecido? Obigado pessoal.


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





-- 
 FAVOR REMOVER ESTA PARTE AO RESPONDER ESTA MENSAGEM 






  

Veja quais são os assuntos do momento no Yahoo! +Buscados
http://br.maisbuscados.yahoo.com

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



Re: [delphi-br] Gravar informações dentro do executável / DLL

2009-11-26 Por tôpico EmbarcaDelphi
Só uma observação aí... Já testou num computador com antivírus??? Pode 
ser que ele não autorize pensando ser um trojan...
Alguém já testou?


Alemão escreveu:
 Claro, vamos lá:

 para gravar as informações no arquivo que eu quero, estou usando um outro
 programa. Não da pro executavel gravar as informações nele mesmo, ja que
 está em uso. Portanto o meu programa de instalação é que está gravando.
 Segue o processo pra gravação:

 function GravarResourceInfo(const FileName, NomeRecurso, Texto: string):
 boolean;
 var hRes : THandle;
 cHD : String;
 Begin
   cHD := AnsiUpperCase(Texto);
   hRes := BeginUpdateResource(pchar(FileName),False);
   if hRes  0 then
   begin
 result := true;
 UpdateResource(hRes,RT_RCDATA,pchar(AnsiUpperCase(NomeRecurso)), 0 ,
 Pointer(cHD), StrLen(PCHAR(cHD)) + 1);
 If EndUpdateResource(hRes,False) then
   Result := true
 else
   Result := false;
   end
   else
 result := false;
 end;

 onde: FileName é o nome do arquivo que será atualizado.
  NomeRecurso é o nome que você irá dar para o recurso armazenado,
 para poder ler a partir do aplicativo.
  Texto é o conteúdo que você quer gravar. Pode ser qualquer
 informação.



 Agora dentro do meu executavel de programa, vou ler o conteúdo gravado no
 resource. Esta é a função:

 function LerResourceInfo(NomeRecurso: string): string;
 var ResData: HGLOBAL;
 ResInfo: HRSRC;
 Begin
   Result := '';
   ResInfo := FindResource(hInstance, pchar(AnsiUpperCase(NomeRecurso)),
 RT_RCDATA);
   if ResInfo  0 then
   begin
 ResData := LoadResource(hInstance, ResInfo);
 if ResData  0 then
 begin
   try
 Result := PChar(LockResource(ResData));
 UnlockResource(ResData);
   finally
 FreeResource(ResData);
   end;
 end;
   end;
 end;


 Funcionou muito bem.

 O legal é que a partir daí vc pode inclusive criptografar o texto, para que
 ninguem consiga ver o seu conteúdo com um editor de recursos (Ex: Resource
 Explorer).

 ps.: para testar se deu certo mesmo, é so abrir o seu programa alterado
 neste editor de recursos e ir em RCData, que la vai estar o que vc acabou de
 criar.


 2009/11/26 José Henrique (Zote) z...@bludata.com.br