Форум программистов, компьютерный форум, киберфорум
C# .NET
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
7 / 7 / 3
Регистрация: 25.09.2010
Сообщений: 89
1

Сохранение всех полей класса в файл

18.12.2012, 23:03. Показов 1422. Ответов 0
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Здравствуйте!
В программе есть 2 структуры. В классе объявлены массивы этих структур. В процессе работы структуры изменяються. Необходимо сохранить все поля класса(в том числе и массивы) в файл для того, чтобы при следующем запуске можно было считать все данные и работать с ними, а не со значениями по умолчанию (null, 0 и т.д.). Читал за BinaryReader/Writer и Xml, но как реализовать в своей программе не пойму.
Вот поля моего класса и структуры:
C#
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
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
public struct Block //Структура содержащая данные о блоке
    {
        public List<int> inode; //2byte
        public List<string> name; //14byte
        public List<bool> catalog_file;
        public string fileinfo; //Ограничение на 64 byte
        public void Blockasd()
        {
            inode = new List<int>();
            name = new List<string>();
            catalog_file = new List<bool>();
        }
    }
 
    struct Inode //Узел с информацией о блоке
    {
        public int Mode;    //2     Тип файла, биты защиты, биты setuid и setgid
        public int Nlinks; //2  Количество каталоговых записей, указывающий на этот i-узел
        public int Uid; //2     Идентификатор владельца
        public int Gid; //2     Номер группы
        public int Size;    //4     Размер файла в байтах
        public List<int> Addr;  //39    Адрес первых 13 дисковых блоков файла
        public int Gen; //1     Счетчик использования i-узла
        public string Atime;    //4     Время последнего доступа файла
        public string Mtime;    //4     Время последнего изменения файла
        public string Ctime;    //4     Время последнего изменения i-узла 
        public void Blockasd()
        {
            Addr = new List<int>();
        }
    }
 
    public class Unix
    {
 
        #region Data        
        private string c;
        private string space = "";
        private const string str1 = "mkdir";
        private const string str2 = "rm";
        private const string str3 = "touch";
        private const string str4 = "cd";
        private const string str5 = "delete";
        private const string str6 = "exit";
        private const string str = "Для создания новой папки введите \'mkdir <dir>\'" +
                                    "\nДля удаления папки введите \'delete <dir>\'" +
                                    "\nДля создания нового файла введите \'touch <file><size><symbol>\'" +
                                    "\nДля удаления файла введите \'rm <file>\'" +
                                    "\nДля перехода в другой каталог введите \'cd <path>\'" +
                                    "\nДля перехода в корневой каталог введите \'cd .\'" +
                                    "\nДля выхода введите \'exit\'" +
                                    "Все файлы имеют расширение txt\n";
        string Path = "./";
        string forsave = "";
        Block[] FileSystemBlock = new Block[64]; //64 блока данных доступных разрабатываемой системе
        Inode[] FileSystemNode = new Inode[64]; //64 узла для хранения информации о блоках
        bool[] NumNode = new bool[64]; //контроль кол-ва используемых блоков
        bool[] NumBlock = new bool[64]; //и узлов
        int CurrentBlock = 0; 
        #endregion
Заранее спасибо

Добавлено через 5 часов 33 минуты
Все, проблема решена с помощью BinaryFormatter. Можно закрывать тему
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
18.12.2012, 23:03
Ответы с готовыми решениями:

Сохранение и открытие значений полей в отдельный файл
Имеется вот такая форма ...

Сохранение и чтения текста из 2х текстовых полей в файл
Здравствуйте. Хотелось бы узнать несколько моментов. Например есть 2 поля. Edit и SynEdit Из...

Сохранение в текстовый файл содержимого текстовых полей и меток
Доброго времяни суток,подскажите у меня на форме много текстбоксов и лэйблов можно как нибудь после...

Конструктор с параметрами, обеспечивающий инициализацию всех полей класса Tank
Доброе время суток форумчане:) Решаю задачу и там стоит такое условие &quot;Конструктор с...

