Delphi ::: Data Controls (Controles de Dados) ::: TDBGrid |
Como obter o índice da linha da célula atual em um TDBGrid do DelphiQuantidade de visualizações: 10079 vezes |
|
Como obter o índice da linha da célula atual (com foco) em um TDBGrid do Delphi Em algumas situações precisamos obter o índice da linha 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 Row 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 linha da célula atual: ----------------------------------------------------------------------
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
indice: Integer;
begin
// vamos obter o índice da linha da célula atual
indice := TStringGrid(DBGrid1).Row;
ShowMessage('O índice da linha 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 linha da célula atual é: 4". Lembre-se de que o índice da linha fixa do DBGrid é 0. Esta dica foi escrita e testada no Delphi 2009. |
Delphi ::: Dicas & Truques ::: Matemática e Estatística |
Como obter o resultado de uma divisão de inteiros, incluindo o resto, usando a procedure DivMod() do DelphiQuantidade de visualizações: 16567 vezes |
|
Em algumas situações precisamos obter o resultado de uma divisão de inteiros e gostaríamos de obter também o resto da divisão, ou seja, se dividirmos 10 por 3 o resultado será 3 (3 x 3 = 9) e o resto será 1. A procedure DivMod(), presente na unit Math nos permite fazer isso. Ela requer quatro argumentos: ---------------------------------------------------------------------- Se precisar de ajuda com o código abaixo, pode me chamar no WhatsApp +55 (62) 98553-6711 (Osmar) ---------------------------------------------------------------------- procedure DivMod(Dividend: Integer; Divisor: Word; var Result, Remainder: Word); Veja que fornecemos o dividendo e o divisor como Integer e Word mas, as variáveis que receberão o resultado e o resto da divisão deverão ser passadas por referência. Veja um exemplo: ----------------------------------------------------------------------
Se precisar de ajuda com o código abaixo, pode me chamar
no WhatsApp +55 (62) 98553-6711 (Osmar)
----------------------------------------------------------------------
procedure TForm2.Button1Click(Sender: TObject);
var
dividendo, divisor: Integer;
resultado, resto: Word;
begin
// uses Math
// vamos dividir 10 por 3
dividendo := 10;
divisor := 3;
DivMod(dividendo, divisor, resultado, resto);
// vamos exibir o resultado
ShowMessage('Resultado da divisão: ' + IntToStr(resultado));
// vamos exibir o resto
ShowMessage('Resto da divisão: ' + IntToStr(resto));
end;
Note que DivMod() realiza seu trabalho e guarda os resultados nas variáveis resultado e resto, que, como vimos na assinatura da procedure, devem ser fornecidas por referência. Para fins de compatibilidade, esta dica foi escrita usando Delphi 2009. |
Java ::: Fundamentos da Linguagem ::: Modificadores |
Como usar o modificador synchronized da linguagem JavaQuantidade de visualizações: 24215 vezes |
|
O modificador synchronized tem seu uso e importância destacados quando várias threads (fluxos de execução) estão sendo executadas em um programa. Tais threads podem tentar acessar métodos de uma ou mais classes ao mesmo tempo. No entanto, pode ser necessário planejarmos o sistema de forma que determinados métodos possam ser acessados por somente uma thread de cada vez, talvez para garantir a integridade de valores das diversas variáveis envolvidas no processo. É aqui que o modificador synchronized é usado. Ao marcarmos um método como synchronized, o sistema de execução Java garantirá que apenas uma thread de cada vez acesse tal método. Se outras threads tentarem fazer o mesmo, elas serão colocadas em espera até que a thread atual finalize seu trabalho e libere o método. Um exemplo de aplicação do modificador synchronized pode ser visto em uma classe Pilha. Como sabemos, esta estrutura de dados possui métodos para inserir um novo item no topo da pilha e para removê-lo do topo (lembra? LIFO: Last In First Out). Ora, para evitar que uma thread remova o elemento do topo ao mesmo tempo em que outra está tentando inserir, tais métodos devem ser marcados como synchronized. Isso evitará que os dados sejam corrompidos. |
Java ::: Desafios e Lista de Exercícios Resolvidos ::: Métodos, Procedimentos e Funções |
Métodos - Exercícios Resolvidos de Java - Ex. 4 - Um método estático que recebe dois números inteiros e retorna o maior delesQuantidade de visualizações: 4793 vezes |
|
Pergunta/Tarefa: Escreva um método Java que recebe dois números inteiros e retorna o maior deles. Este método deverá ter a seguinte assinatura:
public static int maior(int a, int b){
// sua implementação aqui
}
Sua saída deverá ser parecida com: ![]() Resposta/Solução: Veja a resolução comentada deste exercício usando Java console: ----------------------------------------------------------------------
Se precisar de ajuda com o código abaixo, pode me chamar
no WhatsApp +55 (62) 98553-6711 (Osmar)
----------------------------------------------------------------------
package estudos;
import java.util.Scanner;
public class Estudos {
public static void main(String[] args) {
Scanner entrada = new Scanner(System.in);
// vamos solicitar que o usuário informe dois numeros inteiros
System.out.print("Informe o primeiro número: ");
int num1 = Integer.parseInt(entrada.nextLine());
System.out.print("Informe o segundo número: ");
int num2 = Integer.parseInt(entrada.nextLine());
// obtém o número maior
int numeroMaior = maior(num1, num2);
System.out.println("O numero maior é: " + numeroMaior);
System.out.println("\n");
}
// um método estático que recebe dois números inteiros e retorna o maior deles
public static int maior(int a, int b){
if(a > b){
return a;
}
else{
return b;
}
}
}
|
Nossas 20 dicas & truques de programação mais populares |
|
Android Java - Como detectar um clique em um botão do Android usando o evento onClick no XML de layout Java - Como transformar um StringBuffer em uma String usando o método toString() da classe StringBuffer |
Você também poderá gostar das dicas e truques de programação abaixo |
|
Python - Como excluir e retornar um item da lista Python baseado em seu índice usando a função pop() MySQL - Como usar joins no MySQL |
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 |






