Foros del Web » Programación para mayores de 30 ;) » Programación General »

como escribir y leer un archivo txt en c#

Estas en el tema de como escribir y leer un archivo txt en c# en el foro de Programación General en Foros del Web. Buenos días: estoy realizando una pequeña aplicación de una clínica donde guardo pacientes ,profesionales etc en un archivo de texto he podido guardar varios datos ...
  #1 (permalink)  
Antiguo 27/09/2015, 10:18
 
Fecha de Ingreso: mayo-2015
Mensajes: 63
Antigüedad: 8 años, 11 meses
Puntos: 1
como escribir y leer un archivo txt en c#

Buenos días:

estoy realizando una pequeña aplicación de una clínica donde guardo pacientes ,profesionales etc en un archivo de texto
he podido guardar varios datos pero mi problema resulta que la clase profesional tiene un atributo de esta forma:
private string[,] disponibilidad;

entonces no he podido escribir ni leer este atributo el cual es generado por medio de un combobox pongo el codigo para que me puedan entender:


esta es la clase profesional:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace ClinicaPepeSierra
{
public class Profesional:Persona
{
private string[,] disponibilidad;
private string tipo;
private Acceso miacce;
public Profesional()
{
disponibilidad = new string[5,2];
for (int i = 0; i <disponibilidad.GetLength(0); i++)
{
disponibilidad[i,0]="DISPONIBLE";
}
for (int j = 0; j <disponibilidad.GetLength(1); j++)
disponibilidad[j,1]="";

tipo = "";
miacce=new Acceso();
}
public string [,] DI
{
get { return disponibilidad; }
set { disponibilidad = value; }
}
public string TI
{
get { return tipo; }
set { tipo = value; }
}
public Acceso AC
{
set { miacce = value; }
get { return miacce; }
}
}
}

aca es donde escribo para generar el archivo txt:
private void button13_Click(object sender, EventArgs e)
{


miescritura = new FileStream(@"prueba.txt", FileMode.OpenOrCreate);
escribir = new StreamWriter(miescritura);



for (int i = 0; i < miclinica.MPS.Count;i++)
{

escribir.WriteLine(miclinica.MPS[i].ID.ToString());
escribir.WriteLine(miclinica.MPS[i].NO);
escribir.WriteLine(miclinica.MPS[i].CO);
escribir.WriteLine(miclinica.MPS[i].TI);
AQUI ES DONDE NO SE COMO ESCRIBIR LA DISPONIBILIDAD?


}

escribir.Close();
miescritura.Close();
Application.Exit();
}

ESTE ES EL CODIFGO DE COMO LEO EL ARCHIVO:

private void Form2_Load(object sender, EventArgs e)
{

Form miacceso = new Form4(miclinica);
miacceso.ShowDialog();
milectura = new FileStream(@"prueba.txt", FileMode.OpenOrCreate);
leer = new StreamReader(milectura);

string aux = leer.ReadLine();
Paciente mipaciente = new Paciente();
Profesional miprofesional = new Profesional();
textBox1.Text = "";
textBox2.Text = "";
textBox4.Text = "";
textBox5.Text = "";
textBox6.Text = "";

while (aux != null)
{

for (int i = 0; i < int.Parse(aux); i++)
{
miprofesional.ID = long.Parse(leer.ReadLine());
miprofesional.NO = leer.ReadLine();
miprofesional.CO = leer.ReadLine();
miprofesional.TI = leer.ReadLine();
AQUI ES DONDE NO SE COMO LEER LA DISPONIBILIDAD DEL ARCHIVO DE TEXTO
miclinica.MPS.Add(miprofesional);
}
aux = leer.ReadLine();
}
leer.Close();
milectura.Close();


}

muchas gracias por sus respuestas.
  #2 (permalink)  
Antiguo 27/09/2015, 11:11
(Desactivado)
 
Fecha de Ingreso: enero-2015
Mensajes: 393
Antigüedad: 9 años, 3 meses
Puntos: 52
Respuesta: como escribir y leer un archivo txt en c#

Si esto es en serio (es decir, no es un ejercicio de la escuela o algo similar), te conviene:

- Usar una base de datos.
- Usar Entity Framework.
- Crear un modelo adecuado para la disponibilidad en lugar de usar un array.

Caso contrario:

- Podrias escribir el array al disco iterando sobre la primer dimension (i) y creando por cada elemento una linea de texto que contenga los valores de la segunda dimension [j] separados por comas, o algo por el estilo

Etiquetas: txt
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 17:53.