Форум программистов, компьютерный форум, киберфорум
Visual Basic .NET
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.73/11: Рейтинг темы: голосов - 11, средняя оценка - 4.73
 Аватар для dr_Morro
195 / 115 / 30
Регистрация: 05.08.2013
Сообщений: 491

Как сохранить массив с типом "структура" в файл, а затем читать из него?

03.09.2013, 13:13. Показов 2480. Ответов 13
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Добрый день, дорогие форумчане. Помогите разобраться. Есть вот это:

VB.NET
1
2
3
4
5
6
7
8
9
10
11
12
13
' Здесть я объявляю пользовательскую структуру
Public Structure myZakaz
    Dim DayZak As Date
    Dim TimeZak As String
    Dim NumZak As String
    Dim NameZak As String
    Dim TypeTransp As Integer
    Dim StatusZak As Integer
    Dim CommentZak As String
End Structure
 
' Тут массив из этой структуры
Public mZak(7, 12) As myZakaz
Вопрос в следующем: как сохранить это в файл, а затем читать из него данные обратно заполняя массив. Прошу прощения, если вопрос слишком прост, но опыт работы с подобными структурами у меня бесконечно стремится к нулю...

Добавлено через 39 минут
VB.NET
1
2
Dim File As System.IO.File
File.WriteAllLines("myData.sdf", mZak, Encoding.UTF8)
Делаю так, ругается что "Encoding" не объявлен. Может быть не доступен из-за своего уровня защиты."
Что я тут неправильно делаю, и что надо делать правильно?

Добавлено через 2 часа 2 минуты
Никто не ответил, вот на всякий случай решение на данный момент. Пока не знаю, какие сложности возникнут...
VB.NET
1
2
3
4
5
6
7
FileOpen(1, Application.StartupPath & "\myData.sdf", OpenMode.Random)
 
        For Me.intDays = 1 To 7
            For Me.intHours = 1 To 12
                FilePut(1, mZak(intDays, intHours))
            Next
        Next
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
03.09.2013, 13:13
Ответы с готовыми решениями:

Как массив строк сохранить в файл и загрузить из него?
Есть рабочий код переводчика с русского на английский.ами слова заполняютья и сохраняються в массиве rus и eng.Доступны только во время...

Как правильно открывать файл и записывать/читать из него
Как правильно открывать файл и записывать/читать из него? На разных сайтах и учебниках есть различные примеры етого но везде разные ...

Как прочитать exe файл, а затем сохранить его?
подскажите как прочитать exe файл, затем хранить его как некий набор символов, а затем восстановить файл из этих данных пробовал...

13
835 / 643 / 101
Регистрация: 20.08.2013
Сообщений: 2,524
03.09.2013, 16:41
Цитата Сообщение от dr_Morro Посмотреть сообщение
ругается что "Encoding" не объявлен
VB.NET
1
Imports System.Text
Цитата Сообщение от dr_Morro Посмотреть сообщение
VB.NET
1
Dim File As System.IO.File
Убери это. Метод WriteAllLines статический.

Цитата Сообщение от dr_Morro Посмотреть сообщение
Вопрос в следующем: как сохранить это в файл, а затем читать из него данные обратно заполняя массив.
Расставить атрибуты сериализации и вызвать сериализатор (xml или бинарный).
1
Почетный модератор
 Аватар для Памирыч
23251 / 9163 / 1084
Регистрация: 11.04.2010
Сообщений: 11,014
03.09.2013, 19:36
Цитата Сообщение от dr_Morro Посмотреть сообщение
FileOpen
Ни в коем разе.
VB.NET
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
    <System.Serializable()> Public Structure myZakaz
        Dim DayZak As Date
        Dim TimeZak As String
        Dim NumZak As String
        Dim NameZak As String
        Dim TypeTransp As Integer
        Dim StatusZak As Integer
        Dim CommentZak As String
    End Structure
 
    ' Тут массив из этой структуры
    Public mZak(7, 12) As myZakaz
    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
        'Запись
        Dim formatter As New Runtime.Serialization.Formatters.Binary.BinaryFormatter()
        Using stream As IO.Stream = IO.File.Create("C:\ListTest.bin")
            formatter.Serialize(stream, mZak)
        End Using
    End Sub
 
    Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
        Dim formatter As New Runtime.Serialization.Formatters.Binary.BinaryFormatter()
        Using stream As IO.Stream = IO.File.Open("C:\ListTest.bin", IO.FileMode.Open)
            mZak = formatter.Deserialize(stream) 'Читаем из файла
        End Using
    End Sub
