![]() |
|
|
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. |
||
Você está aqui: Cards de Engenharia Civil - Construção Civil |
||
|
||
|
|
||
Python ::: Tkinter GUI Toolkit ::: Entry |
Como setar o foco em uma caixa de texto Entry do Tkinter usando a função focus_set()Quantidade de visualizações: 1854 vezes |
|
Em várias situações durante o processo de programação em Tkinter nós precisamos, via programação, trocar o foco de uma caixa de texto para outra. Isso pode ser feito com o auxílio da função focus_set(). No código abaixo nós temos uma janela Tkinter com duas caixas de texto Entry e um botão Button. Experimente digitar conteúdo nas duas caixas de texto e depois clicar no botão. Você verá que o foco é colocado novamente na primeira caixa de texto. Veja o código Python completo:
# vamos importar o módulo Tkinter
from tkinter import *
from tkinter.ttk import *
# variáveis globais
caixa_texto_1 = None
# método principal
def main():
# acessamos a variável global
global caixa_texto_1
# vamos criar o frame principal da aplicação Tkinter
janela = Tk()
# agora definimos o tamanho da janela
janela.geometry("600x400")
# criamos uma caixa de texto Entry de linha única
caixa_texto_1 = Entry(janela, width=40)
caixa_texto_1.grid(column=0, row=0, sticky=W, padx=15, pady=10)
# criamos uma segunda caixa de texto Entry de linha única
caixa_texto_2 = Entry(janela, width=40)
caixa_texto_2.grid(column=0, row=1, sticky=W, padx=15, pady=0)
# vamos criar um botão Button
btn = Button(janela, text="Definir Foco", width=20, command=definir_foco)
btn.grid(column=0, row=2, sticky=W, padx=15, pady=10)
# entramos no loop da aplicação
janela.mainloop()
# função para definir o foco na primeira caixa de texto
def definir_foco():
# definimos o foco na primeira caixa de texto Entry
caixa_texto_1.focus_set()
if __name__== "__main__":
main()
|
Delphi ::: Dicas & Truques ::: Bilbiotecas Estáticas (obj) e Dinâmicas (DLLs) |
Como criar DLLs usando Delphi? É possível criar DLLs para o Windows usando Delphi?Quantidade de visualizações: 13795 vezes |
|
As DLLs (Dynamic Link Libraries - Bibliotecas de Vínculo Dinâmico) são arquivos compilados bem similares aos arquivos .exe que estamos acostumados a criar em Delphi. Uma DLL contém rotinas, recursos ou ambos. Mas, não pode ser executada por si só, ou seja, se dermos duplo-clique em uma DLL nada acontecerá. Isso acontece porque uma DLL é desenvolvida para ser usada juntamente como outros aplicativos e/ou outras DLLs. No ambiente Windows encontramos muitas DLLs. Na verdade, o Windows e sua Win32 API é uma coleção de DLLs. Se olharmos nos diretórios System ou System32 encontraremos várias delas, incluindo kernel32.dll, gdi32.dll, user32.dll, shell32.dll, comctl32.dll, entre outras. Mas, para que servem as DLLs? É possível desenvolver aplicações Windows sem usá-las? Vamos às respostas. As DLLs existem com o propósito de compartilhar código entre aplicações. Isso quer dizer que uma mesma DLL pode estar sendo usada por vários programas ao mesmo tempo. E isso é verdade no ambiente Windows. Todos os programas de interface gráfica escritos em Delphi, C, C++, etc e que usam os componentes gráficos do Windows estão de alguma forma fazendo uso de códigos disponíveis em DLLs do sistema. Sem o aproveitamente de tais códigos os executáveis ficariam enormes, visto que cada um teria que implementar as rotinas de desenho e diretivas de criação de janelas. Ao aproveitar as funcionalidades disponíveis nas DLLs do sistema esta tarefa se torna muito mais fácil. Mas, além de usar DLLs de terceiros com códigos já prontos e devidamente testados, você também pode criar suas próprias DLLs. O motivo disso é que você pode querer compartilhar algumas de suas rotinas entre os vários aplicativos que você desenvolve. A maior vantagem disso é que, ao atualizar ou corrigir o código em uma DLL você estará certo de que todas as aplicações que fazem uso desta DLL automaticamente perceberão e tirarão proveito da atualização. Entre as vantagens do uso de DLLs podemos citar: a) Podemos compartilhar rotinas e códigos entre várias aplicativos; b) Ao mantermos boa parte de nossos códigos em DLLs nós conseguimos economizar memória e espaço em disco; c) Outros desenvolvedores poderão usar nossas rotinas e lógica mesmo sem ter acesso aos nossos códigos-fontes; d) Podemos usar códigos escritos em outras linguagens em nossos programas Delphi. Isso quer dizer que uma DLL escrita em C/C++ poderá ser usada em um programa Delphi sem qualquer problema. A prova disso é que as DLLs do Windows são escritas em C/C++. Hora de criar sua primeira DLL em Delphi. Consulte outras dicas nesta seção para aprender a fazê-lo. Para fins de compatibilidade, esta dica foi escrita usando Delphi 2009. |
C# ::: Coleções (Collections) ::: List<T> |
Como retornar a quantidade de elementos que podem ser armazenados na List do C# sem redimensioná-laQuantidade de visualizações: 7846 vezes |
|
O objeto List do C# possui uma propriedade Capacity que nos retorna a quantidade de elementos que podem ser inseridos na lista antes que ela tenha que redimensionar o seu array interno. Quando o tamanho da lista excede essa capacidade, automaticamente o array interno é redimensionado de forma a acomodar esses novos itens. Nessa dica eu mostro como podemos retornar o valor dessa propriedade. Veja:
using System;
using System.Collections.Generic;
namespace Estudos {
class Principal {
static void Main(string[] args) {
List<int> valores = new List<int>();
// insere valores na lista
valores.Add(4);
valores.Add(2);
valores.Add(87);
valores.Add(23);
valores.Add(100);
// obtém a capacidade da lista
// NOTA: Capacity é o número de elementos que a lista
// pode armazenar antes de ser preciso redimensioná-la.
int capac = valores.Capacity;
Console.WriteLine("A capacidade da lista é de "
+ capac + " elementos.");
Console.WriteLine("\nPressione uma tecla para sair...");
Console.ReadKey();
}
}
}
Ao executar este código C# nós teremos o seguinte resultado: A capacidade da lista é de 8 elementos. |
Delphi ::: Classes, Controles e Componentes ::: TRegistry (Registro do Windows) |
Como criar chaves no registro do Windows usando o método CreateKey() da classe TRegistry do DelphiQuantidade de visualizações: 15739 vezes |
|
Em algumas situações gostariámos de criar novas chaves e/ou sub-chaves no registro do Windows. Isso pode ser feito por meio do método CreateKey() da classe TRegistry. Este método recebe uma string especificando o nome da chave a ser criada e retorna um valor Boolean indicando se a chave foi criada com sucesso. Veja um trecho de código no qual criamos uma chave chamada "Arquivo de Códigos" dentro da chave raiz HKEY_CURRENT_USER:
procedure TForm3.Button4Click(Sender: TObject);
var
chave: String;
reg: TRegistry;
begin
// uses Registry
// vamos definir o nome da chave a ser criada
chave := 'Arquivo de Códigos';
// vamos criar uma instância da classe TRegistry
reg := TRegistry.Create;
// a chave raiz padrão é HKEY_CURRENT_USER mas, por via das dúvidas
// vamos reafirmar isso
reg.RootKey := HKEY_CURRENT_USER;
// vamos criar a chave informada
if reg.CreateKey(chave) then
begin
ShowMessage('A chave foi criada com sucesso.');
end
else
begin
ShowMessage('Não foi possível criar a chave informada.');
end;
// vamos liberar o registro
reg.Free;
end;
Alguns aplicativos, por exemplo os da Adobe, Macromedia, Microsoft, etc, guardar informações relacionadas aos seus aplicativos na sub-chave SOFTWARE dentro da chave HKEY_LOCAL_MACHINE. Assim, vamos criar uma chave para um aplicativo fictício. Vamos chamar nossa chave de "Simulador Nota Fiscal Eletrônica 1.0". Note que, se esta chave já existir no registro nada acontecerá:
procedure TForm3.Button4Click(Sender: TObject);
var
chave: String;
reg: TRegistry;
begin
// uses Registry
// vamos definir o nome da chave a ser criada
chave := 'Simulador Nota Fiscal Eletrônica 1.0';
// vamos criar uma instância da classe TRegistry
reg := TRegistry.Create;
// vamos criar uma chave dentro de HKEY_LOCAL_MACHINE\SOFTWARE
reg.RootKey := HKEY_LOCAL_MACHINE;
// vamos criar a chave informada
if reg.CreateKey('\SOFTWARE\' + chave) then
begin
ShowMessage('A chave foi criada com sucesso.');
end
else
begin
ShowMessage('Não foi possível criar a chave informada.');
end;
// vamos liberar o registro
reg.Free;
end;
Execute este código e logo em seguida abra uma janela de terminal e digite regedit.exe. vá na seção HKEY_LOCAL_MACHINE\SOFTWARE e veja se a chave "Simulador Nota Fiscal Eletrônica 1.0" foi realmente criada. Para fins de compatibilidade, esta dica foi escrita usando Delphi 2009. |
C# ::: Dicas & Truques ::: Strings e Caracteres |
Como converter uma string em um array de char em C# usando a função ToCharArray()Quantidade de visualizações: 10542 vezes |
|
Nesta dica mostrarei como podemos usar a função ToCharArray() da classe String da linguagem C# para converter todos os caracteres de uma palavra, frase ou texto em um vetor de chars. Em seguida nós usaremos o método Reverse() da classe Array para inverter a ordem dos elementos do vetor. Finalmente nós passamos este vetor para o construtor da classe String para obter a string original novamente, só que desta vez, com a ordem de suas letras invertidas. Veja o código C# completo para o exemplo:
using System;
namespace Estudos {
class Program {
static void Main(string[] args) {
string frase = "Gosto de C#";
Console.WriteLine("Frase original: " + frase);
// obtém um array de caracteres a partir da string
char[] letras = frase.ToCharArray();
Array.Reverse(letras); // inverte o array
// transforma em string novamente
string resultado = new String(letras);
Console.WriteLine("Frase invertida: " + resultado);
Console.WriteLine();
}
}
}
Ao executar este código C# nós teremos o seguinte resultado: Frase original: Gosto de C# Frase invertida: #C ed otsoG |
Desafios, Exercícios e Algoritmos Resolvidos de C# |
Veja mais Dicas e truques de C# |
Dicas e truques de outras linguagens |
E-Books em PDF |
||||
|
||||
|
||||
Linguagens Mais Populares |
||||
|
1º lugar: Java |



