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

leyendo un archivo en c#

Estas en el tema de leyendo un archivo en c# en el foro de .NET en Foros del Web. tengo este archivo # 3ds Max Wavefront OBJ Exporter v0.97b - (c)2007 guruware # File Created: 30.07.2012 09:24:06 mtllib caja.mtl # # object Box01 # ...
  #1 (permalink)  
Antiguo 30/07/2012, 06:36
 
Fecha de Ingreso: diciembre-2010
Mensajes: 162
Antigüedad: 13 años, 7 meses
Puntos: 1
Pregunta leyendo un archivo en c#

tengo este archivo


# 3ds Max Wavefront OBJ Exporter v0.97b - (c)2007 guruware
# File Created: 30.07.2012 09:24:06

mtllib caja.mtl

#
# object Box01
#

v -30.0000 0.0000 30.0000
v -30.0000 0.0000 -30.0000
v 30.0000 0.0000 -30.0000
v 30.0000 0.0000 30.0000
v -30.0000 60.0000 30.0000
v 30.0000 60.0000 30.0000
v 30.0000 60.0000 -30.0000
v -30.0000 60.0000 -30.0000
# 8 vertices

vn 0.0000 -1.0000 -0.0000
vn 0.0000 1.0000 -0.0000
vn 0.0000 0.0000 1.0000
vn 1.0000 0.0000 -0.0000
vn 0.0000 0.0000 -1.0000
vn -1.0000 0.0000 -0.0000
# 6 vertex normals

vt 1.0000 0.0000 0.0000
vt 1.0000 1.0000 0.0000
vt 0.0000 1.0000 0.0000
vt 0.0000 0.0000 0.0000
# 4 texture coords

g Box01
usemtl 01___Default
s 2
f 1/1/1 2/2/1 3/3/1 4/4/1
s 4
f 5/4/2 6/1/2 7/2/2 8/3/2
s 8
f 1/4/3 4/1/3 6/2/3 5/3/3
s 16
f 4/4/4 3/1/4 7/2/4 6/3/4
s 32
f 3/4/5 2/1/5 8/2/5 7/3/5
s 64
f 2/4/6 1/1/6 5/2/6 8/3/6
# 6 polygons

lo que quisiera hacer es extraer solamente los numeros del archivo y colocarlas en una variable, por ejemplo:
v -30.0000 0.0000 30.0000

solo colocar en una variable -30.0000 y en otra 0.0000 y en otra 30.0000, bueno espero que se haya entendido y les agradeceria mucho una ayudita al respecto ya que se leer archivos pero no se como tomar partes de estos.
  #2 (permalink)  
Antiguo 30/07/2012, 07:33
Avatar de Aquaventus  
Fecha de Ingreso: junio-2010
Ubicación: Lima-Peru , En el alba de la naturaleza
Mensajes: 2.105
Antigüedad: 14 años, 1 mes
Puntos: 267
Respuesta: leyendo un archivo en c#

Hola poeta3d, puedes usar la funcion split al momento que lees linea por linea de tu archivo, con eso separarias los valor por el " " (espacio en blanco) almacenandolos en una array de string :

Código C:
Ver original
  1. //Tu linea que obtienes de la lectura de tu archivo
  2. string mi_linea = "v -30.0000 0.0000 30.0000";
  3. //La pasamos a un array de string con la funcion Split
  4. string[] variable = mi_linea.Split(' ');

Teniendo como resultado en las posiciones del array el siguiente orden :
Cita:
variable[0] = "v"
variable[1] = "-30.0000"
variable[2] = "0.0000"
variable[3] = "30.0000"
Espero te haya sido útil. Saludos!.
__________________
Internet es tener todo el conocimiento global a tu disposición.
Desarrollo de Software - Ejemplos .Net
  #3 (permalink)  
Antiguo 30/07/2012, 19:14
 
Fecha de Ingreso: diciembre-2010
Mensajes: 162
Antigüedad: 13 años, 7 meses
Puntos: 1
Pregunta Respuesta: leyendo un archivo en c#

por favor podrias ser mas claro?? o sea darme el codigo completo porque he probado y me tira error. muchas gracias por la respuesta sos un genio
  #4 (permalink)  
