Revit Python Shell ::: Dicas & Truques ::: Selection, Seleção

Como pedir para o usuário selecionar somente um elemento no Revit usando a função PickObject() do objeto Selection do Revit Python Shell

Quantidade de visualizações: 319 vezes
Nesta dica mostrarei como podemos usar a função PickObject() do objeto Selection do Revit Python Shell para pedir para o usuário selecionar somente um elemento na área de desenho do Revit. Note que o objeto Selection é obtido a partir do objeto uidoc, carregado automaticamente pelo Revit Python Shell.

Depois que o usuário seleciona o elemento, nós usamos a função doc.GetElement() para receber a referência ao elemento e convertê-la para um elemento real. Então, para finalizar, nós acessamos a propriedade Id do elemento e a exibimos na tela.

Veja o código Revit Python Shell completo para o exemplo:

# faz o import necessário
from Autodesk.Revit.UI.Selection import ObjectType

# precisamos ocultar a janela do Revit Python Shell
__window__.Hide()
 
# agora fazemos uma chamada à função PickObject() do objeto Selection e retornamos
# uma Reference
selecionado = uidoc.Selection.PickObject(ObjectType.Element, "Selecione um elemento")
 
# depois que o usuário fizer a seleção nós mostramos a janela do
# Revit Python Shell novamente
__window__.Show()
__window__.Topmost = True
 
# obtemos o elemento a partir de sua referência usando a função
# GetElement() do objeto Document
elemento = doc.GetElement(selecionado)
 
# e mostramos o resultado
print("O id do elemento selecionado é: {0}".format(elemento.Id))

Ao executar este código Revit Python Shell nós teremos o seguinte resultado:

O id do elemento selecionado é: 359410

Veja como usei as funções __window__.Hide(), __window__.Show() e __window__.Topmost = True para ocultar a janela do Revit Python Shell e exibí-la novamente depois que o usuário fizer a seleção do elemento. Sem essas funções essa operação não pode ser realizada.


Java ::: Dicas & Truques ::: Arquivos e Diretórios

Manipulação de arquivos em Java - Como ler o conteúdo de um arquivo um byte de cada vez

Quantidade de visualizações: 11144 vezes
Nesta dica mostrarei como ler texto de um arquivo um byte
de cada vez. Para isso vamos usar o método readByte() da classe DataInputStream, do pacote java.io. Note que este método retorna um inteiro com sinal na faixa de -128 até 127.

Neste exemplo faremos um cast do byte lido para um char, já que estaremos lendo um arquivo de texto. Sim, é isso mesmo que você pensou. Se houver caracteres acentuados no arquivo texto, os mesmo não serão exibidos corretamente. A idéia do exemplo é mostrar o funcionamento do método readByte().

Veja o código Java completo:

package arquivodecodigos;

import java.io.*;
 
public class Estudos{
  public static void main(String[] args){
    try {
      DataInputStream in = new DataInputStream(new BufferedInputStream(
        new FileInputStream("C:\\java\\conteudo.txt")));
         
      while (in.available() != 0){
        System.out.print((char) in.readByte());
      }
    } 
    catch (IOException e){
      System.out.println("Erro: " + e.getMessage());
    }
 
    System.exit(0);
  }
}

Ao executarmos este código nós teremos o seguinte resultado:

Primeira linha do arquivo
Segunda linha do arquivo
Terceira linha do arquivo


C++ ::: Dicas & Truques ::: Arrays e Matrix (Vetores e Matrizes)

Vetores e matrizes em C++ - Como passar vetores e matrizes para as suas funções C++

Quantidade de visualizações: 12214 vezes
Muitas vezes precisamos passar um vetor ou uma matriz C++ para nossas funções. O trecho de código abaixo mostra como isso é feito. Observe que a passagem de uma matriz para uma função é feita por referência, ou seja, qualquer alteração nos valores da matriz dentro do método será refletida na matriz original:

#include <iostream>
 
using namespace std;
 
// função usada para exibir os valores
// da matriz
void exibir_matriz(int matriz[], int quant)
{
  for(int i = 0; i < quant; i++){
    cout << matriz[i] << endl;
  }
}
 
int main(int argc, char *argv[])
{
  // cria uma matriz com 5 inteiros
  int valores[] = {54, 3, 89, 6, 1};
 
  // passa a matriz para a função exibir_matriz()
  // veja que temos que enviar também a quantidade
  // de elementos
  exibir_matriz(valores, 5);
 
  system("PAUSE"); // pausa o programa
  return 0;
}

