Dúvidas, comentários e doaçoes: +55 62 9 8513 2505

Planilha de Dimensionamento de Tubulações Hidráulicas Água Fria e Água Quente Completa
Nossa 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.

PHP ::: Dicas & Truques ::: URLs, Documentos e Páginas

Como obter o caminho da raiz do site usando a variável global $_SERVER['DOCUMENT_ROOT'] do PHP

Quantidade de visualizações: 14459 vezes
Como obter o caminho da raiz do site usando a variável global $_SERVER['DOCUMENT_ROOT'] do PHP

Em algumas situações nós precisamos obter o caminho do diretório raiz no qual o nosso documento ou código PHP está sendo executado. Para isso nós podemos usar a variável pré-definida $_SERVER['DOCUMENT_ROOT']. Esta variável costuma ser disponibilizada pela maioria dos servidores web.

Veja um exemplo de seu uso:

<html>
<head>
  <title>Estudos PHP</title>
</head>
 
<body>

<?php
  echo "A raiz do site é: " . $_SERVER['DOCUMENT_ROOT'];
?>
 
</body>
</html>

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

A raiz do site é: C:/xampp/htdocs


JavaScript ::: Dicas & Truques ::: Strings e Caracteres

Como adicionar zeros (ou outro caractere) no início de uma string usando o método padStart() da linguagem JavaScript

Quantidade de visualizações: 3545 vezes
Como adicionar zeros (ou outro caractere) no início de uma string usando o método padStart() da linguagem JavaScript

O método padStart(), adicionado ao objeto String no ES2017 (ECMAScript 8) é usado quando queremos preencher o início de uma string com zeros ou qualquer outro caractere até alcançarmos um comprimento determinado.

Veja, por exemplo, como adicionar zeros na frente de uma string para alcançar o tamanho de cinco caracteres:

<script type="text/javascript">
  var valor = 17;
  // vamos mostrar o valor com o tamanho de cinco caracteres
  document.write("O valor é: " + valor.toString().padStart(5, "0"));
</script>

Ao executar o exemplo você verá o valor "00017" ser exibido. Porém, como o método padStart() foi adicionado no ES2017, pode ser que você encontre navegadores que ainda não o suportem. Assim, é sempre uma idéia testar a sua existência. Veja:

<script type="text/javascript">
  if(String.prototype.padStart){
    window.alert("Seu browser já suporta a função padStart().");  
  }
  else{
    window.alert("Seu browser NÃO suporta a função padStart().");  
  }
</script>

Se o navegador não oferecer suporte a este método, você poderá usar um Polyfill, de terceiros ou uma solução que você mesmo poderá desenvolver.


Python ::: Python para Engenharia ::: Geometria Analítica e Álgebra Linear

Como converter Coordenadas Polares para Coordenadas Cartesianas usando Python - Python para Engenharia

Quantidade de visualizações: 6353 vezes
Nesta nossa série de Python para Geometria Analítica e Álgebra Linear, mostrarei um código 100% funcional para fazer a conversão entre coordenadas polares e coordenadas cartesianas. Esta operação é muito frequente em computação gráfica e é parte integrante das disciplinas dos cursos de Engenharia (com maior ênfase na Engenharia Civil).

Na matemática, principalmente em Geometria e Trigonometria, o Sistema de Coordenadas Polares é um sistema de coordenadas em duas dimensões no qual cada ponto no plano é determinado por sua distância a partir de um ponto de referência conhecido como raio (r) e um ângulo a partir de uma direção de referência. Este ângulo é normalmente chamado de theta (__$\theta__$). Assim, um ponto em Coordenadas Polares é conhecido por sua posição (r, __$\theta__$).

Já o sistema de Coordenadas no Plano Cartesiano, ou Espaço Cartesiano, é um sistema que define cada ponto em um plano associando-o, unicamente, a um conjuntos de pontos numéricos.

Dessa forma, no plano cartesiano, um ponto é representado pelas coordenadas (x, y), com o x indicando o eixo horizontal (eixo das abscissas) e o y indicando o eixo vertical (eixo das ordenadas). Quando saímos do plano (espaço 2D ou R2) para o espaço (espaço 3D ou R3), temos a inclusão do eixo z (que indica profundidade).

Antes de prosseguirmos, veja uma imagem demonstrando os dois sistemas de coordenadas:



A fórmula para conversão de Coordenadas Polares para Coordenadas Cartesianas é:

x = raio × coseno(__$\theta__$)
y = raio × seno(__$\theta__$)

