Java, C/C++, Python, C#, LISP, AutoLisp, AutoCAD e VBA
PHP, Python, C#, JavaScript, Laravel, Google Ads e SEO

Controle de Estoque completo com código fonte em PHP, MySQL, Bootstrap, jQuery - 100% funcional e fácil de modificar e implementar novas funcionalidadesCódigo-Fonte Controle 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
Você está aqui: Cards de
Card 0 de 0
O filtro aplicado não retornou nenhum resultado. Clique o botão Remover Filtro ou experimente um filtro diferente.

Filtrar Cards
Use esta opção para filtrar os cards pelos tópicos que mais lhe interessam.
Termos:
Aviso Importante: Nos esforçamos muito para que o conteúdo dos cards e dos testes e conhecimento seja o mais correto possível. No entanto, entendemos que erros podem ocorrer. Caso isso aconteça, pedimos desculpas e estamos à disposição para as devidas correções. Além disso, o conteúdo aqui apresentado é fruto de conhecimento nosso e de pesquisas na internet e livros. Caso você encontre algum conteúdo que não deveria estar aqui, por favor, nos comunique pelos e-mails exibidos nas opções de contato.
Link para compartilhar na Internet ou com seus amigos:

Revit C# ::: Dicas & Truques ::: Selection, Seleção

Como pedir para o usuário selecionar um ou mais elementos no Revit usando a função PickElementsByRectangle() do objeto Selection da Revit C# API

Quantidade de visualizações: 642 vezes
A Seleção por Retângulo (ou Retângulo de Seleção) do Revit funciona da seguinte forma:

a) Desenhe uma caixa de seleção ao colocar o cursor em um dos lados do elemento a ser selecionado e arraste-o na diagonal para formar um limite retangular.

b) Para selecionar somente os elementos que estejam completamente dentro do limite da caixa de seleção, arraste o cursor da esquerda para a direita.

c) Para selecionar quaisquer elementos que estejam completamente ou parcialmente dentro do limite da caixa de seleção, arraste o cursor da direita para a esquerda.

Via código C# usando a API do Revit, nós podemos pedir para o usuário selecionar elementos usando o retângulo de seleção por meio da função PickElementsByRectangle() do objeto Selection e retornar os elementos selecionados em uma IList.

O primeiro passo é obter uma referência ao documento atual UIDocument a partir de uma chamada a this.ActiveUIDocument. Em seguida nós obtemos o objeto Selection a partir do UIDocument e chamamos a sua função PickElementsByRectangle(). Finalmente, de posse da lista IList de elementos selecionados nós só precisamos acessar sua propriedade Count para verificar a quantidade de elementos que o usuário selecionou.

Veja o código Revit C# completo para o exemplo:

using System;
using Autodesk.Revit.UI;
using Autodesk.Revit.DB;
using Autodesk.Revit.UI.Selection;
using System.Collections.Generic;
using System.Linq;

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) {
      // vamos obter uma referência ao UIDocument ativo
      UIDocument uidoc = this.ActiveUIDocument;
      
      // agora mostramos uma mensagem para o usuário selecionar um
      // elemento
      TaskDialog.Show("Aviso", "Selecione um ou mais elementos");
      
      // obtemos uma referência ao objeto Selection do
      // UIDocument ativo
      Selection selecao = uidoc.Selection;
    
      // e finalmente esperamos que o usuário selecione um ou
      // mais elementos usando a seleção de retângulo e os
      // guardamos em uma lista
      IList<Element> selecionados = selecao.PickElementsByRectangle(
        "Selecione os elementos");
      
      // agora mostramos a quantidade de elementos selecionados
      TaskDialog.Show("Aviso", "Você selecionou " + selecionados.Count +
        " elementos.");
    }

    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 esta macro você verá uma mensagem TaskDialog com o seguinte aviso:

Você selecionou 4 elementos.


Python ::: wxPython ::: Eventos e Tratadores de Eventos

Como tratar o evento wx.EVT_MOVE em suas aplicações wxPython - Interfaces gráficas no Python

Quantidade de visualizações: 587 vezes
Em algumas situações nós precisamos reagir ao evento wx.EVT_MOVE em nossas aplicações wxPython. Este evento é gerado todas as vezes que movemos uma janela para uma nova posição.

Veja o código completo para uma aplicação wxPython na qual interceptamos e tratamos o evento wx.EVT_MOVE na janela principal do programa. Note o uso da função e.GetPosition() para recuperarmos as coordenadas x e y do evento e mostrarmos o resultado em controles wx.StaticText.

# vamos importar o framework wxPython 
import wx

# classe que representará a janela principal da
# aplicação wxPython
class JanelaPrincipal(wx.Frame):
  # o método construtor
  def __init__(self, *args, **kw):
    # chama o construtor da classe wx.Frame
    super(JanelaPrincipal, self).__init__(*args, **kw)

    # chama a função que inicializa a GUI
    self.InicializarGUI()

  # método usado para gerenciar o evento Move
  def OnMove(self, e):
    # obtemos a posição do evento e guardamos nas variáveis x e y
    x, y = e.GetPosition()
    # mostramos os valores nas labels
    self.st1.SetLabel(str(x))
    self.st2.SetLabel(str(y))

  # função que inicializa a GUI do programa
  def InicializarGUI(self):
    # criamos dois controles StaticText com os labels já definindos 
    wx.StaticText(self, label='x:', pos=(10,10))
    wx.StaticText(self, label='y:', pos=(10,30))

    # criamos mais dois controles StaticText para escrevermos neles
    self.st1 = wx.StaticText(self, label='', pos=(30, 10))
    self.st2 = wx.StaticText(self, label='', pos=(30, 30))

    # fazemos um binding o evento wx.EVT_MOVE para a
    # função OnMove que criamos
    self.Bind(wx.EVT_MOVE, self.OnMove)

    # definimos o tamanho da janela
    self.SetSize((450, 350))
    # define a cor de fundo da janela (Windows 10)
    self.SetBackgroundColour((150, 250, 100, 255))
    # definimos o título da janela
    self.SetTitle('O evento Move')
    # e centralizamos a janela
    self.Centre()