Ao executar este código C++ nós teremos o seguinte resultado:

54
3
89
6
1


VB.NET ::: Fundamentos da Linguagem ::: Estruturas de Controle

Como usar o condicional If...Then e If...Then...Else em VB.NET

Quantidade de visualizações: 18146 vezes
Uma das estruturas condicionais mais usadas em VB.NET é o If...Then. Esta estrutura avalia uma condição e executa um bloco de códigos baseado no resultado. Veja um exemplo:

Dim valor As Integer = 10

If valor > 9 Then
  Console.WriteLine("Valor é maior que 10")
End If

Há casos em que queremos que um bloco de códigos seja também executado caso a condição avaliada retorne um valor falso. Para isso podemos usar a estrutura If...Then...Else. Veja:

Dim valor As Integer = 10

If valor > 10 Then
  Console.WriteLine("Valor é maior que 10")
Else
  Console.WriteLine("Valor é menor ou igual a 10")
End If

Veja agora como é possível testarmos três condições:

Dim valor As Integer = 10

If valor > 10 Then
  Console.WriteLine("Valor é maior que 10")
ElseIf valor < 10 Then
  Console.WriteLine("Valor é menor que 10")
Else
  Console.WriteLine("Valor é igual a 10")
End If

Todos os testes efetuados em uma estrutura If precisam retornar um valor True ou False. Veja como isso é verdade no trecho de código a seguir:

Dim valor As Integer = 15

If (valor > 10) = True Then
  Console.WriteLine("Valor é maior que 10")
End If

Veja que usamos parênteses ao redor da condição para deixar claro a quem ler nosso código, que a condição é testada e só então seu resultado é comparado com a palavra-chave True. Podemos usar mais parênteses. Veja:

Dim valor As Integer = 15

If ((valor > 10) = True) Then
  Console.WriteLine("Valor é maior que 10")
End If

O compilador nunca reclama dos parênteses. Podemos usá-los à vontade para tornar o código mais légivel.


PHP ::: Dicas & Truques ::: Geometria, Trigonometria e Figuras Geométricas

Como calcular o diâmetro, a circunferência e a área de um círculo dado o raio em PHP - PHP para Geometria

Quantidade de visualizações: 1954 vezes
O círculo é uma figura geométrica plana e que possui quatro características: seu raio, seu diâmetro, sua circunferência e sua área. Aqui já podemos aproveitar e relembrar a diferença entre o círculo e a circunferência. O círculo é o conjunto de pontos resultantes da união entre uma circunferência e seus pontos internos, ou seja, o círculo é a área cuja delimitação é uma circunferência.

É importante observar que alguns autores tratam o círculo como uma circunferência. Assim, para estes autores, calcular a circunferência de um círculo equivale a calcular o perímetro da circunferência.

Veja a figura a seguir para relembrar o que é o raio de um círculo:



Nesta dica mostrarei como podemos usar PHP para calcular o diâmetro, a circunferência e a área de um círculo tendo apenas o raio como informação. Antes, porém, vamos às formulas. Sabendo que r é o raio, temos:

\[\text{Diâmetro d} = 2 \times r \]

\[\text{Circunferência C} = 2 \times \pi \times r \]

\[\text{Área A} = \pi \times r^2 \]

Agora vamos ver o código PHP que solicita ao usuário que informe o raio do círculo e mostra o diâmetro, a circunferência e a área:

<?php
  // para executar abra uma janela de comando
  // cmd e dispare o comando abaixo:
  // C:\xampp\php>php c:\estudos_php\estudos.php
   
  // para ler a entrada do usuário
  $entrada = fopen("php://stdin","r");
  
  // vamos ler o raio do círculo
  echo "Informe o raio do círculo: ";
  $raio = trim(fgets($entrada));
  
  // vamos achar o diâmetro do círculo
  $diametro = 2 * $raio;
  // agora calculamos a circunferência
  $circunferencia = 2 * pi() * $raio;
  // finalmente calculamos a área do círculo
  $area = pi() * pow($raio, 2);
    
  // vamos mostrar os resultados
  echo "O diâmetro do círculo é: " . $diametro . "\n";
  echo "A circunferência do círculo é: " . $circunferencia . "\n";
  echo "A área do círculo é: " . $area;  