3
 Аватар для dr_Morro
195 / 115 / 30
Регистрация: 05.08.2013
Сообщений: 491
03.09.2013, 19:53  [ТС]
Спасибо, пожалуй с сериализацией получше будет. Извращаться с циклами уже как-то не комильфо. Хотя и работает.
И... э... вопрос: если одно из полей в структуре будет битмап, все так-же будет работать?
0
Почетный модератор
 Аватар для Памирыч
23251 / 9163 / 1084
Регистрация: 11.04.2010
Сообщений: 11,014
03.09.2013, 19:55
Цитата Сообщение от dr_Morro Посмотреть сообщение
если одно из полей в структуре будет битмап, все так-же будет работать
Должно, там можно хоть целые файлы хранить.

Цитата Сообщение от dr_Morro Посмотреть сообщение
Извращаться с циклами уже как-то не комильфо
А меня, бывает, прикалывает. Ну это когда настроение есть, велик я изобрести горазд. А когда надо сделать, потому что надо или побыстрей - плюхи в студию
0
835 / 643 / 101
Регистрация: 20.08.2013
Сообщений: 2,524
03.09.2013, 20:02
Цитата Сообщение от dr_Morro Посмотреть сообщение
И... э... вопрос: если одно из полей в структуре будет битмап, все так-же будет работать?
Проще проверить...
0
 Аватар для dr_Morro
195 / 115 / 30
Регистрация: 05.08.2013
Сообщений: 491
03.09.2013, 20:04  [ТС]
Памирыч, эх, видел бы моё извращение с заполнением этих ячеек... )))
Уже знаю, как сделать правильно, но лень переделывать...
(могу проект скинуть)
0
Почетный модератор
 Аватар для Памирыч
23251 / 9163 / 1084
Регистрация: 11.04.2010
Сообщений: 11,014
03.09.2013, 20:05
Цитата Сообщение от dr_Morro Посмотреть сообщение
могу проект скинуть
Дело хорошее, но поглазеть, не более, я крайне слаб в разборах чужого кода и своего, если ему более 78 минут (засекали всем отделом)
0
 Аватар для dr_Morro
195 / 115 / 30
Регистрация: 05.08.2013
Сообщений: 491
03.09.2013, 20:07  [ТС]
Не поглазеть, а поржать...
http://yadi.sk/d/oFvQo4Av8eftr

(123)
0
Почетный модератор
 Аватар для Памирыч
23251 / 9163 / 1084
Регистрация: 11.04.2010
Сообщений: 11,014
03.09.2013, 20:16
Кода, конечно, вагон и тележка.
Но там он весь закоментированный, а сие есть правило хорошего тона.
Разбирайтесь в языке, трудолюбия хватает, коментарии есть, будете потом такие проги за полчаса писать
0
1652 / 715 / 47
Регистрация: 11.03.2012
Сообщений: 1,855
Записей в блоге: 1
03.09.2013, 20:22
Цитата Сообщение от Памирыч Посмотреть сообщение
если ему более 78 минут (засекали всем отделом)

Не по теме:

Надо будет такой же эксперимент провести))

1
 Аватар для dr_Morro
195 / 115 / 30
Регистрация: 05.08.2013
Сообщений: 491
03.09.2013, 20:22  [ТС]
для кодинга этого вагона я прогу отдельную писал...
Программирую с 1984 года... но агромаднейшими перерывами...
vb.net только начал...
0
Почетный модератор
 Аватар для Памирыч
23251 / 9163 / 1084
Регистрация: 11.04.2010
Сообщений: 11,014
03.09.2013, 20:34
Цитата Сообщение от dr_Morro Посмотреть сообщение
Программирую с 1984 года
Забудьте все, что писали до .NET. Здесь все иначе, логика приложений - да, средство реализации - ни в коем случае.
Цитата Сообщение от dr_Morro Посмотреть сообщение
для кодинга этого вагона я прогу отдельную писал
Это забавно и даже знакомо, но служит лишь признаком написания чего-то рутинного и однообразного (участков кода). Звучит довольно интересно - "программа пишет программу"
Опасная штука, может понадобиться "программа, заказывающая валидол для программиста и его юзеров"

