Você está aqui: C# ::: Desafios e Lista de Exercícios Resolvidos ::: Arquivos e Diretórios |
Como substituir palavras em um arquivo texto e salvar o resultado em outro arquivo usando C# - Desafio de Programação Resolvido em C#Quantidade de visualizações: 568 vezes |
Pergunta/Tarefa: Escreva um programa C# que permite substituir palavras em um arquivo texto. Seu código deverá abrir o arquivo texto, substituir as palavras desejadas e salvar o resultado em um outro arquivo texto. Você deverá usar o seguinte método: public static void SubstituirTextoArquivo(string nomeArqEntrada, string nomeArqSaida, string textoAntigo, string novoTexto){ // sua implementação aqui } Veja a resolução comentada deste exercício usando C#: ---------------------------------------------------------------------- Se precisar de ajuda com o código abaixo, pode me chamar no WhatsApp +55 (62) 98553-6711 (Osmar) ---------------------------------------------------------------------- using System; using System.IO; namespace Estudos { class Principal { static void Main(string[] args) { // vamos substituir palavras no arquivo e salvar com outro nome SubstituirTextoArquivo(@"C:\estudos_csharp\texto.txt", @"C:\estudos_csharp\texto2.txt", "Java", "Delphi"); Console.WriteLine("\nPressione uma tecla para sair..."); Console.ReadKey(); } // método usado para fazer as substituições. Esta função recebe o arquivo de entrada, o // arquivo de saída, o texto a ser substituido e o novo texto public static void SubstituirTextoArquivo(string nomeArquivoEntrada, string nomeArquivoSaida, string textoAntigo, string novoTexto) { // vamos criar as instâncias das classes StreamReader e StreamWriter StreamReader arquivoEntrada = File.OpenText(nomeArquivoEntrada); StreamWriter arquivoSaida = File.CreateText(nomeArquivoSaida); string linha = " "; do { linha = arquivoEntrada.ReadLine(); if (linha != null) { linha = linha.Replace(textoAntigo, novoTexto); arquivoSaida.WriteLine(linha); } } while (linha != null); // vamos fechar os arquivos arquivoEntrada.Close(); arquivoSaida.Close(); } } } |
Link para compartilhar na Internet ou com seus amigos: |
wxWidgets ::: Dicas & Truques ::: wxApp |
Como usar a classe wxApp em suas aplicações C++ wxWidgetsQuantidade de visualizações: 1582 vezes |
A classe wxApp (Application Class) é uma das primeiras classes que devemos estudar se quisermos ter um domínio perfeito do framework wxWidgets. Para usá-la, devemos incluir #include <wx/app.h> em nossos códigos. Essa classe herda de wxAppConsole. Todas as aplicações wxWidgets definem uma classe application derivada de wxApp. Há somente uma instância dela, e essa instância representa a aplicação sendo executada no momento. De todos os métodos herdados de wxApp, há pelo menos um que devemos implementar, e ele é a função OnInit(), que é chamada quando o wxWidgets está pronto para executar o nosso código. OnInit() equivale ao main() em C/C++ ou WinMain (aplicações Win32). Veja um trecho de código no qual declaramos e usamos a classe wxApp: Código para aplicacao.h: ---------------------------------------------------------------------- Se precisar de ajuda com o código abaixo, pode me chamar no WhatsApp +55 (62) 98553-6711 (Osmar) ---------------------------------------------------------------------- #include <wx/wx.h> // arquivo de definição // declaramos a classe application class MinhaAplicacao : public wxApp{ public: // é chamado no startup da aplicação virtual bool OnInit(); }; // declara MinhaAplicacao& GetApp() DECLARE_APP(MinhaAplicacao) Código para aplicacao.cpp: ---------------------------------------------------------------------- Se precisar de ajuda com o código abaixo, pode me chamar no WhatsApp +55 (62) 98553-6711 (Osmar) ---------------------------------------------------------------------- #include "aplicacao.h" // arquivo de implementação // aqui o wxWidgets implementa nosso objeto MinhaAplicacao IMPLEMENT_APP(MinhaAplicacao) bool MinhaAplicacao::OnInit(){ // vamos mostrar uma mensagem ao iniciar a aplicação wxMessageDialog *alerta = new wxMessageDialog(NULL, wxT("A aplicação foi iniciada com sucesso"), wxT("Informação"), wxOK); alerta->ShowModal(); // em geral retornamos true para iniciar o loop de eventos // mas essa aplicação exibe apenas uma janela de mensagem. Podemos sair return false; } Veja que no arquivo de declaração (header file) nós temos a macro DECLARE_APP. Ela nos permite declarar a função wxGetApp() que retorna uma referência para o objeto aplicação. Se não fizermos isso, a única forma de obter tal referência é usando o ponteiro global wxTheApp, que é do tipo wxApp*. A macro IMPLEMENT_APP, no arquivo de implementação, permite ao wxWidgets criar dinamicamente uma instância do objeto application no ponto apropriado da inicialização da biblioteca. Esse trecho de código é totalmente funcional, mas teremos apenas a exibição de uma mensagem wxMessageDialog. Por essa razão eu retornei false no laço de eventos. Se tivéssemos criado uma janela wxFrame, o retorno deveria ser true, já que teríamos de lidar com eventos. Para finalizarmos, lembre-se de que o método OnInit() da classe wxApp é o local ideal para se fazer as verificações iniciais da aplicação, tais como conexão com banco de dados, permissão do usuário, disponibilidade da rede, etc. |
HTML5 ::: HTML5 + JavaScript ::: Canvas |
Programação gráfica para iniciantes - Como desenhar círculos com ou sem preenchimento usando o método arc() do objeto Canvas do HTML5Quantidade de visualizações: 5854 vezes |
Podemos usar o método arc() do objeto Canvas do HTML5 para desenhar círculos com ou sem prenchimento. Veja nos exemplos abaixo como isso pode ser feito. Primeiro um círculo sem preenchimento:---------------------------------------------------------------------- Se precisar de ajuda com o código abaixo, pode me chamar no WhatsApp +55 (62) 98553-6711 (Osmar) ---------------------------------------------------------------------- <!doctype html> <html> <head> <title>O objeto Canvas do HTML5</title> </head> <body> <Canvas id="canvas1" width="500" height="350"></Canvas> <script type="text/javascript"> // obtemos uma referência ao elemento Canvas var canvas = document.getElementById("canvas1"); // obtemos o contexto de desenho var contexto = canvas.getContext("2d"); // vamos desenhar um círculo sem preenchimento com raio de 80 contexto.beginPath(); // início um novo caminho // o círculo começa no x = 100, y = 100, começa no ângulo 0 // e vai até o ângulo 360 (as medidas são em radianos, não em graus) contexto.arc(100, 100, 80, 0, 2 * Math.PI, false); contexto.lineWidth = 2; // largura da linha contexto.strokeStyle = '#990000'; // cor da linha contexto.stroke(); // realiza o desenho </script> </body> </html> Ao abrir esta página HTML nós teremos o seguinte resultado: E agora um círculo preenchido: ---------------------------------------------------------------------- Se precisar de ajuda com o código abaixo, pode me chamar no WhatsApp +55 (62) 98553-6711 (Osmar) ---------------------------------------------------------------------- <!doctype html> <html> <head> <title>O objeto Canvas do HTML5</title> </head> <body> <Canvas id="canvas1" width="500" height="350"></Canvas> <script type="text/javascript"> // obtemos uma referência ao elemento Canvas var canvas = document.getElementById("canvas1"); // obtemos o contexto de desenho var contexto = canvas.getContext("2d"); // vamos desenhar um círculo sem preenchimento com raio de 80 contexto.beginPath(); // início um novo caminho // o círculo começa no x = 100, y = 100, começa no ângulo 0 // e vai até o ângulo 360 (as medidas são em radianos, não em graus) contexto.arc(100, 100, 80, 0, 2 * Math.PI, false); // vamos preencher o círculo contexto.fillStyle = "#CCCCCC"; // cor do preenchimento contexto.fill(); // preenche de fato contexto.lineWidth = 2; // largura da linha contexto.strokeStyle = '#990000'; // cor da linha contexto.stroke(); // realiza o desenho </script> </body> </html> Ao abrir esta página HTML nós teremos o seguinte resultado: |
Java ::: Fundamentos da Linguagem ::: Tipos de Dados |
Apostila de Java para iniciantes - Como usar o tipo de dados int da linguagem JavaQuantidade de visualizações: 12129 vezes |
O tipo de dados int pode ser usado quando queremos armazenar valores inteiros na faixa ?2.147.483.648 até 2.147.483.647 (acima de dois milhões). Veja um exemplo:---------------------------------------------------------------------- Se precisar de ajuda com o código abaixo, pode me chamar no WhatsApp +55 (62) 98553-6711 (Osmar) ---------------------------------------------------------------------- public class Estudos{ static int valor = 1500; public static void main(String args[]){ System.out.println("O valor da variável é: " + valor); System.exit(0); } } O tipo de dados int pode ser convertido (sem a necessidade de cast) para os seguintes tipos: ---------------------------------------------------------------------- Se precisar de ajuda com o código abaixo, pode me chamar no WhatsApp +55 (62) 98553-6711 (Osmar) ---------------------------------------------------------------------- int -> long -> float -> double Se precisarmos converter o tipo int para os tipos char, byte ou short, teremos que lançar mão de uma coerção (cast). Veja: ---------------------------------------------------------------------- Se precisar de ajuda com o código abaixo, pode me chamar no WhatsApp +55 (62) 98553-6711 (Osmar) ---------------------------------------------------------------------- short valor2 = (short)(valor); |
Java ::: Dicas & Truques ::: Matemática e Estatística |
Como calcular raiz quadrada em Java usando a função sqrt() da classe MathQuantidade de visualizações: 7557 vezes |
A raiz quadrada de um algarismo é dada por um número positivo n, que ao ser elevado ao quadrado (multiplicado por ele mesmo), se iguala a x. Na área da matemática, a raiz quadrada auxilia na resolução de vários problemas, entre eles as equações de segundo grau e o Teorema de Pitágoras. Relembrando que a raiz quadrada é o inverso da potenciação com expoente dois, temos que: \[\sqrt{9} = 3\] então, pela potenciação: \[3^2 = 9\] Agora veremos como calcular a raiz quadrada usando a função sqrt() da classe Math da linguagem Java. Veja o código completo: ---------------------------------------------------------------------- Se precisar de ajuda com o código abaixo, pode me chamar no WhatsApp +55 (62) 98553-6711 (Osmar) ---------------------------------------------------------------------- package arquivodecodigos; import java.util.Scanner; public class Estudos{ public static void main(String[] args){ Scanner entrada = new Scanner(System.in); // vamos ler o valor System.out.print("Informe o valor desejado: "); double valor = Double.parseDouble(entrada.nextLine()); // vamos calcular a raiz quadrada double raiz = Math.sqrt(valor); // e agora mostramos o resultado System.out.println("A raiz quadrada do valor informado é: " + raiz); } } Ao executar este código teremos o seguinte resultado: Informe o valor desejado: 9 A raiz quadrada do valor informado é: 3.0 É importante observar que, se fornecermos um valor negativo para a função sqrt(), o resultado será NaN (Not a Number, não é um número). Veja: Informe o valor desejado: -9 A raiz quadrada do valor informado é: NaN |
Java ::: Coleções (Collections) ::: ArrayList |
Como inverter a ordem dos elementos de uma ArrayList do Java usando a função reverse() da classe CollectionsQuantidade de visualizações: 13824 vezes |
Nesta dica mostrarei como podemos usar o método estático reverse() da classe Collections para reverter (inverter) a ordem dos elementos de uma ArrayList. Note que este método atua diretamente sobre a ArrayList que estamos fornecendo como argumento, e não retorna nada. Veja o exemplo a seguir: ---------------------------------------------------------------------- Se precisar de ajuda com o código abaixo, pode me chamar no WhatsApp +55 (62) 98553-6711 (Osmar) ---------------------------------------------------------------------- package estudos_java; import java.util.ArrayList; import java.util.Collections; public class Estudos{ public static void main(String[] args){ // cria uma ArrayList que conterá strings ArrayList<String> nomes = new ArrayList<>(); // adiciona itens na lista nomes.add("Carlos"); nomes.add("Maria"); nomes.add("Fernanda"); nomes.add("Osmar"); // exibe os elementos da ArrayList for(int i = 0; i < nomes.size(); i++){ System.out.println(nomes.get(i)); } // Vamos inverter a ordem dos elementos Collections.reverse(nomes); // exibe os elementos da ArrayList System.out.println(); for(int i = 0; i < nomes.size(); i++){ System.out.println(nomes.get(i)); } System.exit(0); } } Ao executar este código Java nós teremos o seguinte resultado: Carlos Maria Fernanda Osmar Osmar Fernanda Maria Carlos |
Desafios, Exercícios e Algoritmos Resolvidos de Java |
Veja mais Dicas e truques de Java |
Dicas e truques de outras linguagens |
Delphi - Como calcular o cateto oposto dadas as medidas da hipotenusa e do cateto adjascente em Delphi |
Códigos Fonte |
Software de Gestão Financeira com código fonte em PHP, MySQL, Bootstrap, jQuery - Inclui cadastro de clientes, fornecedores e ticket de atendimento Diga adeus às planilhas do Excel e tenha 100% de controle sobre suas contas a pagar e a receber, gestão de receitas e despesas, cadastro de clientes e fornecedores com fotos e histórico de atendimentos. Código fonte completo e funcional, com instruções para instalação e configuração do banco de dados MySQL. Fácil de modificar e adicionar novas funcionalidades. Clique aqui e saiba mais |
Controle de Estoque completo com código fonte em PHP, MySQL, Bootstrap, jQuery - 100% funcional e fácil de modificar e implementar novas funcionalidades Tenha o seu próprio sistema de controle de estoque web. com cadastro de produtos, categorias, fornecedores, entradas e saídas de produtos, com relatórios por data, margem de lucro e muito mais. Código simples e fácil de modificar. Acompanha instruções para instalação e criação do banco de dados MySQL. Clique aqui e saiba mais |
Linguagens Mais Populares |
1º lugar: Java |