Ofereço ajuda em Java, C/C++, Python, C#, LISP, AutoLisp, AutoCAD
Ofereço ajuda em PHP, Python, C#, JavaScript, Laravel, Google Ads e SEO

Planilha Web - Planilhas e Calculadoras online para estudantes e profissionais de Engenharia Civil, Engenharia Elétrica e Engenharia Mecânica.

JavaFX ::: Pacote javafx.scene.control ::: TextField (Classe TextField)

Como usar caixas de texto TextField em suas aplicações JavaFX

Quantidade de visualizações: 2064 vezes
Um objeto da classe TextField, do pacote javafx.scene.control, e disponível no JavaFX desde a versão 2.0, é usado para obter dados dos usuários de nossas aplicações. Este controle visual possibilita a digitação de dados (texto) no formato de uma linha apenas.

Veja a posição desta classe na hierarquia de classes do JavaFX:

java.lang.Object
 javafx.scene.Node
  javafx.scene.Parent
   javafx.scene.layout.Region
    javafx.scene.control.Control
     javafx.scene.control.TextInputControl
      javafx.scene.control.TextField

A classe TextField implementa as Styleable, EventTarget e Skinnable e sua sub-classe direta é PasswordField.

Veja o código completo para uma aplicação JavaFX que possui um Label, um TextField e um Button dispostos em um gerenciador de layout HBox:

package estudosjavafx;
   
import javafx.application.Application;
import javafx.geometry.Insets;
import javafx.scene.Scene;
import javafx.scene.control.Button;
import javafx.scene.control.Label;
import javafx.scene.control.TextField;
import javafx.scene.layout.HBox;
import javafx.stage.Stage;
   
public class EstudosJavaFX extends Application {
  public static void main(String[] args){
    launch(args);
  }
   
  @Override
  public void start(Stage primaryStage){
    // vamos criar um rótulo, um botão e uma
    // caixa de texto
    Label label = new Label("Seu nome:");
    // vamos deixar o texto do Label em negrito
    label.setStyle("-fx-font-weight: bold;");
    // vamos aumentar o tamanho da fonte
    label.setStyle("-fx-font-size: 150%;");
    TextField nomeTxt = new TextField();
    Button btn = new Button("Enviar");
    
    // agora criamos um laytou HBox e colocamos
    // os componentes nele
    HBox hBox = new HBox();
    hBox.getChildren().add(label);
    hBox.getChildren().add(nomeTxt);
    hBox.getChildren().add(btn);
       
    // vamos definir o espaço interno do HBox
    hBox.setPadding(new Insets(10, 10, 10, 10));
    
    // vamos definir o espaço entre os 
    // componentes do HBox
    hBox.setSpacing(10);
      
    // criamos a cena e fornecemos o layout a ela
    // e definimos a largura e altura da cena
    Scene scene = new Scene(hBox, 400, 300);
    
    // adicionamos a cena ao palco principal
    primaryStage.setScene(scene);
    // e mostramos o palco
    primaryStage.show();
  }
}

Ao executar este exemplo JavaFX nós teremos o seguinte resultado:




C++ ::: Fundamentos da Linguagem ::: Estruturas de Controle

Como criar um laço for infinito em C++ - C++ do básico ao profissional

Quantidade de visualizações: 9735 vezes
É possível criar um laço for infinito em C++ simplesmente omitindo as partes início, condição e incremento/decremento. Veja:

#include <string>
#include <iostream>

using namespace std;

int main(int argc, char *argv[])
{
  // um laço for infinito (cuidado! se você não
  // fornecer uma forma de parar o negócio vai
  // travar
  int valor = 0;

  for(;;){
    cout << valor << "\n";
    valor++;

    // vamos parar o laço aqui
    if(valor > 20)
      break;
  }

  cout << "\n\n";

  system("PAUSE"); // pausa o programa
  return EXIT_SUCCESS;
}



C ::: Dicas & Truques ::: Strings e Caracteres

Como inverter (reverter) o conteúdo de uma string em C usando uma função str_reverse() personalizada

Quantidade de visualizações: 24076 vezes
O código abaixo mostra como você pode implementar uma função que inverte o conteúdo de uma string. Veja que o argumento para um função é um ponteiro para a string a ser invertida:

