![]() |
|
|
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. |
||
Você está aqui: Cards de Hidrostática |
||
|
||
|
|
||
PHP ::: Dicas & Truques ::: Arquivos e Diretórios |
Curso de PHP - Como obter a quantidade de linhas em um arquivoQuantidade de visualizações: 10206 vezes |
|
Neste exemplo veremos como abrir um arquivo texto usando a função file() da linguagem PHP e em seguida vamos obter a quantidade de linhas neste arquivo. Veja o código completo para o exemplo: <html> <head> <title>Estudando PHP</title> </head> <body> <?php // define o nome do arquivo a ser lido $arquivo = 'dados.txt'; // obtém todas as linhas do arquivo $linhas = file($arquivo); // usa a função count() para obter a quantidade de // linhas $quant = count($linhas); echo "Este arquivo contém " . $quant . " linhas"; ?> </body> </html> Ao executar este código PHP nós teremos o seguinte resultado: Este arquivo contém 4 linhas |
C# ::: Windows Forms ::: TextBox |
C# Windows Forms Avançado - Como rolar as linhas de um TextBox para o topo (parte superior) usando a API do WindowsQuantidade de visualizações: 7543 vezes |
|
Em algumas situações gostaríamos de rolar para cima o conteúdo de um TextBox de múltiplas. Para isso podemos usar a API do Windows, mais especificamente a mensagem WM_VSCROLL com o valor SB_TOP para seu parâmetro wParam. O valor do parâmetro lParam é zero. Veja um trecho de código que rola para cima o conteúdo de um TextBox. Antes de executar este exemplo, tenha a certeza de ter um TextBox de múltiplas, com barras de rolagem e conteúdo que force o aparecimento das barras de rolagem. Comece adicionando a linha: using System.Runtime.InteropServices; na seção de usings do seu formulário ou classe. Em seguida adicione o trecho de código abaixo no corpo da classe, como um método:
[DllImport("user32.dll", EntryPoint = "SendMessage",
CharSet = CharSet.Auto, SetLastError = true)]
private static extern IntPtr SendMessage(IntPtr hWnd, uint Msg,
IntPtr wParam, IntPtr lParam);
Finalmente coloque o código abaixo no evento Click de um botão:
private void button2_Click(object sender, EventArgs e){
// antes de executar este exemplo certifique-se de que
// a propriedade Multiline do TextBox esteja definida
// como true e a propriedade ScrollBars contenha o valor
// Vertical ou Both
textBox1.Multiline = true;
textBox1.ScrollBars = ScrollBars.Vertical;
// constante para a mensagem WM_VSCROLL
const uint WM_VSCROLL = 0x115;
// constante para o parâmetro wParam
const int SB_TOP = 6;
// handle para a caixa de texto
IntPtr handle = textBox1.Handle;
IntPtr wParam = (IntPtr)SB_TOP;
IntPtr lParam = IntPtr.Zero;
// vamos fazer com que o TextBox role para o topo (parte superior)
SendMessage(textBox1.Handle, WM_VSCROLL, wParam, lParam);
}
|
Java ::: Desafios e Lista de Exercícios Resolvidos ::: Arrays e Matrix (Vetores e Matrizes) |
Exercícios Resolvidos de Java - Como testar se um valor está contido em um array em JavaQuantidade de visualizações: 11843 vezes |
|
Pergunta/Tarefa: Escreva um programa Java GUI ou console que declara, constrói e inicializa um vetor (array unidimensional) de 5 inteiros. Em seguida peça ao usuário para informar um valor inteiro e informe se o valor lido está contido no vetor. A declaração, construção e inicialização do vetor pode ser feita da seguinte forma:
// declara, constrói e inicializa um vetor de 5 inteiros
int valores[] = {4, 21, 8, 120, 1};
Resposta/Solução: Veja a resolução comentada deste exercício usando Java console:
package estudos;
import javax.swing.JOptionPane;
public class Estudos {
public static void main(String[] args) {
// declara, constrói e inicializa um vetor de 5 inteiros
int valores[] = {4, 21, 8, 120, 1};
// vamos ler um valor inteiro
int pesquisa = Integer.parseInt(JOptionPane.showInputDialog("Valor:"));
// vamos verificar se o valor informado está contido no vetor
boolean encontrado = false;
for(int i = 0; i < valores.length; i++){
if(valores[i] == pesquisa){
encontrado = true;
break;
}
}
if(encontrado){
JOptionPane.showMessageDialog(null, "O valor está no vetor");
}
else{
JOptionPane.showMessageDialog(null, "O valor não está no vetor");
}
}
}
|
MySQL ::: Dicas & Truques ::: Chaves, Índices e Restrições de Integridade Referencial |
Como criar chaves primárias compostas em uma tabela do MySQLQuantidade de visualizações: 2259 vezes |
|
Sabemos que o uso do atributo PRIMARY KEY (PK) permite marcar um campo de uma tabela MySQL como chave primária. Assim, este campo não poderá ter valores repetidos nem conter o valor NULL. Há, no entanto, situações nas quais precisamos marcar mais de um campo como chave primária, ou seja, a chave primária é composta de dois ou mais campos. Estas situações surgem nos cenários em que temos relacionamentos N x N (muitos para muitos) e uma tabela associativa que represente o relacionamento. Um exemplo disso é a relação autor-livro: um autor pode escrever vários livros e um livro pode ser escrito por mais um autor (vários autores em conjunto). Mas, o mesmo autor não pode aparecer no mesmo livro mais de uma vez. Vamos representar isso passo-a-passo. Comece criando a tabela autores. Veja o comando CREATE TABLE completo para esta tarefa: CREATE TABLE autores( id INTEGER UNSIGNED NOT NULL AUTO_INCREMENT, nome VARCHAR(45) NOT NULL, email VARCHAR(45) NOT NULL, PRIMARY KEY(id) ) ENGINE = InnoDB; Este comando CREATE TABLE vai gerar a seguinte estrutura: Field Type Null Key Default Extra id int(10) unsigned NO PRI - auto_increment nome varchar(45) NO - email varchar(45) NO - Vamos agora criar a tabela livros. Veja o comando CREATE TABLE completo: CREATE TABLE livros( id INTEGER UNSIGNED NOT NULL AUTO_INCREMENT, titulo VARCHAR(45) NOT NULL, paginas INTEGER UNSIGNED NOT NULL, PRIMARY KEY (id) ) ENGINE = InnoDB; Este comando CREATE TABLE vai gerar a seguinte estrutura: Field Type Null Key Default Extra id int(10) unsigned NO PRI - auto_increment titulo varchar(45) NO - paginas int(10) unsigned NO - CREATE TABLE autores_livros( id_autor int(10) unsigned NOT NULL, id_livro int(10) unsigned NOT NULL, PRIMARY KEY(id_autor,id_livro), KEY FK_autores_livros_2(id_livro), CONSTRAINT FK_autores_livros_2 FOREIGN KEY(id_livro) REFERENCES livros(id), CONSTRAINT FK_autores_livros_1 FOREIGN KEY(id_autor) REFERENCES autores(id) ) ENGINE=InnoDB Este comando CREATE TABLE vai gerar a seguinte estrutura: Field Type Null Key Default Extra id_autor int(10) unsigned NO PRI - - id_livro int(10) unsigned NO PRI - - Agora experimente inserir dados nas tabelas autores e livros. Em seguida faça o relaciomento na tabela autores_livros. Tente repetir o id do autor para o mesmo livro. Imediatamente o MySQL recusará a inserção com a mensagem de erro: Error 1062: Duplicate entry '2-2' for key 1 E, como usamos chaves estrangeiras na tabela autores_livros, ao tentarmos excluir um livro já relacionado com um autor, teremos a seguinte mensagem de erro: Cannot delete or update a parent row: a foreign key constraint fails (`estudos/autores_livros`, CONSTRAINT `FK_autores_livros_2` FOREIGN KEY (`id_livro`) REFERENCES `livros` (`id`)) Veja mais dicas nesta seção para aprender mais sobre chaves estrangeiras e restrições de integridade referencial. |
PHP ::: Dicas & Truques ::: Expressões Regulares |
Expressões Regulares em PHP - Como usar expressões regulares em PHPQuantidade de visualizações: 9716 vezes |
|
Expressões regulares são padrões pré-definidos que permitem pesquisar ou substituir uma substring em uma string. Isso quer dizer que expressões regulares são uma ferramenta muito útil para validar CEPs, números de telefones, cartões de crédito, endereços de e-mail, entre outros. Várias linguagens de programação suportam expressões regulares, entre estas Perl, JavaScript, Java, C#, Python e VB.NET. Porém, o domínio destas expressões é privilégio de poucos. Talvez por sua complexidade ou até mesmo pelo fato de que alguns programadores se contentam em aprender apenas as características básicas de uma linguagem de programação. Quando precisam escrever um programa realmente avançado, vão em busca de códigos prontos e que satisfaçam suas necessidades depois de algumas pequenas alterações. O PHP suporta dois tipos de expressões regulares: PCRE (Perl-Compatible Regular Expression) e POSIX Extended. O grupo de dicas apresentadas nesta seção de nosso site abrange estes dois tipos de expressões regulares. Algumas funções de expressões regulares PCRE são: preg_grep(), preg_last_error(), preg_match_all(), preg_match(), preg_quote(), preg_replace_callback(), preg_replace() e preg_split(). Estas funções são abordadas com mais detalhes nesta seção. Algumas funções de expressões regulares POSIX Regex são: ereg_replace(), ereg(), eregi_replace(), eregi(), split(), spliti(), sql_regcase(). Veja um trecho de código que usa a função eregi() para verificar se uma URL começa com http ou https:
<?
$url = "http://www.arquivodecodigos.com.br";
// vamos verificar se a URL começa com http ou https
if(eregi("^http|https", $url))
echo "A URL começa com o padrão analisado";
else
echo "A URL NÃO começa com o padrão analisado";
?>
|
Desafios, Exercícios e Algoritmos Resolvidos de PHP |
Veja mais Dicas e truques de PHP |
Dicas e truques de outras linguagens |
|
VB.NET - Como adicionar horas à data e hora atual em VB.NET usando a função AddHours() da classe DateTime Java - Como retornar os índices dos itens selecionados em uma JList de seleção múltipla do Java Swing |
E-Books em PDF |
||||
|
||||
|
||||
Linguagens Mais Populares |
||||
|
1º lugar: Java |





