Procesar datos con C#

Documentos relacionados
D:\IDENTIFICADOR_PRODUCTO\Identificador_Prod\Identificador_Prod\Form1.cs // PLATAFORMA BASE DE DATOS PARA TARIFACIÓN DE PRODUCTOS

Control personalizado, velocímetro con C#

TUTORIAL APLICACIONES EVOLUTION CON ACTIVEX EVOLINK

Código fuente C# Código asociado al formulario Splash

Uso del control ZedGraph en C#

UNIVERSIDAD NACIONAL AUTÓNOMA DE MÉXICO

Aplicaciones Windows con Microsoft Visual Studio

Bases de Datos Access y C#. Insert, select, update, delete. 1. Crea una base de Datos en Access

Manejo de una Base de Datos Microsoft SQL Server. a través de Visual C #, vía instrucciones SQL.

Las matemáticas del cifrado César Si x es la posición de la letra que queremos cifrar, la posición de la nueva letra vendrá dada por la fórmula:

Creando un Troyano en C# En este tuto voy a enseñar cómo crear el principio de un RAT de conexión inversa.

Métodos virtuales Los métodos virtuales permiten modificar un método que ha sido heredado de una clase abstracta.

Tema: Introducción al IDE de Microsoft Visual C#.

B.1. CÓDIGO ITERACION.CS 3 B.2. CÓDIGO LISTAMAQUINAS.CS 4 B.3. CÓDIGO LISTAOPERACION.CS 6 B.4. CÓDIGO LISTAPIEZAS.CS 8 B.5. CÓDIGO MAQUINARIA.

Manual de uso de Editor V.

.NET Compact Framework

Base de datos En este tutorial vamos a trabajar con la siguiente base de datos. Programación II Turno Mañana

Fundamentos de Programación CAPÍTULO 3 EL LENGUAJE C# Ing. Bruno López Takeyas, M.C. 1

Proyecto visual C# 2005 Express Edition: Imprimir Página 1 de 5

GUIA PRACTICA 1 VISUAL C#.Net SQL SERVER 2012 MANTENIMIENTO DE UNA TABLA

ACTIVIDADES BASE DE DATOS ACCESS 2007

Tema: Estructuras de Selección en C#.

Unidad Didáctica 2. Elementos básicos del lenguaje Java Tipos, declaraciones, expresiones y asignaciones

Compartir discos y particiones

Programación para dispositivos móviles con.net CF... Comunicaciones por Bluetooth

Text Mining: Distancia de Levenshtein

MICROSOFT EXCEL MICROSOFT EXCEL Manual de Referencia para usuarios. Salomón Ccance CCANCE WEBSITE

Conexión SQL Server y C# (Consola)

Creación de un sistema ABC

GUÍA DE TRABAJO N 11 LENGUAJE C# Programación de Software Articulación SENA Grado 10 Ing. Néstor Raúl Suarez Perpiñan Página 2 de 11

Tema: Grafos en C#. Objetivos Específicos. Materiales y Equipo. Introducción Teórica. Programación IV. Guía 7

Guia#12: Tema: Archivos en C#.

MICROSOFT WORD. Más opciones de edición de documentos

TRATAMIENTO DE DATOS

Taller: Introducción a Windows Communication Foundation

I.- Objetivo. II.- Introducción

MODELO 347 SOROLLA2 2015/2016

MS EXCHANGE 2013 MANUAL DEL USUARIO...

TUTORIAL BÁSICO DEL PROGRAMA XNVIEW

Impresión. Vista de Diseño de página

Controlando los errores que podrían producirse «afelipelc Blog

Realizar ejercicios de cifrado por medio de los cuales se comprenderá el funcionamiento e importancia del mismo.

Uso del control ZedGraph con C# (Gráficos circulares) Aintzane Conde. Uso del control ZedGraph en C# Gráficos circulares

Aprender los conceptos, manejo, usos y aplicación de heaps a fin de utilizarlos para el desarrollo de aplicaciones

Carlos Montenegro. Programación Orientada a Objetos Proyecto Curricular de Ingeniería de Sistemas

OPENOFFICE IMPRESS. Creación básica de presentaciones digitales

Plantillas y formularios. Word Autor: Viviana M. Lloret Prof. de Matemática e Informática Blog: aulamatic.blogspot.com

Práctica: 7-zip. Actualmente hay múltiples compresores, los más conocidos son Winzip y Winrar.

Automatización Industrial

Práctica 2. Entorno de programación Visual C#. Introducción a la programación visual

USO DE CAMPOS CALCULADOS: FÓRMULAS BÁSICAS

Practica 7 Conexión a su base de datos. Optativa II

Trabajando con bases de datos. ClaseOracleBD

Combinar correspondencia

ALMACENAMIENTO Y RECUPERACIÓN DE UN LIBRO

