![]() |
|
||||
![]() Planilha Web - Planilhas e Calculadoras online para estudantes e profissionais de Engenharia Civil, Engenharia Elétrica e Engenharia Mecânica. |
|||||
|
Delphi ::: Dicas & Truques ::: Strings e Caracteres |
Como obter uma substring no final de uma string usando a função AnsiRightStr() do DelphiQuantidade de visualizações: 13364 vezes |
Em algumas situações precisamos obter uma substring no final de uma string. Em Delphi isso pode ser feito por meio da função AnsiRightStr(). Esta função requer a string a partir da qual a substring será obtida e a quantidade de caracteres que comporâo a substring. O retorno será uma nova string contendo a substring obtida. Veja o exemplo:procedure TForm1.Button1Click(Sender: TObject); var frase, substring: string; begin frase := 'Programar em Delphi é muito bom'; // vamos obter a substring "bom" substring := AnsiRightStr(frase, 3); // vamos exibir o resultado ShowMessage('Resultado: ' + substring); end; Não se esqueça de adicionar a unit StrUtils no uses do seu formulário. Para questões de compatibilidade, esta dica foi escrita usando Delphi 2009. |
C# ::: Fundamentos da Linguagem ::: Estruturas de Controle |
Como usar a instrução continue da linguagem C#Quantidade de visualizações: 9326 vezes |
A instrução continue é usada quando queremos abandonar completamente a iteração atual de um laço e saltar imediatamente para a próxima iteração. Veja um exemplo:static void Main(string[] args){ for(int i = 0; i <= 10; i++){ // se o valor de i não for par, vamos passar // para a próxima iteração if(i % 2 != 0) continue; Console.WriteLine("{0}", i); } Console.WriteLine("\n\nPressione uma tecla para sair..."); Console.ReadKey(); } Aqui nós estamos exibindo somente os números pares de 0 a 10. Note que, cada vez que o valor de i for ímpar, nós usamos a instrução continue para interromper a instrução atual e saltar para a próxima. Veja mais um exemplo, desta vez usando um laço while: static void Main(string[] args){ int valor = 0; while(valor <= 10){ if((valor >= 5) && (valor <= 7)){ valor++; continue; } Console.WriteLine("{0}", valor); valor++; } Console.WriteLine("\n\nPressione uma tecla para sair..."); Console.ReadKey(); } Este laço conta de 0 a 10 mas não exibe os valores 5, 6 e 7. |
Python ::: Dicas & Truques ::: Lista (List) |
Python para iniciantes - Como classificar uma lista de strings usando ordem alfabéticaQuantidade de visualizações: 9392 vezes |
Nesta dica mostrarei como podemos usar o método sort() da classe List da linguagem Python para ordenar uma lista de palavras, frases ou texto em ordem alfabética. Veja o código completo para o exemplo: def main(): # cria uma lista de nomes nomes = ['Carlos', 'Amanda', 'Osmar', 'Fernanda'] # exibe a lista na ordem original print(nomes) # ordena a lista nomes.sort() # exibe a lista ordenada print(nomes) if __name__== "__main__": main() Ao executar este código nós teremos o seguinte resultado: ['Carlos', 'Amanda', 'Osmar', 'Fernanda'] ['Amanda', 'Carlos', 'Fernanda', 'Osmar'] |
PHP ::: Dicas & Truques ::: URLs, Documentos e Páginas |
PHP para iniciantes - Como obter uma lista completa das variáveis de ambiente disponíveis no servidorQuantidade de visualizações: 10426 vezes |
Nesta dica mostrarei como é possível combinar o vetor de variáveis de ambiente $_SERVER e o laço foreach() da linguagem PHP para obter uma lista completa das variáveis de ambiente disponíveis no servidor web a partir do qual nossos códigos PHP estão sendo executados. Esta técnica é excelente para depuração (debugging) de código PHP. Veja o código PHP completo para o exemplo: <html> <head> <title>Estudando PHP</title> </head> <body> <?php foreach($_SERVER as $env => $valor){ echo $env . " = " . $valor . "<br>"; } ?> </body> </html> Ao executar este código PHP nós teremos um resultado parecido com: SERVER_SOFTWARE = Apache/2.4.46 (Win64) OpenSSL/1.1.1h PHP/8.0.0 SERVER_NAME = localhost SERVER_ADDR = ::1 SERVER_PORT = 80 REMOTE_ADDR = ::1 DOCUMENT_ROOT = C:/xampp/htdocs REQUEST_SCHEME = http CONTEXT_PREFIX = CONTEXT_DOCUMENT_ROOT = C:/xampp/htdocs SERVER_ADMIN = postmaster@localhost SCRIPT_FILENAME = C:/xampp/htdocs/estudos/index.php REMOTE_PORT = 61618 GATEWAY_INTERFACE = CGI/1.1 SERVER_PROTOCOL = HTTP/1.1 REQUEST_METHOD = GET QUERY_STRING = REQUEST_URI = /estudos/index.php SCRIPT_NAME = /estudos/index.php PHP_SELF = /estudos/index.php REQUEST_TIME_FLOAT = 1618495343.0591 REQUEST_TIME = 1618495343 |
Java ::: Classes e Componentes ::: JTextArea |
Java Swing - Como detectar alterações no conteúdo de um JTextAreaQuantidade de visualizações: 149 vezes |
Nesta dica veremos como é possível escrever uma aplicação Java Swing que detecta quando o conteúdo de um controle JTextArea é alterado. Para isso nós vamos fazer a janela JFrame implementar a interface DocumentListener e fornecer comportamento para seus método insertUpdate(), removeUpdate() e changedUpdate(). O resultado do código é refletido na imagem abaixo: ![]() E agora o código Java Swing completo para o exemplo: package arquivodecodigos; import javax.swing.*; import java.awt.*; import javax.swing.event.*; public class Estudos extends JFrame implements DocumentListener{ JTextArea textArea; JLabel aviso; public Estudos() { super("Detectando alterações em um JTextArea"); Container c = getContentPane(); FlowLayout layout = new FlowLayout(FlowLayout.LEFT); c.setLayout(layout); textArea = new JTextArea(10, 20); textArea.setLineWrap(true); textArea.getDocument().addDocumentListener(this); aviso = new JLabel("Aviso de alterações"); c.add(textArea); c.add(aviso); setSize(350, 250); setVisible(true); } public static void main(String args[]){ Estudos app = new Estudos(); app.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); } public void insertUpdate(DocumentEvent e) { aviso.setText("Aviso de Inserção: " + e.toString()); } public void removeUpdate(DocumentEvent e) { aviso.setText("Aviso de Remoção: " + e.toString()); } public void changedUpdate(DocumentEvent e) { // pode obter os dois anteriores aqui // aviso.setText("Aviso de Alteração: " + e.toString()); } } |
Python ::: Dicas & Truques ::: Livros, E-books, Apostilas e Cursos |
E-Book 650 Dicas, Truques e _Exercícios Resolvidos_ de Python - PDF com 1.200 páginasQuantidade de visualizações: 1272 vezes |
![]() Domine lógica de programação e a linguagem Python usando o nosso E-Book 650 Dicas, Truques e Exercícios Resolvidos de Python. Trata-se de um PDF com 1.200 páginas para você estudar onde e quando quiser. Todos os códigos estão em português e comentados linha a linha para que você, em pouco tempo, adquira todo o conhecimento necessário para se tornar um(a) programador(a) experiente em Python. Este e-book contém anotações, dicas, truques e exercícios resolvidos abrangendo os tópicos: Python básico, strings e caracteres, entrada e saída, estruturas condicionais, vetores e matrizes, funções, laços, internet, arquivos e diretórios, Pandas, Pygame, Matplotlib, exercícios resolvidos, programação orientada a objetos e muito mais. Veja o conteúdo completo desse e-book: Conteúdo do E-Book 650 Dicas, Truques e Exercícios Resolvidos de Python - PDF com 1.200 páginas . Adquira pelo WhatsApp +55 (062) 98553-6711 (Osmar) ou diretamente pelo Mercado Pago (PIX, cartão de crédito, boleto, etc). |
MySQL ::: Dicas & Truques ::: Data e Hora |
Como usar a função NOW() para obter a data e hora atual do servidor MySQLQuantidade de visualizações: 28193 vezes |
As funções CURRENT_TIMESTAMP(), CURRENT_TIMESTAMP, LOCALTIME(), LOCALTIME, LOCALTIMESTAMP e LOCALTIMESTAMP() são sinônimos da função NOW(). A função NOW() pode ser usada para obter a data e hora atual do servidor MySQL como um valor no formato 'YYYY-MM-DD HH:MM:SS' ou YYYYMMDDHHMMSS.uuuuuu, dependendo se a função é usada em um contexto string ou numérico. O valor retornado é expresso no fuso horário atual do servidor. Veja: SELECT NOW() O valor retornado é algo como 2008-03-30 23:18:34. Observe agora uma chamada a esta função em um contexto numérico: SELECT NOW() + 0 O resultado será algo como 20080430232607.000000. |
jQuery ::: Dicas & Truques ::: Atributos ou Propriedades HTML |
Como alternar a classe de um elemento HTML usando a função toggleClass() do jQueryQuantidade de visualizações: 9030 vezes |
O método toggleClass() do jQuery é um dos mais interessantes no framework. Este método permite aplicar um nome de classe a um elemento HTML se ele ainda não estiver definido e removê-lo se este já estiver definido para o elemento. Veja um trecho de código que altera a cor de fundo de um parágrafo a cada vez que ele é clicado. Comece analisando o trecho de estilos CSS: <style type="text/css"> body, td {font: 70% Verdana} .destaque {background-color: yellow} .destaque2 {background-color: red} </style> Veja agora o elemento P que usaremos para ilustrar o efeito: <p id="parag" class="destaque">Sou um parágrafo</p> E finalmente o código JavaScript (na parte <head></head> da página): <script type="text/javascript"> <!-- $(document).ready(function(){ $("#parag").click(function(){ $(this).toggleClass("destaque2"); }); }); //--> </script> E aqui a página HTML completa para o exemplo: <!doctype html> <html> <head> <title>Estudos jQuery</title> <style type="text/css"> body, td {font: 70% Verdana} .destaque {background-color: yellow} .destaque2 {background-color: red} </style> <script src="https://code.jquery.com/jquery-3.6.0.js" integrity="sha256-H+K7U5CnXl1h5ywQfKtSj8PCmoN9aaq30gDh27Xc0jk=" crossorigin="anonymous"></script> </head> <body> <p id="parag" class="destaque">Sou um parágrafo</p> <script type="text/javascript"> $(document).ready(function(){ $("#parag").click(function(){ $(this).toggleClass("destaque2"); }); }); </script> </body> </html> O método toggleClass() retorna um objeto jQuery para fins de encadeamento de chamadas de métodos. |
Python ::: Dicas & Truques ::: Trigonometria - Funções Trigonométricas |
Como calcular o comprimento da hipotenusa em Python dadas as medidas do cateto oposto e do cateto adjascenteQuantidade de visualizações: 1668 vezes |
Nesta dica mostrarei como é possível usar a linguagem Python 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 Python. Veja: # vamos importar o módulo Math import math as math def main(): a = 20 # medida do cateto oposto b = 30 # medida do cateto adjascente # agora vamos calcular o comprimento da hipotenusa c = math.sqrt(math.pow(a, 2) + math.pow(b, 2)) # e mostramos o resultado print("O comprimento da hipotenusa é: %f" % c) if __name__== "__main__": main() Ao executar este código Python nós teremos o seguinte resultado: O comprimento da hipotenusa é: 36.055513 Como podemos ver, o resultado retornado com o código Python confere com os valores da imagem apresentada. |
Python ::: PyQt GUI Toolkit ::: QMainWindow |
Como criar a janela principal de uma aplicação Python PyQt usando a classe QMainWindowQuantidade de visualizações: 1523 vezes |
Em geral toda aplicação GUI, ou seja, uma aplicação de interface visual, rodando no Window, Linux, MAC, etc, possui uma janela principal. No PyQt tal janela é criada como uma instância da classe QMainWindow. Veja a posição desta classe na hierarquia de classes do PyQt: QObject, QPaintDevice QWidget QMainWindow Uma janela QMainWindow possui o seu próprio layout, no qual podemos adicionar uma barra de ferramentas QToolBar, um QDockWidget (que serve para controles que "grudam" em lados diferentes da tela), uma barra de menus QMenuBar e uma barra de status QStatusBar. O layout oferecido pela classe QMainWindow possui uma área central que pode ser ocupada por qualquer tipo de controle visual. É nessa área central que podemos colocar outros tipos de gerenciadores de layouts, que servirão como containers para os componentes visuais da aplicação. Veja uma aplicação PyQt completa na qual temos uma janela principal QMainWindow e um botão QPushButton. Observe como tiramos proveito da programação orientada em Python para criar uma classe JanelaPrincipal que herda de QMainWindow: # vamos importar os módulos necessários import sys from PyQt6.QtCore import * from PyQt6.QtGui import * from PyQt6.QtWidgets import * # vamos criar uma classe que herda de QMainWindow class JanelaPrincipal(QMainWindow): # construtor da classe def __init__(self): super().__init__() # definimos o título da janela self.setWindowTitle("Cadastro de Produtos") # vamos criar um botão QPushButton botao = QPushButton("Novo Produto") # definimos este botão como o controle central # da janela principal self.setCentralWidget(botao) if __name__== "__main__": # cria a aplicação app = QApplication(sys.argv) # cria a janela principal e a coloca visível janela_principal = JanelaPrincipal() janela_principal.show() # executa a aplicação app.exec() |
Nossas 20 dicas & truques de programação mais populares |
Você também poderá gostar das dicas e truques de programação abaixo |
Python - Como criar um relógio analógico no Pygame - Código completo com variáveis e comentários em português |
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 |