Lista de Exercícios Resolvidos: Java | Python | VisuAlg | Portugol | C | C# | VB.NET | C++
Você está aqui: AutoCAD .NET API C# ::: Dicas & Truques ::: Input e Output (Entrada e Saída)

Como ler a entrada do usuário no AutoCAD como uma string usando a função GetString() da AutoCAD .NET API

Quantidade de visualizações: 116 vezes
Em várias situações nós precisamos pedir para o usuário informar valores do tipo string, ou seja, uma palavra, frase ou texto. Para isso nós podemos usar a função GetString() do objeto Editor da classe Document.

A forma como os dados inseridos pelo usuário serão controlados é feita por meio de um objeto PromptStringOptions. Se a propriedade AllowSpaces desse objeto for definida como true, os espaços são permitidos, caso contrário, a entrada do usuário é interrompida ao pressionar a barra de espaços.

Nesta dica mostrarei como podemos usar a função GetString() da AutoCAD .NET API para pedir ao usuário que informe o nome do projeto e então vamos usar a string informada para escrever o nome do projeto na área de desenho.

O primeiro passo é obter uma referência ao documento atual do AutoCAD usando Application.DocumentManager.MdiActiveDocument. Em seguida nós obtemos uma referência à base de dados do AutoCAD usando doc.Database. O passo seguinte é definir as opções de entrada do usuário usando um objeto PromptStringOptions. Note o valor true para a propriedade AllowSpaces.

Em seguida fazemos a leitura do usuário usando doc.Editor.GetString e guardamos o resultado como um objeto PromptResult. Para verificar se o usuário não pressionou ESC ou outra forma de saída do comando, nós testamos o status do resultado com PromptStatus.Cancel.

Para finalizar nós criamos uma nova transação db.TransactionManager.StartTransaction(), criamos um novo texto DBText, passamos o texto informado pelo usuário para a sua propriedade TextString, desenhamos o texto e fechamos a transação.

Veja o código AutoCAD .NET API C# completo para o exemplo:

using System;
using Autodesk.AutoCAD.Runtime;
using Autodesk.AutoCAD.ApplicationServices;
using Autodesk.AutoCAD.DatabaseServices;
using Autodesk.AutoCAD.Geometry;
using Autodesk.AutoCAD.EditorInput;

[assembly: CommandClass(typeof(PluginEstudos.Class1))]
namespace PluginEstudos {
  public class Class1 {
    [CommandMethod("estudos")]
    public void Estudos() {
      // vamos obter o documento atual
      Document doc = Application.DocumentManager.MdiActiveDocument;
      // vamos obter a base de dados
      Database db = doc.Database;

      // criamos as opções de leitura da entrada do usuário
      PromptStringOptions opcoes = new PromptStringOptions("\nNome do Projeto: ");
      // vamos permitir espaços
      opcoes.AllowSpaces = true;
      // agora pedimos para o usuário digitar a entrada
      PromptResult resultado = doc.Editor.GetString(opcoes);

      // se o usuário pressionar ESC ou cancelar o comando
      if (resultado.Status == PromptStatus.Cancel) {
        return;
      }

      // iniciamos uma nova transação
      using (Transaction trans = db.TransactionManager.StartTransaction()) {
        BlockTable tabela_blocos;
        BlockTableRecord reg_tabela_blocos;

        // abre o model space para escrita
        tabela_blocos = trans.GetObject(db.BlockTableId,
          OpenMode.ForRead) as BlockTable;
        reg_tabela_blocos = trans.GetObject(tabela_blocos[BlockTableRecord.ModelSpace],
          OpenMode.ForWrite) as BlockTableRecord;

        // criamos um novo texto
        DBText texto = new DBText();
        texto.TextString = resultado.StringResult;
        texto.SetDatabaseDefaults();
        texto.Height = 20;
        texto.Position = new Point3d(10, 40, 0);
        // adicionamos o texto no desenho
        reg_tabela_blocos.AppendEntity(texto);
        trans.AddNewlyCreatedDBObject(texto, true);
        
        // fechamos a transação
        trans.Commit();
      }
    }
  }
}

Ao executar o código deste plug-in AutoCAD .NET API C#, informe o nome de um projeto na janela de comandos do AutoCAD e automaticamente você verá o nome informado ser desenhado na área de desenho.

Link para compartilhar na Internet ou com seus amigos:

Delphi ::: Dicas & Truques ::: Recursão (Recursividade)

Como calcular fatorial em Delphi usando recursividade

Quantidade de visualizações: 12786 vezes
O fatorial de um determinado número, representado por n! equivale a multiplicar este número por seus antecessores. Assim, o fatorial de 4 (4!) pode ser calculado da seguinte forma:

4 x 3 x 2 x 1 = 24

Sempre que falamos de recursão, o cálculo de fatorial nos auxilia na exemplicação por ser relativamente fácil de se entender todas as etapas do processo. O código abaixo mostra uma função recursiva em Delphi que calcula o fatorial de qualquer número. Tenha cuidado. Calcular o fatorial de um número maior que 10 pode tornar sua máquina extremamente lenta, além de, muitas vezes, não retornar os resultados esperados.

// função recursiva para calcular o fatorial
// de um determinado número
function fatorial(n: Integer): Integer;
begin
  if n = 0 then
    Result := 1
  else
    Result := n * fatorial(n - 1);
end;

// vamos chamar a função recursiva
// a partir do Click de um botão
procedure TForm1.Button1Click(Sender: TObject);
var
  res: Integer;
begin
  // vamos calcular o fatorial de 5
  res := fatorial(5);

  // vamos mostrar o resultado
  ShowMessage('O fatorial de 5 é: ' + IntToStr(res));
end;

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


PHP ::: Dicas & Truques ::: PDO (PHP Data Objects)

PHP PDO - Como disparar comandos SELECT usando a função PDO->query()

Quantidade de visualizações: 13905 vezes
Nesta dica mostrarei como disparar uma query SELECT usando PDO->query(). Veja que mostramos ainda como percorrer os resultados obtidos.

Para este exemplo eu me conectei a um banco de dados MySQL e obtive dados de uma tabela chamada "produtos".

Veja o código PHP PDO MySQL completo para o exemplo (incluindo a conexão com o banco de dados):

<html>
<head>
<title>Estudando PHP</title>
</head>
<body>
 
<?php
  // primeiro vamos obter a conexão com o banco de dados
  $server = "localhost";
  $user = "root";
  $pass = "osmar1234";
  $db = "estudos";
    
  try{
    $conn = new PDO("mysql:host=$server;dbname=$db", 
       $user, $pass);
    // echo "Conexão efetuada com sucesso.";
  } 
  catch(PDOException $e){
    die('Não foi possível conectar: ' . $e->getMessage());
  }

  // agora que já temos a conexão, vamos disparar
  // o comando DML SELECT
  $resultado = $conn->query("SELECT * FROM produtos");
   
  if($resultado){
    while($linha = $resultado->fetch(PDO::FETCH_ASSOC)){
      echo "Id: " . $linha['id'] . "<br>";
      echo "Nome: " . $linha['nome'] . "<br>";
      echo "Preço: " . $linha['preco'] . "<br>";
      echo "Quantidade: " . $linha['quantidade'] . "<br><br>"; 
    }
  } 
?>
  
</body>
</html>

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

Id: 1
Nome: ARROZ TIPO A
Preço: 13
Quantidade: 320

Id: 2
Nome: FEIJÃO CARIOCA
Preço: 9.5
Quantidade: 120

Id: 3
Nome: EXTRATO DE TOMATE AMD
Preço: 4.24
Quantidade: 50


Java ::: Dicas & Truques ::: Data e Hora

Como retornar a diferença de meses entre duas datas em Java - Datas e horas em Java

Quantidade de visualizações: 9014 vezes
O trecho de código abaixo mostra como obter a diferença de meses entre dois objetos Date. Estude-o atentamente. Esta é uma técnica muito útil para programadores que lidam com cálculos de datas em suas aplicações:

package arquivodecodigos;

import java.util.*;
import java.text.*;
 
public class Estudos{ 
  public static void main(String args[]){ 
    try{
      // constrói a primeira data
      DateFormat fm = new SimpleDateFormat(
        "dd/MM/yyyy");
      Date data1 = (Date)fm.parse("20/10/2008");
 
      // constrói a segunda data
      fm = new SimpleDateFormat("dd/MM/yyyy");
      Date data2 = (Date)fm.parse("30/12/2008");
 
      // vamos obter a diferença de meses
      long segundos = (data2.getTime() - 
        data1.getTime()) / 1000;
      int meses = (int)Math.floor(segundos / 2592000);
      segundos -= meses * 2592000;
      int dias = (int)Math.floor(segundos / 86400);
       
      // exibe o resultado
      System.out.println("As duas datas tem " +
        meses + " meses e " + dias + 
        " dias de diferença");
    }
    catch(ParseException e){
      e.printStackTrace();
    }
  } 
}

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

As duas datas tem 2 meses e 11 dias de diferença


jQuery ::: Dicas & Truques ::: Manipulação e Conteúdo Dinâmico

Como usar o método appendTo() do jQuery para adicionar todo o conteúdo de um elemento ao final de outro elemento HTML

Quantidade de visualizações: 248 vezes
O método appendTo() é usado quando queremos adicionar todo o conteúdo dos elementos retornados sob uma determinada condição a outro ou outros elementos HTML.

Veja um trecho de código no qual adicionamos o conteúdo de um parágrafo ao final de um elemento DIV:

<script type="text/javascript">
<!--
  function adicionarConteudo(){
    var texto = "<br>Mais uma linha.";
    $("#parag").appendTo("#div_1");
  }
//-->
</script>

O método appendTo() opera em todos os elementos HTML retornados sob uma determinação condição. O retorno do método é um objeto jQuery que pode ser usado para fins de encadeamento de chamadas de métodos.


C++ ::: Dicas & Truques ::: Trigonometria - Funções Trigonométricas

Como calcular o comprimento da hipotenusa em C++ dadas as medidas do cateto oposto e do cateto adjascente

Quantidade de visualizações: 1785 vezes
Nesta dica mostrarei como é possível usar a linguagem C++ para retornar o comprimento da hipotenusa dadas as medidas do cateto oposto e do cateto adjascente. Vamos começar analisando a imagem a seguir:



Veja que, nessa imagem, eu já coloquei os comprimentos da hipotenusa, do cateto oposto e do cateto adjascente. Para facilitar a conferência dos cálculos, eu coloquei também os ângulos theta (que alguns livros chamam de alfa) e beta já devidamente calculados.

Então, sabendo que o quadrado da hipotenusa é igual à soma dos quadrados dos catetos (Teorema de Pitógoras):

\[c^2 = a^2 + b^2\]

Tudo que temos a fazer a converter esta fórmula para código C++. Veja:

#include <iostream>
#include <math.h>
#include <cstdlib>
 
using namespace std;
 
int main(int argc, char *argv[]){
  float a = 20; // medida do cateto oposto
  float b = 30; // medida do cateto adjascente
  
  // agora vamos calcular o comprimento da hipotenusa
  float c = sqrt(pow(a, 2) + pow(b, 2));
 
  // e mostramos o resultado
  cout << "O comprimento da hipotenusa é: " << c << "\n\n";
	 
  system("PAUSE"); // pausa o programa
  return EXIT_SUCCESS;
}

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

O comprimento da hipotenusa é: 36.0555

Como podemos ver, o resultado retornado com o código C++ confere com os valores da imagem apresentada.


Desafios, Exercícios e Algoritmos Resolvidos de C++

Veja mais Dicas e truques de C++

Dicas e truques de outras linguagens

Códigos Fonte

Programa de Gestão Financeira Controle de Contas a Pagar e a Receber com Cadastro de Clientes e FornecedoresSoftware de Gestão Financeira com código fonte em PHP, MySQL, Bootstrap, jQuery - Inclui cadastro de clientes, fornecedores e ticket de atendimento
Diga adeus às planilhas do Excel e tenha 100% de controle sobre suas contas a pagar e a receber, gestão de receitas e despesas, cadastro de clientes e fornecedores com fotos e histórico de atendimentos. Código fonte completo e funcional, com instruções para instalação e configuração do banco de dados MySQL. Fácil de modificar e adicionar novas funcionalidades. Clique aqui e saiba mais
Controle de Estoque completo com código fonte em PHP, MySQL, Bootstrap, jQuery - 100% funcional e fácil de modificar e implementar novas funcionalidadesControle de Estoque completo com código fonte em PHP, MySQL, Bootstrap, jQuery - 100% funcional e fácil de modificar e implementar novas funcionalidades
Tenha o seu próprio sistema de controle de estoque web. com cadastro de produtos, categorias, fornecedores, entradas e saídas de produtos, com relatórios por data, margem de lucro e muito mais. Código simples e fácil de modificar. Acompanha instruções para instalação e criação do banco de dados MySQL. Clique aqui e saiba mais

Linguagens Mais Populares

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

Anúncio Patrocinado
Chat de Sexo - Site para adultso - Maiores de 18 anos. Converse com pessoas de todo o Brasil, de forma discreta e anônima


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