![]() |
|
|
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. |
||
Delphi ::: Data Access Controls (Controles de Acesso a Dados) ::: TClientDataSet |
Como tornar o TClientDataSet do Delphi somente leitura usando a propriedade ReadOnlyQuantidade de visualizações: 12266 vezes |
|
Em algumas situações gostaríamos que um TClientDataSet fosse somente leitura, ou seja, não queremos permitir inserção, atualização ou exclusão dos dados do dataset. Para isso podemos usar a propriedade ReadOnly. Se seu valor for True, os dados do TClientDataSet serão apenas para leitura. Se o valor for False, os dados podem ser modificados e/ou novos dados podem ser inseridos no dataset. O valor padrão é False. Em tempo de design a propriedade ReadOnly do TClientDataSet pode ser ajustada selecionando-se o componente no formulário e acessando o Object Inspector. Em tempo de execução esta propriedade pode ser ajustada por meio do seguinte trecho de código: procedure TForm3.Button3Click(Sender: TObject); begin // vamos tornar o TClientDataSet somente leitura ClientDataSet1.ReadOnly := True; end; Se necessário, podemos obter o valor desta propriedade em tempo de execução da seguinte forma:
procedure TForm3.Button3Click(Sender: TObject);
begin
// vamos verificar se o TClientDataSet é somente leitura
if ClientDataSet1.ReadOnly then
ShowMessage('O ClientDataSet é somente leitura')
else
ShowMessage('O ClientDataSet NÃO é somente leitura')
end;
Ao executarmos este código e clicarmos no botão teremos uma mensagem parecida com: "O ClientDataSet NÃO é somente leitura". É importante observar que se tentarmos efetuar alguma operação que modifica o conteúdo de um TClientDataSet somente leitura nós teremos uma exceção do tipo: Project Project2.exe raised exception class EDatabaseError with message 'ClientDataSet1': Cannot modify a read-only dataset'. Quando ajustamos o valor da propriedade ReadOnly para True, automaticamente a propriedade CanModify do dataset é ajustada para False. Importante: Mesmo que o valor da propriedade ReadOnly seja False, os usuários ainda podem ser impedidos de modificar os dados de um client dataset se este obtém seus dados a partir de um provider (por exemplo: TDataSetProvider). A propriedade Options do provider pode limitar se os dados podem ser editados e, se puderem, os tipos de alterações permitidos. Esta dica foi escrita e testada no Delphi 2009. |
Java ::: Desafios e Lista de Exercícios Resolvidos ::: Arrays e Matrix (Vetores e Matrizes) |
Exercícios Resolvidos de Java - Escreva um programa Java para mover todos os zeros para o final do vetor, sem alterar a ordem dos elementos já presentes no arrayQuantidade de visualizações: 889 vezes |
|
Pergunta/Tarefa: Dado o seguinte vetor de inteiros:
// vamos declarar e construir um vetor de 8 inteiros
int valores[] = {0, 3, 0, 5, 7, 4, 0, 9};
Sua saída deverá ser parecida com: Vetor na ordem original: 0 3 0 5 7 4 0 9 Vetor com os zeros deslocados para o final: 3 5 7 4 9 0 0 0 Veja a resolução comentada deste exercício usando Java:
package exercicio;
public class Exercicio {
public static void main(String[] args) {
// vamos declarar e construir um vetor de 8 inteiros
int valores[] = {0, 3, 0, 5, 7, 4, 0, 9};
// vamos mostrar o vetor na ordem original
System.out.println("Vetor na ordem original:\n");
for(int i = 0; i < valores.length; i++){
System.out.print(valores[i] + " ");
}
// vamos inicializar j como 0 para que ele aponte para
// o primeiro elemento do vetor
int j = 0;
// agora o laço for percorre todos os elementos do vetor,
// incrementanto a variável i e deixando o j em 0
for(int i = 0; i < valores.length; i++){
// encontramos um valor que não é 0
if(valores[i] != 0){
// fazemos a troca entre os elementos nos índices
// i e j
int temp = valores[i];
valores[i] = valores[j];
valores[j] = temp;
// e avançamos o j para o elemento seguinte
j++;
}
}
// agora mostramos o resultado
System.out.println("\n\nVetor com os zeros deslocados para o final:\n");
for(int i = 0; i < valores.length; i++){
System.out.print(valores[i] + " ");
}
System.out.println();
}
}
Não se esqueça: A resolução do exercício deve ser feita sem a criação de um vetor, array ou lista adicional, e os elementos diferentes de zero devem permanecer na mesma ordem que eles estavam antes. |
Dart ::: Dicas de Estudo e Anotações ::: Estruturas de Controle |
Como usar if...else em Dart - Como usar a estrutura condicional if... else if... else da linguagem DartQuantidade de visualizações: 3643 vezes |
|
Na maioria das linguagens de programação, a estrutura condicional if... else if... else é usada para testar condições e, baseado no resultado dos testes, desviar o fluxo de execução do algorítmo. Veja um exemplo no qual pedimos para o usuário digitar um valor inteiro e efetuamos um teste para saber se o valor é maior que 10:
// Vamos importar a biblioteca dart:io
import 'dart:io';
void main() {
// vamos pedir para o usuário digitar um valor inteiro
stdout.write("Digite um número inteiro: ");
// vamos converter a entrada do usuário para um inteiro e
// e guardar na variavel valor
int valor = int.parse(stdin.readLineSync());
// vamos verificar se o valor lido é maior que 10
if (valor > 10) {
print("O valor é maior que 10.");
} else {
// não é maior que 10
print("O valor não é maior que 10.");
}
}
Este código produz as seguintes saídas: c:\estudos_dart>dart condicional_if_else.dart Digite um número inteiro: 4 O valor não é maior que 10. c:\estudos_dart>dart condicional_if_else.dart Digite um número inteiro: 10 O valor não é maior que 10. c:\estudos_dart>dart condicional_if_else.dart Digite um número inteiro: 15 O valor é maior que 10. Note que testamos apenas um condição e já desviamos para o else caso ela não seja satisfeita. A linguagem Dart nos permite usar if...else aninhados. Veja:
// Vamos importar a biblioteca dart:io
import 'dart:io';
void main() {
// vamos pedir para o usuário digitar um valor inteiro
stdout.write("Digite um número inteiro: ");
// vamos converter a entrada do usuário para um inteiro e
// e guardar na variavel valor
int valor = int.parse(stdin.readLineSync());
// vamos verificar se o valor lido é maior que 10
if (valor > 10) {
print("O valor é maior que 10.");
} else if (valor == 10) {
// é igual a 10
print("O valor é igual a 10.");
} else {
// é menor que 10
print("O valor é menor que 10.");
}
}
Execute este código, digite um valor inteiro e observe seu comportamento. |
JavaScript ::: Dicas & Truques ::: Data e Hora |
Como retornar o dia do mês em JavaScript usando a função getDate() do objeto DateQuantidade de visualizações: 1065 vezes |
A função getDate() do objeto Date da linguagem JavaScript nos permite obter o dia do mês como um valor inteiro na faixa de 1 à 31. Veja abaixo um exemplo de seu uso:
<!doctype html>
<html>
<head>
<title>O objeto Date do JavaScript</title>
</head>
<body>
<script type="text/javascript">
// vamos obter a data atual
var data = new Date();
// vamos obter o dia da data atual
var dia = data.getDate();
// Vamos exibir o resultado
document.write("O dia do mês é: " + dia);
</script>
</body>
</html>
Ao executar este código JavaScript nós teremos o seguinte resultado: O dia do mes é: 5 |
Nossas 20 dicas & truques de programação mais populares |
|
JavaScript - Como exibir apenas dois dígitos após o ponto decimal em JavaScript usando a função toFixed() do objeto Number Delphi - Como carregar uma imagem JPG, convertê-la em Bitmap e desenhá-la no formulário usando Delphi Python - Como inserir uma determinada quantidade de espaços à esquerda de um valor numérico usando Python |
Você também poderá gostar das dicas e truques de programação abaixo |
|
Delphi - Como usar o Delphi para verificar se um determinado processo do Windows está sendo executado |
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 |