?>

Ao executar este código PHP nós teremos o seguinte resultado:

Informe o raio do círculo: 10
O diâmetro do círculo é: 20.0
A circunferência do círculo é: 62.83185307179586
A área do círculo é: 314.1592653589793

Lembre-se de que a área é em centímetros quadrados, metros quadrados, etc.


Java ::: Estruturas de Dados ::: Lista Ligada Simples

Estruturas de Dados em Java - Como inserir nós no final de uma lista singularmente ligada em Java

Quantidade de visualizações: 8149 vezes
Esta dica mostra como inserir nós no final de uma lista singularmente ligada. A classe usada para representar cada nó é a seguinte (No.java):

// classe No
public class No{
  public int valor;
  public No proximo;
}
// fim da classe No

Note que cada nó contém apenas um valor inteiro e um ponteiro para o próximo nó. Ao analisar o código você perceberá que tanto a inserção no final quanto a exibição dos nós são feitas usando métodos. Isso permitirá o reaproveitamento deste código em suas próprias implementações. Vamos ao código para a lista singularmente ligada (Lista.java):

public class Lista {
    No inicio, fim; // início e fim da lista

    // método que permite exibir os valores de
    // todos os nós da lista
    public void exibir() {
        // vamos obter uma referência ao início da lista
        No no = inicio;

        if (no != null) { // a lista não está vazia
            while (no != null) { // enquanto a lista não estiver vazia
                System.out.println(no.valor);
                no = no.proximo; // pula para o nó seguinte
            }
        } 
        else {
            System.out.println("A lista está vazia\n\n");
        }
    }

    // método que permite inserir nós no
    // final da lista.
    // veja que o método recebe o valor a ser
    // armazenado em cada nó
    public void inserirFinal(int v) {
        No novo = new No(); // cria um novo nó
        novo.valor = v;
        // é o nó no final, portanto não deverá apontar para nenhum
        // outro nó
        novo.proximo = null;

        // verifica se a lista está vazia
        if (inicio == null) {
            // novo aponta para o novo nó
            inicio = novo;
            // final deve apontar para o novo nó também
            fim = novo;
        } 
        else { // não está vazia....vamos inserir o nó no final da lista
            // o campo próximo do último nó aponta para o nó recém-criado
            fim.proximo = novo;
            // o campo fim aponta para o novo nó...o campo inicio permanece igual
            fim = novo;
        }
    }
}

Compile as classes No.java e Lista.java e vamos escrever um aplicativo de teste (Main.java):

public class Main {
    public static void main(String[] args) {
        // vamos criar uma nova lista
        Lista lista = new Lista();

        // vamos inserir quatro valores no
        // finalo da lista
        lista.inserirFinal(45);
        lista.inserirFinal(3);
        lista.inserirFinal(98);
        lista.inserirFinal(17);

        // exibe os valores na lista
        lista.exibir();
    }
}

Ao executar o aplicativo teremos o seguinte resultado:

45
3
98
17



C# ::: Windows Forms ::: DataGridView

Como ocultar ou exibir uma determinada coluna do DataGridView do C# Windows Forms

Quantidade de visualizações: 13875 vezes
Em algumas situações precisamos ocultar ou exibir determinadas colunas do DataGridView. Isso pode ser feito definindo-se os valores true ou false para a propriedade Visible da classe DataGridViewColumn. Veja um trecho de código no qual ocultamos a segunda coluna do DataGridView:

private void button3_Click(object sender, EventArgs e){
  // vamos ocultar a segunda coluna
  dataGridView1.Columns[1].Visible = false;
}

Veja que aqui nós acessamos a coleção DataGridViewColumnCollection e usamos um índice para retornar o DataGridViewColumn desejado. É possível também acessar um determinado DataGridViewColumn na coleção de colunas usando o valor definido para sua propriedade name. Veja:

private void button3_Click(object sender, EventArgs e){
  // vamos ocultar a segunda coluna
  dataGridView1.Columns["populacao"].Visible = false;
}



Delphi ::: Dicas & Truques ::: Matemática e Estatística

Delphi para matemática - Como arredondar valores de ponto-flutuante para cima usando a função Ceil()

Quantidade de visualizações: 16857 vezes
A função Ceil(), presente na unit Math, é útil quando queremos arrendondar valores de ponto-flutuante (valores com casas decimais) para cima, ou seja, para o menor inteiro maior ou igual ao valor fornecido. Veja um exemplo:

