Ir para conteúdo
Fórum Script Brasil

wilsonrosa

Membros
  • Total de itens

    36
  • Registro em

  • Última visita

Tudo que wilsonrosa postou

  1. Ok, Jhonas estou no aguardo e ainda tentando tb. Obrigado Abraço Bom Dia!!! Jhonas, você conseguiu fazer alguns testes sobre o assunto acima ? Grato WillRos
  2. Pessoal Estou tentando fazer uma lógica para agilizar o envio de email através do Outlook.Application. Até ai td certinho envia perfeitamente, pra um. Porém, quando faço a lógica com while e next na segunda vez q passa pela instrução TO para pegar um novo endereço de email aparece a mensagem abaixo: "The item has been moved or deleted." Código: while not (FPrincipal.QCursoFunc.Eof) do begin vEmailSupFunc:= buscaEmailSupFunc(FPrincipal.QCursoFuncCODFUNC.Value); vMailItem.To := vEmailSupFunc; FPrincipal.QCursoFunc.Next; end; Alguém sabe me dizer como posso resolver isso ? Grato WillRos
  3. Ok, Jhonas estou no aguardo e ainda tentando tb. Obrigado Abraço Bom Dia!!! Jhonas, você conseguiu fazer alguns testes sobre o assunto acima ? Grato WillRos
  4. Ok, Jhonas estou no aguardo e ainda tentando tb. Obrigado Abraço
  5. Boa Tarde Jhonas. Exatamente isso, navegando na internet descobri esse Findwindow e FindWindowEx. Consigo achar a janela pelo título porém, não está encontrando o botão Yes, com esse código q fiz e coloquei em um timer. Não se se falta alguma coisa. Codigo: procedure TForm1.Timer1Timer(Sender: TObject); var Wnd : HWND; I: integer; begin Wnd := FindWindow(nil,'Microsoft Office Outlook'); If Wnd <> 0 Then begin Wnd := FindWindowEx(Wnd, 0, 'button', nil); If Wnd <> 0 Then begin SendMessage (Wnd, WM_LBUTTONDOWN, 0, 0) ; SendMessage (Wnd, WM_LBUTTONUP, 0, 0 ) ; end; end ; end; Obrigado por enquanto WillRos
  6. Você recebe a mensagem "Um programa está tentando acessar emails armazenados no Outlook" porque, por razões de segurança, o Catálogo de Endereços do Outlook é protegido por programação. Essa mensagem é útil para impedir que outro programa acesse automaticamente o seu Catálogo de Endereços ou a lista de Contatos ou que envie mensagens em seu nome sem a sua permissão. A mensagem serve para permitir que alguns programas, como o Microsoft ActiveSync® ou o Palm Desktop, acessem as informações de seus contatos de modo que você possa sincronizar seu PDA. Entretanto, um vírus ou outro arquivo de programa indesejado pode usar a mesma funcionalidade para se propagar. Essa mensagem aparece se um programa tenta acessar o Catálogo de Endereços. Em geral, não há como impedir a exibição desse aviso. Essa mensagem não é exibida quando o Outlook interage com software de sincronização confiável. http://www.techtips.com.br/programacao/out...aves_do_delphi/ possivel solução: http://www.rsoutlook.com/blog/2004/06/um-p...aceder-aos.html abraço Fala Jhonas beleza ? Agradeço se post, entendi sobre a msg do outlook. Porém, navegando na net achei alguma coisa em VB q poderia me ajudar e estou tentando passar para Delphi. O código está abaixo dentro de um timer. Em VB se declará algumas APIs do Windows, porém em Delphi o código abaixo roda sem as declarações. procedure TForm1.Timer1Timer(Sender: TObject); var Wnd : HWND; I: integer; begin Wnd := FindWindow(nil,'Aviso Sistema'); If Wnd <> 0 Then begin Wnd := FindWindowEx(Wnd, 0, 'button', 'Sim'); If Wnd <> 0 Then begin SendMessage (Wnd, WM_LBUTTONDOWN, 0, 0) ; SendMessage (Wnd, WM_LBUTTONUP, 0, 0 ) ; end; end ; end; O único problema é q não estou conseguindo chegar até o botão Sim da janela principal q está com o título "Aviso Sistema", q na realidade é outro projeto feito em Delphi no evento OnCreate do Form só para aparecer dois botões Sim e Não através do Application.Message. você poderia me ajudar como me referenciar a esse botão na linha do FindWindowEx ? Obrigado mais uma vez Abraço WillRos
  7. Fala Jhonas, Pode ser muita coincidência mas vasculhando a net achei um post seu falando sobre essa maneira de enviar email e já estava testando no meu sistema e iria postar algumas dúvidas. Realmente melhora muito a velocidade, parece instantânea, mas tenho alguns inconvenientes q gostaria q se possível você me ajudasse. Toda vez q tento enviar um email ele me apresenta uma msg de alerta: "Um programa está tentando acessar os endereços de email q você tem armazenado no outlook. você quer permitir ? Se for uma msg inexperada pode ser um virus e escolha Não." Ai aparece 1,3,5,10 minutos e clico em SIm e o email vai. Como posso fazer para essa msg não aparecer e o email ser enviado? Obrigado e Abraço WillRos
  8. Jhonas, Não tem arquivo algum. Só tem o texto escrito no corpo do email. Vou fazer uns testes com esse componente e te retorno os resultados. Obrigado WillRos Jhonas, Analisando passo a passo o sistema com (F8), a demora ocorre quando quando ele passa pela instrução Send, tanto no NMSMTP1 quanto no IdSMTP1. Quando ele está sobre o NMSMTP1.send ou IdSMTP.send e pressiono a tecla F8 o cursor desaparece por uns 30s e reaparece na próxima instrução. Agradeço qualquer dica. WillRos
  9. Jhonas, Não tem arquivo algum. Só tem o texto escrito no corpo do email. Vou fazer uns testes com esse componente e te retorno os resultados. Obrigado WillRos
  10. Valeu jhonas, vou testar e posto os resultados. Obrigado WillRos
  11. Pessoal, Bom Dia!!! Um outro sistema q tenho aqui usa o componente NMSMTP para enviar email. Pois bem, enquanto estava com o Microsoft Exchange Server 2003 td funcionava bem porém com um upgrade para o MS Exchange Server 2007 o sistema ficou muito lento pra enviar email. Tenho percebido q para enviar um email tem demorado cerca de 30s. Alguém tem o mesmo problema ou já passou por isso ? Alguém sabe se com outro componente pode funcionar melhor ? Obrigado WillRos
  12. mas o erro acontece quando clico no botão editar. voce não postou o código .. dificil ajudar pesquise o erro usando o debugger do delphi ... caso contrario reveja toda a estrutura de suas tabelas abraço O botão editar só tem o nome da Adoquery.edit; mais nada, só q abro 10 tabelas e edito as 10 ao mesmo tempo. O erro ocorre quando passa pelo botão gravar onde tenho as tabelas as Adoquery.post; Só isso, por isso não postei. Obrigado mesmo assim. WillRos
  13. TCustomADODataSet.CursorLocation OBS: como voce pode perceber usar server-side (clUserServer) só e vantajoso se for necessario retornar num grande numero de registros da sua SQL e não for necessario retornar o ponteiro do registro então no seu caso seria melhor utilizar o clUserClient e não o clUserServer. A influencia seria apenas na velocidade de retorno de suas consultas abraço Bom Dia!!! Entendo o q me disse, mas o problema volta a aparecer quando coloco clUserClient. Em todas as tabelas não há erro nenhum na gravação de qualquer registro, ou seja todas as tabelas possuem todos os registros gravados, mas o erro acontece quando clico no botão editar. Obrigado
  14. se em alguma tabela não existir o registro ( seguindo o seu exemplo ) de nº 1000 é esse o erro que vai ocorrer abraço Jhonas, Acredito ter resolvido o problema da seguinte forma: Em cada tabela envolvida mudei a propriedade CursorLocation para clUseServer e o problema não mais ocorreu. você saberia me dizer se isso pode influnciar em alguma outra coisa, qualquer coisa, acesso pelo usuário (gravação ou alteração) por exemplo ? Agradeço a atenção WillRos
  15. se em alguma tabela não existir o registro ( seguindo o seu exemplo ) de nº 1000 é esse o erro que vai ocorrer abraço Mas verifiquei todas as tabelas no banco e todas tem o registro de nº 1000. Alguma sugestão ? No Aguardo Agradeço WillRos
  16. Pessoal, Iniciei o desenvolvimento de um sistema que terá 11 tabelas no SQLServer2000. Criei todas as tabelas e linkei cada campo do delphi com seu respectivo campo na tabela. A tabela form é a principal e as demais podem são tabelas "A, B, C, D, F, G, H, I, J, K". Todas as tabelas tem o mesmo nome de campo como chave primária "codrel". Ao gravar um registro novo entro com dados e os mesmos são distribuídos nas tabelas, até ai beleza. Porém, para editar, entendo q o ponteiro de cada tabela deva estar no registro q eu quero ou seja se eu estou sobre o codrel da tabela principal form de nº 1000, todas as demais tabelas precisam estar tb no registro de nº 1000, para mudar somente o registro nº 1000. Mas acredito q deva estar ocorrendo algum erro e o ponteiro de registro de alguma tabela esteja se perdendo e ai vem o erro abaixo: Erro: Row cannot be located for updating. Some values may have been changed since it was las read. Como posso resolver esse problema, pois o erro sempre ocorre na edição de um dado, de forma aleatória, porque as vezes consigo editar e gravar sem dar o erro e tal erro sempre ocorre sobre a linha da tabela principal dm.form.post; Caso necessitem de mais informações me avisem. Agradeço desde já a atenção WillRos
  17. verifique a propriedade DataField se tem o nome do campo e na propriedade DataSource se tem o nome do DataSource da sua tabela OBS: Dbcheckbox marcados e acinzentados, significa que não estão linkados a uma tabela pelo DataSource ou a tabela não esta aberta observe as propriedades dos outros Dbcheckbox que estão funcionando abraço Obrigado por responder. Porém o problema era q eu não estava desabilitando checked:=false as checkbox. Resolvido WillRos
  18. Pessoal, Boa Tarde!!! Herdei um sistema de um colega de trabalho q deixou a empresa e estou fazendo algumas alterações. O sistema já possui 2 DBCheckBox e adicionei mais 3 e associei os mesmos a 3 campos do banco de dados (paradox) do tipo L (Logical). O problema é o seguinte, ao rodar o sistema as 3 dbcheckbox q coloquei ficam marcadas e acinzentadas, e as 2 q já existiam ficam liberadas para clicar. Já observei no banco do paradox os campos pra saber se possuiam valores default, porém nem um dos campos associados aos dois dbcheckbox existentes possuem valores default. Estou abrindo a tabela quando rodo o programa, e nenhum dbcheckbox está com enabled false. As probriedade valuecheck e valueuncheck estão como FALSE e mesmo assim somente os novos dbcheckbox q foram colocados ficam acinzentados e marcados. Como posso fazer para q fiquem desmarcados ? Agradeço a dica pessoal. Muito Obrigado Wilson
  19. Pessoal, Bom Dia!!! Estou fazendo um aplicativo e gostaria de usar DBCheckBox e não o DBRadioGroup. Montei minha tela com DBCheckBox, são vários, onde para o item a existem 3 DBCheckBox, para o item b mais 3 e assim vai até o item h. Somente um DBCheckBox de cada item poderá estar marcado, os demais deve ficar em branco. Fiz a lógica para q quando clicar em um do mesmo item, os outros dois sejam desmarcados, porém se clico no DBCheckBox do item b, por exemplo, aqueles q não foram marcados no item a, ficam acinzentados e com uma marquinha. Tem como deixá-los em branco, ou é necessário fazer mais uma lógica para q quando eu mudar de item aqueles desmaracdos continuem desmarcados ? Espero ter conseguido passar o q necessito. No aguardo de uma dica, Agradeço WillRos
  20. Resolvido. Era só colocar o caminho em Tools\Environments options\Library. Obrigado WillRos
  21. Jhonas, O barcode.dcu sumiu, não deu mais erro, mas agora o estranho é q ele está dizendo q na clausula abaixo: AsBarcode1: TAsBarcode; erro de identificação Undeclared Identifier: TAsBarcode Undeclared Identifier: DrawBarcode Sabe me dizer o q tenho q fazer mais ? GRato WillRos
  22. Pessoal, Fiz um programinha para mostrar e imprimir código de barras, porém quando tento compilá-lo ele me apresenta o erro abaixo: File not found : barcode.dcu Mas eu tenho esse arquivo e já coloquei dentro de várias pastas do delphi em program files e até mesmo na mesma pasta dos fontes do programinha, mas sempre aparece a mesma mensagem. Alguém saberia me dizer qual pasta devo colocar esse arquivo para q possa compilar meu programinha? Obrigado WillRos
  23. Pessoal, Mais uma informação, quando coloco a criação do QRLabel dentro do evento beforeprint do QuickRep1 funciona, ou seja aparece o QRlabel sendo criado em tempo de execução, porém os dados permanecem fixos, ou seja parece q o banco não roda. Caso coloque a criação do QRLabel dentro do evento beforeprint da banda detail acontece o erro de violação. Se alguém tiver alguma idéia ? Agradeço WillRos
  24. Olá Douglas, O mesmo erro. Vi alguns post na net q diz q esse tipo de erro acontece quando acesso algum objeto q não está sendo criado, mas estou criando só esse em tempo de execução, os outros já estão criados em tempo de design, como query, qrbands, e alguns qrlabels. Como resolver? WillRos
  25. Pessoal, Tive um pequeno progresso tentando da seguinte forma: if DM.QGroupdt_ASO.Value >= date then begin if StrToInt(Data) - 30 > 0 then begin ac:= TQRLabel.Create(nil); ac.Name := 'QRLabel31'; ac.Parent := QRTeste; ac.top := 27; ac.left := 170; ac.caption :=' ASO - Restam '+Data+ ' Dia(s)'; end; end; Porém, ele apresenta no momento de executar o preview um erro e mesmo se eu continuar eu consigo ver o resultado do preview porém o QRLabel não é apresentado na posição especificada acima. ac está declarado em var antes de implementation como ac:TQRLabel; ---- Project Project1.exe raised exception class EAccessViolation with message 'Access violation at address 004BA2E8 in module 'Project1.exe'. Read of address 00000028'. Process stopped. Use Step or Run to continue. ---- Obrigado
×
×
  • Criar Novo...