Crear un Blog en Wordpress

INTRODUCCIÓN A WINDOWS FORM

TUTORIAL PROGRAMA BIOWARE

Otros Trámites de Renovaciones de Marcas y Nombres comerciales (OTERS) Manual de Usuario

VISUAL BASIC Archivos en Visual Basic Proyectos Archivos

HOJA DE EJERCICIOS 5 PROGRAMACIÓN CON EXCEPCIONES EN JAVA

Subdirecció General d'innovació Tecnològica Educativa. Manual de usuario OVICE

Guia#9: Punteros en C#.

Tema 2. El lenguaje de programación Java (Parte 1)

Manual de Usuario CESS Contestación Electrónica Suspensos Signos (CESS) Manual de Usuario

Centrar Barra formato Formato de celdas Alineación Horizontal Derecha

2. Estructura de un programa en Java

Ejercicio 1 - La primera imagen

Introducción a JClic

Unidad II. Fundamentos de programación en Java. Ing. José Luis Llamas Cárdenas

Identificadores, palabras reservadas, tipos de datos, operadores aritméticos y el sistema estándar de salida en Java

DESARROLLO DE APLICACIONES DISTRIBUIDAS CON.NET: SERVICIOS WEB EN.NET

[Titulo] : Creacion de un Troyano de Conexion Inversa [Lenguaje] : C# [Autor] : Doddy Hackman. [Temario]

Tema: Estructuras de Repetición en C# [For].

Creación de organigrama en Visio 2013

Agenda..NET C# Laboratorio #1

Crear una. presentación

Tema: Grafos en C#. Objetivos Específicos. Materiales y Equipo. Introducción Teórica. Programación IV. Guía No. 7

Tema: Conexión a Base de Datos.

Construcciones del Lenguaje Java

Índice de contenido Crear un tema nuevo...3 Editar un tema...6 Insertar diferentes elementos en el body...7 Insertar una imagen...

OPENOFFICE IMPRESS. Uso básico Basic usage

Tema: Entorno a C# y Estructuras Secuenciales.

OPENOFFICE CALC. Manejo básico de hojas de cálculo

Hipervínculos. Word Autor: Viviana M. Lloret Prof. de Matemática e Informática Blog: aulamatic.blogspot.com

EL SERVICIO WEB. ACTIVIDAD 1. Creación de un servidor Web para la empresa Informática Solutions S.A. con Windows Server 2008.

Examen de Prácticas de Programación Ingeniería Informática

UNIDAD 10. Introducción

Implementando Transparent Application Failover sobre Aplicaciones.NET

Sistemas operativos en red. Conrado Perea

Un identificador le da nombre único a un elemento en un programa (Variables, procedimientos, etc.). No puede contener operadores como + - * /

Manual de uso de la Wiki

1.- CREAR UNA BASE DE DATOS CON ACCESS

EL CORREO ELECTRÓNICO

CURSO MOODLE Curso

Instalaciones y configuraciones en TABLET Colegio San Agustín

Transcripción:

Procesar datos con C#

Procesar datos con C# Se trata de crear una aplicación para poder abrir un archivo de texto, obtener su contenido y procesar la información que hay en él para poder utilizarla. Abrimos un nuevo proyecto de Microsoft Visual C# 2010.

Para poder ver lo que hacemos con este ejemplo, previamente, crearemos un fichero de texto donde guardaremos la información que aparece al final de este documento como Texto ejemplo. Para ello, en la parte superior derecha de la pantalla principal, pinchamos con el botón secundario en el nombre de nuestro proyecto (dentro del Explorador de soluciones) y elegimos Agregar, Nuevo elemento. Seleccionamos Archivo de texto y lo guardamos con el nombre Datos.txt. Seguidamente se nos abrirá una ventana vacía en la que copiaremos el texto:

Volvemos a la pestaña de Diseño del formulario. Para realizar esta aplicación debemos añadir al formulario un RichTextBox (cuadro de texto enriquecido), 5 Label (etiqueta) y 3 TextBox (cuadro de texto) desde el Cuadro de Herramientas, que se encuentra en el lateral izquierdo de la pantalla. Cambiaremos las siguientes Propiedades (cuadro inferior derecho) de los objetos añadidos: (Name): asignaremos el nombre rtbdatos para el cuadro de texto enriquecido, los nombres lbfecha, lbutc, lblat, lblong y lbalt para las etiquetas y tblat, tblong y tbalt para los cuadros de texto. Text: asignaremos los textos Fecha y hora, UTC, Latitud, Longitud y Altitud para los nombres lbfecha, lbutc, lblat, lblong y lbalt respectivamente.

De esta forma, tendremos un formulario como este: Para que este ejemplo dé el resultado que se ve a continuación, debemos ir a Ver, pinchar en Código y escribir el Código (en Ubicación_del_archivo debemos indicar la Ruta de acceso al archivo deseado).

