Ir para conteúdo
Fórum Script Brasil

Paulo Nobre

Membros
  • Total de itens

    717
  • Registro em

  • Última visita

Tudo que Paulo Nobre postou

  1. Obrigado pela dica Micheus, esclareceu o que pode ser. Mas, o que significa Type Cast ? Aproveitando, você saberia dizer porque clicando por exemplo na unit(declaração)Windows com o botão direito do mouse e depois finddeclaritions aparecem todos os códigos da unit, mas clicando em WordXp ou Word2000, ele diz que não pode encontrar?
  2. Colocando #0 funcionou perfeitamente. Obrigado s3c.
  3. Paulo Nobre

    Achar Dcu

    Estava faltando o caminho do DCU. Coloquei ele em tool/enveronmentOption etc... e resolvi Desculpem e obrigado para quem leu o post para ajudar.
  4. Tenho um pacote de componentes chamado collib. Ao fazer a compilação dos projetos que usa um dos componentes está aparecendo uma mensagen de erro que diz que: colhint.dcu não pode ser encontrado. Como posso consertar isto? Onde ficam os dcus dos componentes? Tentei recompilar o dpk e não deu em nada. Será que é melhor desinstalar e instalar?
  5. Obrigado a vocês, PauloBergo e s3c. Então pelo que entendi, embora achasse também que poderia ser pela tabela, o problema está no array. Para aproveitar o meu código vou tentar o que s3c sugeriu. Obrigado por mais esta.
  6. Tenho um programa de dados em que os principais são mostrados no word, como se fosse um relatório. Usando a paleta Servers incluo dois componentes para conectar e usar o word. Não tenho nenhum problema nem dúvida em relação ao código. Tudo funciona redondo. Tenho o D7 e na instalação ele pergunta quais os arquivos relativos ao word desejo instalar para a aparecer na paleta server(Office 98-2000 ou XP), como tenho o 2003 escolhi o último e tudo funciona bem como já disse. Acontece que no trabalho tenho word 2000 e desta forma, pelo programa, o word não abre nem a pau. Aí fiz o seguinte: no uses acrecentei Word2000(intuição) e trouxe para o trabalho para testar. Para minha surpresa funcionou normalmente. Fiquei surpreso, pois não mudei uma linha de código sequer e os componentes de conexão são para wordXP, que funciona com o meu 2003(até aí tudo bem). Alguém, que já trabalhou com este tipo de automação, sabe explicar porque funcionou?
  7. Tenho um programa(que usa banco de dados) que na pasta do executável contém uma pasta chamada Dados. Criei uma rotina para fazer backup desta pasta, ou seja, seriam copiados os arquivos e subpastas de dados para uma outra pasta chamada Backup. No oncreate do form o programa verifica se existe o diretório Backup, caso contrário cria esta pasta. Tipo If not DirectoryFileExist(Diretorio do programa\Backup) then Makedir...... Para copiar estou usando var Dados: TSHFileOpStruct; begin table1.close//fecho a tabela aqui para poder copiar FillChar(Dados,SizeOf(Dados), 0); with Dados do begin wFunc := FO_COPY; pFrom := PChar('Diretório do programa\Dados\*.*'); pTo := PChar('Diretório do programa\Backup\'); fFlags:= FOF_ALLOWUNDO; end; SHFileOperation(Dados); table1.open//Abro aqui para voltar a mostrar end; Acontece que as vezes aparece a mensagem de erro Não é posível copiar arquivo. Não é possível ler o arquivo ou disco de origem. Porém as vezes consigo copiar. Alguém saberia dizer o que pode estar havendo?
  8. Realmente depois que li isto fui rever a apostila, já que hoje estou com bastante tempo, é lá está se falando a respeito de memória de variável. Interessante este exemplo seu. "Dá até para dar uma enganada no DELPHI".
  9. É , s3c, acho que estou começando a aprender um pouco de delphi, embora saiba que esta idéia de ponteiros não pertence a uma linguagem específica. A um tempo atrás estava aprendendo um pouco(muito pouco) de C, e vi que que no final da apostila se falava em ponteiros. Não cheguei lá e fiquei sem saber. Tenho esperança que até antes de morrer esteja fazendo cada vez menos CTRL + C & CTRL + V (no sentido de copiar sem entender-mesmo sabendo que em certas ocasiões, como para terminar um programa, isto é necessário) porisso peço desculpas por insistir em perguntas que são teóricas e que muitas pessoas usam diretamente. Inclusive acho, que deveríamos ter um tópico lá em cima "PINADO", cujo título poderia ser diga não ao CTRL + C & CTRL + V. Lá as pessoas poderiam não colocar dicas, como no tópico de dicas, mas sim explicações teóricas sobre tópicos normalmente não encontrados normalmente por aí. Veja o nosso colega Tiago, que já usava TAGS, e ficou surpreso com o exemplo. Eu particularmente nunca usei TAG, pelo menos em DELPHI. A muito tempo atrás, quando estava estudando VB, fiz um exemplo pelo livro que usava, mas sem entender o porque. Obrigado a todos vocês
  10. Mas, s3c, o que são na realidade ponteiros?
  11. Valeu Progr'mador obrigado por sua atenção e exemplo. Serviu para ter uma idéia. Abraços.
  12. S3c, não entendi muito bem. Você poderia dar um exemplo prático de utilização, com um código mínimo se possível.
  13. Alguém poderia dizer para que serve a propriedade TAG?
  14. Muito Obrigado Micheus, Acabei alterando para integer. Mas, guardei as outras dicas para o futuro.
  15. Ok, s3c, vou tentar baixa de casa no final de semana pois, aqui do trabalho dá erro de proxy.
  16. Ok, s3c, porém como estou começando a reestudar banco de dados comecei com este mesmo para recordar comandos básicos de table, dbgrids etc.. Obrigado
  17. Enquanto estava desenvolvendo um programa que usava a tabela paradox, percebi que quando o programa gerava erros a tabela era perdida(os dados), mas o arquivo MB, correspondente a ela ía cada vez mais aumentando de tamanho, ou seja era como se os dados ficassem lá,mas não podiam ser usados. Para diminuir o MB tinha que recriar a tabela e começar tudo do zero. É claro que era só digitar os novos dados, não ter mais erros que tudo ía para frente, porém com um MB grande. Existem alguns cuidados que deveria ter? Teria com "esvaziar" este MB, sem recriar a tabel? Alguém poderia me dar algumas dicas para um bom funcionamento?
  18. Tenho um campo numa tabela paradox que se chama número. O campo é do tipo A e lá o usuário digita um número. 1,2,3,4,5,6,7,8,9,10,11. Acontece que no DBGrid o 10 aparece antes do 2, ou seja 10<2. As perguntas: 1) Isso acontece porque defini o campo como tipo A?Existe outro tipo em que isso não aconteça? 2) Se colocar 01,02,03,04,05,06,07,08,08,10,11.. terei a maneira correta? 3) Se a resposta da pergunta de cima for sim, tenho algum comando para fazer ficar correto ou terei que criar um procedimento para completar com zeros o DBEditNumero quando ele perder o foco. Caso tenha que criar a procedure qual o melhor evento para colocar o procedimento. Seria no onchange ou no onexit? Desde já agradeço.
  19. Resolvi o problema. Adaptei o menor dos códigos e deu certo.
  20. Relutei um pouco em colocar esta pergunta, pois com o google e as pesquisas em foruns você encontra um monte de respostas e dicas. A pergunta é a seguinte: Como colocar imagem jpeg(gif) numa tabela paradox e quando abrir o programa ter a imagem aparecendo num DBImage? Para GIF não encontrei nada (na rede e nos foruns) respondendo a pergunta. Para JPEG as tradicionais são(parece que todo mundo usa o mesmo código copiado): É só desta maneira mesmo ou existe uma maneira mais simples. No meu caso tenho uma tabela com três campos número, nome e informações. No form existem: 2 dbedits, 1 dbmemo e 1 dbimage. A figura jepeg e gif já está aparecendo no dbimage1, quero apenas clicar no botão gravar(table1.post) e transferir a figura para o paradox(não preciso de opendialog-já usei ele para colocar antes a figura lá) e quando abrir o programa que ela(a figura) apareça no dbgrid. Tenho que usar este código acima ou tem uma coisa mais simples para se fazer? Em relação ao gif alguém sabe alguma coisa?
  21. Ok, Micheus, muito obrigado. Vou fazer uma análise detalhada do programa e tentar mecher nele.
  22. Micheus, Testei o código e a dll colocando setsystemcursor no onkeydown e onkeyup e funcionou porém, estou com o seguinte problema: O código que era para ser executado quando apertasse F3 não está sendo executado o programa fica parado. Lembro que o objetivo da captura da tecla F3 era para o seguinte: Clicando na F3 e segurando o cursor passava para uma cruz, arrastava uma parte do screen, soltava a tecla ele voltava para o padrão e este pedaço da tela era capturado. Quando o usuário clica em capturar parte da tecla um timer é acionado (veja abaixo) O código que é executado é o seguinte: Será que o GETKeyState está causando algum problema. procedure TfrmPrincipal.TimerParteDaTelaTimer(Sender: TObject); Var formato : Word; dados : Cardinal; paleta : HPALETTE; begin TimerParteDaTela.Enabled:= False; try if GetKeyState(VK_F3) < 0 then begin Capturando := True; if X1 = 0 then begin X1 := Mouse.CursorPos.X; Y1 := Mouse.CursorPos.Y; X2 := X1; Y2 := Y1; end else if (X2 <> Mouse.CursorPos.X) or (Y2 <> Mouse.CursorPos.Y) then begin Canv.Rectangle(X1, Y1, X2, Y2); X2 := Mouse.CursorPos.X; Y2 := Mouse.CursorPos.Y; Canv.Rectangle(X1, Y1, X2, Y2); end; end else if Capturando then begin Canv.Rectangle(X1, Y1, X2, Y2); Timer1.Enabled:=True; CopiaTela(Image1.Picture.Bitmap, X1, Y1, X2, Y2); Image1.Picture.SaveToClipBoardFormat(formato, dados, paleta); ClipBoard.SetAsHandle(formato, dados); X1 := 0; Capturando := False; end Else begin //SetSystemCursor(LoadCursor(0,IDC_Cross),OCR_Normal); end; finally TimerParteDaTela.Enabled:= True; end; end; É possível contornar este problema? Obrigado.
  23. Realmente s3c, pode ser que o programa que citei tenha uma dll embutida no arquivo de recursos. Pensei até em manadr um email para o autor do programa e perguntar a ele. Micheus muito muito agradecido por você colocar o código da dll, realmente sozinho não conseguiria nunca escrever este código. Vou adaptar para o meu programa no final de semana.
  24. Pelo tudo que vi escrito vejo que seria complicado. Vou deixar um pouco este projeto de lado e partir para outros estudos. Mesmo não conseguindo aprendi muito aqui neste tópico. A única coisa que fico intrigado é que vi este procedimento no programa DGMScreen(capturas de telas, janelas e partes) e o programa não tinha nenhuma dll(acho). Ele era fornecido com um executável e um aquivo INI. Obrigado
  25. O problema é que a minha aplicação estará rodando no tray, fora de foco. Teria como adaptar para quando estiver fora de foco? Não conheço esta função SetCaptureControl. Teria como adaptar para o código do s3c?
×
×
  • Criar Novo...