Você está aqui: Java ::: Dicas & Truques ::: Mouse e Teclado |
|
Obtendo o código Unicode da tecla pressionada usando o método getKeyCodeQuantidade de visualizações: 10275 vezes |
|
public void keyPressed(KeyEvent e){ textArea.setText( String.format("Código da Tecla: %d", e.getKeyCode())); } |
|
Link para compartilhar na Internet ou com seus amigos: | |
C ::: Dicas & Truques ::: Ponteiros, Referências e Memória |
Como alocar memória dinâmica usando a função calloc() da linguagem CQuantidade de visualizações: 18424 vezes |
A função calloc() é bem parecida com a função malloc() e também é usada em C para alocarmos um bloco de memória. A diferença é que calloc() recebe a quantidade de elementos e o número de bytes do elemento e retorna um ponteiro do tipo void (genérico) para o início do bloco de memória obtido. Veja sua assinatura:void *calloc(size_t n, size_t size); Se a memória não puder se alocada, um ponteiro nulo (NULL) será retornado. É importante se lembrar de alguns conceitos antes de usar esta função. Suponhamos que você queira alocar memória para um único inteiro. Você poderia ter algo assim: // aloca memória para um int ponteiro = calloc(1, 4); Embora este código esteja correto, não é um boa idéia assumir que um inteiro terá sempre 4 bytes. Desta forma, é melhor usar o operador sizeof() para obter a quantidade de bytes em um inteiro em uma determinada arquitetura. Veja: // aloca memória para um int ponteiro = calloc(1, sizeof(int)); Eis o código completo para um aplicativo C que mostra como alocar memória para um inteiro e depois atribuir e obter o valor armazenado no bloco de memória alocado: #include <stdio.h> #include <stdlib.h> int main(int argc, char *argv[]) { // ponteiro para uma variável do tipo inteiro int *ponteiro; // aloca memória para um int ponteiro = calloc(1, sizeof(int)); // testa se a memória foi alocada com sucesso if(ponteiro) printf("Memoria alocada com sucesso.\n"); else printf("Nao foi possivel alocar a memoria.\n"); // atribui valor à memória alocada *ponteiro = 45; // obtém o valor atribuído printf("Valor: %d\n\n", *ponteiro); // libera a memória free(ponteiro); system("PAUSE"); return 0; } Uma aplicação interessante da função calloc() é quando precisamos construir uma matriz dinâmica. Veja como isso é feito no código abaixo: #include <stdio.h> #include <stdlib.h> int main(int argc, char *argv[]) { int i; // quantidade de elementos na matriz int quant = 10; // ponteiro para o bloco de memória int *ponteiro; // aloca memória para uma matriz de inteiros ponteiro = calloc(quant, sizeof(int)); // testa se a memória foi alocada com sucesso if(ponteiro) printf("Memoria alocada com sucesso.\n"); else{ printf("Nao foi possivel alocar a memoria.\n"); exit(1); } // atribui valores aos elementos do array for(i = 0; i < quant; i++){ ponteiro[i] = i * 2; } // exibe os valores for(i = 0; i < quant; i++){ printf("%d ", ponteiro[i]); } // libera a memória free(ponteiro); printf("\n\n"); system("PAUSE"); return 0; } |
Ruby ::: Dicas & Truques ::: Strings e Caracteres |
Como testar se uma string começa com uma determinada substring em Ruby usando uma função personalizadaQuantidade de visualizações: 7235 vezes |
O Ruby, até a versão 1.8.6, não dispõe de um método para verificar se uma string começa com uma determinada substring. Assim, veja abaixo como escrever uma função starts_with(). Esta função recebe a string e a substring e retorna true se a string começar com a substring. Eis a listagem completa: # método auxiliar que permite verificar se # uma string começa com uma substring def starts_with(string, substring) if string.index(substring) == 0 return true else return false end end # declara e inicializa uma variável string frase = "Gosto muito de Ruby" # vamos verificar a string começa com "Gosto" if starts_with(frase, "Gosto") puts "A string começa com \"Gosto\"" else puts "A string NÃO começa com \"Gosto\"" end Ao executar este código Ruby nós teremos o seguinte resultado: A string começa com "Gosto" |
C ::: Dicas & Truques ::: Strings e Caracteres |
Como verificar a existência de qualquer um dos caracteres de um substring em uma string em C usando a função strpbrk()Quantidade de visualizações: 10182 vezes |
Muitas vezes precisamos verificar se qualquer um de um conjunto de caracteres está contido em uma string. Para isso nós podemos usar a função strpbrk(). Esta função recebe duas strings e retorna um ponteiro para a primeira ocorrência de qualquer um dos caracteres presentes na segunda string e também presentes na primeira string. Veja um exemplo no qual verificamos se uma string contém qualquer um dos digitos de 0 a 9:#include <stdio.h> #include <stdlib.h> int main(int argc, char *argv[]) { char texto[] = "Gosto muito de C e C++"; char numeros[] = "1234567890"; char *pos_atual = strpbrk(texto, numeros); if(pos_atual != NULL){ puts("A string contem digitos"); } else{ puts("A string NAO contem digitos"); } system("pause"); return 0; } |
React ::: Elementos de Formulários HTML ::: input type text Element/Object |
Como obter o conteúdo de uma caixa de texto em React usando a função useRef() para acessar os elementos HTMLQuantidade de visualizações: 422 vezes |
Nesta dica mostrarei como podemos usar useRef() para criar uma referência para um elemento HTML <input type="text">. Em seguida nós vamos usar a propriedade current.value para retornar o conteúdo da caixa de texto e atualizar o estado nomeAtualizado, criado a partir da função useState(). Este código, embora simples, é o ponto de partida para aplicações React bem interessantes, pois não fazemos uso do evento onChange das caixas de texto para atualizar o estado da aplicação. Isso, como é fácil de se perceber, economiza os recursos gastos em processamento desnecessário. Veja o código para App.js: // vamos importar o useState e useRef import {useState, useRef} from 'react'; // função App() que será exportada export default function App() { // vamos criar uma referência para a caixa // de texto. Veja que esta referência será // usada na declaração do elemento input type text const txtNome = useRef(null); // vamos usar um estado para guardarmos o conteúdo // da caixa de texto const [nomeAtualizado, setNomeAtualizado] = useState(''); // aqui nós gerenciamos o evento onClick do botão const tratarEventoClick = () => { // vamos obter o conteúdo da caixa de texto // usando "txtNome.current.value" setNomeAtualizado(txtNome.current.value); }; // e retornamos para renderização return ( <div> <input type="text" id="nome" name="nome" ref={txtNome}/> <h2>Nome Atualizado: {nomeAtualizado}</h2> <button onClick={tratarEventoClick}> Atualizar Estado</button> </div> ); } E aqui está o código para o index.js: // vamos fazer os imports necessários import React from 'react'; import ReactDOM from 'react-dom/client'; import './index.css'; import App from './App'; // definimos a raiz da aplicação React const root = ReactDOM.createRoot( document.getElementById('root')); // e renderizamos a aplicação no navegador root.render( <React.StrictMode> <App /> </React.StrictMode> ); Execute a aplicação React, digite um nome na caixa de texto e clique o botão Atualizar Estado. Somente neste momento é que o conteúdo da caixa de texto será transferido para o estado nomeAtualizado e refletido no elemento <h2>. |
Delphi ::: Data Controls (Controles de Dados) ::: TDBGrid |
Como retornar a quantidade de colunas do TDBGrid do Delphi em tempo de execuçãoQuantidade de visualizações: 9099 vezes |
Em algumas situações precisamos obter a quantidade de colunas em um controle TDBGrid em tempo de execução. Isso pode ser feito por meio da propriedade Count da classe TDBGridColumns. Um controle TDBGrid possui uma referência a um objeto desta classe por meio de sua propriedade Columns. Veja um trecho de código no qual clicamos em um botão e exibimos a quantidade de colunas em um DBGrid chamado "DBGrid1": procedure TForm3.Button3Click(Sender: TObject); var colunas: Integer; begin // vamos obter a quantidade de colunas no DBGrid colunas := DBGrid1.Columns.Count; ShowMessage('O DBGrid possui ' + IntToStr(colunas) + ' colunas'); end; Ao executar o código e clicar no botão você verá uma mensagem parecida com: "O DBGrid possui 10 colunas". Esta dica foi escrita e testada no Delphi 2009. |
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 |