procedure TForm2.Button1Click(Sender: TObject);
var
  valor: Real;
  resultado: Integer;
begin
  // uses Math

  valor := 8.3;

  // vamos arredondar o valor para cima
  // o resultado será 9
  resultado := Ceil(valor);

  // exibe o resultado
  ShowMessage('O valor arredondado para cima é: ' +
    IntToStr(resultado));
end;

Note que os valores 8.0001, 8.3, 8.1, 8.99, etc, serão todos arredondados para 9. No entanto, 8.0 é arredondado para 8.

Para fins de compatibilidade, esta dica foi escrita usando Delphi 2009.


Java ::: Desafios e Lista de Exercícios Resolvidos ::: Estruturas de Controle

Exercícios Resolvidos de Java - Escreva um programa Java para ler as notas n1 e n2 de um aluno e calcule a sua média aritmética

Quantidade de visualizações: 453 vezes
Pergunta/Tarefa:

Escreva um programa Java para ler as notas n1 e n2 de um aluno e calcule a sua média aritmética. Se a média for igual ou superior a 7,0 mostre uma mensagem indicando que o aluno foi aprovado.

Se a média for igual ou maior que 3,5 e inferior a 7,0 seu programa deverá indicar que o aluno ficou de exame. Uma média menor que 3,5 indica reprovação direta.

No caso do exame, leia uma nota entre 0 e 10. Agora a média do aluno deverá ser a média entre a média anterior e a nota do exame. Se a nova média for igual ou superior a 5,0 o aluno estará aprovado. Caso contrário o aluno será reprovado.

Use validação para evitar que o usuário informe notas inválidas, ou seja, notas menores que 0 ou maiores que 10. Caso notas inválidas sejam fornecidas seu programa deverá solicitar a nota novamente até que o usuário forneça notas válidas.

Sua saída deverá ser parecida com:

Informe a nota N1: 9.4
Informe a nota N2: 11
Nota inválida. Informe a nota N2: 8.3
A média do aluno é: 8.85
O aluno foi aprovado

Informe a nota N1: 4.2
Informe a nota N2: 1.8
A média do aluno é: 3.0
O aluno reprovou direto.

Informe a nota N1: 5.7
Informe a nota N2: 6
A média do aluno é: 5.85
Informe a nota do exame: 7
A média do aluno com o exame é: 6.425
O aluno foi aprovado após o exame.
Resposta/Solução:

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) {
    // variáveis usadas na resolução do problema
    double n1, n2, media, exame;
    
    // para ler a entrada do usuário
    Scanner entrada = new Scanner(System.in);
    
    // vamos ler a primeira nota
    System.out.print("Informe a nota N1: ");
    n1 = Double.parseDouble(entrada.nextLine());
    // a nota é válida?
    while ((n1 < 0) || (n1 > 10)) {
      System.out.print("Nota inválida. Informe a nota N1: ");
      n1 = Double.parseDouble(entrada.nextLine());
    }
    
    // vamos ler a segunda nota
    System.out.print("Informe a nota N2: ");
    n2 = Double.parseDouble(entrada.nextLine());
    // a nota é válida?
    while ((n2 < 0) || (n2 > 10)) {
      System.out.print("Nota inválida. Informe a nota N2: ");
      n2 = Double.parseDouble(entrada.nextLine());
    }
    
    // vamos calcular a média do aluno
    media = (n1 + n2) / 2.0;
    System.out.println("A média do aluno é: " + media);
    
    // o aluno foi aprovado?
    if (media >= 7.0) {
      System.out.println("O aluno foi aprovado");
    }
    // o aluno ficou de exame?
    else if ((media >= 3.5) && (media < 7.0)){
      // vamos ler a nota do exame
      System.out.print("Informe a nota do exame: ");
      exame = Double.parseDouble(entrada.nextLine());
      // a nota é válida?
      while ((exame < 0) || (exame > 10)) {
        System.out.print("Nota inválida. Informe a nota do exame: ");
        exame = Double.parseDouble(entrada.nextLine());
      }
      
      // calcula a nota média
      media = (media + exame) / 2.0;
      System.out.println("A média do aluno com o exame é: " + media);
      
      // o aluno foi aprovado após o exame?
      if (media >= 5.0) {
        System.out.println("O aluno foi aprovado após o exame.");
      }
      else {
        System.out.println("O aluno foi reprovado após o exame.");
      }
    }
    // reprovou direto
    else {
      System.out.println("O aluno reprovou direto.");
    }
  }
}