Antiguo 31/07/2012, 07:17
Avatar de Aquaventus  
Fecha de Ingreso: junio-2010
Ubicación: Lima-Peru , En el alba de la naturaleza
Mensajes: 2.105
Antigüedad: 14 años, 1 mes
Puntos: 267
Respuesta: leyendo un archivo en c#

En que parte te tira error? Saludos!.
__________________
Internet es tener todo el conocimiento global a tu disposición.
Desarrollo de Software - Ejemplos .Net
  #5 (permalink)  
Antiguo 31/07/2012, 10:29
 
Fecha de Ingreso: diciembre-2010
Mensajes: 162
Antigüedad: 13 años, 7 meses
Puntos: 1
Pregunta Respuesta: leyendo un archivo en c#

tengo este codigo

public void leer()
{
StreamReader sr = new StreamReader("D:\\PROYECTOS VISUAL C#\\opentk\\CAJA.OBJ");
string linea;
string[] x = linea.Split(" ");
textBox2.Text = x;
}

y me tira el siguiente error:


Error 1 La mejor coincidencia de método sobrecargado para 'string.Split(params char[])' tiene algunos argumentos no válidos D:\PROYECTOS VISUAL C#\opentk\opentk\Form1.cs 108 26 opentk

Error 2 Argumento '1': no se puede convertir de 'string' a 'char[]' D:\PROYECTOS VISUAL C#\opentk\opentk\Form1.cs 108 38 opentk

Error 3 No se puede convertir implícitamente el tipo 'string[]' en 'string' D:\PROYECTOS VISUAL C#\opentk\opentk\Form1.cs 109 29 opentk
seguro he hecho algo mal pero no se cual es
  #6 (permalink)  
Antiguo 31/07/2012, 12:01
Avatar de Aquaventus  
Fecha de Ingreso: junio-2010
Ubicación: Lima-Peru , En el alba de la naturaleza
Mensajes: 2.105
Antigüedad: 14 años, 1 mes
Puntos: 267
Respuesta: leyendo un archivo en c#

mi codigo no tiene errores... Sería así :
Código C:
Ver original
  1. public void leer()
  2. {
  3. StreamReader sr = new StreamReader("D:\\PROYECTOS VISUAL C#\\opentk\\CAJA.OBJ");
  4. //Aqui tu variable linea deberias pasarle lo que lees
  5. string linea;
  6. string[] x = linea.Split(' ');
  7. //Y aqui por ejemplo pasarle el indice del cual quieres obtener, que puede ser 0,1,2..etc
  8. //siempre y cuando exista el indice porque sino te tira error, los indices ya te explique anteriormente
  9. textBox2.Text = x[0].ToString();
  10. }
Saludos!.
__________________
Internet es tener todo el conocimiento global a tu disposición.
Desarrollo de Software - Ejemplos .Net
  #7 (permalink)  
Antiguo 31/07/2012, 12:12
 
Fecha de Ingreso: diciembre-2010
Mensajes: 162
Antigüedad: 13 años, 7 meses
Puntos: 1
Pregunta Respuesta: leyendo un archivo en c#

perdon que siga insistiendo pero si uso tu codigo no me muestra el texto que quiero en el textbox2 y gracias por tu ayuda
  #8 (permalink)  
Antiguo 31/07/2012, 13:07
Avatar de Aquaventus  
Fecha de Ingreso: junio-2010
Ubicación: Lima-Peru , En el alba de la naturaleza
Mensajes: 2.105
Antigüedad: 14 años, 1 mes
Puntos: 267
Respuesta: leyendo un archivo en c#

mientras no le asignes la fila del archivo que quieres leer no obtienes nada, ahora si le pasas todo OK y no le indicas el INDICE que quieres y lo dejaste 0 como quieres que te tome el que quieres? Para eso te dije que observaras mi primer comentario ya que de eso obtienes el indice que deseas. Saludos!.
__________________
Internet es tener todo el conocimiento global a tu disposición.
Desarrollo de Software - Ejemplos .Net

Etiquetas: leyendo
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 06:21.