#include <stdio.h>
#include <stdlib.h>

// função que reverte uma string
void str_reverse(char* str)
{
  char ch;
  int i, j;

  for(i = 0, j = strlen(str) - 1;  i < j;  ++i, --j)
  {
    ch = str[i];
    str[i] = str[j];
    str[j] = ch;
  }
}

int main(int argc, char *argv[])
{
  char nome[] = "Osmar J. Silva";

  // original
  printf("Original: %s\n", nome);

  // inverte
  str_reverse(nome);
  printf("Invertido: %s\n", nome);

  printf("\n\n");
  system("PAUSE");
  return 0;
}

Ao executar este código nós teremos o seguinte resultado:

Original: Osmar J. Silva
Invertido: avliS .J ramsO

Pressione qualquer tecla para continuar...


PHP ::: PHP + MySQL ::: MySQL Improved Extension (mysqli)

Código completo: Como listar os campos de uma tabela MySQL, seus tipos de dados e detalhes adicionais - O comando DML SHOW FULL COLUMNS FROM - Revisado

Quantidade de visualizações: 12200 vezes
O comando DML do MySQL (e MariaDB) SHOW FULL COLUMNS FROM [nome_tabela] é usado quando queremos obter informações sobre os campos de uma determinada tabela. Entre essas informações temos
Field (nome do campo), Type (tipo de dados), Collation (o conjunto de caracteres usado), Null (se o campo aceita nulo ou não), Key (se é uma chave e o tipo da chave), Default (o valor padrão), Extra (informação extra, tal como auto-incremento), Privileges (privilégio do usuário logado) e Comment (comentário).

Veja um trecho de código PHP no qual nos conectamos a uma base de dados MySQL usando a extensão mysqli e obtemos as informações dos campos de uma tabela chamada "usuarios". Note como o resultado é exibido em uma tabela HTML.

Veja o código a seguir:

<?
  // vamos efetuar a conexão com o banco
  $con = new mysqli("localhost", "root",
    "osmar1234", "estudos");

  // conexão efetuada com sucesso?
  if($con->connect_errno){
    echo "Não foi possível efetuar a conexão: " . 
      $mysqli->connect_error;
    exit(); // vamos sair daqui 
  }

  // obtém os nomes dos campos da tabela, seus tipos e 
  // detalhes adicionais
  $query = mysqli_query($con, "SHOW FULL COLUMNS FROM usuarios");
 
  // títulos da tabela HTML
  $titulos = array('Campo', 'Tipo', 'Collation', 'Null', 
    'Chave', 'Padrão', 'Extra');
 
  echo '<table border="1"><tr>';
  
  for($i = 0; $i < count($titulos); $i++){
    echo '<td>' . $titulos[$i] . '</td>'; 
  }    
   
  echo '</tr>';
 
  while($result = mysqli_fetch_array($query)){  
    echo '<tr>';
   
    for($i = 0; $i < count($titulos); $i++){
      echo '<td>' . $result[$i] . '&nbsp;</td>';     
    }   

    echo '</tr>';
  }
 
  echo '</table>';
  
  mysqli_close($con); // fecha a conexão 
?>

Esta dica foi revisada, atualizada e testada com o PHP 8.


Delphi ::: VCL - Visual Component Library ::: TListBox

Como retornar a quantidade de itens em uma TListBox do Delphi usando a propriedade Items.Count

Quantidade de visualizações: 13197 vezes
Em algumas situações nós precisamos obter a quantidade de itens em uma TListBox. Isso pode ser feito por meio da propriedade Count do objeto Items, uma instância da classe TStrings. Esta propriedade contém um valor inteiro que representa a quantidade de elementos na ListBox. Veja:

procedure TForm1.Button1Click(Sender: TObject);
var
  quant: Integer;
begin
  // vamos adicionar dois itens na TListBox
  ListBox1.Items.Add('Item 1');
  ListBox1.Items.Add('Item 2');

  // vamos obter a quantidade de itens
  quant := ListBox1.Items.Count;

  // exibe o resultado
  ShowMessage('Quantidade de elementos: ' + IntToStr(quant));
end;

É possível também obter a quantidade de itens em uma TListBox acessando a propriedade Count da classe TCustomListBox. Esta propriedade é herdada pela classe TListBox. Veja:

quant := ListBox1.Count;


Para fins de compatibilidade, esta dica foi escrita usando Delphi 2009.


C ::: C para Engenharia ::: Física - Mecânica

Como calcular o tempo de queda livre de um corpo dada a altura da queda e a aceleração da gravidade usando a linguagem C

Quantidade de visualizações: 3013 vezes
Galileu Galilei fez experimentos para comprovar que o tempo de queda dos objetos não depende de sua massa. Esse importante estudioso abandonava objetos de massas diferentes do alto da torre de Pisa e verificava que o tempo para atingirem o solo sempre era o mesmo para todos os casos.

No Movimento Uniformemente Variado (MUV), o tempo de queda livre de um corpo, quando temos a altura na qual o objeto é abandonado, pode ser calculado por meio da fórmula:

\[ \text{t} = \sqrt{\frac{\text{2} \cdot \text{H}}{\text{g}}} \]

Onde:

t ? tempo da queda (em segundos).

H ? altura em metros na qual o corpo é abandonado.

g ? aceleração da gravidade (m/s2).

Vamos ver um exemplo? Veja o seguinte enunciado:

1) Um tijolo é largado de uma construção há 10 metros de altura. Calcule o tempo de sua queda, ou seja, o tempo imediatamente antes de o corpo (o tijolo) tocar o chão.

Veja que temos a altura de 10 metros e já sabemos que a aceleração da gravidade terrestre é 9.80665. Assim, tudo que temos que fazer é jogar esses valores na fórmula. Veja o código C completo para este cálculo:

#include <stdio.h>
#include <stdlib.h>
#include <math.h> 
     
int main(int argc, char *argv[]){
  // gravidade terrestre em m/s2
  float gravidade = 9.80665;
  // altura da queda
  float altura = 10; // em metros
  
  // vamos calcular o tempo da queda (em segundos)
  float tempo_queda = sqrt((2 * altura) / gravidade);
  
  // mostramos o resultado
  printf("O tempo da queda livre é: %f segundos",
    tempo_queda);
			  
  printf("\n\n");
  system("PAUSE");
  return 0;
}

Ao executar este código C nós teremos o seguinte resultado:

O tempo da queda livre é: 1.428087 segundos.


Delphi ::: Dicas & Truques ::: Rotinas de Conversão

Como converter uma string em um valor numérico inteiro em Delphi usando as funções StrToInt(), TryStrToInt() e StrToIntDef()

Quantidade de visualizações: 33682 vezes
Em algumas situações precisamos converter strings em valores numéricos do tipo inteiro. Isso acontece quando recebemos valores de caixas de texto e precisamos usuá-los em cálculos.

Vamos começar com a função StrToInt() da unit SysUtils. Esta função recebe uma string representando um valor inteiro válido e retorna um valor inteiro. Veja o exemplo:

procedure TForm1.Button1Click(Sender: TObject);
var
  valor1, valor2, soma: Integer;
begin
  // vamos receber as strings dos TEdits e converter
  // seus valores para inteiros
  valor1 := StrToInt(Edit1.Text);
  valor2 := StrToInt(Edit2.Text);

  // vamos obter a soma dos dois valores
  soma := valor1 + valor2;

  // vamos exibir o resultado. Note o uso de IntToStr() para
  // converter o valor inteiro em string
  ShowMessage('A soma é: ' + IntToStr(soma));
end;

Note que, se a string sendo convertida possuir um valor inteiro inválido, uma exceção do tipo EConvertError será lançada. Podemos evitar isso usando a função TryStrToInt(). Esta função recebe dois argumentos: a string a ser convertida e a variável do tipo Integer que receberá o valor. O resultado será true se a conversão for feita com sucesso e false em caso contrário. Veja:

procedure TForm1.Button1Click(Sender: TObject);
var
  valor: Integer;
begin
  // vamos tentar converter o valor da caixa de texto
  // em um inteiro
  if TryStrToInt(Edit1.Text, valor) then
    ShowMessage('Conversão efetuada com sucesso.')
  else
    ShowMessage('Erro na conversão');
end;

Há ainda uma terceira possibilidade: usar a função StrToIntDef(). Esta função funciona exatamente da mesma forma que StrToInt(), exceto que agora, se houver um erro de conversão, um valor inteiro padrão será retornado. Veja:

procedure TForm1.Button1Click(Sender: TObject);
var
  valor: Integer;
begin
  // vamos converter o valor da caixa de texto
  // em um inteiro. Se a conversão não puder ser feita
  // o valor 10 será atribuído à varial valor
  valor := StrToIntDef(Edit1.Text, 10);

  // vamos exibir o resultado
  ShowMessage(IntToStr(valor));
end;

Caso você precise trabalhar com inteiros de 64 bits, poderá usar as funções StrToInt64(), StrToInt64Def() e TryStrToInt64().

Para fins de compatibilidade, esta dica foi escrita usando Delphi 2009.


Java ::: Desafios e Lista de Exercícios Resolvidos ::: Laços de Repetição

Exercícios Resolvidos de Java - Usando um laço for para solicitar ao usuário que informe 10 valores inteiros e mostrar quantos valores negativos foram informados

Quantidade de visualizações: 10208 vezes
Pergunta/Tarefa:

Escreva um programa Java console que usa o laço for para solicitar que o usuário digite 10 valores inteiros. Em seguida seu programa deverá contar quantos valores negativos foram informados.

Dica: Use um objeto da classe Scanner para obter a entrada do usuário.

Resposta/Solução:

A resolução deste exercício envolve a criação de uma variável auxiliar para contar a quantidade de valores negativos lidos, do tipo int, e que deverá ser inicializada com o valor 0. Veja:

int negativos = 0; // guardará a quantidade de valores negativos
Veja a resolução completa para o exercício, comentada linha a linha:

public static void main(String[] args){
  // para este exercício você deverá importar a classe
  // Scanner. Ela está no pacote java.util.*;
    
  // vamos construir um objeto da classe Scanner para ler a
  // entrada do usuário
  Scanner entrada = new Scanner(System.in);

  int valor; // guarda o valor lido
  int negativos = 0; // guardará a quantidade de valores negativos

  // vamos pedir ao usuário que informe 10 valores inteiros
  for(int i = 0; i < 10; i++){
    System.out.print("Informe o " + (i + 1) + "º valor: ");
    valor = Integer.parseInt(entrada.nextLine());

    // vamos verificar se o valor informado é negativo
    if(valor < 0){
      negativos++;
    }
  }

  // vamos exibir a quantidade de números negativos lidos
  System.out.println("\nVocê informou " + negativos + " valores negativos.\n");
}



Java ::: Desafios e Lista de Exercícios Resolvidos ::: Java Básico

Exercícios Resolvidos de Java - Um programa que lê um salário e concede um aumento de 20% para os salários inferiores a R$ 800,00

Quantidade de visualizações: 4882 vezes
Exercícios Resolvidos de Java - Um programa que lê um salário e concede um aumento de 20% para os salários inferiores a R$ 800,00

Pergunta/Tarefa:

A empresa XYZ decidiu conceder um aumento de 20% aos funcionários com salários inferiores a R$ 800,00. Faça um programa Java que solicita o salário do funcionário e mostre o valor do salário reajustado ou uma mensagem, caso o funcionário não tenha direito ao aumento.

Sua saída deverá ser parecida com:

Informe o salário: 520
O salário informado foi: 520.0
O salário reajustado é: 530.4 
Resposta/Solução:

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) {
    Scanner entrada = new Scanner(System.in);  
    
    // vamos solicitar o salário do funcionário
    System.out.print("Informe o salário: ");
    double salario = Double.parseDouble(entrada.nextLine());
    System.out.println("O salário informado foi: " + salario);
    
    // vamos conceder o aumento ao salário inferior a 800,00
    if(salario < 800.00){
      double novoSalario = salario + (salario * (2.0 / 100.00));
      System.out.println("O salário reajustado é: " + novoSalario);
    }
    else{
      System.out.println("Não tem direito ao reajuste.");
    }
    
    System.out.println("\n");
  }
}



C ::: Dicas & Truques ::: Recursão (Recursividade)

Como somar os elementos de um vetor em C usando uma função recursiva - Linguagem C para iniciantes

Quantidade de visualizações: 5505 vezes
Em algumas ocasiões ficamos imaginando o que pode ser feito com os métodos e funções recursivas. A resposta é: praticamente tudo.