Однако это уже флуд, а если по теме, заглядывайте иногда в наш Готовые решения и полезные коды на Visual Basic .NET (Часть-1)
Там есть довольно полезные вещи.
0
 Аватар для dr_Morro
195 / 115 / 30
Регистрация: 05.08.2013
Сообщений: 491
03.09.2013, 20:54  [ТС]
Цитата Сообщение от Памирыч Посмотреть сообщение
Забудьте все, что писали до .NET. Здесь все иначе, логика приложений - да, средство реализации - ни в коем случае.
Вот с этим согласен. Но основы, полученые еще в qbasic, здорово помогают
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
03.09.2013, 20:54
Помогаю со студенческими работами здесь

Как, находясь в Excel и открыв из под него Word-овский файл, сохранить этот файл в другом формате?
Прошу помощи у знатоков VBA по 3-м вопросам: Буду очень благодарен за ответ. 1). Как, находясь в Excel и открыв из под него...

Есть структура, как сохранить в файл из StringGrid
Есть структура struct spisok { char names; //Имя char famil; //Фамилия char snomer; //...

Как на С# создать вордовский файл, а затем сохранить туда табличный отчет
Добрый вечер, уважаемые форумчане))) Есть БД, мы ее заполняем, затем выбираем из нее необходимые данные для отчета (отчет должен содержать...

Как сохранить список в бинарный файл, и затем прочитать его из файла?
как сохранить список в бинарный файл, и затем прочитать его из файла???

Как сохранить несколько таблиц в один файл csv и затем открыть его?
Здравствуйте люди, помогите с проектом, нужно сохранить 2 таблицы в фаил csv через savedialog1, а затем также открыть данные csv через...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
14
Ответ Создать тему
Новые блоги и статьи
Автозаполнение реквизита при выборе элемента справочника
Maks 27.03.2026
Программный код из решения ниже на примере нетипового документа "ЗаявкаНаРемонтСпецтехники" разработанного в конфигурации КА2. При выборе "Спецтехники" (Тип Справочник. Спецтехника), заполняется. . .
Сумматор с применением элементов трёх состояний.
Hrethgir 26.03.2026
Тут. https:/ / fips. ru/ EGD/ ab3c85c8-836d-4866-871b-c2f0c5d77fbc Первый документ красиво выглядит, но без схемы. Это конечно не даёт никаких плюсов автору, но тем не менее. . . всё может быть. . .
Автозаполнение реквизитов при создании документа
Maks 26.03.2026
Программный код из решения ниже размещается в модуле объекта документа, в процедуре "ПриСозданииНаСервере". Алгоритм проверки заполнения реализован для исключения перезаписи значения реквизита,. . .
Команды формы и диалоговое окно
Maks 26.03.2026
1. Команда формы "ЗаполнитьЗапчасти". Программный код из решения ниже на примере нетипового документа "ЗаявкаНаРемонтСпецтехники" разработанного в конфигурации КА2. В качестве источника данных. . .
Кому нужен AOT?
DevAlt 26.03.2026
Решил сделать простой ланчер Написал заготовку: dotnet new console --aot -o UrlHandler var items = args. Split(":"); var tag = items; var id = items; var executable = args;. . .
Отправка уведомления на почту при создании или изменении элементов справочника
Maks 24.03.2026
Программная отправка письма электронной почты на примере типового справочника "Склады" в конфигурации БП3. Перед реализацией необходимо выполнить настройку системной учетной записи электронной. . .
модель ЗдравоСохранения 5. Меньше увольнений- больше дохода!
anaschu 24.03.2026
Теперь система здравосохранения уменьшает количество увольнений. 9TO2GP2bpX4 a42b81fb172ffc12ca589c7898261ccb/ https:/ / rutube. ru/ video/ a42b81fb172ffc12ca589c7898261ccb/ Слева синяя линия -. . .
Midnight Chicago Blues
kumehtar 24.03.2026
Такой Midnight Chicago Blues, знаешь?. . Когда вечерние улицы становятся ночными, а ты не можешь уснуть. Ты идёшь в любимый старый бар, и бармен наливает тебе виски. Ты смотришь на пролетающие. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru