Visual Basic, .NET, ASP, VBScript
 

   
   
     

Форум - .NET

Страница: 1 |

 

  Вопрос: Чтение данных из файла Добавлено: 11.10.09 02:46  

Автор вопроса:  topograf
Есть такой текстовый файл :

1,613.1476,553.2407,0
2,628.5637,588.2095,0
3,619.314,618.0359,0
4,597.7315,611.8649,0
5,594.6483,585.1241,0
6,594.6483,551.1838,0

разделитель-запятая. И есть структура :

Structure myPoint
    Public name As String
    Public x As Double
    Public y As Double
    Public z As Double
End Structure

Вопрос, как из файла записать данные в myPoint()?
myPoint(1).name=1
myPoint(1).x=628.5637
myPoint(1).y=553.2407
myPoint(1).z=0 и т.д.

Ответить

  Ответы Всего ответов: 8  

Номер ответа: 1
Автор ответа:
 SSTREGG



Вопросов: 3
Ответов: 64
 Профиль | | #1 Добавлено: 11.10.09 02:57
Читай файл построчно, и дели строку, по запятой (строка.Split(',')). Потом вноси все данные в структуру.

Ответить

Номер ответа: 2
Автор ответа:
 topograf



Вопросов: 3
Ответов: 12
 Профиль | | #2 Добавлено: 11.10.09 03:30
 так и читаю, а как делить не знаю.
Можно пример про Split?

Ответить

Номер ответа: 3
Автор ответа:
 topograf



Вопросов: 3
Ответов: 12
 Профиль | | #3 Добавлено: 11.10.09 03:47
ага понял, все получилось.
Пасибки)))

Ответить

Номер ответа: 4
Автор ответа:
 topograf



Вопросов: 3
Ответов: 12
 Профиль | | #4 Добавлено: 11.10.09 03:48
А как узнать количество строк в файле?

Ответить

Номер ответа: 5
Автор ответа:
 SSTREGG



Вопросов: 3
Ответов: 64
 Профиль | | #5 Добавлено: 11.10.09 03:48
C#:
  1. struct myPoint
  2. {
  3. public string name;
  4. public double x;
  5. public double y;
  6. public double z;
  7. }
  8.  
  9. private void button1_Click(object sender, EventArgs e)
  10. {
  11. StreamReader sr = new StreamReader("C:\\1.txt", Encoding.Default);
  12. string[] temp;
  13. myPoint[] mp = new myPoint[1024];
  14. int i = 0;
  15. while (!sr.EndOfStream)
  16. {
  17. temp = sr.ReadLine().Split(',');
  18. if (temp.Length == 4)
  19. {
  20. mp.name = temp[0];
  21. mp.x = double.Parse(temp[1].Replace('.',','));
  22. mp.y = double.Parse(temp[2].Replace('.', ','));
  23. mp[i++].z = double.Parse(temp[3].Replace('.', ','));
  24. // Replace нужен для преобразования в double (. -> ,)
  25. }
  26. }
  27. sr.Close();
  28. }

Ответить

Номер ответа: 6
Автор ответа:
 SSTREGG



Вопросов: 3
Ответов: 64
 Профиль | | #6 Добавлено: 11.10.09 03:53
topograf пишет:
А как узнать количество строк в файле?


Как вариант просто прочитать его.
  1. int j = 0;
  2. while (!sr.EndOfStream)
  3. { j++; }
  4. myPoint[] mp = new myPoint[j];

Ответить

Номер ответа: 7
Автор ответа:
 topograf



Вопросов: 3
Ответов: 12
 Профиль | | #7 Добавлено: 11.10.09 03:54
у меня VB.net.
Ну да ладно, разберусь.
Сспасибо еще раз)))

Ответить

Номер ответа: 8
Автор ответа:
 topograf



Вопросов: 3
Ответов: 12
 Профиль | | #8 Добавлено: 11.10.09 04:00
Ага, получилось.

Ответить

Страница: 1 |

Поиск по форуму



© Copyright 2002-2011 VBNet.RU | Пишите нам