Veja abaixo um programa C completo no qual eu mostro como escrever uma função recursiva que recebe um array e mostra a soma de seus elementos (lembre-se de que um array é o mesmo que vetor, ou seja, uma matriz de uma linha e várias colunas):

#include <stdio.h>
#include <stdlib.h>

// função recursiva para somar todos os elementos de um array
int somar(int indice, int tamanho, int vetor[]){
  // o caso base...hora de encerrar a recursividade
  if(indice == (tamanho - 1)){
    return vetor[indice];
  }
  else{
    // ainda não é o caso base? vamos fazer uma nova chamada à função somar()
    return vetor[indice] + somar(indice + 1, 10, vetor);
  }
}

// função principal do programa
int main(int argc, char *argv[]){
  // vamos declarar um array de 10 elementos
  int valores[10];
  int i, soma;

  // vamos pedir ao usuário para informar os valores para o vetor
  for(i = 0; i < 10; i++){
    printf("Informe o valor do elemento %d: ", i);
    scanf("%d", &valores[i]); 
  }

  // vamos efetuar uma chamada à função recursiva somar();
  // nota que estamos passando o índice inicial, o tamanho do
  // array e o array em si
  soma = somar(0, 10, valores);
  printf("\nA soma dos elementos è: %d", soma);
  
  printf("\n\n");
  system("PAUSE");
  return 0;
}

Ao executarmos este código C nós teremos o seguinte resultado:

Informe o valor do elemento 0: 7
Informe o valor do elemento 1: 3
Informe o valor do elemento 2: 1
Informe o valor do elemento 3: 3
Informe o valor do elemento 4: 8
Informe o valor do elemento 5: 9
Informe o valor do elemento 6: 4
Informe o valor do elemento 7: 3
Informe o valor do elemento 8: 2
Informe o valor do elemento 9: 6

A soma dos elementos é: 46

Carregar Publicações Anteriores


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

Últimos Exercícios Resolvidos

E-Books em PDF

E-Book 350 Exercícios Resolvidos de Java - PDF com 500 páginas
Domine lógica de programação e a linguagem Java com o nosso E-Book 350 Exercícios Exercícios de Java, para você estudar onde e quando quiser.

Este e-book contém exercícios resolvidos abrangendo os tópicos: Java básico, matemática e estatística, programação dinâmica, strings e caracteres, entrada e saída, estruturas condicionais, vetores e matrizes, funções, laços, recursividade, internet, arquivos e diretórios, programação orientada a objetos e muito mais.
Ver Conteúdo do E-book
E-Book 650 Dicas, Truques e Exercícios Resolvidos de Python - PDF com 1.200 páginas
Domine lógica de programação e a linguagem Python com o nosso E-Book 650 Dicas, Truques e Exercícios Exercícios de Python, para você estudar onde e quando quiser.

Este e-book contém dicas, truques e exercícios resolvidos abrangendo os tópicos: Python básico, matemática e estatística, banco de dados, programação dinâmica, strings e caracteres, entrada e saída, estruturas condicionais, vetores e matrizes, funções, laços, recursividade, internet, arquivos e diretórios, programação orientada a objetos e muito mais.
Ver Conteúdo do E-book

Linguagens Mais Populares

1º lugar: Java
2º lugar: Python
3º lugar: C#
4º lugar: PHP
5º lugar: C
6º lugar: Delphi
7º lugar: JavaScript
8º lugar: C++
9º lugar: VB.NET
10º lugar: Ruby


E-Book 350 Exercícios Resolvidos de Java - PDF com 500 páginas
Domine lógica de programação e a linguagem Java com o nosso E-Book 350 Exercícios Exercícios de Java, para você estudar onde e quando quiser. Este e-book contém exercícios resolvidos abrangendo os tópicos: Java básico, matemática e estatística, programação dinâmica, strings e caracteres, entrada e saída, estruturas condicionais, vetores e matrizes, funções, laços, recursividade, internet, arquivos e diretórios, programação orientada a objetos e muito mais.
Ver Conteúdo do E-book Apenas R$ 19,90


© 2025 Arquivo de Códigos - Todos os direitos reservados
Neste momento há 54 usuários muito felizes estudando em nosso site.