Você está aqui: Delphi ::: VCL - Visual Component Library ::: TWebBrowser

Acessando um formulário HTML em um TWebBrowser por meio de seu índice

Quantidade de visualizações: 14267 vezes
Em algumas situações gostaríamos de acessar um determinado formulário em uma página HTML carregada em um controle TWebBrowser e retorná-lo como um objeto da interface IHTMLFormElement. Nesta dica eu mostro como isso pode ser feito.

O primeiro passo é criar o documento HTML a ser usado no exemplo. Veja:

----------------------------------------------------------------------
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>

<form name="form1" action="gravar.php" method="post">
  Usuário: <input type="text" name="usuario">
  <input type="submit" value="Enviar">
</form>

</body>
</html>

Note que este documento HTML contém um formulário com uma caixa de texto e um botão Enviar. Nossa intenção é acessar este formulário a partir de código Delphi e obter suas propriedades, a saber, name, action e method. Eis 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: IHTMLDocument2;
  form: IHTMLFormElement;
begin
  // uses MSHTML_TLB

  // vamos obter o documento representando a página web
  doc := WebBrowser1.Document as IHTMLDocument2;

  // o documento foi obtido com sucesso
  if doc <> nil then
    begin
      // vamos agora obter o formulário...queremos o primeiro formulário
      if doc.forms.length = 0 then
        begin
          ShowMessage('O documento HTML não contém formulários');
        end
      else
        begin
          form := doc.forms.item(0, '') as IHTMLFormElement;
          // vamos exibir algumas propriedades do formulário
          ShowMessage('Propriedade name: ' + form.name);
          ShowMessage('Propriedade action: ' + form.action);
          ShowMessage('Propriedade method: ' + form.method);
        end;
    end
  else
    begin
      ShowMessage('O documento HTML não pôde ser obtido.');
    end;
end;

Veja que, diferente de outros exemplos, aqui tivemos que usar a interface IHTMLDocument2 em vez de IHTMLDocument3 ou IHTMLDocument4. Isso acontece porque a interface IHTMLDocument2 é a única que permite acesso à propriedade forms do documento HTML.

Para fins de compatibilidade, esta dica foi escrita usando Delphi 2009.

Link para compartilhar na Internet ou com seus amigos:

Java ::: Projetos Java Completos - Códigos Fonte Completos Java ::: Jogos (Games)

Como criar um Jogo da Velha em Java - Jogo completo com código fonte comentado - Versão console

Quantidade de visualizações: 5393 vezes
Faça o download do código-fonte Jogo da Velha em Java

Sobre o Jogo da Velha em Java

O Jogo da Velha, também conhecido como Tic-Tac-Toe, é um dos joguinhos mais fáceis de se programar em Java. Além disso, ele possibilita uma boa oportunidade de se entender matrizes, a estrutura switch, os laços for e while, assim como a estrutura básica presente em praticamente todos os games.

O Jogo da Velha em Java Console

Neste código fonte eu demonstro como o Jogo da Velha pode ser criado em Java usando o modo console, ou seja, em formato texto. Penso que o entendimento da lógica é mais fácil em modo console. Uma vez que você tenha aprendido todos os passos envolvidos, você poderá reproduzí-lo em modo gráfico sem muitas dificuldades.

A versão do jogo apresentado nesta dica é um jogador humano, ou seja, você, contra o computador. Não coloquei inteligência artificial nem aprendizado de máquina nos movimentos do computador. Usei apenas jogadas sorteadas. Fica como desafio você implementar jogadas inteligentes por parte do computador como forma de deixar o jogo ainda mais interessante. Por enquanto o objetivo é só o aprendizado mesmo.

Antes de continuarmos, veja uma imagem demonstrando o jogo:



Me mostra um pouco do código

Para mostrar a simplicidade do código, veja o método que registra a jogada do jogador humano:

// este método registra a jogada do jogador humano
private static void jogadaHumano(char[][] tabuleiro) {
  int jogada; // para registrar a jogada do jogador humano
	
  // repete até que a jogada seja válida
  while (true) {
    // lê a jogada do humano
    System.out.print("\nSua jogada (1 a 9): ");
    jogada = Integer.parseInt(entrada.nextLine());
    // este movimento é válido?
    if (movimentoValido(tabuleiro, jogada)){
      break;
    } 
    else{ // não é válido
      System.out.println("O número " + jogada + " não é um movimento válido.");
    }  
  }
 
  // vamos registrar esse movimento 
  registrarMovimento(tabuleiro, jogada, 'X');
}
Como posso obter este código fonte?

Os links para você baixar todas as versões deste projeto estão abaixo:

1) JOGOVELHAJC - Jogo da Velha em Java Console - NetBeans IDE - Faça o Download.

