![]() |
|
||||
![]() Planilha Web - Planilhas e Calculadoras online para estudantes e profissionais de Engenharia Civil, Engenharia Elétrica e Engenharia Mecânica. |
|||||
Você está aqui: Cards de Engenharia Civil - Fundações |
||
|
||
![]() |
||
Delphi ::: VCL - Visual Component Library ::: TComboBox |
Como usar a propriedade Items da classe TComboBox do DelphiQuantidade de visualizações: 13305 vezes |
A propriedade Items da classe TComboBox representa um objeto da classe TStrings, a classe base para objetos que representam uma lista de strings. Isso quer dizer que podemos acessar a propriedade Items e usar todos os métodos e propriedades da classe TStrings, tais como Add(), Clear(), Delete(), Exchange(), etc. Veja, por exemplo, como usar o método Add() para adicionar um novo item no ComboBox: procedure TForm1.Button1Click(Sender: TObject); begin // vamos adicionar um novo item ao ComboBox comboBox1.Items.Add('Arquivo de Códigos'); end; É possível obter um referência à propriedade Items para manipular os itens do ComboBox indiretamente. Veja: procedure TForm1.Button1Click(Sender: TObject); var lista: TStrings; begin // vamos obter a lista de itens do ComboBox lista := comboBox1.Items; // vamos adicionar um novo item à lista lista.Add('Arquivo de Códigos'); end; Esta técnica é útil quando queremos inserir itens em um TComboBox a partir de uma função ou procedure. Veja: // procedure personalizada para inserir itens em um TComboBox procedure inserirItensComboBox(lista: TStrings); begin lista.Add('Arquivo de Códigos'); lista.Add('Osmar J. Silva'); end; procedure TForm1.Button1Click(Sender: TObject); begin // vamos chamar a procedure que adiciona os itens no ComboBox inserirItensComboBox(ComboBox1.Items); end; Para finalizar, veja como escrever uma função personalizada que constrói e retorna uma lista de strings. Note como usamos o objeto TStrings retornado para preencher o ComboBox: // função personalizada que constrói e retorna uma lista // de strings function obterLista: TStrings; var lista: TStringList; begin lista := TStringList.Create; lista.Add('Arquivo de Códigos'); lista.Add('Osmar J. Silva'); Result := lista; end; procedure TForm1.Button1Click(Sender: TObject); begin // vamos obter a lista de strings ComboBox1.Items := obterLista; end; Observe que, embora o retorno seja TStrings, no corpo da função nós construímos um objeto da classe TStringList. Isso acontece porque TStrings é uma classe abstrata e, portanto, não podemos chamar seu construtor. Como TStringList herda de TStrings e é uma classe concreta, esta é a escolha mais óbvia. Para fins de compatibilidade, esta dica foi escrita usando Delphi 2009. |
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 consoleQuantidade de visualizações: 7473 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'); } 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. |
Java ::: Coleções (Collections) ::: HashSet |
Java Collections - Como usar a classe HashSet em seus programas JavaQuantidade de visualizações: 5308 vezes |
A classe HashSet, no pacote java.util, é uma classe concreta que implementa a interface Set. Na maioria das vezes nós usamos objetos desta classe para armazenar elementos não duplicados (ainda que o elemento null seja permitido). Veja sua posição na hierarquia de classes da plataforma Java:java.lang.Object java.util.AbstractCollection<E> java.util.AbstractSet<E> java.util.HashSet<E> Veja um trecho de código no qual inserimos cinco elementos do tipo String em um HashSet e os listamos em seguida: package estudos; import java.util.HashSet; import java.util.Iterator; import java.util.Set; public class Estudos{ public static void main(String[] args) { // vamos criar uma instância da classe HashSet Set<String> conjunto = new HashSet<>(); // vamos inserir cinco Strings neste conjunto conjunto.add(null); // o elemento null é permitido conjunto.add("Marcos"); conjunto.add("Osmar"); conjunto.add("Osmar"); // elemento duplicado aqui conjunto.add("Fernanda"); // vamos exibir os elementos Iterator iterator = conjunto.iterator(); while(iterator.hasNext()){ System.out.println(iterator.next()); } } } Ao executarmos este código teremos o seguinte resultado: null Fernanda Marcos Abel Osmar |
Delphi ::: Win32 API (Windows API) ::: Processos |
Como usar o Delphi para verificar se um determinado processo do Windows está sendo executadoQuantidade de visualizações: 19893 vezes |
Em algumas situações precisamos verificar se um determinado processo está sendo executado, ou seja, gostaríamos de saber se o executável "programa.exe" está carregado na memória e efetuar alguma tarefa se o teste resultar satisfatório. Nesta dica eu mostro como isso pode ser feito. O primeiro passo é acrescentar a unit TlHelp32 na cláusula uses do seu formulário. Esta unit contém algumas funções, tipos e definições úteis para se trabalhar com processos acessando a API do Windows. Uma vez importada a unit TlHelp32, coloque a função abaixo na seção implementation de seu formulário: // função personalizada que permite verificar se um determinado // processo está sendo executado function isProcessRunning(exeFileName: string): Boolean; var ContinueLoop: BOOL; FSnapshotHandle: THandle; FProcessEntry32: TProcessEntry32; begin FSnapshotHandle := CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS, 0); FProcessEntry32.dwSize := SizeOf(FProcessEntry32); ContinueLoop := Process32First(FSnapshotHandle, FProcessEntry32); Result := False; while Integer(ContinueLoop) <> 0 do begin if ((UpperCase(ExtractFileName(FProcessEntry32.szExeFile)) = UpperCase(ExeFileName)) or (UpperCase(FProcessEntry32.szExeFile) = UpperCase(ExeFileName))) then begin Result := True; end; ContinueLoop := Process32Next(FSnapshotHandle, FProcessEntry32); end; CloseHandle(FSnapshotHandle); end; Agora, para testar a função, coloque o código abaixo no evento Click de um botão: procedure TForm3.Button1Click(Sender: TObject); begin if isProcessRunning('notepad.exe') then ShowMessage('O processo está sendo executado') else ShowMessage('O processo NÃO está sendo executado'); end; Aqui nós estamos testando se o processo "notepad.exe" está sendo executado. Uma melhoria neste código seria listar todos os processos em execução ou listar as cópias em execução de um mesmo processo. |
PHP ::: PHP + MySQL ::: MySQL (mysql) |
Como criar um arquivo de conexão PHP + MySQL e incluí-lo nas demais páginas PHP do seu projeto - Atualizado - Somente PHP 5.6 e anterioresQuantidade de visualizações: 13410 vezes |
É sempre uma boa idéia centralizar todos os parâmetros da conexão PHP + MySQL em apenas um arquivo e usar require() para incluí-lo nas demais páginas da aplicação. Se fizermos isso, não precisaremos efetuar alterações em todas as páginas caso o nome de usuário ou senha da conexão seja alterada. 1 - Comece criando o arquivo PHP que contém os parâmetros de conexão. Uma boa idéia é usar um método que retorne uma conexão com o banco de dados. Veja o código para conexao.php: <? function obter_conexao_php_mysql(){ // Parâmetros de conexão $server = "localhost"; $usuario = "root"; $senha = "osmar1234"; $base = "estudos"; // Tenta efetuar a conexão $conexao = mysql_connect($server, $usuario, $senha); // Testa se a conexão foi efetuada com sucesso if(!$conexao) die('Falha ao conectar: ' . mysql_error()); // conexão efetuada com sucesso. Podemos definir qual // base de dados será usada $db_selected = mysql_select_db($base, $conexao); // testa se a base foi selecionada com sucesso. if(!$db_selected) die("Falha ao selecionar o banco: " . mysql_error()); return $conexao; } function fechar_conexao_php_mysql($conn){ mysql_close($conn); } ?> Agora este arquivo de conexão pode ser importado para as demais página da seguinte forma: <? require("conexao.php"); // obtém a conexão com o banco MySQL $conexao = obter_conexao_php_mysql(); /* Outros códigos de manipulação dos dados no banco de dados vão aqui */ // fecha a conexão fechar_conexao_php_mysql($conexao); ?> Atenção usuários Windows + XAMPP: Se você estiver recebendo a mensagem abaixo, certifique-se de que a linha extension=php_mysql.dll Está descomentada no seu PHP.ini. Fatal error: Uncaught Error: Call to undefined function mysql_connect() in conexao.php:10 Stack trace: #0 conexao.php(32): obter_conexao_php_mysql() #1 {main} thrown in conexao.php on line 10 Se você estiver usando uma versão do PHP superior a 5.6, este erro também ocorrerá e você terá que voltar sua aplicação para um PHP mais anterior ou mudar seus códigos de conexão para PDO ou MySQL Improved Extension (mysqli). |
Desafios, Exercícios e Algoritmos Resolvidos de PHP |
Veja mais Dicas e truques de PHP |
Dicas e truques de outras linguagens |
E-Books em PDF |
||||
|
||||
|
||||
Linguagens Mais Populares |
||||
1º lugar: Java |