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

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

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 20.12.2016, 01:31   #1
Legeardo
Пользователь
 
Регистрация: 04.10.2016
Сообщений: 76
По умолчанию inifiles в делфи

Код:
  Ini:=TiniFile.Create(extractfilepath(paramstr(0))+'MyIni.ini');
  Ini.WriteString('1','param','123');
  FreeAndNil(ini);
Как можно сделать что бы значение 'param' плюсовалось? Ну например мы напишем

Ini.WriteString('1','param','123');

значение 'param' будет '123'

Ini.WriteString('1','param','123');
Ini.WriteString('1','param','123');
значение 'param' также будет '123'. Можно как то сделать что бы значению 'param' не присваивалось новое значение а добавлялось новое к старому?
Legeardo вне форума Ответить с цитированием
Старый 20.12.2016, 08:18   #2
Shouldercannon
Участник клуба Подтвердите свой е-майл
 
Аватар для Shouldercannon
 
Регистрация: 26.01.2008
Сообщений: 1,897
По умолчанию

Перед записью в INI производить сложение в отдельной переменной
Shouldercannon вне форума Ответить с цитированием
Старый 20.12.2016, 10:56   #3
Heneken87
Форумчанин
 
Регистрация: 27.04.2012
Сообщений: 219
По умолчанию

Ini.WriteString('1','param',ini.rea dstring('1','param','')+ '123');
Пишу много и развернуто
Heneken87 вне форума Ответить с цитированием
Старый 20.12.2016, 15:31   #4
FaTaL
Участник клуба
 
Аватар для FaTaL
 
Регистрация: 09.11.2007
Сообщений: 1,761
По умолчанию

Цитата:
Сообщение от Heneken87 Посмотреть сообщение
Ini.WriteString('1','param',ini.rea dstring('1','param','')+ '123');
Лучше всё таки это делать в памяти, как сказал Shouldercannon, чем 2 раза обращаться к файлу.
FaTaL вне форума Ответить с цитированием
Старый 21.12.2016, 02:03   #5
northener
ПШП
Участник клуба
 
Регистрация: 15.07.2013
Сообщений: 1,869
По умолчанию

Цитата:
Сообщение от FaTaL Посмотреть сообщение
Лучше всё таки это делать в памяти, как сказал Shouldercannon, чем 2 раза обращаться к файлу.
Совсем не факт. Задача-то не определена.
Во-первых при старте программы вполне может существовать и такой ини-файл и такой параметр в нем и его нужно принимать за начальное значение. А значит без чтения не обойтись.
А во-вторых чтение/запись параметра в ини-файл это такая мелочь, что и говорить не о чем. Если конечно из ини-файла ТС ака д-р Франкенштейн не делает ужасного монстра.
northener вне форума Ответить с цитированием
Старый 21.12.2016, 09:32   #6
FaTaL
Участник клуба
 
Аватар для FaTaL
 
Регистрация: 09.11.2007
Сообщений: 1,761
По умолчанию

Цитата:
Сообщение от northener Посмотреть сообщение
Во-первых при старте программы вполне может существовать и такой ини-файл и такой параметр в нем и его нужно принимать за начальное значение. А значит без чтения не обойтись.
При запуске программы конечно не обойтись. Но тут то совсем другое написано, а именно при записи идёт двойное обращение.
Код:
Ini.WriteString('1','param',ini.readstring('1','param','')+ '123');
Цитата:
Сообщение от northener Посмотреть сообщение
А во-вторых чтение/запись параметра в ини-файл это такая мелочь, что и говорить не о чем.
Согласен конечно. Но всё таки это же хард. Его беречь надо
Да и оперативка быстрее работает чем хард.
FaTaL вне форума Ответить с цитированием
Старый 21.12.2016, 12:03   #7
Heneken87
Форумчанин
 
Регистрация: 27.04.2012
Сообщений: 219
По умолчанию

=) Вариантов масса, ТС пусть сам беспокоиться за свое железо) А по факту подобная схема чтение-запись страшна только для SSD, вот там соглашусь, лучше все делать в памяти дабы минимизировать запись на диск. Для старых добрых HDD там умататся нужно чтобы их вывести из строя перезаписью))
По поводу скорости: Если разобраться INI чаще всего используется для хранения настроек. Судя по сообщению автор туда запишет параметры подключения к БД. Поэтому разницы 10 или 5 мс, не тот критерий для заморочек)))
Пишу много и развернуто

Последний раз редактировалось Heneken87; 21.12.2016 в 12:12.
Heneken87 вне форума Ответить с цитированием
Старый 21.12.2016, 16:54   #8
FaTaL
Участник клуба
 
Аватар для FaTaL
 
Регистрация: 09.11.2007
Сообщений: 1,761
По умолчанию

Цитата:
Сообщение от Heneken87 Посмотреть сообщение
Поэтому разницы 10 или 5 мс, не тот критерий для заморочек
Ну зачем же новичку учиться писать гамнокод? Лучше сразу учиться писать "правильный" код. В любюом случае надо всегда стараться минимизировать обращение к файловой системе, то что можно сделать в памяти и записать только конечный результат.
FaTaL вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
ComBox IniFiles Fahman Общие вопросы Delphi 12 26.12.2013 15:54
IniFiles не читаетца ArtGrek Общие вопросы Delphi 4 29.01.2011 23:43
Работа с INIFILES Mont1k Помощь студентам 1 13.01.2011 02:29
Inifiles IGoDoVaN Общие вопросы Delphi 5 15.06.2008 06:41