Ir para conteúdo
Fórum Script Brasil

s3c

Membros
  • Total de itens

    817
  • Registro em

  • Última visita

Tudo que s3c postou

  1. s3c

    Memo

    Olá Paulo, bom o código eu não tenho porque nunca tive que usar isto; mas dá para fazer utilizando um TLabel de work, c/ autosize e font=font do memo, com isto você pega o width do TLabel e o deixa igual à todas as linhas do memo c/ os comandos Pos, Delete e Insert. Dá um pouco de trabalho, mas acho que dá para ser feito.
  2. s3c

    Memo

    Olá Paulo, acho que agora entendí. você quer que a forma do texto fique como um quadrado, alinhado dos dois lados, redistribuindo os brancos entre as palavras p/ que fiquem com as duas margens iguais. Bom, se for isto, realmente eu não conheço nada a não ser via programação.
  3. s3c

    Componentes

    Olá colega, se você tiver o .dcu ou o .pas deles, é só atualizar o path do projeto p/ onde eles estiverem.
  4. s3c

    Memo

    Bom, o componente TMemo possui a propriedade Alignment; você pode deixá-la como taCenter, aí ele centraliza no momento da digitação. Se quiser digitar à esquerda e depois centralizar, é só modificar esta propriedade em execução.
  5. s3c

    Memo

    Olá Paulo, como seria esse "justificar" ? Retirar os brancos à esquerda de todas as linhas ?
  6. Olá Paulo, quanto ao Delphi 7 eu não conheço porque trabalho c/ o Delphi 6, mas geralmente esses updates tem um readme.txt ou algo parecido que informa qual componentes foram atualizados; e se você não os utilizar então pode ficar sem esta atualização. Eu particularmente sempre faço as atualizações porque as vezes lá na frente poderei utilizar algum componente que estava c/ bug.
  7. Olá, você pode clicar dentro do Delphi em Ctrl+Shift+G e gravar a chave no registro do Windows em Hkey_Classes_Root\CLSID por exemplo.
  8. s3c

    Ctrl Alt Del

    Acho que você deve estar fazendo alguma coisa errada, porque quando você coloca: if Msg.Msg <> WM_CLOSE then inherited; em WndProc que é override, significa o seguinte: Todas as msgs exceto WM_CLOSE serão processadas(inherited). Com isto, você não consegue fechar sua janela clicando no 'X' da barra de título.
  9. s3c

    Ctrl Alt Del

    Olá, é estranho isso; você consegue fechar sua janela clicando no ícone 'X' da borda superior? Tente colocar no onClose do seu formulário: Action := caNone;
  10. s3c

    Ctrl Alt Del

    Não é o outro programa, perguntei se você consegue fechar o seu programa com essa instrução.
  11. s3c

    Ctrl Alt Del

    if Msg.Msg <> WM_Close then inherited; Com esta instrução acima em WndProc, você consegue fechar sua aplicação ?
  12. s3c

    Ctrl Alt Del

    A linha 16 0 0 é a msg wm_close que está sendo enviada p/ sua aplicação. Substitua a linha: inherited; por: if Msg.Msg <> WM_Close then inherited; Depois poste as últimas linhas novamente.
  13. s3c

    Ctrl Alt Del

    Olá colega, tente monitorar as msgs. procedure TForm1.WndProc(var Msg:TMessage); var f:TextFile; begin if not FileExists('c:\Log.txt') then begin AssignFile(f, 'c:\Log.txt'); Rewrite(f); CloseFile(f); end; AssignFile(f, 'c:\Log.txt'); Append(f); Writeln(f, IntToStr(Msg.Msg)+' '+IntToStr(Msg.WParam)+' '+IntToStr(Msg.LParam)); CloseFile(f); inherited; // não vá esquecer desta linha porque WndProc é override end; 1-Chame seu programa. 2-Chame o programa que fecha o seu. 3-Quando seu programa fechar, edite o arquivo Log.txt e poste as 30 últimas linhas.
  14. s3c

    Labels Animados

    Olá, se você tiver os componentes RXLib, na paleta RXTools existe um componente chamdo SecretPanel.
  15. s3c

    Dll

    Bom, utilizando ShareMem, você compartilha a área de memória do seu .exe c/ a sua .dll A partir daí você tem acesso a qualquer variável de memória tanto do seu .exe quanto da sua .dll. você consegue este acesso através de ponteiros, pois pelas formas normais, você só conseguiria acessar métodos e funções dos quais a dll quiser exportar, porque se ela não exportar, nem isso você tem acesso. Não sei se deu pra você entender, mas vou te dar um ex prático: Suponha que em certo momento de execução na sua dll, você deseje passar uma string p/ sua aplicação(.exe); você pode fazer isso facilmente utilizando SendMessage ou PostMessage: SendMessage({Handle da sua janela} , {Número da msg},Integer(string_na_dll), {LParam(neste caso não utilizado)}); Note que Integer(string_na_dll) nada mais é do que um ponteiro de memória onde seu .exe pode 'enxergar'. Por outro lado, se você fizer isto c/ dois .exe, não irá funcionar porque eles rodam em espaços de memória distintos e aí você deverá utilizar um SendMessage c/ tipo Copy_Data que é aonde o Windows intervem fazendo uma ponte de comunicação entre o programa A e o programa B.
  16. s3c

    E-mail

    Olá, bom vamos lá: 1-O primeiro type seguido do var, declare-os antes da implementation. 2-Os demais métodos declare-os após a implementation. 3-O evento Botao_EnviarClick é o evento onde você instancia a thread. 4-quando você executa TEnvio_Email.Create acontece o seguinte: a-É chamado o construtor do objeto. b-Como o comando inherited é enviado c/ o parâmetro false, automaticamente a thread entra em execução, processando assim o método Execute. c-No método Execute, você coloca seu código p/ enviar emails. d-Sua thread principal, ou, seu programa, rodará normalmente c/ prioridade maior do que a thread de envio de emails, porque ela é uma thread secundária.
  17. Olá Paulo, tente utilizar a função direta da api kernel32. SetFileAttributes('c:\temp\teste.xxx', {Atributo}); Atributo = FILE_ATTRIBUTE_ARCHIVE FILE_ATTRIBUTE_HIDDEN FILE_ATTRIBUTE_NORMAL FILE_ATTRIBUTE_READONLY FILE_ATTRIBUTE_SYSTEM
  18. s3c

    Dll

    Olá, então porque você não começa acessando métodos e funções em dlls?
  19. s3c

    E-mail

    type TEnvio_Email = class(TThread) procedure Execute; override; constructor Create; end; var Enviar_Email :TEnvio_Email; constructor TEnvio_Email.Create; begin inherited Create(false); FreeOnTerminate := true; end; procedure TEnvio_Email.Execute; begin while not Self.Terminated do begin { envie um email de cada vez entre begin/end } end; end; // clique do botão de enviar emails ou algo parecido procedure TForm1.Botao_EnviarClick(Sender: TObject); begin Enviar_Email := TEnvio_Email.Create; end;
  20. s3c

    Dll

    É possível através de ponteiros juntamente c/ compartilhamento de memória colocando ShareMem na primeira linha do uses do dpr da dll e no uses do dpr da sua aplicação. Mas para que finalidade você quer colocar variáveis globais em dll ?
  21. s3c

    E-mail

    É sim, crie uma thread p/ envio de emails; com isto a thread de envio de emails rodará concorrentemente com a thread principal do seu programa.
  22. s3c

    Ctrl Alt Del

    Mesmo assim ele encerra seu programa? você consegue encerrar com a variável Pode_Fechar desativada?
  23. Olá, tenha em mente o seguinte: os cpos datetime ou date ou time são doubles onde a parte inteira é a quantidade de dias e a parte fracionária é o tempo decorrido desde às 0:00 hrs daquele dia. Então quando você subtrai um date do outro, você obtém a diferença em dias + uma fração de tempo que não servirá em nada p/ o seu cálculo. Creio que você deverá converter tudo em horas p/ depois achar a diferença.
  24. s3c

    Ctrl Alt Del

    Olá, esse programa que fecha o seu deve estar mandando uma msg do tipo wm_Close p/ o handle da sua janela. você pode interceptar essa msg antes de ser processada pelo seu programa. Defina: var Pode_Fechar:Boolean; procedure WndProc(var Msg:TMessage); override; procedure TForm1.WndProc(var Msg:TMessage); begin if (Msg.Msg <> wm_Close) or Pode_Fechar then inherited; end; ps: Ative o flag de Pode_Fechar quando quiser encerrar senão nem você irá conseguir fechar sua janela.
  25. s3c

    Mudança De Cor

    Olá Paulo, na verdade o código que passei está errado na informação do Top em ACanvas.TextRect. Só funciona no primeiro ítem. O correto seria: ACanvas.TextRect(ARect, ARect.Left+3, ARect.Top+2, 'Descrição do Ítem');
×
×
  • Criar Novo...