Visual Basic, .NET, ASP, VBScript
 

   
   
     

Форум - .NET

Страница: 1 |

 

  Вопрос: переменные из файла Добавлено: 01.05.06 08:31  

Автор вопроса:  Antibiotic
как в VB.net 3агрузить переменные из файла?

запись в файл я сделал.. построчно

x1=переменная1
x2=переменная2
..
xn=переменнаяn

а вот как считать их??
текст разобрался как считать а вот дальше.. =((

Ответить

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

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



Вопросов: 58
Ответов: 4255
 Профиль | | #1 Добавлено: 01.05.06 10:12
Такие вещи в NET лучше всего хранить в xml-файле.
Но если у тебя встала проблема преобразования строки в число, то используй
System.Convert
.
Если же просто не можешь прочитать файл, то можно поступить так..
        Dim MyText() As String = System.IO.File.ReadAllLines("C:\Test.txt";)

В результате в переменной MyText будет содержаться массив твоих строк..

Ответить

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



ICQ: 3112212350 

Вопросов: 0
Ответов: 4
 Профиль | | #2 Добавлено: 02.05.06 05:57
в любом мануале, вобщем RTFM

Ответить

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



Вопросов: 9
Ответов: 34
 Профиль | | #3 Добавлено: 02.05.06 18:00
если у меня в файле несолько массивов?

Ответить

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



Вопросов: 9
Ответов: 34
 Профиль | | #4 Добавлено: 02.05.06 18:00
как их отдедить друг от друга?

Ответить

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



Вопросов: 58
Ответов: 4255
 Профиль | | #5 Добавлено: 02.05.06 21:15
Перебери массив строк MyText в цикле, и раздели по известному тебе признаку

Ответить

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



Вопросов: 9
Ответов: 34
 Профиль | | #6 Добавлено: 03.05.06 05:11
дай пожалуйста ссылку на пример..

я нисгде не нашел..
методом научного тыка не вышло =(

Ответить

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



Вопросов: 58
Ответов: 4255
 Профиль | | #7 Добавлено: 03.05.06 13:18
Знаешь, ты изначально пошел по неверному пути. Тебе бы следовало вместо обычного текстового файла использовать xml-файл. Тогда бы все было на порядок проще!
А так.. чтобы помочь тебе разделить.. надо видеть образец содержимого твоего тестового файла.. Так что выкладывай сюда часть данных с разными массивами, будем разбираться..

Ответить

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



Вопросов: 9
Ответов: 34
 Профиль | | #8 Добавлено: 03.05.06 14:01

Private Sub SaveToolStripMenuItem_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles SaveToolStripMenuItem.Click
        SaveFileDialog.Filter = "all files(*.*)|*.*"
        SaveFileDialog.ShowDialog()
        If SaveFileDialog.FileName > "" Then
            FILE_NAME = SaveFileDialog.FileName
            Using sw As StreamWriter = File.CreateText(FILE_NAME)
                For i = 1 To 99 Step 1
                    For ii = 1 To 8 Step 1
                        sw.WriteLine("x(" & i & "," & ii & ";)=" & x(i, ii))
                        sw.WriteLine("a(" & i & "," & ii & ";)=" & a(i, ii))
                    Next
                Next
                sw.Close()
            End Using
        End If
End Sub


это процедура сохранения..
на самом я ни разу не делал запись и извлечение переменных в файл поэтому опыта 0..
с xml ни разу не работал.. не успелось..
поэтому буду рад если научите.. пример покажите..

извините.. просто я до этого только ВБА юзал в аксесе.. но тут аксес не приемлем.. лишний..

Ответить

Номер ответа: 9
Автор ответа:
 EROS



Вопросов: 58
Ответов: 4255
 Профиль | | #9 Добавлено: 03.05.06 17:08
Ты использовал двумерный массив, поэтому и пример покажу на нем же. Но тут для сохранения и чтения данных я использовал не Xml, а Binary форматтер.Так же вполне подойдет Soap-класс..

'Импортируем пространства имён
Imports System.IO
Imports System.Runtime.Serialization.Formatters.Binary

Public Class Form1
    'Объявляем переменные
    Private FilePath As String = "C:\Test.bin"
    Private MyArray(8, 8) As Integer                'Матрица таблицы умножения
    Private formatter As New BinaryFormatter
    Private fs As FileStream

    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
        'Сохранение в файл
        fs = File.Open(FilePath, FileMode.Create)
        formatter.Serialize(fs, MyArray)
        fs.Close()
    End Sub

    Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
        'Чтение из файла
        fs = File.Open(FilePath, FileMode.Open)
        MyArray = formatter.Deserialize(fs)
        fs.Close()
        MessageBox.Show("7*9=" & MyArray(6, 8), "Test", MessageBoxButtons.OK)
    End Sub

    Private Sub Button3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button3.Click
        'Заполняем массив
        For i As Integer = 1 To MyArray.GetUpperBound(0) + 1
            For ii As Integer = 1 To MyArray.GetUpperBound(1) + 1
                MyArray(i - 1, ii - 1) = i * ii
            Next
        Next
    End Sub

End Class

Ответить

Номер ответа: 10
Автор ответа:
 Antibiotic



Вопросов: 9
Ответов: 34
 Профиль | | #10 Добавлено: 03.05.06 17:59
спасибо..

это так же сработает с 2мя массивами?

Ответить

Номер ответа: 11
Автор ответа:
 EROS



Вопросов: 58
Ответов: 4255
 Профиль | | #11 Добавлено: 04.05.06 01:16
да, только хранить их лучше в разных файлах..

Ответить

Номер ответа: 12
Автор ответа:
 Antibiotic



Вопросов: 9
Ответов: 34
 Профиль | | #12 Добавлено: 04.05.06 01:18
должен быть один файл.. =(

это чтото вроде сейва..
сейв на разных файлах будет неудобно загружать..

ладно.. так буду пробовать.. =)

Ответить

Номер ответа: 13
Автор ответа:
 EROS



Вопросов: 58
Ответов: 4255
 Профиль | | #13 Добавлено: 04.05.06 02:24
В таком случае проще сделать класс-обертку в котором будут 2 массива.. либо массив массивов.. и уже его сериализовать..

Ответить

Номер ответа: 14
Автор ответа:
 Antibiotic



Вопросов: 9
Ответов: 34
 Профиль | | #14 Добавлено: 04.05.06 02:27
хорошо..
попробую массив массивов.. =)

Ответить

Страница: 1 |

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



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