using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Windows; using System.Windows.Controls; using System.Windows.Data; using System.Windows.Documents; using System.Windows.Input; using System.Windows.Media; using System.Windows.Media.Imaging; using System.Windows.Shapes; // Namespaces para trabalhar com arquivos using Microsoft.Win32; using System.IO; namespace Aula1 public partial class Arquivo : Window private Boolean flagedit = false; // esta variável será utilizada para verificar se o texto foi ou não modificado. private OpenFileDialog DialogoAbrir = null; // Caixa de Diálogo abrir arquivo. private SaveFileDialog DialogoSalvar = null; // Caixa de Dialogo salvar arquivo. public Arquivo() InitializeComponent(); // Cria o objeto Caixa de Diálogo Abrir Arquivo DialogoAbrir = new OpenFileDialog(); DialogoAbrir.FileOk += AbrirArquivoOk; // Define o método que será executado quando digitado OK na caixa de diálogo // Cria o objeto Caixa de Diálogo Salvar Arquivo DialogoSalvar = new SaveFileDialog(); DialogoSalvar.FileOk += SalvarArquivoOK; // Define o método que será executado quando digitado OK na caixa de diálogo #region MÉTODOS PARA ABRIR UM ARQUIVO /// Exibe a caixa de diálogo para abrir arquivo. /// <param name="sender">descreve o argumento sender</param> /// <param name="e">argumentos recebidos</param>
private void Abrir_Click(object sender, RoutedEventArgs e) if (flagedit) DialogoAbrir.ShowDialog(); /// Abre o arquivo e exibe seu conteúdo. private void AbrirArquivoOk(object sender, TextReader reader = null; try //throw new System.ArgumentException("Parameter cannot be null", "original"); string caminho = DialogoAbrir.FileName.ToString(); FileInfo src = new FileInfo(caminho); NomeArquivo.Text = src.name; Conteudo.Text = ""; reader = src.opentext(); string line = reader.readline(); while (line!= null) Conteudo.Text += line + '\n'; line = reader.readline(); catch (Exception ex) //AppManager.LogExceptionXml xx = new AppManager.LogExceptionXml(); //xx.saveexception(ex); //AppManager.AppExceptionsTxt appex = new AppManager.AppExceptionsTxt(); //appex.saveexception(ex); MessageBox.Show("Erro: " + ex.message); finally if (reader!= null)
#endregion reader.close(); #region MÉTODOS PARA SALVAR UM ARQUIVO /// Método executado quando é pressionado o botão salvar. private void Salvar_Click(object sender, RoutedEventArgs e) Save(); // executa o método salvar. /// Método para Salvar o arquivo. private void Save() if (DialogoAbrir.FileName!= "") if (File.Exists(DialogoAbrir.FileName)) MessageBoxResult res = MessageBox.Show("O arquivo já existe, deseja regravar?", "Regravar SaLvar", MessageBoxButton.OKCancel); if (res == MessageBoxResult.OK) grava(dialogoabrir.filename); else // Exibe a caixa de dialogo salvar. DialogoSalvar.ShowDialog(); private void grava(string caminho) File.WriteAllText(caminho, Conteudo.Text, Encoding.UTF8); Conteudo.Text = ""; /// Método executado quando pressionado o botão salvar como.
private void SalvarComo_Click(object sender, RoutedEventArgs e) // exibe a caixa de dialogo salvar. DialogoSalvar.ShowDialog(); /// Método executado quando pressionado o botão Salvar na caixa de dialogo salvar. private void SalvarArquivoOK(object sender, grava(dialogosalvar.filename); /// Método executado quando o texto no controle Conteudo é modificado. private void Conteudo_TextChanged(object sender, TextChangedEventArgs e) if (!string.isnullorempty(conteudo.text)) // ativa o flag de edição e os botões para salvar flagedit = true; Salvar.IsEnabled = true; SalvarComo.IsEnabled = true; else // desativa o flag de edição e os botões para salvar flagedit = false; Salvar.IsEnabled = false; SalvarComo.IsEnabled = false; /// Executado quando pressionado o botão fechar.
private void Fechar_Click(object sender, RoutedEventArgs e) /// Método executado quando pressionado o botão fechar do form. private void Window_Closing(object sender, /// Verifica se o texto foi modificado. se foi exibe a opção para salvar. /// <returns></returns> private Boolean flagtest() if (flagedit) MessageBoxResult res = MessageBox.Show("Deseja Salvar o texto?", "SaLvar", MessageBoxButton.YesNoCancel); if (res == MessageBoxResult.Yes) // Salva o arquivo Save(); return true; else if (res == MessageBoxResult.No) return false; return false; #endregion