Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > .NET Frameworks (точка нет фреймворки) > C# (си шарп)
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 11.10.2016, 17:57   #11
pu4koff
Старожил
 
Аватар для pu4koff
 
Регистрация: 22.05.2007
Сообщений: 9,065
По умолчанию

ИМХО, для начала пойдёт XML сериализация. Дальше копать в сторону SQLite, он теперь майкрософтом считается кошерным для встраиваемых баз.
pu4koff вне форума Ответить с цитированием
Старый 12.10.2016, 12:11   #12
armory
Пользователь
 
Аватар для armory
 
Регистрация: 06.10.2016
Сообщений: 37
По умолчанию

Цитата:
Сообщение от Serge_Bliznykov Посмотреть сообщение
думаю, что обсуждение хранения данных в данной теме - оффтоп.
Автору темы совсем другое нужно - обрабатывать данные. А как и где их хранить, ему в поставновке задачи не указано, можно хранить в собственном формате, в XML. Да хоть в текстовом виде, здесь не это важно.
Сергей, да, в целом можно хранить как в xml, так и в таблицах SQLite, меня оба эти варианта устроят
всё пока что на локальной машине, я лишь практикуюсь как оно вообще работает и взаимосвязано

всех благодарю за ответы и обсуждение
Учусь кодить на C#/Java.
Не ищу готовых решений.
Всегда благодарен вам за помощь.

Последний раз редактировалось armory; 12.10.2016 в 12:16.
armory вне форума Ответить с цитированием
Старый 26.10.2016, 14:03   #13
armory
Пользователь
 
Аватар для armory
 
Регистрация: 06.10.2016
Сообщений: 37
По умолчанию

апну темку, появились вопросы
с XML я работал только в качестве редактирования его через N++

я хочу развить свою консольную программку "банкомат" до следующего:

логика: пользователь регистрируется с помощью электронной почты (хочу ввести ограничение, чтобы принимались только yandex/mail/gmail, чисто для теста), сам придумывает себе пароль (подумаю вводить ли требования к нему), подтверждает его, вводит имя и фамилию (чтобы приветствовать пользователя по его ФИ).
Ему на почту приходит его логин и пароль с приветствием, дальше он может заходить в программу.
Функционал: внесение наличных, снятие наличных, проверка баланса, выход.
Всё это должно записываться в xml-файл на локальном ПК и из него же браться.
В дальнейшем хочу этот xml-файл вывести в облако и работать через интернет.

интерфейс:
1. вход
2. регистрация
3. забыл пароль
4. забыл логин
5. выход

забыл пароль - на ящик приходит новый
забыл логин - проверка по имени и фамилии, если совпадает, то отображает ящик на экране

вот у меня вопросы пока что такие:
где можно подчитать как после считывания данных через ReadLine записывать их в определённые строки xml-файла? про запись в определённые строки я немного почитал, там более менее понятно, а вот именно сама функция записи для меня пока тёмный лес
такой же вопрос про чтение данных

вы мне просто ориентир подбросьте, я там постараюсь разобраться, пока что в гугле я заблудился

заранее спасибо
Изображения
Тип файла: png Capture.PNG (8.3 Кб, 62 просмотров)
Учусь кодить на C#/Java.
Не ищу готовых решений.
Всегда благодарен вам за помощь.

Последний раз редактировалось armory; 26.10.2016 в 14:06. Причина: добавлен скриншот
armory вне форума Ответить с цитированием
Старый 26.10.2016, 14:11   #14
Alex11223
Старожил
 
Аватар для Alex11223
 
Регистрация: 12.01.2011
Сообщений: 19,500
По умолчанию

Цитата:
Сообщение от armory Посмотреть сообщение
где можно подчитать как после считывания данных через ReadLine записывать их в определённые строки xml-файла?
XmlDocument или XDocument.
Прочитать весь XML, изменить, перезаписать файл.

Но обычно нет необходимости так делать, можно просто использовать сериализацию объектов (XmlSerializer и т.п.) вместо ковыряния в XML самому.
Ушел с форума, https://www.programmersforum.rocks, alex.pantec@gmail.com, https://github.com/AlexP11223
ЛС отключены Аларом.
Alex11223 вне форума Ответить с цитированием
Старый 26.10.2016, 14:40   #15
Alex11223
Старожил
 
Аватар для Alex11223
 
Регистрация: 12.01.2011
Сообщений: 19,500
По умолчанию

