|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
29.01.2021, 22:00 | #1 |
Новичок
Джуниор
Регистрация: 29.01.2021
Сообщений: 2
|
Работа с ini файлами
Delphi
Как сделать,чтобы в ини файл записывалась каждая регистрация? Моя ошибка в том,что я записываю все в одну строку. Как это исправить? С изменением регистрации скорее всего сломается авторизация. Помогите написать код,чтобы все работало. Уже 3 день мучаюсь Код:
Последний раз редактировалось missfortune; 30.01.2021 в 09:02. |
29.01.2021, 22:27 | #2 |
МегаМодератор
СуперМодератор
Регистрация: 09.11.2010
Сообщений: 7,342
|
Добавить поле, в котором хранится количество регистраций. Сначала его считывать, а потом уже записывать новую регистрацию в секцию "Регистрация" + IntToStr(count) и новое количество регистраций. В процедуру проверки добавить цикл, который будет проверять введенные данные по всем регистрациям.
Пишите язык программирования - это форум программистов, а не экстрасенсов. (<= это подпись )
|
29.01.2021, 23:39 | #3 | |
Пользователь
Регистрация: 05.05.2018
Сообщений: 92
|
Уточните, пож-та, ТЗ
Цитата:
Можно понять так: Логин-пароль добавляется, старый сохраняется. При вводе "старого" логина-пароля он проверяется на корректность, если корректен - пользователь со "старым" Логином-паролем допускается к работе. Тогда, для работы с *ini-файлом его вначале надо подготовить: дополнить секциями [Регистрация1], [Регистрация2], [Регистрация3], и т.д. сколько нужно. Добавить секцию [количество регистраций]. И воспользоваться советом ув. BDA. Что Вы хотите в вашей программе? Последний раз редактировалось Viktor61; 29.01.2021 в 23:43. Причина: Слетела кодировка |
|
30.01.2021, 09:07 | #4 |
Новичок
Джуниор
Регистрация: 29.01.2021
Сообщений: 2
|
2 вариант.
При регистрации сохранялись в ини файл данные [Регистрация 1] Логин=.. Пароль=.. [Регистрация 2] Логин =.. Пароль=.. и тд. И не затирались. А проверка могла осуществляться по этим регистрациям |
31.01.2021, 23:15 | #5 | |
Пользователь
Регистрация: 05.05.2018
Сообщений: 92
|
1). Строка в коде, мне представляется возможным источником ошибок:
Цитата:
2) По сути 2-го варианта (Для проверки Логина-Пароля): В *.ini добавить секцию [количество] и параметр Count, в программу var Count: integer. Считать из *.ini Count := Ini.ReadInteger('количество', Count, 0); В цикле Код:
Если же пользователь с таким Логином имеется, то, зная секцию этого пользователя, равную 'Регистрация'+IntToStr(k ), можно сразу считать Пароль и сравнить c введенным пользователем edit2.Text. Код не проверял, но надеюсь, что он сработает. Успехов! Последний раз редактировалось Viktor61; 31.01.2021 в 23:32. Причина: Слетела кодировка |
|
01.02.2021, 03:54 | #6 |
МегаМодератор
СуперМодератор
Регистрация: 09.11.2010
Сообщений: 7,342
|
Небольшие дополнения: если считать, что ни логин, ни пароль не могут быть пустыми строками, то значение по умолчанию лучше взять ''; делать trim, мне кажется, не следует - пусть пользователь сам верно вводит свои логин-пароль, но надо иметь ввиду, что в ini-файл данные добавятся без пробелов в начале и конце (точнее, в файле пробелы в конце есть, но при считывании отбрасываются); нужно подумать, как обрабатывать одинаковые логины при сохранении данных регистрации и их проверке.
Пишите язык программирования - это форум программистов, а не экстрасенсов. (<= это подпись )
|
01.02.2021, 10:22 | #7 |
Пользователь
Регистрация: 05.05.2018
Сообщений: 92
|
Однозначно - при вводе нового Логина надо организовать проверку на наличие Логина с Логином, который пытается ввести пользователь. Это - общепринятая практика: например, при регистрации на каком-либо сайте в такой ситуации вываливается окошко, что такой-то Логин уже занят и предлагается ввести другой.
По сути всей затеи хранить Логины-Пароли в *.ini: так себе идея. Файл *.ini хранится в незашифрованном виде, возможен для редактирования любым текстовым редактором... Лучше для таких целей подойдет какая-нибудь таблица БД, поддерживающая шифрование. Впрочем, предполагаю, что у задавшего вопрос missfortune цель больше учебно-тренировочная, чем практическая. |
02.02.2021, 12:26 | #8 |
Форумчанин
Регистрация: 27.04.2012
Сообщений: 219
|
Может подобные операции лучше хранить в зашифрованном XML? INI для подобных целей крайне плохо подходит. Все это шифрование так себе защите, но по крайней мере данные не хранятся открыто.
Вот так закодируйте: Код:
Код:
Пишу много и развернуто
Последний раз редактировалось Heneken87; 02.02.2021 в 12:33. |
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Работа с файлами *.ini C# | trish145 | C# (си шарп) | 1 | 05.05.2015 17:32 |
Работа с ini файлами | avd | Общие вопросы Delphi | 8 | 04.02.2011 14:36 |
Работа с ini файлами | jocry | Общие вопросы Delphi | 4 | 14.01.2009 16:51 |
работа с INI файлами | Titan123 | Общие вопросы Delphi | 1 | 30.08.2008 16:31 |
работа с .ini файлами | PAVEL315 | Общие вопросы Delphi | 3 | 22.11.2006 22:28 |