Re: [delphi-br] Problemas com arredondamento
Ja tentou aplicar as funcoes div e mod talvez resolva seu caso .. att. Marcio.
[delphi-br] Desculpas
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
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
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
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
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
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
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
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.
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
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
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
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.
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
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.
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
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++
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
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
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
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
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
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
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
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
*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
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
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
*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
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
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
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
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
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
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
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