Цитата:
Сообщение от armory Посмотреть сообщение
я могу его использовать внутри существующего файла Bank.cs или мне нужно будет его отделять в отдельный файл и как-то на него ссылаться?
он позволит мне создать xml-файл с базой данных пользователей моего "банкомата"?
Он просто создает XML с данными переданного объекта.
Код:
using System;
using System.Collections.Generic;
using System.IO;
using System.Security.Cryptography;
using System.Text;
using System.Xml.Serialization;

namespace ConsoleApplication9
{
    [Serializable]
    public class User
    {
        public User()
        {
        }

        public string Name { get; set; }
        public string Password { get; set; }

        public override string ToString()
        {
            return $"Name: {Name}, Password: {Password}";
        }
    }

    class Program
    {
        static string Hash(string input)
        {
            using (SHA1Managed sha1 = new SHA1Managed())
            {
                var hash = sha1.ComputeHash(Encoding.UTF8.GetBytes(input));
                var sb = new StringBuilder(hash.Length * 2);

                foreach (byte b in hash)
                {
                    sb.Append(b.ToString("x2"));
                }

                return sb.ToString();
            }
        }

        static void Main(string[] args)
        {
            var users = new List<User>()
            {
                new User
                {
                    Name = "Alice",
                    Password = Hash("password")
                },
                new User
                {
                    Name = "Bob",
                    Password = Hash("qwerty")
                }
            };

            using (var fs = new FileStream("1.xml", FileMode.Create))
            {
                new XmlSerializer(users.GetType()).Serialize(fs, users);
            }

            List<User> loadedUsers;

            using (var fs = new FileStream("1.xml", FileMode.Open))
            {
                loadedUsers = (List<User>) new XmlSerializer(users.GetType()).Deserialize(fs);
            }

            foreach (var user in users)
            {
                Console.WriteLine(user);
            }
            Console.WriteLine("===========");
            foreach (var user in loadedUsers)
            {
                Console.WriteLine(user);
            }
        }
    }
}
Ушел с форума, https://www.programmersforum.rocks, alex.pantec@gmail.com, https://github.com/AlexP11223
ЛС отключены Аларом.
Alex11223 вне форума Ответить с цитированием
Старый 26.10.2016, 14:59   #16
armory
Пользователь
 
Аватар для armory
 
Регистрация: 06.10.2016
Сообщений: 37
По умолчанию

эх, листы, стрим, хэш и оверрайд вообще пока не знаю и с трудом понимаю что происходит в приведённой выше программе
Alex11223, спасибо за информацию, буду дальше изучать основы
Учусь кодить на C#/Java.
Не ищу готовых решений.
Всегда благодарен вам за помощь.
armory вне форума Ответить с цитированием
Старый 26.10.2016, 15:04   #17
Alex11223
Старожил
 
Аватар для Alex11223
 
Регистрация: 12.01.2011
Сообщений: 19,500
По умолчанию

хэш не относится к задаче сериализации, просто не стоит хранить пароли в открытом виде
override ToString тут только для быстрого вывода в примере.

лист — а как вы пользователей создаете и храните?
Ушел с форума, https://www.programmersforum.rocks, alex.pantec@gmail.com, https://github.com/AlexP11223
ЛС отключены Аларом.
Alex11223 вне форума Ответить с цитированием
Старый 26.10.2016, 16:33   #18
armory
Пользователь
 
Аватар для armory
 
Регистрация: 06.10.2016
Сообщений: 37
По умолчанию

Цитата:
Сообщение от Alex11223 Посмотреть сообщение
лист — а как вы пользователей создаете и храните?
да пока ещё не создавал, просто почву щупаю на последующее развитие программы
учиться ведь надо на каком-то проекте, вот я пытаюсь что-то реализовать, приближенное хоть к какой-то да реальности
Учусь кодить на C#/Java.
Не ищу готовых решений.
Всегда благодарен вам за помощь.
armory вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как установить виндовс 7 на мак мини без мак ос Alexandr17-10 Windows 9 14.09.2013 23:01
Я создал игру типо марио и хочу сделать её по сети как это сделать? rbkmz Работа с сетью в Delphi 7 14.05.2012 15:58
Как сделать мини чат на сайте Sprat PHP 2 26.10.2011 08:08
как создать мини игру PATRAHILO C++ Builder 5 05.09.2011 08:52