![]() |
|
|
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. |
||
C# ::: Dicas & Truques ::: Arquivos e Diretórios |
Como usar a classe FileSystemWatcher em seus programas C#Quantidade de visualizações: 9195 vezes |
|
Podemos usar objetos da classe FileSystemWatcher quando queremos monitorar mudanças em um determinado diretório do sistema. Estas alterações podem ser observadas em arquivos e subdiretórios do diretório especificado. Usando objetos desta classe nós podemos monitorar modificações em arquivos no computador local, em um drive na rede ou em um computador remoto. Veja a posição desta classe na hierarquia de classes da plataforma .NET:
System.Object
System.MarshalByRefObject
System.ComponentModel.Component
System.IO.FileSystemWatcher
Para adicionar um componente FileSystemWatcher em sua aplicação C# basta localizá-lo na seção Components da Toolbox. Em seguida clique no mesmo e arraste-o para o formulário. Para definir o diretório a ser monitorado, clique no componente, acesse suas propriedades e defina o caminho do diretório na propriedade Path. Um exemplo de diretório poderia ser "C:\arquivo de codigos". Neste exemplo veremos como detectar alterações nos arquivos e sub-diretórios. Desta forma, vá nos eventos do componente FileSystemWatcher e insira o código abaixo para o evento Changed:
private void fileSystemWatcher1_Changed(object sender,
FileSystemEventArgs e){
// vamos verificar o que foi modificado neste diretório
textBox1.AppendText("Arquivo: " + e.FullPath + " sofreu alterações: " +
e.ChangeType + Environment.NewLine);
}
Execute a aplicação e experimente criar um arquivo txt no diretório "C:\arquivo de códigos" e modificar seu conteúdo várias vezes. Volte à aplicação e a caixa de texto terá um conteúdo parecido com: Arquivo: C:\arquivo de codigos\dados2.txt sofreu alterações: Changed Arquivo: C:\arquivo de codigos\dados2.txt sofreu alterações: Changed |
C# ::: Dicas & Truques ::: Validação de Dados |
C# Windows Forms - Como validar o conteúdo de uma caixa de texto usando o evento Validating da classe ControlQuantidade de visualizações: 18262 vezes |
|
O evento Validating (disponível para todas as classes que herdam de System.Windows.Forms.Control) é muito útil quando precisamos verificar a validade dos valores inseridos nos controle Windows Forms. Neste exemplo mostrarei como usá-lo para validar o conteúdo de um TextBox. Aqui veremos como verificar se o conteúdo inserido é um valor inteiro válido. Tudo começa com a propriedade CausesValidation da classe Control. Esta propriedade nos permite definir se o controle provocará uma validação de seus dados quando o mesmo estiver prestes a perder o foco, ou seja, o usuário começara a interagir com outro controle após inserir dados no controle alvo da validação. Se o valor desta propriedade for true a validação ocorrerá. Em seguida voltamos nossa atenção para o evento Validating (também declarado originalmente na classe Control). Este evento é disparado quando a propriedade CausesValidation é true e o controle está prestes a perder o foco (o usuário está saindo para interagir com outro controle). Veja a ordem dos eventos quando estamos saindo do controle usando o teclado: a) Leave b) Validating c) Validated d) LostFocus Se estivermos saindo do controle usando o mouse (clicando em outro controle), a ordem é: a) Leave b) Validating c) Validated Veja um exemplo do uso do evento Validating de um TextBox:
private void textBox1_Validating(object sender, CancelEventArgs e){
MessageBox.Show("Meu conteúdo pode ser validado agora");
}
Experimente executar este código, coloque o foco na caixa de texto e depois "saia" para outro componente. Você verá a caixa de mensagem ser exibida. O tratador de evento Validating recebe um objeto da classe CancelEventArgs. Esta classe possui apenas uma propriedade chamada Cancel. Se o valor desta propriedade for definido como true, o evento Validating (e todos que viriam após ele) é cancelado. Isso faz com que o foco fique preso no controle até que o usuário informe o valor correto. Veja:
private void textBox1_Validating(object sender, CancelEventArgs e){
// vamos verificar se a caixa de texto contém um valor inteiro válido
try{
// vamos tentar converter o texto recebido em um valor inteiro
int valor = Int32.Parse(textBox1.Text);
MessageBox.Show("Validação ocorreu com sucesso!");
}
catch(FormatException fe){
// não conseguimos converter o texto em um valor inteiro
MessageBox.Show("Valor inválido! Tente novamente! " +
fe.Message.ToString());
// limpamos a caixa de texto
textBox1.Text = "";
// e "prendemos" o foco na caixa de texto
e.Cancel = true;
}
}
Neste trecho de código nós usamos um bloco try...catch para tentar converter o texto do TextBox em um valor inteiro. Se houver falha na conversão nós avisamos o usuário, limpamos a caixa de texto e forçamos o usuário a fazer a correção. Para finalizar, entra em cena o evento Validated. Este evento é disparado imediatamente após o evento Validating finalizar sua parte e é um bom lugar para avisarmos o usuário sobre o sucesso da validação ou remover quaisquer efeito visual que tenhamos inserido durante o processo de validação. Veja:
private void textBox1_Validating(object sender, CancelEventArgs e){
// vamos verificar se a caixa de texto contém um valor inteiro válido
try{
// vamos tentar converter o texto recebido em um valor inteiro
int valor = Int32.Parse(textBox1.Text);
}
catch(FormatException fe){
// não conseguimos converter o texto em um valor inteiro
MessageBox.Show("Valor inválido! Tente novamente! " +
fe.Message.ToString());
// limpamos a caixa de texto
textBox1.Text = "";
// e "prendemos" o foco na caixa de texto
e.Cancel = true;
}
}
private void textBox1_Validated(object sender, EventArgs e){
MessageBox.Show("Validação ocorreu com sucesso!");
}
Veja que tudo que fizemos aqui foi remover a mensagem de sucesso de validação do evento Validating para o evento Validated. |
C ::: Desafios e Lista de Exercícios Resolvidos ::: Geometria Analítica e Álgebra Linear |
Exercício Resolvido de C - Como calcular o quadrante de uma coordenada cartesiana em CQuantidade de visualizações: 2153 vezes |
|
Pergunta/Tarefa: O Plano Cartesiano, ou Sistema de Coordenadas Cartesianas, é formado por duas retas reais perpendiculares, ou seja, o ângulo entre elas é de 90 graus. Essas retas determinam um único plano, que é denominado como sistema ortogonal de coordenadas cartesianas ou somente plano cartesiano. No ano de 1637, René Descartes teve a brilhante ideia de relacionar álgebra e geometria, dando início à conhecida geometria analítica, método que possibilita descrever a geometria utilizando uma menor quantidade de diagramas e desenhos. Apesar de os créditos dessa descoberta serem dados a Descartes, Pierre de Fermat já conhecia e utilizava alguns conceitos de geometria analítica, logo o plano cartesiano. Há quatro quadrantes no Sistema de Coordenadas Cartesianas, conforme a figura a seguir: ![]() Como podemos ver, no primeiro quadrante, tanto o x quanto o y são positivos. No segundo quadrante o x é negativo e o y é positivo. No terceiro quadrante, tanto o x quanto o y são negativos. Por fim, no quarto quadrante, o x é positivo e o y é negativo. Escreva um programa C que pede para o usuário informar os valores x e y de uma coordenada cartesiana e informe em qual quadrante essa coordenada se situa. Se os valores de x e y forem zero, informe que o ponto se situa na origem do plano cartesiano. Sua saída deverá ser parecida com: Informe o valor x da coordenada: 12 Informe o valor y da coordenada: -7 A coordenada (12,-7) está no Quarto Quadrante (+,-) Veja a resolução comentada deste exercício em C:
#include <stdio.h>
#include <stdlib.h>
#include <locale.h>
// função principal do programa
int main(int argc, char *argv[]){
// variáveis usadas na resolução do problema
int x, y;
setlocale(LC_ALL,""); // para acentos do português
// vamos pedir para o usuário informar as coordenadas
printf("Informe o valor x da coordenada: ");
scanf("%d", &x);
printf("Informe o valor y da coordenada: ");
scanf("%d", &y);
// a coordenada está no primeiro quadrante?
if (x > 0 && y > 0){
printf("A coordenada (%d,%d) está no Primeiro Quadrante (+,+)", x, y);
}
// a coordenada está no segundo quadrante?
else if (x < 0 && y > 0){
printf("A coordenada (%d,%d) está no Segundo Quadrante (-,+)", x, y);
}
// a coordenada está no terceiro quadrante?
else if (x < 0 && y < 0){
printf("A coordenada (%d,%d) está no Terceiro Quadrante (-,-)", x, y);
}
// a coordenada está no quarto quadrante?
else if (x > 0 && y < 0){
printf("A coordenada (%d,%d) está no Quarto Quadrante (+,-)", x, y);
}
// a coordenada está na origem
else{
printf("A coordenada (%d,%d) está na origem", x, y);
}
printf("\n\n");
system("PAUSE");
return 0;
}
|
Java ::: Desafios e Lista de Exercícios Resolvidos ::: Laços de Repetição |
Exercícios Resolvidos de Java - Um laço for que conta de 10 até 0Quantidade de visualizações: 10863 vezes |
|
Pergunta/Tarefa: Neste exercício você deverá modificar o Exercício Resolvido 1. Agora você deverá usar o laço for para contar de 10 até 0, ou seja, o inverso do exercício anterior. Novamente você deverá fazer dois exemplos. No primeiro você deverá escrever os valores na horizontal e no segundo você deverá escrever os valores na vertical: Resposta/Solução: Veja o código que usa o laço for para contar de 10 até 0 e exibir os valores na horizontal:
public static void main(String[] args){
// laço for que conta de 10 até e exibe os valores na horizontal
for(int i = 10; i >= 0; i--){
System.out.print(i + " ");
}
}
Quando você executar este código, os valores deverão ser impressos da seguinte forma: 10 9 8 7 6 5 4 3 2 1 0 Agora, veja a modificação que faz com que os valores sejam impressos na vertical:
public static void main(String[] args){
// laço for que conta de 10 até 0 e exibe os valores na vertical
for(int i = 10; i >= 0; i--){
System.out.println(i + " ");
}
}
Agora os valores serão exibidos da seguinte forma: 10 9 8 7 6 5 4 3 2 1 0 |
Nossas 20 dicas & truques de programação mais populares |
|
JavaScript - Como calcular a equação reduzida da reta em JavaScript dados dois pontos pertencentes à reta |
Você também poderá gostar das dicas e truques de programação abaixo |
|
Delphi - Como retornar o índice do item selecionado em um ComboBox do Delphi usando a propriedade ItemIndex Android Java - Como usar o método startActivity() da classe Activity ou AppCompatActivity do Android para mudar de telas |
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 |





