![]() |
|
|
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. |
||
Python ::: wxPython ::: Eventos e Tratadores de Eventos |
Como tratar o evento wx.EVT_MOVE em suas aplicações wxPython - Interfaces gráficas no PythonQuantidade de visualizações: 790 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 ::: Desafios e Lista de Exercícios Resolvidos ::: Laços de Repetição |
Exercícios Resolvidos de Java - Usando o laço while para encontrar o MDC (Máximo Divisor Comum) de dois númerosQuantidade de visualizações: 2687 vezes |
|
Pergunta/Tarefa: Escreva um programa Java que usa o laço while para calcular o MDC (Máximo Divisor Comum) de dois números. Sejam a, b e c números inteiros não nulos, dizemos que c é um divisor comum de a e b se c divide a (escrevemos c|a) e c divide b (c|b). Chamaremos D(a,b) o conjunto de todos os divisores comum de a e b. Sua saída deve ser parecida com: Informe o primeiro número: 16 Informe o segundo número: 24 O MDC de 16 e 24 é: 8 Veja a resolução comentada deste exercício usando Java console:
package estudos;
import java.util.Scanner;
public class Estudos {
public static void main(String[] args) {
Scanner entrada = new Scanner(System.in);
// vamos que o usuário informe dois números
System.out.print("Informe o primeiro número: ");
int n1 = Integer.parseInt(entrada.nextLine());
System.out.print("Informe o segundo número: ");
int n2 = Integer.parseInt(entrada.nextLine());
int mdc = 1; // partimos do principio de que 1 é o MDC inicial
int k = 2; // MDC possível
while((k <= n1) && (k <= n2)){ // enquanto k for menor ou igual aos dois números
if((n1 % k == 0) && (n2 % k == 0)){
mdc = k; // já temos um novo MDC
}
k++; // buscamos o novo MDC
}
// mostramos o resultado
System.out.println("O MDC de " + n1 + " e " + n2 + " é: " + mdc);
System.out.println("\n");
}
}
|
C# ::: Dicas & Truques ::: Strings e Caracteres |
Como testar a ocorrência de uma substring em uma string do C# usando o método Contains() da classe StringQuantidade de visualizações: 3 vezes |
|
Nesta dica mostrarei como usar o método Contains() da classe String do C# para verificar se uma letra ou palavra está contida em uma frase ou texto. Se a substring for encontrada, a função Contains() retorna um valor true (verdadeiro), e false (falso) em caso contrário. Veja o exemplo completo:
using System;
namespace Estudos {
class Program {
static void Main(string[] args) {
string frase = "Gosto de programar em C#";
// a frase contém a palavra "programar"?
if (frase.Contains("programar")) {
Console.WriteLine("A palavra pesquisada está contida na string");
}
// a palavra pesquisada não foi encontrada na string
else {
Console.WriteLine("A palavra pesquisada NÃO está contida na string");
}
Console.WriteLine("\n\nPressione uma tecla para sair...");
Console.ReadKey();
}
}
}
Ao executar este código C# nós teremos o seguinte resultado: A palavra pesquisada está contida na string Tenha em mente que o método Contains() da classe String do C# diferencia letras maiúsculas de letras minúsculas. |
C++ Builder ::: VCL - Visual Component Library ::: TEdit |
Como definir o conteúdo de um TEdit em tempo de execução usando a função SendMessage() da API do Windows e a mensagem WM_SETTEXT usando C++ BuilderQuantidade de visualizações: 6419 vezes |
|
Embora o C++ Builder já nos forneça as ferramentas necessárias para definir o conteúdo de um TEdit em tempo de execução, é importante saber como realizar esta tarefa usando a API do Windows. Para isso, podemos usar a função SendMessage() em combinação com a mensagem WM_SETTEXT. A função SendMessage() da API do Windows possui a seguinte assinatura: LRESULT SendMessage( HWND hWnd, UINT Msg, WPARAM wParam, LPARAM lParam ); Note que precisamos de um HWND (Handle) para a caixa de texto. Feito isso só precisamos enviar a mensagem WM_SETTEXT juntamente com o conteúdo a ser exibido no controle. Veja:
void __fastcall TForm3::Button2Click(TObject *Sender)
{
// conteúdo a ser definido para a caixa de texto
char texto[] = "Veja isso";
// vamos definir o conteúdo usando a função SendMessage
// fornecendo a mensagem WM_SETTEXT
SendMessage(Edit1->Handle, WM_SETTEXT, 0, (LPARAM)texto);
}
Veja que o parâmetro wParam da função SendMessage não é usado quando a mensagem é WM_SETTEXT. |
Você também poderá gostar das dicas e truques de programação abaixo |
|
Portugol - Exercício Resolvido de Portugol - Um programa que lê três números inteiros e mostra o maior |
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 |