Não se esqueça: Uma boa forma de estudar o código é fazendo pequenas alterações e rodando para ver os resultados. Outra opção é começar um projeto Java do zero e ir adicionando trechos do código fonte para melhor entendimento de suas partes.


PHP ::: Dicas & Truques ::: Strings e Caracteres

Como remover espaços no início e no fim de uma string PHP usando a função trim()

Quantidade de visualizações: 446 vezes
The trim() function removes whitespaces and other predefined characters from both sides of a string.

A função trim() do PHP é muito útil quando precisamos excluir os espaços antes e depois de uma palavra, frase ou texto.

Veja um exemplo de seu uso:

----------------------------------------------------------------------
Se precisar de ajuda com o código abaixo, pode me chamar
no WhatsApp +55 (62) 98553-6711 (Osmar)
----------------------------------------------------------------------

<?php
  // uma frase contendo espaços no início e
  // no final
  $frase = "   PHP? Eu gosto de PHP.    ";
  
  // vamos remover os espaços no início e no fim
  $frase = trim($frase);
  
  // e mostramos o resultado
  echo "A frase é: " . $frase;
?>

Além dos espaços, a função trim() do PHP remove também os seguintes caracteres: "\0" (NULL), "\t" (Tabulação), "\n" (Nova linha), "\x0B" (Tabulação vertical), "\r" (Retorno para nova linha).


PHP ::: Dicas & Truques ::: Strings e Caracteres

Como transformar uma string em letras minúsculas em PHP usando a função strtolower()

Quantidade de visualizações: 10147 vezes
A função strtolower() do PHP pode ser usada quando queremos converter uma palavra, frase ou texto para letras minúsculas.

Veja um exemplo de seu uso:

----------------------------------------------------------------------
Se precisar de ajuda com o código abaixo, pode me chamar
no WhatsApp +55 (62) 98553-6711 (Osmar)
----------------------------------------------------------------------

<?php
  // vamos definir a codificação como iso-8859-1
  ini_set('default_charset', "iso-8859-1");
  
  // vamos criar uma string
  $frase = "PHP? Eu gosto de PHP";
  echo "A frase original é: " . $frase;
  
  // agora vamos converter a frase para letras
  // minúsculas
  $frase_minusculas = strtolower($frase);
  echo "<br>Em letras minúsculas: " . $frase_minusculas;
?>

Ao executarmos este código PHP nós teremos o seguinte resultado:

A frase original é: PHP? Eu gosto de PHP
Em letras minúsculas: php? eu gosto de php

Ao executar este código no PHP 8, Windows 10 e codificação do arquivo em ANSI, o resultado da função strtolower() é o esperado, mas somente sem usar acentos e caracteres especiais. Veja:

----------------------------------------------------------------------
Se precisar de ajuda com o código abaixo, pode me chamar
no WhatsApp +55 (62) 98553-6711 (Osmar)
----------------------------------------------------------------------

<?php
  // vamos definir a codificação como iso-8859-1
  ini_set('default_charset', "iso-8859-1");
  
  // vamos criar uma string
  $frase = "JAVA? NÃO! É DE PHP QUE EU GOSTO";
  echo "A frase original é: " . $frase;
  
  // agora vamos converter a frase para letras
  // minúsculas
  $frase_minusculas = strtolower($frase);
  echo "<br>Em letras minúsculas: " . $frase_minusculas;
?>

Ao executarmos o código novamente nós teremos a seguinte saída:

A frase original é: JAVA? NÃO! É DE PHP QUE EU GOSTO
Em letras minúsculas: java? nÃo! É de php que eu gosto

Note que as letras acentuadas não foram convertidas para letras minúsculas. Isso aconteceu porque os caracteres acentuados são tratados como caracteres de múltiplos bytes, ou seja, multi-byte chars. A saída, nesse caso, e no PHP 8 (e acredito mais recentes), é usar a função mb_strtolower(). Veja:

----------------------------------------------------------------------
Se precisar de ajuda com o código abaixo, pode me chamar
no WhatsApp +55 (62) 98553-6711 (Osmar)
----------------------------------------------------------------------

<?php
  // vamos definir a codificação como iso-8859-1
  ini_set('default_charset', "iso-8859-1");
  
  // vamos criar uma string
  $frase = "JAVA? NÃO! É DE PHP QUE EU GOSTO";
  echo "A frase original é: " . $frase;
  
  // agora vamos converter a frase para letras
  // minúsculas
  $frase_minusculas = mb_strtolower($frase);
  echo "<br>Em letras minúsculas: " . $frase_minusculas;
?>

Execute o código novamente e verá que o resultado agora está correto:

