![]() |
|||||
![]() Planilha Web - Planilhas e Calculadoras online para estudantes e profissionais de Engenharia Civil, Engenharia Elétrica e Engenharia Mecânica. |
|||||
|
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: 9971 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: 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. |
Java ::: Desafios e Lista de Exercícios Resolvidos ::: Java Básico |
Exercício Resolvido de Java - Um programa Java que lê dois números e mostra a soma, subtração, multiplicação e a divisão dos números lidosQuantidade de visualizações: 1822 vezes |
Pergunta/Tarefa: Faça um programa em Java que receba dois números e no final mostre a soma, subtração, multiplicação e a divisão dos números lidos. Os números deverão ser informados pelo usuário. Sua saída deverá ser parecida com: Informe o primeiro número: 9 Informe o segundo numero: 4 A soma é: 13 A subtração é: 5 A multiplicação é: 36 A divisão é: 2.25 Veja a resolução completa para o exercício em Java, comentada linha a linha: package estudos; import java.util.Scanner; public class Estudos { public static void main(String[] args) { // vamos usar a classe Scanner para efetuar a leitura Scanner entrada = new Scanner(System.in); // vamos ler o primeiro número System.out.print("Informe o primeiro número: "); int n1 = Integer.parseInt(entrada.nextLine()); // vamos ler o segundo número System.out.print("Informe o segundo numero: "); int n2 = Integer.parseInt(entrada.nextLine()); // primeiro vamos somar os dois números int soma = n1 + n2; System.out.println("A soma é: " + soma); // agora vamos subtrair int subtracao = n1 - n2; System.out.println("A subtração é: " + subtracao); // agora a multiplicação int multiplicacao = n1 * n2; System.out.println("A multiplicação é: " + multiplicacao); // e finalmente a divisão. Note o truque para não arredondar // a divisão double divisao = (n1 * 1.0) / n2; System.out.println("A divisão é: " + divisao); } } |
C++ ::: Dicas & Truques ::: Arrays e Matrix (Vetores e Matrizes) |
Como somar os elementos de um vetor de inteiros em C++Quantidade de visualizações: 17173 vezes |
Esta dica mostra a você como usar um laço for do C++ para somar todos os valores dos elementos de um vetor de inteiros. Observe que aqui nós declaramos e inicializamos o vetor (array) em apenas uma instrução:#include <iostream> using namespace std; int main(int argc, char *argv[]) { // declara e inicializa um array de // 5 inteiros int valores[] = {2, 7, 1, 5, 6}; int soma = 0; // soma os valores dos elementos for(int i = 0; i < 5; i++){ soma += valores[i]; // o mesmo que // soma = soma + valores[i]; } // exibe o resultado cout << "Soma: " << soma << endl; system("PAUSE"); // pausa o programa return EXIT_SUCCESS; } Ao executar este código C++ nós teremos o seguinte resultado: Soma: 21 |
VB.NET ::: Desafios e Lista de Exercícios Resolvidos ::: Laços de Repetição |
Exercícios Resolvidos de VB.NET - Um laço for que solicita ao usuário 10 números inteiros e mostra o menor e o maior valor informadoQuantidade de visualizações: 600 vezes |
Pergunta/Tarefa: Escreva um programa VB.NET que usa o laço for para solicitar ao usuário que informe 10 números inteiros. Em seguida mostre o maior e o menor valor lido. Não é permitido usar vetores ou matrizes (arrays). Sua saída deve ser parecida com: Informe o 1º valor: 5 Informe o 2º valor: 1 Informe o 3º valor: 20 Informe o 4º valor: 6 Informe o 5º valor: 3 Informe o 6º valor: 4 Informe o 7º valor: 7 Informe o 8º valor: 12 Informe o 9º valor: 9 Informe o 10º valor: 8 O maior valor lido foi: 20 O menor valor lido foi: 1 Veja a solução comentada deste exercício usando a linguagem VB.NET: Imports System Module Program Sub Main(args As String()) Dim valor As Integer ' guarda o valor lido Dim maior, menor As Integer ' variáveis que guardarão ' o maior e o menor valor lido ' vamos pedir ao usuário que informe 10 valores inteiros For i As Integer = 1 To 10 Step 1 Console.Write("Informe o " & i & "º valor: ") valor = Integer.Parse(Console.ReadLine()) ' esta é a primeira iteração do laço? se for vamos assumir que o ' maior e menor valor lido são o primeiro valor informado If i = 1 Then maior = valor menor = valor Else ' não é a primeira iteração ' vamos verificar se é maior que o valor atual da variável maior If valor > maior Then maior = valor End If ' vamos verificar se é menor que o valor atual da variável menor If valor < menor Then menor = valor End If End If Next ' vamos exibir o maior e o menor valor lido Console.WriteLine(vbCrLf & "O maior valor lido foi: " & maior) Console.WriteLine("O menor valor lido foi: " & menor) Console.WriteLine(vbCrLf & "Pressione qualquer tecla para sair...") ' pausa o programa Console.ReadKey() End Sub End Module |
Python ::: Desafios e Lista de Exercícios Resolvidos ::: Python Básico |
Exercícios Resolvidos de Python - Lendo a idade de um nadador e classificando sua categoria como infantil, juvenil, adolescente, adulto ou sêniorQuantidade de visualizações: 559 vezes |
Pergunta/Tarefa: Escreva um programa Python que solicita a idade de um nadador e classifica sua categoria de acordo com as seguintes regras: a) De 5 a 7 anos - Infantil; b) De 8 a 10 anos - Juvenil; c) De 11 a 15 anos - Adolescente; d) De 16 a 30 anos - Adulto; e) Acima de 30 anos - Sênior. Sua saída deverá ser parecida com: Informe sua idade: 19 Sua categoria é Adulto Veja a resolução comentada deste exercício usando Python: # vamos solicitar a idade do nadador idade = int(input("Informe sua idade: ")) # vamos verificar a categoria do nadador if ((idade >= 5) and (idade <= 7)): print("Sua categoria é Infantil") elif ((idade >= 8) and (idade <= 10)): print("Sua categoria é Juvenil") elif ((idade >= 11) and (idade <= 15)): print("Sua categoria é Adolescente") elif ((idade >= 16) and (idade <= 30)): print("Sua categoria é Adulto") elif (idade > 30): print("Sua categoria é Sênior") else: print("Não pertence a nenhuma categoria.") |
PHP ::: Dicas & Truques ::: Data e Hora |
Datas e horas em PHP - Como subtrair horas de uma data usando a função mktime() da linguagem PHPQuantidade de visualizações: 108 vezes |
Nesta dica veremos como é possível subtrair horas de uma data. Para isso nós usaremos a função mktime() da linguagem PHP, com as horas subtraídas da parte date("H") da nova data e hora. Veja o código PHP completo para o exemplo: <html> <head> <title>Estudando PHP</title> </head> <body> <?php echo "Agora é: " . date("d/m/Y - H:i:s") . "<br>"; $data_anterior = mktime(date("H") - 15, date("i"), date("s"), date("m"), date("d"), date("Y")); echo "15 horas atrás era: " . date("d/m/Y - H:i:s", $data_anterior); ?> </body> </html> Ao executar este código PHP nós teremos o seguinte resultado: Agora é: 21/04/2020 - 22:53:06 15 horas atrás era: 21/04/2020 - 07:53:06 |
JavaScript ::: Dicas & Truques ::: Data e Hora |
Como adicionar horas a um objeto Date em JavaScript - Datas e horas em JavaScriptQuantidade de visualizações: 8782 vezes |
Nesta dica mostrarei como é possível adicionar horas a um objeto Date da linguagem JavaScript. Note que criei uma função personalizada para este propósito, e ela retorna um novo objeto Date com a nova data e hora já construída. Veja o código completo para o exemplo: <html> <head> <title>Estudando JavaScript</title> </head> <body> <script type="text/javascript"> function adicionarHoras(data, horas){ return new Date(data.getTime() + (horas * 60 * 60 * 1000)); } document.write('Agora são: ' + (new Date()).toLocaleString() + '<br>'); document.write('Daqui 5 horas será: ' + adicionarHoras(new Date(), 5).toLocaleString()); </script> </body> </html> Ao executar este código nós teremos o seguinte resultado: Agora são: 24/03/2021 17:21:40 Daqui 5 horas será: 24/03/2021 22:21:40 |
Java ::: Coleções (Collections) ::: ArrayList |
Como testar se a ArrayList do Java está vazia usando a função isEmpty() - Java ArrayList para iniciantesQuantidade de visualizações: 19029 vezes |
Neste exemplo mostrarei como usar o método isEmpty() da classe ArrayList para verificar se a lista está vazia, ou seja, não contem nenhum elemento. Este método retorna true se a ArrayList estiver vazia e false em caso contrário. Veja o exemplo a seguir: package estudos_java; import java.util.ArrayList; public class Estudos{ public static void main(String[] args){ // cria uma ArrayList que conterá strings ArrayList<String> nomes = new ArrayList<>(); // adiciona itens na lista nomes.add("Carlos"); nomes.add("Maria"); nomes.add("Fernanda"); nomes.add("Osmar"); nomes.add("Maria"); // Verifica se a ArrayList está vazia if(nomes.isEmpty()){ System.out.println("A ArrayList está vazia."); } else{ System.out.println("A ArrayList não está vazia."); } System.exit(0); } } Ao executar este código Java nós teremos o seguinte resultado: A ArrayList não está vazia. |
Java ::: Classes e Componentes ::: JTextArea |
Java Swing - Como evitar a barra de rolagem horizontal em um JScrollPaneQuantidade de visualizações: 160 vezes |
Em algumas situações nós precisamos usar um JScrollPane para permitir as barras de rolagem em algum componente visual do Java Swing. Nesta dica eu mostro como isso pode ser feito, e mostro também como a barra de rolagem horizontal pode ser evitada. Este comportamento é o esperado quando estamos trabalhando com caixas de texto do tipo JTextArea. Veja um trecho de código no qual usamos a constante HORIZONTAL_SCROLLBAR_NEVER de ScrollPaneConstants para indicar que a barra horizontal não deverá ser exibida: textArea = new JTextArea(10, 20); JScrollPane scrollPane = new JScrollPane(textArea); // Evitar o aparecimento da barra de rolagem horizontal scrollPane.setHorizontalScrollBarPolicy( ScrollPaneConstants.HORIZONTAL_SCROLLBAR_NEVER); |
C# ::: Threads ::: Thread |
Como usar a classe Thread para criar threads em seus programas C#Quantidade de visualizações: 12092 vezes |
A classe Thread permite criar e controlar uma thread, além de definir sua prioridade e obter seu status. Veja a posição desta classe na hierarquia de classes da plataforma .NET:System.Object System.Runtime.ConstrainedExecution.CriticalFinalizerObject System.Threading.Thread Um processo pode criar uma ou mais threads para executar parte do código do programa associado a tal processo. Usamos um delegate ThreadStart ou um delegate ParameterizedThreadStart para especificar o código do programa que será executado pela thread. O delegate ParameterizedThreadStart nos permite passar dados para as funções a serem executadas pela thread. Durante seu ciclo de vida, uma thread está sempre em um ou mais dos estados definidos pela enumeração ThreadState. Um nível de prioridade de agendamento, como definido na enumeração ThreadPriority, pode ser requisitado para a thread, mas, este comportamento nem sempre é garantido pelo sistema operacional. O método GetHashCode() fornece identificação para threads gerenciadas. Durante o ciclo de vida de uma thread, seu código de identificação não colidirá com os códigos das demais threads, independente do domínio da aplicação a partir do qual obtemos tal valor. Veja um trecho de código no qual criamos uma thread e a agendamos para execução paralela com a thread principal da aplicação. Note como os valores dos dois laços são exibidos de forma compartilhada pelas duas threads, ou seja, um thread exibe alguns valores e pára, para permitir que a outra faça parte do seu trabalho: class Program{ static void Main(string[] args){ // using using System.Threading; // vamos criar uma nova instância da clase Thread // e fornecer o método que será executado Thread thread = new Thread(contar); // vamos agendar a thread para futura execução thread.Start(); // agora vamos contar na thread principal for (int i = 0; i <= 20; i++){ Console.Write("#" + Thread.CurrentThread.GetHashCode() + ": " + i + ", "); } Console.Write("\n\nPressione uma tecla para sair..."); Console.ReadKey(); } // método que será chamado pela thread static void contar(){ for (int i = 0; i <= 20; i++){ Console.Write("#" + Thread.CurrentThread.GetHashCode() + ": " + i + ", "); } } } Aqui eu usei a sintáxe de criação de objetos da classe Thread que cria uma instância de ThreadStart nos bastidores, ou seja, forneci apenas o método a ser executado pela nova thread. Note também que uma chamada ao método Start() da thread não faz com que a thread seja executada imediatamente. Este método apenas torna a thread elegível para execução, ou seja, no estado "pronta" (Running). É o sistema operacional que determina quando a mesma será executada. |
Nossas 20 dicas & truques de programação mais populares |
Java - Como remover itens repetidos de uma ArrayList usando um objeto da classe LinkedHashSet do Java Delphi - Como retornar o índice do item selecionado em um ComboBox do Delphi usando a propriedade ItemIndex |
Você também poderá gostar das dicas e truques de programação abaixo |
C - Como concatenar apenas parte de uma string à outra string usando a função strncat() da linguagem C JavaScript - Como converter uma string em um valor de ponto-flutuante em JavaScript usando a função parseFloat() JavaScript - Como filtrar os elementos de um array em JavaScript usando a função filter() - Vetores e matrizes em JavaScript |
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 |