E aqui está o código Python completo que recebe as coordenadas polares (r, __$\theta__$) e retorna as coordenadas cartesianas (x, y):

# importamos a biblioteca NumPy
import math as math
  
def main():
  # vamos ler o raio e o ângulo
  raio = float(input("Informe o raio: "))
  theta = float(input("Informe o theta: "))
  graus = input("Theta em graus (1) ou radianos (2): ")

  # o theta está em graus?
  if graus == "1":
    theta = theta * (math.pi / 180.0)      
  
  # fazemos a conversão para coordenadas cartesianas 
  x = raio * math.cos(theta)
  y = raio * math.sin(theta)

  # exibimos o resultado
  print('As Coordenadas Cartesianas são: (x = %0.2f, y = %0.2f)' %(x, y)) 

if __name__== "__main__":
  main()

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

Informe o raio: 1
Informe o theta: 1.57
Theta em graus (1) ou radianos (2): 2
As Coordenadas Cartesianas são: (x = 0.00, y = 1.00)


Delphi ::: Dicas & Truques ::: MIDI Musical Instrument Digital Interface, Mapeamento e sequenciamento MIDI, Entrada e saída MIDI

Como retornar uma lista dos dispositivos de entrada MIDI no sistema usando Delphi

Quantidade de visualizações: 11687 vezes
Em algumas ocasiões nós precisamos obter uma lista dos dispositivos de entrada MIDI no sistema, talvez com o propósito de selecionar um determinado dispositivo em uma ListBox ou ComboBox. O trecho de código abaixo mostra como isso pode ser feito.

O primeiro passo é declarar uma variável do tipo TMidiInCaps. Este registro está declarado na unit MMSystem.pas e é uma tradução da estrutura MIDIINCAPS da API do Windows. Entre outros tipos de dados, esta estrutura possui um membro szPname que retorna o nome do dispositivo. Na unit MMSystem.pas este membro está declarado como array[0..MAXPNAMELEN-1] of AnsiChar, ou seja, uma matriz de AnsiChar que será preenchida pela API do Windows e terá seu final marcado com o caractere null (NULL terminated string). Note a conversão deste valor para o tipo String no momento de inserí-lo no ComboBox. Em versões anteriores do Delphi (estou escrevendo este código no Delphi 2009) podíamos usar a função StrPas() para esta finalidade.

O passo seguinte é obter a quantidade de dispositivos de entrada MIDI. Isso é feito com uma chamada à função midiInGetNumDevs da API do Windows. Uma vez obtida a quantidade de dispositivos nós usamos um laço for e, no corpo deste laço, usamos o valor da variável de controle i para efetuar uma chamada à função midiInGetDevCaps(), também da API do Windows:

midiInGetDevCaps(i, @MidiInCaps, sizeof(TMidiInCaps));

Esta função recebe o identificador do dispositivo (um valor inteiro começando em 0 e indo até a quantidade de dispositivos - 1), um ponteiro para um registro MidiInCaps e o tamanho em bytes do registro. Se a função for executada com sucesso, o registro MidiInCaps será preenchido com várias informações úteis, tais como o nome do dispositivo, o ID do fabricante, o ID do produto, versão do driver, etc.

Para finalizar, nós acessamos o campo szPname do registro MidiInCaps e o adicionamos no ComboBox. Veja o código completo a seguir:

procedure TForm1.Button1Click(Sender: TObject);
var
  i: Integer;
  MidiInCaps: TMidiInCaps; // este record está definido em MMSystem.pas
  erro: Word;
begin
  // uses MMSystem  

  ComboBox1.Clear;
  // midiInGetNumDevs retorna a quantidade de dispositivos de entrada
  // MIDI no sistema
  for i := 0 to midiInGetNumDevs - 1 do
  begin
    // vamos obter o dispositivo identificado pela variável i (uDeviceID)
    erro := midiInGetDevCaps(i, @MidiInCaps, sizeof(TMidiInCaps));
    if erro <> MMSYSERR_NOERROR then
       raise Exception.Create('Não foi possível obter a lista de dispositivos ' +
         'de entrada MIDI');

    // vamos adicionar o nome do dispositivo no ComboBox
    ComboBox1.Items.Add(String(MidiInCaps.szPname));
  end;
end;

Ao executar este código o ComboBox será preenchido no mínimo com o valor:

MPU-401

Este é o MPU 401-compatible MIDI input port, um dos dispositivos de entrada MIDI mais comuns nos PCs, embora já não esteja tão presente nos computadores mais atuais.

Para fins de compatibilidade esta dica ou anotação foi escrita usando Delphi 2009.


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


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