Você está aqui: Delphi ::: VCL - Visual Component Library ::: TWebBrowser |
Como pesquisar e retornar um elemento HTML em um TWebBrowser usando o método getElementById()Quantidade de visualizações: 15581 vezes |
Em algumas situações precisamos pesquisar e retornar um elemento HTML na página carregada em um controle TWebBrowser. Para isso podemos usar o método getElementById(), disponível na interface IHTMLDocument3 (esta interface herda de IDispatch e requer a DLL mshtml.dll e Internet Explorer 5 ou mais recente instalado na máquina cliente). Veja os códigos para os eventos Click de dois botões. No primeiro botão nós carregamos o documento HTML e no segundo pesquisamos e retornamos o conteúdo do elemento HTML com o id que queremos. Este é o código para o documento HTML usado neste exemplo: ---------------------------------------------------------------------- Se precisar de ajuda com o código abaixo, pode me chamar no WhatsApp +55 (62) 98553-6711 (Osmar) ---------------------------------------------------------------------- <html> <head> <title>Acessando documentos HTML usando TWebBrowser</title> </head> <body> <p id="p1">Sou um parágrafo com o id "p1"</p> </body> </html> E aqui está o código Delphi: ---------------------------------------------------------------------- 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 carregar o documento HTML url := 'pagina.html'; // vamos acessar a página WebBrowser1.Navigate(url); end; procedure TForm3.Button2Click(Sender: TObject); var doc: IHTMLDocument3; elem: IHTMLElement; conteudo: String; begin // uses MSHTML_TLB // vamos obter o documento representando a página web doc := WebBrowser1.Document as IHTMLDocument3; // o documento foi obtido com sucesso if doc <> nil then begin // vamos tentar encontrar o elemento HTML com o id "p1" elem := doc.getElementById('p1'); // o documento HTML foi encontrado? if elem <> nil then begin // vamos exibir o texto do elemento conteudo := elem.getAttribute('innerHTML', 0); ShowMessage('O conteúdo do elemento é: ' + conteudo); end else begin ShowMessage('O elemento HTML com o id informado não foi encontrado.'); end; end else begin ShowMessage('O documento HTML não pôde ser obtido.'); end; end; Note que neste código eu testei se a propriedade Document da classe TWebBrowser é nil antes de prosseguir com o código. O mesmo foi feito com o elemento IHTMLElement. Isso evita os erros de violação de acesso caso a página não tenha sido carregada ou o elemento HTML não tenha sido encontrado. Para fins de compatibilidade, esta dica foi escrita usando Delphi 2009. |
Link para compartilhar na Internet ou com seus amigos: |
Delphi ::: Classes, Controles e Componentes ::: TRegistry (Registro do Windows) |
Como criar chaves no registro do Windows usando o método CreateKey() da classe TRegistry do DelphiQuantidade de visualizações: 14947 vezes |
Em algumas situações gostariámos de criar novas chaves e/ou sub-chaves no registro do Windows. Isso pode ser feito por meio do método CreateKey() da classe TRegistry. Este método recebe uma string especificando o nome da chave a ser criada e retorna um valor Boolean indicando se a chave foi criada com sucesso. Veja um trecho de código no qual criamos uma chave chamada "Arquivo de Códigos" dentro da chave raiz HKEY_CURRENT_USER: ---------------------------------------------------------------------- Se precisar de ajuda com o código abaixo, pode me chamar no WhatsApp +55 (62) 98553-6711 (Osmar) ---------------------------------------------------------------------- procedure TForm3.Button4Click(Sender: TObject); var chave: String; reg: TRegistry; begin // uses Registry // vamos definir o nome da chave a ser criada chave := 'Arquivo de Códigos'; // vamos criar uma instância da classe TRegistry reg := TRegistry.Create; // a chave raiz padrão é HKEY_CURRENT_USER mas, por via das dúvidas // vamos reafirmar isso reg.RootKey := HKEY_CURRENT_USER; // vamos criar a chave informada if reg.CreateKey(chave) then begin ShowMessage('A chave foi criada com sucesso.'); end else begin ShowMessage('Não foi possível criar a chave informada.'); end; // vamos liberar o registro reg.Free; end; Alguns aplicativos, por exemplo os da Adobe, Macromedia, Microsoft, etc, guardar informações relacionadas aos seus aplicativos na sub-chave SOFTWARE dentro da chave HKEY_LOCAL_MACHINE. Assim, vamos criar uma chave para um aplicativo fictício. Vamos chamar nossa chave de "Simulador Nota Fiscal Eletrônica 1.0". Note que, se esta chave já existir no registro nada acontecerá: ---------------------------------------------------------------------- Se precisar de ajuda com o código abaixo, pode me chamar no WhatsApp +55 (62) 98553-6711 (Osmar) ---------------------------------------------------------------------- procedure TForm3.Button4Click(Sender: TObject); var chave: String; reg: TRegistry; begin // uses Registry // vamos definir o nome da chave a ser criada chave := 'Simulador Nota Fiscal Eletrônica 1.0'; // vamos criar uma instância da classe TRegistry reg := TRegistry.Create; // vamos criar uma chave dentro de HKEY_LOCAL_MACHINE\SOFTWARE reg.RootKey := HKEY_LOCAL_MACHINE; // vamos criar a chave informada if reg.CreateKey('\SOFTWARE\' + chave) then begin ShowMessage('A chave foi criada com sucesso.'); end else begin ShowMessage('Não foi possível criar a chave informada.'); end; // vamos liberar o registro reg.Free; end; Execute este código e logo em seguida abra uma janela de terminal e digite regedit.exe. vá na seção HKEY_LOCAL_MACHINE\SOFTWARE e veja se a chave "Simulador Nota Fiscal Eletrônica 1.0" foi realmente criada. Para fins de compatibilidade, esta dica foi escrita usando Delphi 2009. |
Delphi ::: Dicas & Truques ::: Recursão (Recursividade) |
Como calcular fatorial em Delphi usando recursividadeQuantidade de visualizações: 12984 vezes |
O fatorial de um determinado número, representado por n! equivale a multiplicar este número por seus antecessores. Assim, o fatorial de 4 (4!) pode ser calculado da seguinte forma: 4 x 3 x 2 x 1 = 24 Sempre que falamos de recursão, o cálculo de fatorial nos auxilia na exemplicação por ser relativamente fácil de se entender todas as etapas do processo. O código abaixo mostra uma função recursiva em Delphi que calcula o fatorial de qualquer número. Tenha cuidado. Calcular o fatorial de um número maior que 10 pode tornar sua máquina extremamente lenta, além de, muitas vezes, não retornar os resultados esperados. ---------------------------------------------------------------------- Se precisar de ajuda com o código abaixo, pode me chamar no WhatsApp +55 (62) 98553-6711 (Osmar) ---------------------------------------------------------------------- // função recursiva para calcular o fatorial // de um determinado número function fatorial(n: Integer): Integer; begin if n = 0 then Result := 1 else Result := n * fatorial(n - 1); end; // vamos chamar a função recursiva // a partir do Click de um botão procedure TForm1.Button1Click(Sender: TObject); var res: Integer; begin // vamos calcular o fatorial de 5 res := fatorial(5); // vamos mostrar o resultado ShowMessage('O fatorial de 5 é: ' + IntToStr(res)); end; Para fins de compatibilidade, esta dica foi escrita usando Delphi 2009. |
Delphi ::: Data Controls (Controles de Dados) ::: TDBGrid |
Como usar objetos da classe TColumn para representar as colunas individuais de um controle TDBGrid do DelphiQuantidade de visualizações: 9855 vezes |
Objetos da classe TColumn representam as colunas individuais em um data grid (TDBGrid). Cada controle DBGrid usa um objeto da classe TDBGridColumns para manter uma coleção de objetos TColumn, e, cada objeto TColumn representa as características visuais e ligação de dados de uma determinada coluna na grid. Um objeto TDBGridColumns é representado no controle TDBGrid pela propriedade Columns. Veja a posição da classe TColumn na hierarquia de classes do Delphi: System.TObject Classes.TPersistent Classes.TCollectionItem DBGrids.TColumn Veja um trecho de código no qual obtemos um objeto da classe TColumn representando a primeira coluna de um DBGrid e em seguida exibimos seu título: ---------------------------------------------------------------------- Se precisar de ajuda com o código abaixo, pode me chamar no WhatsApp +55 (62) 98553-6711 (Osmar) ---------------------------------------------------------------------- procedure TForm3.Button3Click(Sender: TObject); var coluna: TColumn; begin // vamos obter a primeira coluna do DBGrid coluna := DBGrid1.Columns[0]; // vamos mostrar o título da coluna obtida ShowMessage('O título da coluna é: ' + coluna.Title.Caption); end; Ao executar este código teremos uma mensagem parecida com: "O título da coluna é: Autor". Esta dica foi escrita e testada no Delphi 2009. |
Vamos testar seus conhecimentos em Ética e Legislação Profissional |
Responsabilidade civil no código de defesa do consumidor A Constituição Federal brasileira confere à defesa do consumidor garantia de: A) ordem social. B) direitos e garantias fundamentais. C) direitos políticos. D) princípio fundamental. E) direito de nacionalidade. Verificar Resposta Estudar Cards Todas as Questões |
Vamos testar seus conhecimentos em Engenharia Civil - Estruturas de Aço e Madeira |
Evolução das estruturas A alvenaria é das mais antigas técnicas de construção. É também das mais ricas e variadas. Assinale abaixo a opção que não corresponde às "unidades de alvenaria", ou seja, às peças que não constituem a formação da alvenaria: Selecione a resposta: A) Tijolos cerâmicos maciços. B) Blocos de pedra. C) Blocos de concreto. D) Tijolos cerâmicos vazados. E) Peças de madeira. Verificar Resposta Estudar Cards Todas as Questões |
Vamos testar seus conhecimentos em JavaScript |
Qual o resultado da execução do seguinte código JavaScript?document.write(0.1 + 0.2 == 0.3); A) Um erro de execução B) true C) 0.6 D) false Verificar Resposta Estudar Cards Todas as Questões |
Vamos testar seus conhecimentos em JavaScript |
Qual é a sintáxe correta para referenciar um arquivo JavaScript externo chamado "auxiliar.js"? A) <script name="auxiliar.js"> B) <script src="auxiliar.js"> C) <script href="auxiliar.js"> Verificar Resposta Estudar Cards Todas as Questões |
Vamos testar seus conhecimentos em Engenharia Civil - Construção Civil |
Processos e técnicas construtivas de instalações elétricas e hidráulicas As instalações elétricas são compostas por dispositivos cuja função é distribuir a energia elétrica, proveniente da rede de abastecimento, entre os pontos de utilização. Analise as afirmativas a seguir, referentes aos dispositivos que compõem as instalações elétricas. I. O quadro de distribuição consiste no dispositivo responsável pela divisão dos circuitos elétricos de uma edificação. II. Os condutores consistem em fios ou cabos de cobre ou alumínio, cuja função é transmitir a corrente elétrica. III. As tomadas de corrente são dispositivos cuja função é gerar corrente elétrica, permitindo a alimentação de equipamentos. IV. Os dispositivos de manobra são aqueles que permitem a interrupção da transmissão da corrente elétrica. Assinale a alternativa que apresenta somente as afirmativas corretas. A) Apenas a afirmativa I está correta. B) Apenas a afirmativa III está correta. C) Apenas as afirmativas II e III estão corretas. D) Apenas as afirmativas I, II e IV estão corretas. E) As afirmativas I, II, III e IV estão corretas. 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 |
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 |