Comentarios sobre el código Se escribe la línea using System.IO para poder acceder a los datos mediante la función StreamReader. También existe una función para escribir en un fichero (StreamReader). Dependiendo la configuración del ordenador en el que estemos trabajando, los decimales se indicaran mediante un punto o una coma. Los datos a los que accedemos vienen separados por puntos, por lo que se crea una función PuntoPorComa(string) que los sustituye. Trim() se utiliza para quitar los espacios en blanco que puede haber en el texto. Split('\n') se utiliza para dividir un texto en tantas partes como veces aparezca el carácter de separación que hayamos introducido. try catch se utiliza para intentar realizar las operaciones que indiquemos dentro del try y, si esto no es posible, realizar otras operaciones distintas que agruparemos en el cath. También existe la palabra finally para, bien se haya pasado por el grupo de código primero o segundo, acabar ejecutando las sentencias incluidas dentro del finally. Texto ejemplo $GPRMC,204008.00,A,4320.42919,N,00300.99145,W,0.020,,071111,,,A*68 $GPVTG,,T,,M,0.020,N,0.038,K,A*2A $GPGGA,204008.00,4320.42919,N,00300.99145,W,1,08,1.19,4.9,M,49.9,M,,*49 $GPGSA,A,3,23,02,13,04,20,07,10,08,,,,,2.24,1.19,1.89*06 $GPGSV,3,1,11,02,41,302,35,04,66,226,33,05,09,291,,07,44,150,32*7D $GPGSV,3,2,11,08,21,172,30,10,65,313,35,13,66,044,31,16,03,064,*77 $GPGSV,3,3,11,17,02,206,,20,11,105,23,23,37,053,33*4D $GPGLL,4320.42919,N,00300.99145,W,204008.00,A,A*74 Código using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Windows.Forms; using System.IO; //Para poder leer los datos namespace WindowsFormsApplication2 public partial class Form1 : Form

#region Variables globales public string stlatitud; public string stlongitud; public string staltitud; public double dolatitud; public double dolongitud; string Datos; const string Ruta = @"C:Ubicación_del_archivo\Datos.txt"; #region Funciones #region Formato hora string FormatoHora(string Cadena) Cadena = Cadena.Insert(4, ":"); Cadena = Cadena.Insert(2, ":"); return Cadena; #region Signo de las coordenadas string SignoCoor(string Cadena1, string Cadena2) double docadena1; docadena1 = Convert.ToDouble(Cadena1); switch (Cadena2) case "S": docadena1 = (-1) * docadena1; Cadena1 = Convert.ToString(doCadena1); break; case "W": docadena1 = (-1) * docadena1; Cadena1 = Convert.ToString(doCadena1); break; default: Cadena1 = Convert.ToString(doCadena1); break; return Cadena1; #region Cambiar un punto por una coma string PuntoPorComa(string Cadena) Cadena = Cadena.Replace('.', ','); return Cadena; #region Obtención de los datos string Obtencion_datos()

StreamReader sr = new StreamReader(Ruta); string Actual = sr.readtoend(); sr.close(); return Actual; #region Procesar los datos private void Procesar_datos(string Datos) string stlat; string stlong; string stalt; string stutc; rtbdatos.text = Datos; Datos = Datos.Trim(); string[] starray = Datos.Split('\n'); for (int i = 0; i < starray.length; i++) string strtemp = starray[i]; string[] starraylinea = strtemp.split(','); if (starraylinea[0] == "$GPGGA") try //UTC stutc = FormatoHora(stArrayLinea[1]); lbutc.text = stutc; //Latitud Double dolat = Convert.ToDouble(PuntoPorComa(stArrayLinea[2])); dolat = dolat / 100; string[] lat = dolat.tostring().split(','); stlat = lat[0].tostring() + "," + ((Convert.ToDouble(lat[1]) / 60)).ToString("######"); stlat = SignoCoor(stLat, Convert.ToString(stArrayLinea[3])); tblat.text = stlat.tostring(); //Longitud Double dolong = Convert.ToDouble(PuntoPorComa(stArrayLinea[4])); dolong = dolong / 100; string[] lon = dolong.tostring().split(','); stlong = lon[0].tostring() + "," + ((Convert.ToDouble(lon[1]) / 60)).ToString("######"); stlong = SignoCoor(stLong, starraylinea[5]); tblong.text = stlong.tostring(); //Altitud stalt = starraylinea[9]; tbalt.text = PuntoPorComa(stAlt); catch //No se pueden leer los valores GPS tblat.text = "GPS inválido"; tblong.text = "GPS inválido";

public Form1() InitializeComponent(); Datos = Obtencion_datos(); Procesar_datos(Datos);