![]() |
|
|
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# ::: Windows Forms ::: DataGridView |
Como retornar a coluna da célula selecionada em um DataGridView do C# Windows FormsQuantidade de visualizações: 15130 vezes |
|
Muitas vezes precisamos obter a coluna atual de uma determinada célula selecionada no DataGridView. Isso pode ser feito obtendo-se o índice da coluna da célula selecionada e então fornecendo este índice para a propriedade Columns da classe DataGridView. O retorno será um objeto da classe DataGridViewColumn, que representa uma coluna no DataGridView. Podemos usar esta classe para obter o índice da coluna que contém a célula selecionada, percorrer todas as células de uma determinada coluna, etc. Veja um trecho de código no qual obtemos o DataGridViewColumn representando a coluna da célula selecionada:
private void button3_Click(object sender, EventArgs e){
// vamos obter a coluna da célula selecionada
DataGridViewColumn colunaAtual =
dataGridView1.Columns[dataGridView1.CurrentCell.ColumnIndex];
// vamos exibir o índice da coluna atual
int indice = colunaAtual.Index;
MessageBox.Show("O índice da coluna atual é: " + indice);
}
|
Revit C# ::: Dicas & Truques ::: Eixos - Grids |
Como criar eixos no Revit via programação usando a função Create() da classe Grid da Revit C# APIQuantidade de visualizações: 568 vezes |
|
Os eixos, ou grids, são linhas que auxiliam na construção de um projeto, ou seja, uma espécie de malha de linhas. Eles são mais utilizados quando se trabalha com elementos estruturais, para a locação de colunas e pilares. No Revit, os eixos podem ser verticais, horizontais, inclinados e até em forma de arcos. Para criá-los, vá na aba Arquitetura, seção Dados e localize o item Eixo (ou digite GR). Via programação nós podemos criar um eixo no Revit usando a função Create() da classe Grid da Revit C# API. Neste exemplo mostrarei, em detalhes, como isso pode ser feito. O primeiro passo é obter uma referência ao documento UI atual usando this.ActiveUIDocument. Após isso acessar o documento usando uidoc.Document. As coordenadas geométricas de início e fim do eixo são criadas como objetos da classe XYZ. Então, de posse das coordenadas, nós criamos um objeto Line usando a função Line.CreateBound(). Para finalizar nós usamos a função Grid.Create() para desenhar o eixo na área de desenho do Revit. Note como passamos o objeto Line e uma referência ao documento atual para esta função. Veja ainda o uso de uma Transaction para abrir uma transação do Revit, criar o elemento e fechá-la em seguida. Este exemplo criará um eixo com o LevelId -1, ou seja, no primeiro nível do documento. Em outras dicas dessa seção eu mostro como definir o nível para o grid recém-criado. Veja o código Revit C# API completo para o exemplo:
using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using Autodesk.Revit.DB;
using Autodesk.Revit.DB.Architecture;
using Autodesk.Revit.DB.Structure;
using Autodesk.Revit.UI;
using Autodesk.Revit.UI.Selection;
namespace Estudos {
[Autodesk.Revit.Attributes.Transaction(Autodesk.Revit.Attributes.
TransactionMode.Manual)]
[Autodesk.Revit.DB.Macros.AddInId("ED8EC6C4-9489-48F7-B04E-B45B5D1BEB12")]
public partial class ThisApplication {
private void Module_Startup(object sender, EventArgs e) {
// primeiro obtemos uma referência ao documento atual
UIDocument uidoc = this.ActiveUIDocument;
Document doc = uidoc.Document;
// criamos a linha geométrica para posicionar o eixo
// não se esqueça de converter metros para pés
XYZ inicio = new XYZ(0, -100, 0);
XYZ final = new XYZ(0, 100, 0);
// construímos a linha
Line linhaGeometrica = Line.CreateBound(inicio, final);
// iniciamos uma nova transação
using(Transaction t= new Transaction(doc)) {
t.Start("Criar um novo Grid");
// e criamos o novo eixo
Grid eixo = Grid.Create(doc, linhaGeometrica);
t.Commit();
// e mostramos o resultado
TaskDialog.Show("Aviso", "O novo eixo foi criado com o ID: " +
eixo.Id);
}
}
private void Module_Shutdown(object sender, EventArgs e) {
// para fazer alguma limpeza de memória ou algo assim
}
#region Revit Macros generated code
private void InternalStartup() {
this.Startup += new System.EventHandler(Module_Startup);
this.Shutdown += new System.EventHandler(Module_Shutdown);
}
#endregion
}
}
Ao executar este código Revit C# API teremos o seguinte resultado: O novo eixo foi criado com o ID: 49827 |
Java ::: Dicas & Truques ::: Strings e Caracteres |
Como excluir uma substring de uma string usando o método delete() da classe StringBuffer do Java - RevisadoQuantidade de visualizações: 7 vezes |
|
Em algumas situações nós gostaríamos de excluir parte de uma palavra ou texto, ou seja, remover uma substring de uma string. Para isso nós podemos usar o método delete() da classe StringBuffer da linguagem Java. Lembrando que a classe StringBuffer, do pacote java.lang, é usada em vez da classe String quando precisamos fazer muitas concatenações e adições ou remoções no conteúdo da string. Veja um exemplo de código no qual removemos parte do conteúdo de um StringBuffer:
package arquivodecodigos;
public class Estudos{
public static void main(String[] args){
StringBuffer frase = new StringBuffer("Gosto muito de Java");
// mostra o conteúdo original
System.out.println("Frase original: " + frase);
String remover = "muito ";
// vamos obter o índice inicial do conteúdo a ser removido
int pos = frase.indexOf(remover);
// e agora vamos remover
frase.delete(pos, pos + remover.length());
// com a remoção
System.out.println("Depois da remoção: " + frase);
System.exit(0);
}
}
Após a execução deste código nós teremos o seguinte resultado: Frase original: Gosto muito de Java Depois da remoção: Gosto de Java |
C# ::: Datas e Horas ::: DateTime |
Como usar a estrutura DateTime do C# em seus programasQuantidade de visualizações: 9906 vezes |
|
A estrutura DateTime representa um momento no tempo, geralmente expressado como uma data e hora do dia. O tipo DateTime representa datas e horas com valores na faixa de meia-noite do dia 1º de janeiro de 0001 Anno Domini (Common Era) até as 11:59:59 da noite do dia 31 de dezembro de 9999 A.D. (C.E.). Os valores de horas são medidos em unidades de 100 nanosegundos chamados de ticks e uma data em particular é o número de ticks desde a meia-noite do dia 1º de janeiro de 0001 A.D (C.E) no calendário Gregoriano (GregorianCalendar). Por exemplo, um valor de tick de 31241376000000000L representa a data 1º de janeiro de 0100 (sexta-feira) à meia-noite. O valor DateTime é sempre expresso no contexto de um calendário explícito ou padrão. Considerações sobre versões Em versões do .NET Framework anteriores à 2.0, a estrutura DateTime contém um campo de 64 bits composto de um campo de 2 bits não usados concatenados com um campo privado Ticks, que é um campo sem sinal de 62 bits que contém o número de ticks que representam a data e hora. O valor do campo Ticks pode ser obtido por meio da propriedade Ticks. A partir do .NET Framework 2.0, a estrutura DateTime contém um campo de 64 bits composto de um campo privado Kind concatenado com o campo Ticks. O campo Kind é um campo de 2 bits que indica se a estrutura DateTime representa uma hora local, uma hora UTC (Coordinated Universal Time) ou um hora em um fuso horário não especificado. O campo Kind é usado quando estamos efetuando conversões de horas entre fuso horários, mas, não é usado para comparações de datas e horas ou aritmética. O valor do campo Kind pode ser obtido por meio da propriedade Kind. É importante observar que uma alternativa ao uso da estrutura DateTime para se trabalhar com datas e horas em um fuso horário em particular é a estrutura DateTimeOffset. Esta estrutura guarda as informações de data e hora em um campo DateTime privado e o número de minutos pelos quais a data e hora diferem do horário UTC em um campo Int16 privado. Isso torna possível usarmos um valor DateTimeOffset para refletir as horas em um fuso horário em particular, enquanto um valor DateTime pode, sem causar confusão, refletir somente a hora UTC e do fuso horário local. Valores DateTime As descrições de valores de horas no tipo DateTime geralmente são expressas usando o padrão Coordinated Universal Time (UTC), que é o nome reconhecido internacionalmente para o Greenwich Mean Time (GMT). O Coordinated Universal Time é a hora de acordo com as medições em longitude de zero graus, ou seja, o ponto de origem UTC. Horários de verão não são aplicáveis ao UTC. A hora local é relativa a um determinado fuso horário. Um fuso horário está associado à diferença de fuso horário, que é o deslocamento do fuso horário medido em horas a partir do ponto de origem UTC. Além disso, a hora local é opcionalmente afetada pelo horário de verão, que adiciona ou subtrai uma hora à duração do dia. Consequentemente, a hora local é calculada adicionando-se a diferença de fuso horário ao UTC e ajustando o horário de verão se necessário. A diferença de fuso horário no ponto de origem UTC é zero. A hora UTC é ideal para cálculos, comparações e armazenamento de datas e horas em arquivos. A hora local é apropriada para a exibição em interfaces do usuário em aplicações desktop. Aplicações que são acessadas em diferentes fuso horários (tais com aplicações web) também precisam fornecer meios para a correta adequação a tais fuso horários. Veja um trecho de código no qual usamos a propriedade Now da estrutura DateTime para exibir a data e hora local no formato longo:
static void Main(string[] args){
// Data e hora atual
DateTime agora = DateTime.Now;
// exibe o resultado
System.Console.WriteLine("{0:F}", agora);
// pausa o programa
Console.ReadKey();
}
O resultado da execução deste código será algo parecido com: segunda-feira, 23 de fevereiro de 2008 19:54:46. |
Nossas 20 dicas & truques de programação mais populares |
Você também poderá gostar das dicas e truques de programação abaixo |
|
JavaScript - Como testar se uma string contém uma determinada substring em JavaScript usando a função includes() MySQL - Como adicionar horas ao valor de um campo DATETIME ou TIME usando a função ADDTIME() do MySQL |
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 |





