Форматированное чтение в массив структур

Язык Visual Basic на платформе .NET.

Модераторы: Ramzes, Sebas

Eugira
Начинающий
Начинающий
 
Сообщения: 5
Зарегистрирован: 22.07.2003 (Вт) 14:39

Форматированное чтение в массив структур

Сообщение Eugira » 20.02.2007 (Вт) 13:25

Часто нужно чтение из форматированного текстового файла в некий массив структур.
Пусть например дан файл
1 “Иванов”
3 “Петров”
а в программе объявлена структура
Structure MyStruct
Dim N As Integer 'номер
Dim FIO AS String
Dim price As Single
End Structure
Dim str() as MyStruct
Как лучше и надёжнее провести чтение в массив структур?
Вроде в VB NET нет форматированного ввода, Если использ класс StringReader и метод ReadLine –возникает задача разбора считанной строки с пом функции Split а затем переписыванием типа
Dim f As StreamReader = File.OpenText("\dan.txt")
Dim ar(2) As String
While f.Peek <> -1
I=i+1
Redim str(i)
s = f.ReadLine
ar=Split(s, " ")
str(i).N=Convert.ToInt(ar(0))
str(i).FIO=ar(1)
str(i).price=Convert.ToSingle(ar(2))
i = i + 1
End While
Всё это довольно долго, ошибки могут возникнуть и при выполнении Split
И при преобразовании в целые и веществ типы
Нельзя ли как-то попроще? В C++ аналогичную роль играла fscanf
Е.Багоцкий

GSerg
Шаман
Шаман
 
Сообщения: 14286
Зарегистрирован: 14.12.2002 (Сб) 5:25
Откуда: Магадан

Сообщение GSerg » 20.02.2007 (Вт) 13:46

Как только вы переберёте все варианты решения и не найдёте нужного, тут же обнаружится решение, простое и очевидное для всех, кроме вас

dimaboyko
Начинающий
Начинающий
 
Сообщения: 21
Зарегистрирован: 03.04.2007 (Вт) 14:00

Используй регулярные выражения

Сообщение dimaboyko » 03.04.2007 (Вт) 15:02

Используй регулярные выражения 8)


Вернуться в Visual Basic .NET

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 66

    TopList