# função principal do programa Python
def main():
  # vamos criar a aplicação wxPython
  app = wx.App()
  janela_principal = JanelaPrincipal(None)
  janela_principal.Show()
  app.MainLoop()

if __name__ == "__main__":
  main()



Java ::: Dicas & Truques ::: Programação Orientada a Objetos

Como criar herança em Java usando extends - Programação orientada a objetos em Java

Quantidade de visualizações: 29584 vezes
Quando estamos projetando as classes que farão parte de um sistema, é aconselhável ter em mente um conceito muito importante da programação orientada a objetos: a herança.

O que um aluno, um professor e um funcionário possuem em comum? Todos eles são pessoas e, portanto, compartilham alguns dados comuns. Todos têm nome, idade, endereço, etc. E, o que diferencia um aluno de uma outra pessoa qualquer? Um aluno possui uma matrícula; Um funcionário possui um código de funcionário, data de admissão, salário, etc; Um professor possui um código de professor e informações relacionadas à sua formação.

É aqui que a herança se torna uma ferramenta de grande utilidade. Podemos criar uma classe Pessoa, que possui todos os atributos e métodos comuns a todas as pessoas e herdar estes atributos e métodos em classes mais específicas, ou seja, a herança parte do geral para o mais específico. Comece criando uma classe Pessoa (Pessoa.java) como mostrado no código a seguir:

public class Pessoa{ 
  public String nome;    
  public int idade;
}

Esta classe possui os atributos nome e idade. Estes atributos são comuns a todas as pessoas. Veja agora como podemos criar uma classe Aluno que herda estes atributos da classe Pessoa e inclui seu próprio atributo, a saber, seu número de matrícula. Eis o código:

public class Aluno extends Pessoa{ 
  public String matricula;
}

Observe que, em Java, a palavra-chave usada para indicar herança é extends. A classe Aluno agora possui três atributos: nome, idade e matricula. Veja um aplicativo demonstrando este relacionamento:

public class Estudos{ 
  public static void main(String args[]){ 
    // cria um objeto da classe Aluno
    Aluno aluno = new Aluno();
 
    aluno.nome = "Osmar J. Silva";
    aluno.idade = 36;
    aluno.matricula = "AC33-65";
 
    // Exibe o resultado
    System.out.println("Nome: " + aluno.nome + "\n" +
      "Idade: " + aluno.idade + "\n" +
      "Matrícula: " + aluno.matricula);
  } 
}

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

Nome: Osmar J. Silva
Idade: 36
Matrícula: AC33-65

A herança nos fornece um grande benefício. Ao concentrarmos características comuns em uma classe e derivar as classes mais específicas a partir desta, nós estamos preparados para a adição de novas funcionalidades ao sistema. Se mais adiante uma nova propriedade comum tiver que ser adicionada, não precisaremos efetuar alterações em todas as classes. Basta alterar a superclasse e pronto. As classes derivadas serão automaticamente atualizadas.

Esta dica foi testada no Java 8.


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úsica

Quantidade de visualizações: 19255 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



JavaScript ::: Dicas & Truques ::: Arrays e Matrix (Vetores e Matrizes)

Como remover o primeiro elemento de um array em JavaScript - Como usar a função shift() do objeto Array do JavaScript

Quantidade de visualizações: 9021 vezes
Neste dica mostrarei como usar o método shift() do objeto Array da linguagem JavaScript para remover e retornar o primeiro elemento de um vetor. A ação de remover o primeiro elemento, ou seja, o elemento do topo do vetor é muito usada na construção da estrutura de dados pilha.

Veja o código completo, incluindo a página HTML que permite executar o exemplo:

<html>
<head>
  <meta charset="utf-8">
  <title>Estudos JavaScript</title>
</head>
<body>

<script language="javascript">
  // vamos declarar e instanciar um vetor com 5 elementos
  var valores = new Array(1, 2, 3, 4, 5);
  document.write("Valores no vetor: " + valores + "<br>");
  
  // vamos remover o primeiro elemento
  var primeiro = valores.shift();
  document.write("Removendo o primeiro elemento: " +
     primeiro + "<br>");
  document.write("Valores no vetor: " + valores);
</script>

</body>
</html>

Ao abrir esta página HTML nós teremos o seguinte resultado:

Valores no vetor: 1,2,3,4,5
Removendo o primeiro elemento: 1
Valores no vetor: 2,3,4,5


Desafios, Exercícios e Algoritmos Resolvidos de JavaScript

Veja mais Dicas e truques de JavaScript

Dicas e truques de outras linguagens

E-Books em PDF

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
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

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


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 Apenas R$ 19,90


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