You are on page 1of 4

UNIVERSIDAD CATLICA DE EL SALVADOR FACULTAD DE INGENIERA Y ARQUITECTURA

Ctedra: Estructura de Datos Catedrtico: Ing. William Alexander Crdova

Grupo A

Ejercicio #1: Lo primero que haremos es crear un archivo de texto desde una aplicacin de Consola en Visual C++. El cdigo de la aplicacin deber quedar como se muestra a continuacin:
#include "stdafx.h" using namespace System; using namespace System::IO ; int main(array<System::String ^> ^args) { String^ fileName="C:\\Estructura de Datos\\prueba.txt"; StreamWriter^ sw=gcnew StreamWriter(fileName); sw->WriteLine ("Esto es un nuevo archivo de texto"); sw->WriteLine("Tu puedes usar WriteLine"); sw->WriteLine (" o solo Write"); sw->WriteLine (" y tambien {0} para salidas.","formateadas"); sw->WriteLine ("Tamben puedes enviar objetos que no son texto:"); sw->WriteLine (DateTime::Now ); sw->Flush (); sw->Close (); Console::WriteLine ("Un nuevo archivo ha sido creado"); Console::ReadLine (); return 0; }

Ejercicio #2: Ahora que hemos creado el archivo de texto debemos hacer el proceso inverso, o sea la lectura del texto desde el archivo, en este mismo ejercicio hacemos al final de l la eliminacin del archivo de texto. Esto lo haremos en una nueva aplicacin de consola siendo el cdigo a agregar el siguiente:
#include "stdafx.h" using namespace System; using namespace System::IO; int main() { String^ fileName = "C:\\Estructura de Datos\\prueba.txt";

//Usamos un Try para verificar si podemos abrir el archivo //o si hay algn error de lectura en el archivo try { Console::WriteLine("Probando a abrir el archivo {0}...", fileName); //Los StreamReader nos permiten realizar el proceso de lectura //desde el archivo, usamos el mtodo OpenText de la clase File StreamReader^ din = File::OpenText (fileName); String^ str; int count = 0; //Mientras no hallamos llegado a la ltima lnea //del archivo de texto. while ((str = din->ReadLine()) != nullptr) { count++; Console::WriteLine("line {0}: {1}", count, str ); } //Cerramos el archivo din->Close (); } catch (Exception^ e) { //Verificamos que tipo de excepcin se genero if (dynamic_cast<FileNotFoundException^>(e)) Console::WriteLine("Archivo '{0}' no encontrado", fileName); else Console::WriteLine("Problemas Leyendo el archivo '{0}'", fileName); } Console::ReadLine (); //Haremos la eliminacin del archivo de texto Console::WriteLine ("Presiona un tecla para eliminar el archivo"); File::Delete (fileName); Console::ReadLine (); return 0; }

Ejercicio #3: Ahora lo que haremos es manipular un archivo de texto desde una aplicacin para Windows Forms, para ello crearemos un formulario como el que se observa en la siguiente captura:

Objeto RichTextBox1 ToolStripMenuItem1 ToolStripMenuItem2 ToolStripMenuItem2 ToolStripMenuItem3

Propiedad Name Dock Text ShorcutsKeys Text ShorcutsKeys Text ShorcutsKeys Text ShorcutsKeys rtbTexto Fill &Abrir Ctrl+A &Guardar Ctrl+G &Eliminar Ctrl+D &Salir Alt+X

Valor

Cdigo Men Abrir:


String^ path = "C:\\Estructura de Datos\\MyTest.txt"; //Limpiamos el RichTextBox rtbTexto->ResetText (); //Verificamos si el archivo existe if (File::Exists (path)) { //Leemos todo el texto que contenga el archivo rtbTexto->Text =File::ReadAllText (path); }

else { MessageBox::Show ("Archivo no existe","Editor de Texto"); }

Cdigo Men Guardar:


String^ path = "C:\\Estructura de Datos\\MyTest.txt"; //Verificamos si el archivo no existe de ser //as lo crearemos sino sobreescribimos el texto que este contenga. if ( !File::Exists( path ) ) { // Create a file to write to. StreamWriter^ sw = File::CreateText( path ); try { sw->WriteLine (rtbTexto->Text ); } finally { if ( sw ) delete (IDisposable^)(sw); } } else { //Le agregamos al archivo el texto nuevo File::AppendAllText (path, rtbTexto->Text+Environment::NewLine); }

Cdigo Men Eliminar:


String^ path = "C:\\Estructura de Datos\\MyTest.txt"; if (File::Exists (path)) File::Delete (path); else MessageBox::Show("El archivo no existe","Manejo de Archivos",MessageBoxButtons::OK);

Cdigo Men Salir:


this->Close ();

You might also like