![]() |
|
||||
![]() Planilha Web - Planilhas e Calculadoras online para estudantes e profissionais de Engenharia Civil, Engenharia Elétrica e Engenharia Mecânica. |
|||||
Java ::: Dicas & Truques ::: Arquivos e Diretórios |
Como escrever em um arquivo usando Java - Como escrever em um arquivo usando as classes BufferedWriter e FileWriter do JavaQuantidade de visualizações: 141 vezes |
Nesta dica mostrarei como podemos usar a linguagem Java para escrever em um arquivo texto. Para isso nós vamos usar as classes BufferedWriter e FileWriter. Veja o trecho de código completo para o exemplo: package arquivodecodigos; import java.io.BufferedWriter; import java.io.FileWriter; import java.io.IOException; public class Estudos{ public static void main(String args[]){ try { BufferedWriter out = new BufferedWriter(new FileWriter("C:\\estudos_java\\conteudo.txt")); out.write("Esta é a primeira linha de texto\r\n"); out.write("Esta é a segunda linha de texto"); out.close(); } catch(IOException e){ System.out.println("Houve um erro: " + e.getMessage()); } System.out.println("Acabei de escrever no arquivo"); } } Ao executar este código Java nós teremos o seguinte resultado: Acabei de escrever no arquivo. Tenha cuidado. Se o arquivo já existir, o método write() da classe BufferedWriter vai sobrescrever o seu conteúdo. Por isso, é sempre uma boa idéia fazer uma verificação antes. |
Dart ::: Dicas & Truques ::: Geometria, Trigonometria e Figuras Geométricas |
Como testar se um ponto está dentro de um círculo em Dart - Desenvolvimento de Games com DartQuantidade de visualizações: 895 vezes |
Quando estamos trabalhando com computação gráfica, geometria e trigonometria ou desenvolvimento de jogos em Dart, é comum precisarmos verificar se um determinado ponto (uma coordenada x, y) está contido dentro de um círculo. Para melhor entendimento, veja a imagem a seguir: ![]() Veja que temos um círculo com raio igual a 115 e com centro nas coordenadas (x = 205; y = 166). Temos também dois pontos. O ponto vermelho está nas coordenadas (x = 140; y = 90) e o ponto azul está nas coordenadas (x = 330; y = 500. Como podemos ver na imagem, o ponto vermelho está dentro do círculo, enquanto o ponto azul está fora. E nosso intenção nesta dica é escrever o código Dart que permite fazer essa verificação. Tenha em mente que está técnica é muito útil para o teste de colisões no desenvolvimento de games. Veja o código completo para o exemplo: // Vamos importar a biblioteca dart:io import "dart:io"; // vamos importar a biblioteca dart:math import "dart:math"; // vamos declarar a classe Circulo class Circulo{ double xc; double yc; double raio; // construtor da classe Circulo Circulo(double xc, double yc, double raio){ this.xc = xc; // x do centro this.yc = yc; // y do centro this.raio = raio; // raio do círculo } } // agora vamos declarar a classe Ponto class Ponto{ double x; double y; // construtor da classe Ponto Ponto(double x, double y){ this.x = x; // coordenada x this.y = y; // coordenada y } } void main(){ // variáveis que vamos usar na resolução do problema Circulo c; Ponto p; double dx, dy; // vamos criar um objeto Circulo c = new Circulo(205, 166, 115); // vamos criar um objeto Ponto p = new Ponto(140, 90); // vamos verificar se o ponto está dentro do // círculo dx = p.x - c.xc; dy = p.y - c.yc; if((pow(dx, 2) + pow(dy, 2)) < pow(c.raio, 2)){ stdout.write("O ponto está dentro do círculo"); } else{ stdout.write("O ponto NÃO está dentro do círculo"); } } Ao executar este código Dart nós teremos o seguinte resultado: O ponto está dentro do círculo. Experimente com círculos de raios e coordenadas centrais diferentes e também com pontos em várias coordenadas e veja como os resultados são interessantes. |
LISP ::: Fundamentos da Linguagem ::: Estruturas de Controle |
Como usar o laço loop for da linguagem LispQuantidade de visualizações: 757 vezes |
O laço for loop da linguagem Common Lisp é usado quando sabemos exatamente quantas vezes uma instrução ou um grupo de instruções deve ser repetido. Este laço é similar ao laço for encontrado na maioria das linguagens de programação. Vamos começar vendo um laço for loop que conta de 1 até 10: ; Um laço for loop que conta de 1 até 10 (loop for i from 1 to 10 do (print i) ) Ao executar este código Common Lisp nós teremos o seguinte resultado: 1 2 3 4 5 6 7 8 9 10 Agora veja o mesmo laço usado para contar de 10 até 1, ou seja, em ordem decrescente: ; Um laço for loop que conta de 10 até 1 (loop for i from 10 downto 1 do (print i) ) Note que, agora, eu troquei "to" por "downto" para que a variável de controle fosse decrementada, em vez de incrementada. Dessa forma, ao executarmos este código Common Lisp, o resultado será: 10 9 8 7 6 5 4 3 2 1 |
Delphi ::: Dicas & Truques ::: Data e Hora |
Como retornar a data e hora atual em Delphi usando as funções Now() e DateTimeToStr()Quantidade de visualizações: 23847 vezes |
Em algumas situações precisamos obter a data e hora atual do sistema. Em Delphi isso pode ser feito com o auxílio da função Now(), presente na unit SysUtils. Este função não requer nenhum argumento e retorna a data e hora atual como um TDateTime. Veja o exemplo:procedure TForm1.Button1Click(Sender: TObject); var data: TDateTime; begin // vamos obter a data e hora atual data := Now(); // vamos exibir o resultado ShowMessage(DateTimeToStr(data)); end; Ao executar este código Delphi nós teremos o seguinte resultado: 28/09/2018 15:14:15 Para fins de compatibilidade, esta dica foi escrita usando Delphi 2009. |
Delphi ::: Dicas & Truques ::: Strings e Caracteres |
Como substituir todas as ocorrências de uma substring em uma string em Delphi sem considerar maiúsculas e minúsculas usando a função ReplaceText()Quantidade de visualizações: 12019 vezes |
Algumas vezes precisamos substituir todas as ocorrências de uma substring em uma string mas não queremos diferenciar letras maiúsculas de letras minúsculas. Em Delphi isso pode ser feito com o auxílio da função ReplaceText(). Esta função requer a string na qual a substituição ocorrerá, a substring a ser substituída e a nova substring. O resultado será uma nova string resultante da substituição. Veja o exemplo:procedure TForm1.Button1Click(Sender: TObject); var frase: string; begin frase := 'PHP? Sim, eu gosto muito de PHP'; // vamos substituir todas as ocorrências de "PHP" por "Delphi' // sem considerar maiúsculas e minúsculas frase := ReplaceText(frase, 'Php', 'Delphi'); // vamos exibir o resultado ShowMessage(frase); end; Lembre-se de que esta função não diferencia maiúsculas e minúsculas. 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. |
PHP ::: Dicas & Truques ::: PDO (PHP Data Objects) |
PHP MySQL - Como efetuar uma conexão PHP + MySQL usando PDO (PHP Data Objects)Quantidade de visualizações: 13693 vezes |
O acesso e manipulação de informações em uma base de dados MySQL usando PDO está se tornando muito popular nos dias atuais. Nesta dica eu mostrarei como podemos efetuar uma conexão PHP + MySQL usando o construtor da classe PDO, passando a ele os parâmetros de conexão. Veja o código completo para o exemplo: <html> <head> <title>Estudando PHP</title> </head> <body> <?php $server = "localhost"; $user = "root"; $pass = "osmar1234"; $db = "estudos"; try{ $conn = new PDO("mysql:host=$server;dbname=$db", $user, $pass); echo "Conexão efetuada com sucesso."; } catch(PDOException $e){ echo 'Não foi possível conectar: ' . $e->getMessage(); } ?> </body> </html> Se você forneceu todos os parâmetros de conexão corretamente, execute a página PHP e você terá o seguinte resultado: Conexão efetuada com sucesso. |
Java ::: Coleções (Collections) ::: ArrayList |
Como excluir de uma ArrayList todos os elementos contidos em outra ArrayList ou coleção do Java usando o método removeAll()Quantidade de visualizações: 10289 vezes |
Em algumas situações pode ser útil sabermos como remover de uma ArrayList todos os elementos contidos em outra ArrayList ou coleção. Para isso podemos usar o método removeAll(), que a classe ArrayList herda da interface java.util.List. Veja sua assinatura: boolean removeAll(Collection<?> c) E agora veja um exemplo de seu uso: import java.util.ArrayList; public class Estudos{ public static void main(String[] args){ // cria uma ArrayList que conterá strings ArrayList<String> nomes = new ArrayList<String>(); // cria uma segunda ArrayList que conterá mais strings ArrayList<String> nomes2 = new ArrayList<String>(); // adiciona itens na primeira lista nomes.add("Carlos"); nomes.add("Maria"); nomes.add("Fernanda"); nomes.add("Osmar"); nomes.add("Zacarias"); // adiciona itens na segunda lista nomes2.add("Maria"); nomes2.add("Zacarias"); // vamos remover da primeira lista todos os elementos // contidos na segunda lista nomes.removeAll(nomes2); // vamos exibir o resultado for(int i = 0; i < nomes.size(); i++){ System.out.println(nomes.get(i)); } System.exit(0); } } |
Java ::: Dicas & Truques ::: Formulários e Janelas |
Como definir um ícone para a janela do aplicativo Java Swing usando o método setIconImage() da classe JFrameQuantidade de visualizações: 16754 vezes |
Este exemplo mostra como definir um ícone para uma janela JFrame do Java Swing. Antes de testar o código, certifique-se de ter uma imagem chamada icon.gif no diretório de execução do aplicativo (ou no local que você especificar). Veja o código completo para o exemplo: import java.awt.*; import javax.swing.*; public class Estudos extends JFrame{ public Estudos() { super("A classe JFrame"); // Define o ícone para a janela ImageIcon icone = new ImageIcon("icon.gif"); setIconImage(icone.getImage()); setSize(350, 250); setVisible(true); } public static void main(String args[]){ Estudos app = new Estudos(); app.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); } } |
C# ::: Windows Forms ::: TextBox |
C# Windows Forms Avançado - Como rolar as linhas de um TextBox para cima uma de cada vez usando a API do WindowsQuantidade de visualizações: 7641 vezes |
Em algumas situações gostaríamos de rolar para cima o conteúdo de um TextBox de múltiplas linhas uma linha de cada vez. Para isso podemos usar a API do Windows, mais especificamente a mensagem WM_VSCROLL com o valor SB_LINEUP para seu parâmetro wParam. O valor do parâmetro lParam é zero. Veja um trecho de código que rola para cima o conteúdo de um TextBox uma linha de cada vez. Antes de executar este exemplo, tenha a certeza de ter um TextBox de múltiplas, com barras de rolagem e conteúdo que force o aparecimento das barras de rolagem. Comece adicionando a linha: using System.Runtime.InteropServices; na seção de usings do seu formulário ou classe. Em seguida adicione o trecho de código abaixo no corpo da classe, como um método: [DllImport("user32.dll", EntryPoint = "SendMessage", CharSet = CharSet.Auto, SetLastError = true)] private static extern IntPtr SendMessage(IntPtr hWnd, uint Msg, IntPtr wParam, IntPtr lParam); Finalmente coloque o código abaixo no evento Click de um botão: private void button2_Click(object sender, EventArgs e){ // antes de executar este exemplo certifique-se de que // a propriedade Multiline do TextBox esteja definida // como true e a propriedade ScrollBars contenha o valor // Vertical ou Both textBox1.Multiline = true; textBox1.ScrollBars = ScrollBars.Vertical; // constante para a mensagem WM_VSCROLL const uint WM_VSCROLL = 0x115; // constante para o parâmetro wParam const int SB_LINEUP = 0; // handle para a caixa de texto IntPtr handle = textBox1.Handle; IntPtr wParam = (IntPtr)SB_LINEUP; IntPtr lParam = IntPtr.Zero; // vamos fazer com que o TextBox role uma linha para cima SendMessage(textBox1.Handle, WM_VSCROLL, wParam, lParam); } |
Ruby ::: Dicas & Truques ::: Arrays e Matrix (Vetores e Matrizes) |
Como remover elementos repetidos de um array em Ruby usando as funções uniq e uniq!Quantidade de visualizações: 10436 vezes |
Em algumas situações nós precisamos excluir os itens duplicados de um array em Ruby. Para isso nós podemos usar as funções uniq e uniq!. A função uniq remove os itens duplicados e retorna um novo array, enquanto uniq! opera no array original, ou seja, modificando seus valores. Veja o código Ruby completo para o exemplo: # Cria um array de inteiros com duplicações valores = [2, 3, 3, 5, 5, 6, 3] # Exibe os valores do array original puts "Os valores do array são:\n" valores.each do | valor | print valor.to_s + " " end # Obtém um novo array sem as duplicações valores2 = valores.uniq puts "\n\nO novo array sem repetições:\n" valores2.each do | valor | print valor.to_s + " " end # Remove as duplicações do array original valores.uniq! puts "\n\nO array original sem repetições:\n" valores.each do | valor | print valor.to_s + " " end Ao executar este código Ruby nós teremos o seguinte resultado: Os valores do array são: 2 3 3 5 5 6 3 O novo array sem repetições: 2 3 5 6 O array original sem repetições: 2 3 5 6 |
Nossas 20 dicas & truques de programação mais populares |
Portugol - Como resolver uma equação do segundo grau em Portugol - Como calcular Bhaskara em Portugol JavaScript - Como remover elementos duplicados de um array em JavaScript usando as funções filter() e indexOf() do objeto Array |
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 |