![]() |
|
|
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 Controls (Controles de Dados) ::: TDBGrid |
Como aplicar cores alternadas às linhas de um TDBGrid do Delphi (efeito zebrinha)Quantidade de visualizações: 9995 vezes |
|
Em algumas situações gostaríamos de aplicar o efeito zebrinha, ou seja, aplicar cores alternadas às linhas de um controle TDBGrid. Esta técnica é muito útil quando temos grids com várias linhas e queremos facilitar a visualização dos dados por parte dos usuários. A forma mais comum de se aplicar cores alternadas às linhas do DBGrid é por meio do evento OnDrawColumnCell. Veja o trecho de código abaixo:
procedure TForm3.DBGrid1DrawColumnCell(Sender: TObject; const Rect: TRect;
DataCol: Integer; Column: TColumn; State: TGridDrawState);
var
grid: TDBGrid;
linha: Integer;
begin
// obtém um referência ao DBGrid
grid := sender as TDBGrid;
// obtém o número da linha atual usando a propriedade
// RecNo da classe TDataSet
linha := grid.DataSource.DataSet.RecNo;
// o número da linha é par?
if Odd(linha) then
grid.Canvas.Brush.Color := clWhite
else
grid.Canvas.Brush.Color := clYellow;
// vamos terminar de desenhar a célula
grid.DefaultDrawColumnCell(Rect, DataCol, Column, State);
end;
Execute este código e verá que a primeira linha é pintada de branco, a segunda de amarelo, a terceira de branco e assim por diante. Note que neste código eu não tratei a seleção de células, na qual a cor do texto se iguala ao branco do fundo da célula. Veja mais dicas nesta seção para saber como realizar esta tarefa você mesmo. Esta dica foi escrita e testada no Delphi 2009. |
Java ::: Desafios e Lista de Exercícios Resolvidos ::: Java Básico |
Exercícios Resolvidos de Java - Como somar o primeiro e o último dígito de um número inteiro informado pelo usuário em JavaQuantidade de visualizações: 1254 vezes |
|
Pergunta/Tarefa: Escreva um programa Java que pede para o usuário informar um número inteiro e mostre a soma do primeiro dígito com o último dígito. Atenção: você deve usar apenas os operadores matemáticos e a função log10(). Sua saída deverá ser parecida com: Informe um número inteiro: 48763 A soma do primeiro e do último dígito é: 7 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[]){
// vamos usar a classe Scanner para a leitura dos dados
Scanner entrada = new Scanner(System.in);
// vamos pedir para o usuário informar um número inteiro
System.out.print("Informe um número inteiro: ");
int numero = Integer.parseInt(entrada.nextLine());
// vamos obter a quantidade (-1) de dígitos no número informado
int quant = (int)Math.log10(numero);
int primeiro_digito = (int)(numero / Math.pow(10, quant));
int ultimo_digito = numero % 10;
// soma o primeiro e o último dígito
int soma = primeiro_digito + ultimo_digito;
// mostra o resultado
System.out.println("A soma do primeiro e do último dígito é: " + soma);
}
}
|
Java ::: Fundamentos da Linguagem ::: Tipos de Dados |
Como usar o tipo de dados char da linguagem JavaQuantidade de visualizações: 25909 vezes |
O tipo de dados char é usado para representar um único caractere. Veja:
public class Estudos{
public static void main(String args[]){
char letra1 = 'A';
char letra2 = 'B';
System.out.println("As letras são: "
+ letra1 + " e " + letra2);
System.exit(0);
}
}
Observe que um literal string deve estar entre aspas duplas, enquanto que um literal do tipo caractere deve estar entre aspas simples. Desta forma, "H" é uma string e 'H' é um caractere. O tipo char é integral mas sem sinal. A faixa de uma variável deste tipo vai de 0 à 65536. Os caracteres em Java são codificados em Unicode, que é um codificação de 16 bits capaz de representar uma larga faixa de caracteres internacionais. Se os 9 bits mais significantes de um char forem todos 0, então a codificação será a mesma que o ASCII de 7 bits. É possível atribuir literais inteiros à uma variável do tipo char. Veja:
public class Estudos{
public static void main(String args[]){
char letra = 98;
System.out.println("A letra é: "
+ letra);
System.exit(0);
}
}
Este código exibirá o caractere 'b'. Veja um exemplo no qual imprimimos todas as letras do alfabeto minúsculo:
public class Estudos{
public static void main(String args[]){
for(char i = 97; i <= 122; i++){
System.out.print(i + " ");
}
System.exit(0);
}
}
O tipo char pode ser convertido (sem a necessidade de cast) para os seguintes tipos: char -> int -> long -> float -> double Não é possível converter um char em um short ou byte. Caso isso seja realmente necessário, temos que fazer uma coerção (cast). Veja:
public class Estudos{
public static void main(String args[]){
char letra = 57;
byte valor = (byte)(letra);
System.exit(0);
}
}
É fácil entender porque um char não pode ser convertido implicitamente em um byte. Um char possui 16 bits enquanto um byte possui apenas 8 bits. Mas, um short possui 16 bits. Assim, o que impede a conversão implicita de um char para um short? É simples. Como o tipo short possui sinal (aceita valores negativos) e o tipo char é sem sinal, o resultado é que o tipo short possui um bit a menos (reservado para o sinal) e portanto, não pode acomodar os 16 bits do tipo char. |
Firebird ::: Dicas & Truques ::: Tipos de Dados |
Como usar o tipo de dados BLOB do Firebird para a gravação de imagens, vídeos e arquivos de músicaQuantidade de visualizações: 19498 vezes |
|
Um BLOB é um tipo de dados que permite armazenar grandes informações no formato binário (Binary Large OBject). Campos deste tipo podem conter dados binários ou ASCII, por exemplo, grandes arquivos de texto, documentos para o processamento de dados, arquivos de programas CAD, imagens e gráficos, vídeos, arquivos de música, etc. O tamanho de um BLOB é quase ilimitado, uma vez que eles podem ser armazenados utilizando-se várias páginas. Isso assume, contudo, que um tamanho de página suficiente tenha sido fornecido para a base de dados. Por exemplo, usando uma página de 1kb, o tamanho do BLOB não pode exceder 0,5Gb. Se usarmos um tamanho de página de 4Kb, o tamanho do BLOB está limitado a 8Gb. O Firebird suporta dois tipos pré-definidos de BLOB, diferenciados pelo atributo sub-type (palavra-chave SQL SUB_TYPE): a) BLOB SUB_TYPE 0 - Este é o tipo BLOB genérico para o armazenamento de qualquer tipo de dados, incluindo texto. Geralmente chamado de "BLOB binário sem registro de tipo". b) BLOB SUB_TYPE 1 (BLOB SUB_TYPE TEXT) - Sub-tipo mais especializado para o armazenamento de texto puro. É equivalente aos tipos CLOB e MEMO implementados em alguns bancos de dados (DBMS). É recomendado para uso com interfaces de aplicações tais como componentes RAD ou motores de pesquisa que fornecem um tratamento especial para tais tipos. Veja um comando DDL CREATE TABLE que cria uma tabela contendo um campo do tipo BLOB (usando o sub-tipo text): CREATE TABLE COMPROMISSOS ( ID INTEGER NOT NULL, DESCRICAO BLOB SUB_TYPE 1 SEGMENT SIZE 4096 NOT NULL, DATA_HORA TIMESTAMP NOT NULL ); Aqui nós temos uma tabela com três campos: ID é do tipo INTEGER, DESCRICAO é do tipo BLOB com o sub-tipo 1 e DATA_HORA é do tipo TIMESTAMP. Veja agora um comando DML INSERT INTO que insere um registro nesta tabela: INSERT INTO COMPROMISSOS VALUES(10, 'REUNIÃO COM CLIENTE - SÃO PAULO', '2010-12-02 12:30:00'); Note que os valores para campos do tipo BLOB devem ser fornecidos entre aspas simples. Agora, veja um comando SQL DML SELECT que lista o registro inserido anteriormente: SELECT * FROM COMPROMISSOS; Este comando vai gerar o seguinte resultado: ID DESCRICAO DATA_HORA 10 REUNIÃO COM CLIENTE - SÃO PAULO 2/12/2010 12:30:00 |
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 |
|
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 |




