![]() |
|
|
Planilha de Dimensionamento de Tubulações
Hidráulicas Água Fria e Água Quente CompletaNossa planilha automática de dimensionamento de tubulações de água fria e quente é uma ferramenta desenvolvida para auxiliar engenheiros e projetistas no cálculo rápido e preciso das redes hidráulicas de edificaçoes. Por meio da inserçao de dados como vazao, diâmetro da tubulaçao, comprimento da rede, material do tubo e coeficientes hidráulicos, a planilha realiza automaticamente os cálculos necessários para verificar velocidade da água, perda de carga e dimensionamento adequado das tubulaçoes. |
||
Java ::: Java + MySQL ::: Metadados da Base de Dados (Database Metadata) |
Java MySQL - Como obter uma lista das funções de data e hora suportadas pelo MySQL usando o método getTimeDateFunctions() da interface DatabaseMetaDataQuantidade de visualizações: 6034 vezes |
|
Em algumas situações gostaríamos de, via código, obter uma lista das funções de data e hora suportadas pelo MySQL. Para isso podemos usar o método getTimeDateFunctions() da interface DatabaseMetaData. É importante observar que, no Sun Microsystem's JDBC Driver for MySQL, a interface DatabaseMetaData é implementada por uma classe do mesmo nome, no pacote com.mysql.jdbc.DatabaseMetaData. E esta classe implementa o método getTimeDateFunctions() de forma a retornar a lista de funções de data e hora separadas por vírgulas. Veja um trecho de código Java no qual listamos todas as funções de data e hora suportados no MySQL 5.0:
package estudosbancodados;
import java.sql.Connection;
import java.sql.DatabaseMetaData;
import java.sql.DriverManager;
import java.sql.SQLException;
public class EstudosBancoDados{
public static void main(String[] args) {
// strings de conexão
String databaseURL = "jdbc:mysql://localhost/estudos";
String usuario = "root";
String senha = "osmar1234";
String driverName = "com.mysql.jdbc.Driver";
try {
Class.forName(driverName).newInstance();
Connection conn = DriverManager.getConnection(databaseURL, usuario, senha);
// vamos obter um objeto da classe com.mysql.jdbc.DatabaseMetaData
DatabaseMetaData dbmd = conn.getMetaData();
// vamos obter a lista de funções de data e hora disponíveis
// nesta versão do MySQL
String funcoesDataHora = dbmd.getTimeDateFunctions();
// como a lista de funções está separada por vírgulas, vamos obter
// uma matriz de strings
String funcoes[] = funcoesDataHora.split(",");
// vamos mostrar o resultado
for(int i = 0; i < funcoes.length; i++){
System.out.println(funcoes[i]);
}
}
catch (SQLException ex) {
System.out.println("SQLException: " + ex.getMessage());
System.out.println("SQLState: " + ex.getSQLState());
System.out.println("VendorError: " + ex.getErrorCode());
}
catch (Exception e) {
System.out.println("Problemas ao tentar conectar com o banco de dados: " + e);
}
}
}
Ao executarmos este código teremos o seguinte resultado: DAYOFWEEK WEEKDAY DAYOFMONTH DAYOFYEAR MONTH DAYNAME MONTHNAME QUARTER WEEK YEAR HOUR MINUTE SECOND PERIOD_ADD PERIOD_DIFF TO_DAYS FROM_DAYS DATE_FORMAT TIME_FORMAT CURDATE CURRENT_DATE CURTIME CURRENT_TIME NOW SYSDATE CURRENT_TIMESTAMP UNIX_TIMESTAMP FROM_UNIXTIME SEC_TO_TIME TIME_TO_SEC |
Java ::: Coleções (Collections) ::: Set (Conjunto) |
Como usar objetos da interface Set do Java para representar a interseção (ou intersecção) de dois ou mais conjuntosQuantidade de visualizações: 5395 vezes |
|
Na teoria dos conjuntos, a interseção (português brasileiro) ou intersecção (português europeu) de dois ou mais conjuntos é o conjunto dos elementos que, simultaneamente, pertencem a dois ou mais destes conjuntos. Assim, seja A = {2, 5, 8, 19, 30} e B = {2, 3, 1, 30}. A interseção desses dois conjuntos é C = {2, 30}. Na programação Java podemos representar a interseção de dois conjuntos usando objetos da interface Set e qualquer uma de suas implementações. Para este exemplo vou usar a classe TreeSet, que permite a ordenação dos elementos. Veja o código:
package estudos;
import java.util.Iterator;
import java.util.Set;
import java.util.TreeSet;
public class Estudos{
public static void main(String[] args) {
// primeiro conjunto
Set<Integer> conjuntoA = new TreeSet<>();
conjuntoA.add(2);
conjuntoA.add(5);
conjuntoA.add(8);
conjuntoA.add(19);
conjuntoA.add(30);
// segundo conjunto
Set<Integer> conjuntoB = new TreeSet<>();
conjuntoB.add(2);
conjuntoB.add(3);
conjuntoB.add(1);
conjuntoB.add(30);
// vamos obter a interseção dos dois conjuntos
Set<Integer> conjuntoC = intersecao(conjuntoA, conjuntoB);
// vamos exibir os elementos no conjunto C
Iterator iterator = conjuntoC.iterator();
while(iterator.hasNext()){
System.out.println(iterator.next());
}
}
// método genérico que permite obter a interseção de dois conjuntos
public static <T> Set<T> intersecao(Set<T> conjA, Set<T> conjB){
Set<T> conjC = new TreeSet<>();
// percorremos todos os elementos do conjunto A
for(T elemento: conjA){
// e verificamos se o elemento está contido no conjunto B
if(conjB.contains(elemento)){
conjC.add(elemento); // se estiver contido nós o adicionamos no conjunto C
}
}
return conjC; // e retornamos o conjunto C
}
}
Ao executarmos este código teremos o seguinte resultado: 2 30 |
Java ::: Classes e Componentes ::: JTable |
Java Swing - Como colorir as células de uma JTable individualmente ao passar o mouse sobre elasQuantidade de visualizações: 1 vezes |
|
Nesta dica eu mostro como é possível aplicar uma cor diferente às células individuais de uma JTable ao passar o mouse em cima delas. O efeito visual é muito interessante, principalmente quando temos uma JTable com muitos dados. No exemplo eu construí a aplicação Java Swing na mão mesmo, sem usar nenhum editor visual. É um ótimo exercício para realmente entender as partes que compoem uma aplicação Java Swing. Veja o código Java completo:
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
import javax.swing.table.*;
import javax.swing.event.*;
public class Estudos extends JFrame{
int linha, coluna;
public Estudos(){
super("JTable");
// colunas da tabela
String[] colunas = {"Cidade", "Estado", "Habitantes"};
// conteúdo da tabela
Object[][] conteudo = {
{"Goiânia", "GO", "43.023.432"},
{"São Paulo", "SP", "5.343.234"},
{"Rio de Janeiro", "RJ", "6.434.212"},
{"Jussara", "GO", "87.454"},
{"Barra do Garças", "MT", "64.344"}
};
// constrói a tabela
final JTable tabela = new JTable(conteudo, colunas);
tabela.setPreferredScrollableViewportSize(new
Dimension(350, 50));
class CellListener extends MouseMotionAdapter{
public void mouseMoved(MouseEvent e){
JTable tb = (JTable)e.getSource();
linha = tb.rowAtPoint(e.getPoint());
coluna = tb.columnAtPoint(e.getPoint());
tb.repaint();
}
}
class ColorirCelula extends JLabel
implements TableCellRenderer{
public ColorirCelula(){
setOpaque(true);
}
public Component getTableCellRendererComponent(
JTable table, Object value,
boolean isSelected, boolean hasFocus,
int row, int column){
if(row == linha && column == coluna){
this.setBackground(Color.yellow);
}
else{
this.setBackground(table.getBackground());
}
this.setText(value.toString());
return this;
}
}
Container c = getContentPane();
c.setLayout(new FlowLayout());
tabela.addMouseMotionListener(new CellListener());
tabela.setDefaultRenderer(Object.class,
new ColorirCelula());
JScrollPane scrollPane = new JScrollPane(tabela);
c.add(scrollPane);
setSize(400, 300);
setVisible(true);
}
public static void main(String args[]){
Estudos app = new Estudos();
app.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
}
Ao executarmos esta aplicação Java Swing nós teremos o seguinte resultado: ![]() |
PHP ::: Dicas & Truques ::: Strings e Caracteres |
Como transformar uma string em letras minúsculas em PHP usando a função strtolower()Quantidade de visualizações: 1 vezes |
|
A função strtolower() do PHP pode ser usada quando queremos converter uma palavra, frase ou texto para letras minúsculas. Veja um exemplo de seu uso:
<?php
// vamos definir a codificação como iso-8859-1
ini_set('default_charset', "iso-8859-1");
// vamos criar uma string
$frase = "PHP? Eu gosto de PHP";
echo "A frase original é: " . $frase;
// agora vamos converter a frase para letras
// minúsculas
$frase_minusculas = strtolower($frase);
echo "<br>Em letras minúsculas: " . $frase_minusculas;
?>
Ao executarmos este código PHP nós teremos o seguinte resultado: A frase original é: PHP? Eu gosto de PHP Em letras minúsculas: php? eu gosto de php Ao executar este código no PHP 8, Windows 10 e codificação do arquivo em ANSI, o resultado da função strtolower() é o esperado, mas somente sem usar acentos e caracteres especiais. Veja:
<?php
// vamos definir a codificação como iso-8859-1
ini_set('default_charset', "iso-8859-1");
// vamos criar uma string
$frase = "JAVA? NÃO! É DE PHP QUE EU GOSTO";
echo "A frase original é: " . $frase;
// agora vamos converter a frase para letras
// minúsculas
$frase_minusculas = strtolower($frase);
echo "<br>Em letras minúsculas: " . $frase_minusculas;
?>
Ao executarmos o código novamente nós teremos a seguinte saída: A frase original é: JAVA? NÃO! É DE PHP QUE EU GOSTO Em letras minúsculas: java? nÃo! É de php que eu gosto Note que as letras acentuadas não foram convertidas para letras minúsculas. Isso aconteceu porque os caracteres acentuados são tratados como caracteres de múltiplos bytes, ou seja, multi-byte chars. A saída, nesse caso, e no PHP 8 (e acredito mais recentes), é usar a função mb_strtolower(). Veja:
<?php
// vamos definir a codificação como iso-8859-1
ini_set('default_charset', "iso-8859-1");
// vamos criar uma string
$frase = "JAVA? NÃO! É DE PHP QUE EU GOSTO";
echo "A frase original é: " . $frase;
// agora vamos converter a frase para letras
// minúsculas
$frase_minusculas = mb_strtolower($frase);
echo "<br>Em letras minúsculas: " . $frase_minusculas;
?>
Execute o código novamente e verá que o resultado agora está correto: A frase original é: JAVA? NÃO! É DE PHP QUE EU GOSTO Em letras minúsculas: java? não! é de php que eu gosto Agora você já sabe o primeiro passo para resolver problemas de acentuação no PHP. Bons estudos. |
Nossas 20 dicas & truques de programação mais populares |
|
JavaScript - Como retornar uma coleção de nós filhos de um elemento HTML usando a propriedade childNodes do DOM do JavaScript jQuery - Como remover uma classe (ou classes) de um elemento HTML usando a função removeClass() do jQuery |
Você também poderá gostar das dicas e truques de programação abaixo |
|
JavaScript - Formulários HTML - Como marcar ou desmarcar todas as checkboxes de um formulário HTML de uma só vez usando JavaScript Laravel - Como criar um CRUD completo em Laravel 8 - CRUD em Laravel usando PHP e MySQL (MariaDB) - Parte 1 |
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 |