A frase original é: JAVA? NÃO! É DE PHP QUE EU GOSTO
Em letras minúsculas: java? não! é de php que eu gosto

Agora você já sabe o primeiro passo para resolver problemas de acentuação no PHP. Bons estudos.


JavaScript ::: Dicas & Truques ::: Strings e Caracteres

Como converter uma string em um valor inteiro em JavaScript usando a função parseInt()

Quantidade de visualizações: 26383 vezes
Nesta dica mostrarei como podemos usar a função parseInt() do JavaScript para transformar uma string em um valor inteiro. Esse procedimento é necessário quando estamos efetuando cálculos com valores vindos de campos de formulários.

Veja a página HTML completa para o exemplo:

----------------------------------------------------------------------
Se precisar de ajuda com o código abaixo, pode me chamar
no WhatsApp +55 (62) 98553-6711 (Osmar)
----------------------------------------------------------------------

<!doctype html>
<html>
<head>
  <title>Strings em JavaScript</title>
</head>
<body>

<script type="text/javascript">
  var string1 = "110";
  var string2 = "Arquivo";
  var string3 = "65,54";
 
  document.write(parseInt(string1) + "<br>");
  document.write(parseInt(string2) + "<br>");
  document.write(parseInt(string3));  
</script>
  
</body>
</html>

Ao executar este código JavaScript nós teremos o seguinte resultado:

110
NaN
65


C++ ::: Dicas & Truques ::: Arquivos e Diretórios

Como excluir um diretório em C++ usando a função rmdir()

Quantidade de visualizações: 8241 vezes
Em algumas situações nossos códigos C++ precisam excluir diretórios. Isso pode ser feito com o auxílio da função _rmdir() ou rmdir(), disponível no header direct.h (trazido da linguagem C). Veja a assinatura desta função:

int _rmdir(const char *pathname);
Se o diretório for excluído com sucesso a função retornará o valor 0. O retorno será -1 se um erro ocorrer. Neste caso a variável global errno será definido como um dos seguintes valores:

a) ENOTEMPTY - Directory not empty - O diretório não está vazio e portanto não pode ser excluído;

b) ENOENT - No such file or directory - O caminho do diretório é inválido;

c) EACCESS - Acesso negado - Algum outro programa está usando este diretório e mantém controle sobre o mesmo.

Veja um trecho de código C++ no qual excluímos um diretório:

----------------------------------------------------------------------
Se precisar de ajuda com o código abaixo, pode me chamar
no WhatsApp +55 (62) 98553-6711 (Osmar)
----------------------------------------------------------------------

#include <iostream>
#include <direct.h>

using namespace std;

int main(int argc, char *argv[]){
  // vamos excluir este diretório
  char diretorio[] = "C:\\Dev-Cpp\\estudos";

  // vamos testar se houve erro na exclusão do diretório
  if(rmdir(diretorio) == -1){
    cout << "Erro: " << strerror(errno) << endl;
  }
  else{
    cout << "Diretório excluído com sucesso" << endl;
  }

  system("PAUSE"); // pausa o programa
  return EXIT_SUCCESS;
}

É possível usar a versão Unicode de _rmdir(), ou rmdir(). O método _wrmdir(), também presente em direct.h é útil quando precisamos internacionalizar nossas aplicações. Veja o exemplo:

----------------------------------------------------------------------
Se precisar de ajuda com o código abaixo, pode me chamar
no WhatsApp +55 (62) 98553-6711 (Osmar)
----------------------------------------------------------------------

#include <iostream>
#include <direct.h>

using namespace std;

int main(int argc, char *argv[]){
  // vamos excluir este diretório
  wchar_t diretorio[] = L"C:\\Dev-Cpp\\estudos";

  // vamos testar se houve erro na exclusão do diretório
  if(_wrmdir(diretorio) == -1){
    cout << "Erro: " << strerror(errno) << endl;
  }
  else{
    cout << "Diretório excluído com sucesso" << endl;
  }

  system("PAUSE"); // pausa o programa
  return EXIT_SUCCESS;
}



Desafios, Exercícios e Algoritmos Resolvidos de C++

Veja mais Dicas e truques de C++

Dicas e truques de outras linguagens

Códigos Fonte

Programa de Gestão Financeira Controle de Contas a Pagar e a Receber com Cadastro de Clientes e FornecedoresSoftware 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 funcionalidadesControle 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
2º lugar: Python
3º lugar: C#
4º lugar: PHP
5º lugar: Delphi
6º lugar: C
7º lugar: JavaScript
8º lugar: C++
9º lugar: VB.NET
10º lugar: Ruby



© 2024 Arquivo de Códigos - Todos os direitos reservados
Neste momento há 65 usuários muito felizes estudando em nosso site.