0
18.12.2012, 23:03
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
18.12.2012, 23:03
Помогаю со студенческими работами здесь

Сохранение объектов класса в файл
Есть несколько массивов, которые создаются по ходу работы приложения, и которые нужно сохранять в...

Сохранение данных класса в файл
Добрый день. Раньше на С++ делал подобную вещь вот такой функцией: void Save() { FILE *fp;...

Сохранение объектов класса в Xml файл
нужно сохранить значение классов в xml файл описание одного из классов class AnimalTip { ...

Сохранение класса в файл и его чтение
К примеру Human (главное то, что в нем есть string): class Human{ public: string name; }; ...


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

Или воспользуйтесь поиском по форуму:
1
Ответ Создать тему
Новые блоги и статьи
Какой язык программировани­я лучший для разработки нейронных сетей
InfoMaster 20.01.2025
В современном мире технологий искусственные нейронные сети становятся неотъемлемой частью множества инновационных решений, от распознавания речи до автоматического управления транспортными. . .
Как подключить JavaScript файл в другом JavaScript файле
InfoMaster 20.01.2025
В современной веб-разработке организация кодовой базы играет ключевую роль в создании масштабируемых и поддерживаемых приложений. Модульность и правильное структурирование кода стали неотъемлемыми. . .
Как откатить изменения в исходниках, не внесенные в Git
InfoMaster 20.01.2025
При работе с системой контроля версий Git разработчики часто сталкиваются с необходимостью отменить внесенные изменения в исходном коде. Особенно актуальной становится ситуация, когда изменения еще. . .
В чем разница между px, in, mm, pt, dip, dp, sp
InfoMaster 20.01.2025
В мире цифрового дизайна и разработки интерфейсов правильный выбор единиц измерения играет ключевую роль в создании качественного пользовательского опыта. История развития систем измерений для. . .
Как изменить адрес удалённого репозитория (origin) в Git
InfoMaster 20.01.2025
В терминологии Git термин origin является стандартным именем для основного удаленного репозитория, с которым взаимодействует локальная копия проекта. Когда разработчик клонирует репозиторий с. . .
Как переместить последние коммиты в новую ветку (branch) в Git
InfoMaster 20.01.2025
При работе над проектом часто возникают ситуации, когда необходимо изолировать определенные изменения от основной линии разработки. Это может быть связано с экспериментальными функциями, исправлением. . .
Как вернуть результат из асинхронной функции в JavaScript
InfoMaster 20.01.2025
Асинхронное программирование представляет собой фундаментальную концепцию в JavaScript, которая позволяет выполнять длительные операции без блокировки основного потока выполнения программы. В. . .
Какой локальный веб-сервер выбрать
InfoMaster 19.01.2025
В современной веб-разработке локальные веб-серверы играют ключевую роль, предоставляя разработчикам надежную среду для создания, тестирования и отладки веб-приложений без необходимости использования. . .
Почему планшеты и iPad уже не так популярны, как раньше
InfoMaster 19.01.2025
Эра революционных инноваций История планшетов началась задолго до того, как эти устройства стали привычными спутниками нашей повседневной жизни. В начале 1990-х годов появились первые прототипы,. . .
Как самому прошить BIOS ноутбука
InfoMaster 19.01.2025
BIOS (Basic Input/ Output System) представляет собой важнейший компонент любого компьютера или ноутбука, который обеспечивает базовое взаимодействие между аппаратным и программным обеспечением. . .
Какой Linux выбрать для домашнего компьютера
InfoMaster 19.01.2025
Современные реалии выбора операционной системы В современном мире выбор операционной системы для домашнего компьютера становится все более важным решением, которое может существенно повлиять на. . .
Как объединить два словаря одним выражением в Python
InfoMaster 19.01.2025
В мире программирования на Python работа со словарями является неотъемлемой частью разработки. Словари представляют собой мощный инструмент для хранения и обработки данных в формате "ключ-значение". . . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru