Страница: 1 |
Страница: 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-файле.
Но если у тебя встала проблема преобразования строки в число, то используй
Если же просто не можешь прочитать файл, то можно поступить так..
В результате в переменной 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
хорошо..
попробую массив массивов..