Você está aqui: Delphi ::: VCL - Visual Component Library ::: TWebBrowser |
Entenda e aprenda a usar o controle TWebBrowser em seus programas DelphiQuantidade de visualizações: 20583 vezes |
Um controle da classe TWebBrowser fornece acesso às funcionalidades de um navegador web fornecidas pelos componentes Microsoft?s Shell Doc Object e Control Library (SHDOCVW.DLL). Controles desta classe encapsulam a interface IWebBrowser2 (presente nos componentes citados) de forma a permitir o desenvolvimento de aplicações web browser personalizadas, navegação de arquivos e redes, visualização de documentos e downloads de dados. Por depender da DLL SHDOCVW.DLL, se quisermos usar o controle TWebBrowser em nossas aplicações Delphi, esta DLL deverá estar instalada no sistema no qual o programa será executado. Esta DLL é parte da instalação do Internet Explorer 4 ou mais recentes. Veja a posição da classe TWebBrowser na hierarquia de classes Delphi: ---------------------------------------------------------------------- Se precisar de ajuda com o código abaixo, pode me chamar no WhatsApp +55 (62) 98553-6711 (Osmar) ---------------------------------------------------------------------- TObject TPersistent TComponent TControl TWinControl TOleControl TWebBrowser Para colocar um controle TWebBrowser em um formulário só precisamos localizar este componente na seção Internet do Tool Palette e arrastá-lo para a posição desejada no formulário. Em seguida podemos carregar a página inicial do meu site Arquivo de Códigos da seguinte forma: ---------------------------------------------------------------------- Se precisar de ajuda com o código abaixo, pode me chamar no WhatsApp +55 (62) 98553-6711 (Osmar) ---------------------------------------------------------------------- procedure TForm3.Button1Click(Sender: TObject); var url: String; begin // vamos definir a URL a ser acessada url := 'http://www.arquivodecodigos.net'; // vamos acessar a página WebBrowser1.Navigate(url); end; Quando você executar a aplicação e clicar no botão verá a página http://www.arquivodecodigos.net ser carregad no controle WebBrowser. Você notará que o componente realmente se comporta como um navegador web. Experimente clicar nos links da página e veja que a navegação ocorre normalmente. Para fins de compatibilidade, esta dica foi escrita usando Delphi 2009. |
Link para compartilhar na Internet ou com seus amigos: |
Delphi ::: VCL - Visual Component Library ::: TEdit |
Como habilitar ou desabilitar um TEdit do Delphi usando a função EnableWindow() da API do WindowsQuantidade de visualizações: 11543 vezes |
Embora o Delphi já nos forneça as ferramentas necessárias para habilitar ou desabilitar um TEdit em tempo de execução, é importante saber como realizar esta tarefa usando a API do Windows. Para isso, podemos usar a função EnableWindow() com os valores true ou false. A função EnableWindow() possui a seguinte assinatura em C/C++: ---------------------------------------------------------------------- Se precisar de ajuda com o código abaixo, pode me chamar no WhatsApp +55 (62) 98553-6711 (Osmar) ---------------------------------------------------------------------- BOOL EnableWindow( HWND hWnd, BOOL bEnable ); No arquivo Windows.pas podemos encontrar o protótipo e corpo desta função convertidos para Object Pascal: ---------------------------------------------------------------------- Se precisar de ajuda com o código abaixo, pode me chamar no WhatsApp +55 (62) 98553-6711 (Osmar) ---------------------------------------------------------------------- // Protótipo {$EXTERNALSYM EnableWindow} function EnableWindow(hWnd: HWND; bEnable: BOOL): BOOL; stdcall; // Implementação function EnableWindow; external user32 name 'EnableWindow'; Note que precisamos informar o HWND (parâmetro hWnd) para a caixa de texto e um valor BOOL. Se fornecermos false, a caixa de texto será desabilitada. Veja: ---------------------------------------------------------------------- Se precisar de ajuda com o código abaixo, pode me chamar no WhatsApp +55 (62) 98553-6711 (Osmar) ---------------------------------------------------------------------- procedure TForm1.Button1Click(Sender: TObject); begin // vamos desabilitar o TEdit usando a função EnableWindow() // com o valor false if EnableWindow(Edit1.Handle, False) = True then begin ShowMessage('A caixa de texto foi desabilitada com sucesso.'); end; end; Para habilitar a caixa de texto novamente, só precisamos fornecer o valor true para o parâmetro bEnable: ---------------------------------------------------------------------- Se precisar de ajuda com o código abaixo, pode me chamar no WhatsApp +55 (62) 98553-6711 (Osmar) ---------------------------------------------------------------------- procedure TForm1.Button1Click(Sender: TObject); begin // vamos habilitar o TEdit usando a função EnableWindow() // com o valor true if EnableWindow(Edit1.Handle, True) = True then begin ShowMessage('A caixa de texto foi habilitada com sucesso.'); end; end; É importante observar que o retorno da função EnableWindow será False se tentarmos habilitar uma caixa de texto que já está habilitada ou tentarmos desabilitar uma caixa de texto que já está desabilitada. |
Delphi ::: Dicas & Truques ::: Bilbiotecas Estáticas (obj) e Dinâmicas (DLLs) |
Apostila Delphi para iniciantes - Como criar sua primeira DLL usando DelphiQuantidade de visualizações: 18687 vezes |
Em dicas anteriores você aprendeu o que é um DLL e sua importância para a programação no ambiente Windows. Nesta dica mostrarei como criar uma DLL bem simples e usá-la a partir de um programa Delphi. Para isso siga atentamente os passos abaixo: 1) Vá em File -> New -> Other; 2) Selecione Delphi Projects e escolha DLL Wizard; 3) Neste momento o DLL Wizard criará o esqueleto do código fonte da DLL. Note que o código desta unit é bem parecido com aquele da unit de uma aplicação. A diferença principal é o uso da palavra-chave library em vez de program: ---------------------------------------------------------------------- Se precisar de ajuda com o código abaixo, pode me chamar no WhatsApp +55 (62) 98553-6711 (Osmar) ---------------------------------------------------------------------- library Project2; { Important note about DLL memory management: ShareMem must be the first unit in your library's USES clause AND your project's (select Project-View Source) USES clause if your DLL exports any procedures or functions that pass strings as parameters or function results. This applies to all strings passed to and from your DLL--even those that are nested in records and classes. ShareMem is the interface unit to the BORLNDMM.DLL shared memory manager, which must be deployed along with your DLL. To avoid using BORLNDMM.DLL, pass string information using PChar or ShortString parameters. } uses SysUtils, Classes; {$R *.res} begin end. Salve esta unit como MinhaDLL.dproj em um diretório de sua preferência. Em seguida vamos criar uma rotina que receberá dois valores inteiros e retornará sua soma. Veja a modificação no código: ---------------------------------------------------------------------- Se precisar de ajuda com o código abaixo, pode me chamar no WhatsApp +55 (62) 98553-6711 (Osmar) ---------------------------------------------------------------------- library MinhaDLL; function Somar(a, b: Integer): Integer; stdcall; begin Result := a + b; // retorna a soma end; { vamos exportar (export) a função Somar } exports Somar; begin end. Nossa DLL está pronta. Agora vá no menu Project -> Build MinhaDLL (ou pressione Shift+F9). Se tudo correu bem você terá um arquivo chamado MinhaDLL.dll no diretório no qual você salvou o projeto. O próximo passo é aprender a carregar esta DLL a partir de seus programas Delphi. Veja mais dicas nesta seção para aprender como isso é feito. Para fins de compatibilidade, esta dica foi escrita usando Delphi 2009. |
Delphi ::: Dicas & Truques ::: Matemática e Estatística |
Como gerar um número aleatório de 0 a 10 em Delphi usando a função Random()Quantidade de visualizações: 27809 vezes |
Em algumas situações precisamos gerar números randômicos. Em Delphi isso pode ser feito com o auxílio da função Random(). Esta função aceita um valor inteiro e retorna um número aleatório maior ou igual a 0 e menor que o valor fornecido. Assim, se quisermos obter um número randômico na faixa de 0 a 10, só precisamos fornecer o valor 11 para a função Random(). Note ainda a chamada à função Randomize(), usada para iniciar o gerador de números randômicos. Veja um exemplo no qual geramos um número aleatório na faixa de 0 a 10: ---------------------------------------------------------------------- Se precisar de ajuda com o código abaixo, pode me chamar no WhatsApp +55 (62) 98553-6711 (Osmar) ---------------------------------------------------------------------- procedure TForm1.Button1Click(Sender: TObject); var numero: integer; begin // vamos iniciar o gerador de números randômicos Randomize; // vamos gerar um número aleatório entre 0 e 10 numero := Random(11); // exibe o resultado ShowMessage('Número gerado: ' + IntToStr(numero)); end; Para questões de compatibilidade, esta dica foi escrita usando Delphi 2009. |
Vamos testar seus conhecimentos em JavaScript |
Qual das seguintes instruções JavaScript é uma definição correta de um array? A) a = new Array[100]; B) var a = new Array(100); C) var[] a = new String[100]; D) var a = new Array[100]; Verificar Resposta Estudar Cards Todas as Questões |
Vamos testar seus conhecimentos em JavaScript |
A instrução default é obrigatória na construção switch...case...default do JavaScript? A) Sim B) Não Verificar Resposta Estudar Cards Todas as Questões |
Vamos testar seus conhecimentos em Topografia |
Escalas FGV-2015 - Em uma carta topográfica, uma ferrovia de 30 km foi representada por uma linha de 6 cm de comprimento. Assim, é correto afirmar que a escala dessa carta é: A) 1:200.000. B) 1:500.000. C) 1:1.000.000. D) 1:2.000.000. E) 1:5.000.000. Verificar Resposta Estudar Cards Todas as Questões |
Vamos testar seus conhecimentos em Python |
Qual a sintaxe correta para mostrar o tipo de uma variável em Python?a = 45 print("O tipo da variável é: {0}".format(______________)) A) typeOf(a) B) Type(a) C) typeof(a) D) type(a) E) type a Verificar Resposta Estudar Cards Todas as Questões |
Vamos testar seus conhecimentos em Fenômeno de Transportes e Hidráulica |
Tipos de Escoamentos Um conduto cilíndrico interliga dois tanques de cerveja artesanal a uma velocidade constante e com diferença de 10 metros entre suas cotas. O fluido dentro dos tanques é mantido a uma pressão de 101.325 Pa e ocupa 95% da área do conduto quando transportado. Defina que tipo de escoamento ocorre nesse conduto e quais são os principais parâmetros que devem ser levados em consideração em seu cálculo de dimensionamento ou verificação. A) Ocorre escoamento em conduto forçado, pois o fluido está confinado sob uma pressão diferente da atmosférica. Os principais parâmetros para cálculo do conduto são a vazão que se deseja escoar e a energia total do escoamento. B) Ocorre escoamento à superfície livre, pois, mesmo tendo uma pressão diferente da atmosférica, o conduto não está completamente preenchido pelo fluido. Os principais parâmetros para cálculo do conduto são a vazão que se deseja escoar e a energia total do escoamento. C) Ocorre escoamento em conduto forçado, pois 95% preenchem praticamente toda a área do contorno sólido que confina a cerveja. Os principais parâmetros para cálculo do conduto são a vazão que se deseja escoar e a diferença de cota entre os tanques. D) Ocorre escoamento à superfície livre, pois 101.325 Pa é o valor médio da pressão atmosférica, além disso o conduto não está completamente preenchido pelo fluido. Os principais parâmetros para cálculo do conduto são a vazão que se deseja escoar e a energia total do escoamento. E) Ocorre escoamento à superfície livre, pois 101.325 Pa é o valor médio da pressão atmosférica, além disso o conduto não está completamente preenchido pelo fluido. Os principais parâmetros para cálculo do conduto são a vazão que se deseja escoar e a diferença de cota entre os tanques. Verificar Resposta Estudar Cards Todas as Questões |
Desafios, Exercícios e Algoritmos Resolvidos de Delphi |
Veja mais Dicas e truques de Delphi |
Dicas e truques de outras linguagens |
JavaScript - Como acessar as mídias do usuário em JavaScript usando a função getUserMedia() da interface MediaDevices Portugol - Como resolver uma equação do segundo grau em Portugol - Como calcular Bhaskara em Portugol |
Códigos Fonte |
Software de Gestão Financeira com código fonte em PHP, MySQL, Bootstrap, jQuery - Inclui cadastro de clientes, fornecedores e ticket de atendimento Diga adeus às planilhas do Excel e tenha 100% de controle sobre suas contas a pagar e a receber, gestão de receitas e despesas, cadastro de clientes e fornecedores com fotos e histórico de atendimentos. Código fonte completo e funcional, com instruções para instalação e configuração do banco de dados MySQL. Fácil de modificar e adicionar novas funcionalidades. Clique aqui e saiba mais |
Controle de Estoque completo com código fonte em PHP, MySQL, Bootstrap, jQuery - 100% funcional e fácil de modificar e implementar novas funcionalidades Tenha o seu próprio sistema de controle de estoque web. com cadastro de produtos, categorias, fornecedores, entradas e saídas de produtos, com relatórios por data, margem de lucro e muito mais. Código simples e fácil de modificar. Acompanha instruções para instalação e criação do banco de dados MySQL. Clique aqui e saiba mais |
Linguagens Mais Populares |
1º lugar: Java |