
s3c
Membros-
Total de itens
817 -
Registro em
-
Última visita
Tudo que s3c postou
-
Tente ir em: Project/Options/Compiler Lá tem um Groupbox "Messages"; desflegue o check-box "Show warnings"
-
Primeiro você cria o JPEG: JPEG := TJPEGImage.Create; Depois você carrega o bitmap do Image pelo Clipboard: Image1.Picture.Bitmap.LoadFromClipboardFormat(CF_BitMap,Clipboard.GetAsHandle(CF_BitMap),0); Depois você assinala o JPEG a partir do Bitmap: JPEG.Assign(Image1.Picture.Bitmap); Depois você salva o JPEG: JPEG.SaveToFile(FileName); JPEG.Free;
-
Defina uma Query para essa tabela. Deixe a propriedade RequestLive := true; Preencha a propriedade Query.SQL.Text := 'Select ... Order By Cliente, Data'; Depois: Query.Open; While not Query.Eof do begin ... // faça o cálculo Query.Post; // Atualiza o registro Query.Next; // Lê o próximo end;
-
Só me vem duas hipóteses: Enabled := false; ou o Form está sem o foco
-
O que sei que dá para fazer é assinalar um jpeg para um bitmap, o que reduz em muito o tamanho do arquivo: JPEG.Assign(Bitmap);Já o formato GIF, nunca testei. Também nunca me aprofundei nisso, mas acho que a imagem Bitmap no Clipboard fica conforme está sua resolução de tela.
-
Deve ser porque você ainda está no evento WM_HotKey e a mensagem ainda não foi processada; ou seja; após terminar esse evento é que você terá acesso ao Clipboard com a imagem. Sugiro que você capture as msgs diretamente do Clipboard e despreze RegisterHotKey. Tem um exemplo em: http://scriptbrasil.com.br/forum/index.php?showtopic=71182 Troque Clipboard.HasFormat(CF_TEXT) por Clipboard.HasFormat(CF_Bitmap)
-
Olá Paulo, bom como você registrou a VK_Snapshot como uma tecla de atalho pelo RegisterHotKey, quando você pressiona PrintScreen, ele executa a procedure WMHotKey e nesta procedure você manda executar CapturarTelaTodaSalvarBitmap. O que acontece: CapturarTelaTodaSalvarBitmap executa Keybd_Event(VK_Snapshot,0, 0, 0); Isso simula o pressionamento da tecla Print Screen e WMHotKey é novamente chamado. Então é um looping infinito, pois WMHotKey executa CapturarTelaTodaSalvarBitmap que por sua vez executa WMHotKey através de Keybd_Event. Como PrintScreen já foi pressionado, então você não precisa mais chamar Keybd_Event.
-
Bom, no Postgres 8 o TQuery acessa sem problemas
-
coloque uses ClipBrd; para poder utilizar o Clipboard.
-
Acho que utilizando Keybd_Event é a mais prática: var Bmp:TBitmap; begin Bmp := TBitmap.Create; Keybd_Event(VK_Snapshot,0, 0, 0); Bmp.LoadFromClipboardFormat(CF_BitMap, Clipboard.GetAsHandle(CF_Bitmap), 0); Image1.Picture.Bitmap.Assign(Bmp); Bmp.SaveToFile('C:\Temp\Flash01.bmp'); Bmp.Free; end;
-
Isso mesmo, já preenchí edits de outros Forms assim; SendMessage(Handle_do_Edit, WM_SetText, 0, LParam(Texto_do_Edit));
-
Olá Paulo, os links citados acima comigo não abriram. Mas de qualquer forma acho que uma forma de você interceptar a tecla Print Screen(VK_Snapshot) é pela função RegisterHotKey porque mesmo sua aplicação estando fora de foco, a tecla Print Screen é interceptada.
-
Por exemplo: Se você tiver na cláusula uses MinhaUnit; Se no path do projeto estiver MinhaUnit.pas, então o Delphi recompila MinhaUnit.pas e gera MinhaUnit.dcu. Se no path do projeto não estiver MinhaUnit.pas, então o Delphi procura MinhaUnit.dcu para poder linkar a aplicação e gerar o .exe Em outras palavras, na compilação de um projeto existem duas fases: 1-A compilação dos .pas para gerar os .dcu 2-A linkedição dos .dcu para gerar o .exe
-
Clieque com o botão direito do mouse em cima da unit e depois clique em "Find Declaration"
-
Quer dizer que é específico na VCL e não na CLX; ou seja; somente para Windows e não para Linux.
-
Acho que a explicação está no momento da chamada da função. Se o próximo byte da memória no final do parâmetro pFrom for um #0, aí funciona, senão não funciona.
-
Não é uma limitação. É que o parâmetro pFrom é difinido para receber um array de strings; ou seja; você pode passar vários nomes de arquivos nesse parâmetro e é por isso que você deve terminar com um #0 adicional dizendo que não há mais nomes a seguir.
-
Acredito que o problema esteja na passagem de parâmetros; pois o parâmetro pFrom da estrutura TSHFileOpStructA é um array de strings; portanto você deve adicionar um #0 no final de pFrom dizendo que não há mais strings. Adicione um #0 no final do parâmetro pTo também.
-
Execute um arquivo .bat
-
Aplicação Multithread Com Sockets E Sqlserver
pergunta respondeu ao rmpena25 de s3c em Delphi, Kylix
Acho que ADO, assim como BDE ou DBExpress não tem a haver com Thread-Safe. Eles são simplesmente um meio de acesso ao Banco de Dados. É o Banco de Dados que é ou não é Thread-Safe. -
Não sei o que pode estar ocorrendo. Experimente deixar os labels num TPanel e no evento onActivate do Form: Panel1.Hide; Panel1.Show; Panel1.Repaint; Se persistir, experimente trocar os TLabels por TStaticText; aqui no Delphi 6 está na paleta Additional
-
O Handle você pode saber pelo GetClipboardOwner, mas o aplicativo acho que vai dar mais trabalho porque GetClipboardOwner retorna o Handle da janela que utilizou o Clipboard que pode ser um TEdit, TMemo, etc...
-
Desculpe Paulo, mas que label é esse? é um TLabel ? Ele já vem com o caption pré-determinado ou você atualiza em run-time ? Ele está diretamente num TForm ou TPanel ? Se estiver num TForm, experimente colocá-lo num TPanel.
-
Defina um flag de onDestroy: var bOnDestroy:Boolean; No onDestroy ative o flag: bOnDestroy := true; Na WndProc, após o inhrited coloque: if bOnDestroy then exit; Acho que deve resolver.
-
Deve ser porque o Handle de SetClipboardViewer fica alocado. Tente liberar esse Handle no onDestroy pelo ChangeClipboardChain