JavaScript ::: Dicas & Truques ::: Cookies

Cookies em JavaScript - Como registrar a quantidade de vezes que o usuário visitou a sua página HTML

Quantidade de visualizações: 99 vezes
Nesta dica mostrarei como podemos cookies em JavaScript para gravar e exibir para o usuário a quantidade de vezes que ele visitou o nosso site ou página. Veja que, no código, nós temos duas funções: gravarCookie(), que recebe o nome, o valor e a direção do cookie em dias, e obterCookie(), que recebe o nome do cookie e retorna o seu valor.

O resultado ficará parecido ao que temos na figura abaixo:



E agora o código JavaScript completo para o exemplo, incluindo a página HTML:

<html>
<head>
<title>Estudando JavaScript</title>

<script type="text/javascript">
  // função que permite gravar um cookie
  function gravarCookie(nome, valor, diasDuracao){
    var dataExpiracao = new Date();
    dataExpiracao.setTime(dataExpiracao.getTime() 
      + (diasDuracao * 24 * 3600 * 1000));
    document.cookie = nome + "=" + escape(valor) +
      ((diasDuracao == null) ? "" : "; expires=" + dataExpiracao);
  }
   
  // função quer permite obter um cookie
  function obterCookie(nome){    
    if(document.cookie.length > 0){
      var c_start = document.cookie.indexOf(nome + "=");
      if(c_start != -1){ 
        c_start = c_start + nome.length + 1; 
        c_end = document.cookie.indexOf(";", c_start);
        
        if(c_end == -1){
          c_end = document.cookie.length;
        }
        
        return unescape(document.cookie.substring(
          c_start, c_end));
      } 
    }
    return null;
  }
</script>

</head>
<body>
  
</HEAD>
<BODY>
 
<script type="text/javascript">
  // verifica se o visitante já esteve aqui
  var vezes = obterCookie('visitas');
  if(vezes != null){
    document.write("<h1>Esta é a sua " + vezes + "ª visita.</h1>");
    gravarCookie("visitas", ++vezes, 30);
  }
  else{ // é a primeira vez. grave a visita
    // grava um cookie que durará 30 dias
    gravarCookie("visitas", 1, 30); 
    document.write("<h1>Esta é a sua primeira visita ao site</h1>");
  }
</script>
 
</body>
</html>


Carregar Publicações Anteriores


Nossas 20 dicas & truques de programação mais populares

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

Últimos Exercícios Resolvidos

E-Books em PDF

E-Book 350 Exercícios Resolvidos de Java - PDF com 500 páginas
Domine lógica de programação e a linguagem Java com o nosso E-Book 350 Exercícios Exercícios de Java, para você estudar onde e quando quiser.

Este e-book contém exercícios resolvidos abrangendo os tópicos: Java básico, matemática e estatística, programação dinâmica, strings e caracteres, entrada e saída, estruturas condicionais, vetores e matrizes, funções, laços, recursividade, internet, arquivos e diretórios, programação orientada a objetos e muito mais.
Ver Conteúdo do E-book
E-Book 650 Dicas, Truques e Exercícios Resolvidos de Python - PDF com 1.200 páginas
Domine lógica de programação e a linguagem Python com o nosso E-Book 650 Dicas, Truques e Exercícios Exercícios de Python, para você estudar onde e quando quiser.

Este e-book contém dicas, truques e exercícios resolvidos abrangendo os tópicos: Python básico, matemática e estatística, banco de dados, programação dinâmica, strings e caracteres, entrada e saída, estruturas condicionais, vetores e matrizes, funções, laços, recursividade, internet, arquivos e diretórios, programação orientada a objetos e muito mais.
Ver Conteúdo do E-book

Linguagens Mais Populares

1º lugar: Java
2º lugar: Python
3º lugar: C#
4º lugar: PHP
5º lugar: C
6º lugar: Delphi
7º lugar: JavaScript
8º lugar: C++
9º lugar: VB.NET
10º lugar: Ruby



© 2025 Arquivo de Códigos - Todos os direitos reservados
Neste momento há 33 usuários muito felizes estudando em nosso site.