Delphi ::: Data Controls (Controles de Dados) ::: TDBGrid |
Como retornar o índice da coluna da célula atual em um TDBGrid do DelphiQuantidade de visualizações: 10606 vezes |
|
Em algumas situações precisamos obter o índice da coluna da célula atual, ou seja, a célula que detém o foco no momento em um TDBGrid. Isso pode ser feito por meio da propriedade Col da classe TCustomGrid (e publicada na classe TStringGrid). Como esta propriedade não está publicada na classe TDBGrid (Delphi 2009), o que fazemos é um casting para a classe TStringGrid. Veja um trecho de código no qual usamos o evento Click de um botão para informar o índice da coluna da célula atual:
procedure TForm3.Button3Click(Sender: TObject);
var
indice: Integer;
begin
// vamos obter o índice da coluna da célula atual
indice := TStringGrid(DBGrid1).Col;
ShowMessage('O índice da coluna da célula atual é: ' +
IntToStr(indice));
end;
Execute o código e clique no botão. Você verá uma mensagem parecida com: "O índice da coluna da célula atual é: 3". Lembre-se de que o índice da coluna fixa do DBGrid é 0. Esta dica foi escrita e testada no Delphi 2009. |
Java ::: Pacote java.awt.event ::: KeyEvent |
Java Swing - Como detectar as teclas Insert ou Delete usando o método getKeyCode() da classe KeyEvent do JavaQuantidade de visualizações: 3544 vezes |
|
Em algumas situações nós precisamos detectar o pressionamento das teclas Insert ou Delete. Para isso podemos usar o método getKeyCode() da classe KeyEvent e testar se o código equivale a uma das constantes KeyEvent.VK_INSERT (Ins) ou KeyEvent.VK_DELETE (Del). Veja um trecho de código no qual testamos se alguma destas duas teclas foi pressionada:
package estudos;
import java.awt.Container;
import java.awt.FlowLayout;
import java.awt.event.KeyEvent;
import java.awt.event.KeyListener;
import javax.swing.JFrame;
import javax.swing.JOptionPane;
public class Janela extends JFrame implements KeyListener{
public Janela(){
super("Eventos do Teclado");
Container c = getContentPane();
FlowLayout layout = new FlowLayout(FlowLayout.LEFT);
c.setLayout(layout);
// vamos adicionar o objeto listener
addKeyListener(this);
setSize(350, 250);
setVisible(true);
}
@Override
public void keyPressed(KeyEvent e){
// a tecla Insert foi pressionada?
if(e.getKeyCode() == KeyEvent.VK_INSERT){
JOptionPane.showMessageDialog(null, "A tecla Insert foi pressionada");
}
// a tecla Enter Delete pressionada?
else if(e.getKeyCode() == KeyEvent.VK_DELETE){
JOptionPane.showMessageDialog(null, "A tecla Delete foi pressionada");
}
else{
JOptionPane.showMessageDialog(null, "Outra tecla foi pressionada");
}
}
@Override
public void keyReleased(KeyEvent e){
// sem implementação
}
@Override
public void keyTyped(KeyEvent e){
// sem implementação
}
public static void main(String args[]){
Janela j = new Janela();
j.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
}
É importante observar que as teclas Insert e Delete podem ser detectadas somente nos eventos keyPressed e keyReleased. |
PHP ::: Dicas & Truques ::: Arquivos e Diretórios |
Como criar diretórios usando PHP - Como usar a função mkdir() da linguagem PHP para criar diretórios - RevisadaQuantidade de visualizações: 25506 vezes |
|
Diretórios podem ser criados com a função mkdir() do PHP. Esta função recebe o nome do diretório a ser criado, um modo que define as permissões de acesso ao diretório e um valor boolean que define se os diretórios fornecidos no primeiro parâmetro serão criados recursivamente. O valor padrão para o modo de acesso é 0777 (todos têm permissão de leitura, escrita e execução) e false para a criação de diretórios recursivamente. Veja um trecho de código no qual criamos um diretório no diretório public_html:
<?
// nome do diretório
$diretorio = "/site/public_html/minhas_imagens";
// cria o diretório com a permissão 0777
if(mkdir($diretorio))
echo "Diretório criado com sucesso.";
else
echo "Não foi possível criar o diretório.";
?>
Antes de criar um diretório, é preciso que você verifique se o diretório dentro do qual o novo diretório será criado apresenta as permissões adequadas, do contrário você terá a seguinte mensagem de erro: Warning: mkdir() [function.mkdir]: Permission denied in /site/public_html/testes.php on line 8 Não foi possível criar o diretório. Veja agora como criar um diretório contendo dois sub-diretórios recursivamente:
<?
// cria o diretório imagens contendo o subdiretório "fotos"
// e este conterá o sub-diretório
// "recentes"
$diretorio = "/site/public_html/imagens/fotos/recentes";
// cria o diretório com a permissão 0777
if(mkdir($diretorio, 0777, true))
echo "Diretório criado com sucesso.";
else
echo "Não foi possível criar o diretório.";
?>
Esta dica foi revisada, atualizada e testada com o PHP 8. |
Java ::: Desafios e Lista de Exercícios Resolvidos ::: Arrays e Matrix (Vetores e Matrizes) |
Exercícios Resolvidos de Java - Escreva um programa Java que leia e apresente um conjunto de números inteiros para uma matriz bidimensional 2 x 4 e apresente o valor e a posiçãoQuantidade de visualizações: 669 vezes |
|
Pergunta/Tarefa: Escreva um programa Java que leia e apresente um conjunto de números inteiros para uma matriz bidimensional 2 x 4 e apresente o valor e a posição do maior número inteiro. Você deverá informar tanto a linha quanto a coluna que o maior valor é encontrado. Uma matriz bidimensional 2 x 4 quer dizer que a matriz possui 2 linhas e 4 colunas. Seu programa Java deverá exibir uma saída parecida com:
Valor da linha 1 e coluna 1: 6
Valor da linha 1 e coluna 2: 9
Valor da linha 1 e coluna 3: 11
Valor da linha 1 e coluna 4: 5
Valor da linha 2 e coluna 1: 20
Valor da linha 2 e coluna 2: 63
Valor da linha 2 e coluna 3: 31
Valor da linha 2 e coluna 4: 7
Valores na matriz
6 9 11 5
20 63 31 7
O maior valor é 63
Ele foi encontrado na linha 2 e coluna 2
Veja a resolução comentada deste exercício usando Java:
package estudos;
import java.util.Scanner;
public class Estudos {
public static void main(String[] args) {
// variaveis usdas na resolução do problema
int matriz[][] = new int[2][4];
int maior_valor, linha, coluna;
// para ler a entrada do usuário
Scanner entrada = new Scanner(System.in);
// vamos ler os valores e colocar na matriz
for(int i = 0; i < matriz.length; i++){ // linhas
for(int j = 0; j < matriz[0].length; j++){ // colunas
System.out.print("Valor da linha " + (i + 1) + " e coluna "
+ (j + 1) + ": ");
matriz[i][j] = Integer.parseInt(entrada.nextLine());
}
System.out.println();
}
// vamos mostrar a matriz da forma que ela foi informada
System.out.println("\nValores na matriz\n");
for(int i = 0; i < matriz.length; i++){ // linhas
for(int j = 0; j < matriz[0].length; j++){ // colunas
System.out.printf("%5d", matriz[i][j]);
}
// passa para a próxima linha da matriz
System.out.println();
}
// agora vamos localizar o maior valor na matriz
linha = 0;
coluna = 0;
maior_valor = matriz[linha][coluna];
for(int i = 0; i < matriz.length; i++){ // linhas
for(int j = 0; j < matriz[0].length; j++){ // colunas
if(matriz[i][j] > maior_valor){
maior_valor = matriz[i][j];
linha = i + 1;
coluna = j + 1;
}
}
}
// vamos mostrar o resultado
System.out.println("\nO maior valor é " + maior_valor);
System.out.println("Ele foi encontrado na linha " + linha +
" e coluna " + coluna);
}
}
|
Nossas 20 dicas & truques de programação mais populares |
Você também poderá gostar das dicas e truques de programação abaixo |
Nossas 20 dicas & truques de programação mais recentes |
Últimos Projetos e Códigos Fonte Liberados Para Apoiadores do Site |
|
Python - Como criar o jogo Pedra, Papel, Tesoura em Python - Jogo completo em Python com código comentado |
Últimos Exercícios Resolvidos |
E-Books em PDF |
||||
|
||||
|
||||
Linguagens Mais Populares |
||||
|
1º lugar: Java |


