Форум: "Начинающим";
Текущий архив: 2014.12.14;
Скачать: [xml.tar.bz2];
Вниззапись параметров в ini файл Найти похожие ветки
← →
SKIPtr © (2013-11-27 23:33) [0]драсте подскажите как лучше поступить
я записываю параметры в ini файл
насколько я понял фактическая запись в файл происходит при команде IniFile.Free
если я буду закрывать програму то в событии FormClose я выполню IniFile.Free
но прога может отправить комп в спящий режим
хотелось чтоб перед уходом в сон в файле сохранились параметры
как это лучше выполнить
← →
Jeer © (2013-11-28 00:42) [1]Изучить справку по TIniFile и метод *.UpdateFile - не судьба?
← →
Dimka Maslov © (2013-11-28 10:29) [2]Если пользоваться функцией WritePrivateProfileString, то фактическая запись гарантированно произойдёт сразу же.
← →
Ega23 © (2013-11-28 11:39) [3]Параметры надо сохранять по факту их изменения, а не при выходе.
Представь, что у тебя 100 параметров. ты их все изменил, собрался выходить, но у тебя на выходе ошибка какая-то случилась. И ничего не сохранилось.
← →
[ВладОшин] © (2013-11-28 12:00) [4]что тут думать, надо вызвать явно
> *.UpdateFile
А то что оно при уничтожении только..
А как еще Ini использовать?Зачем его открытом держать?
Родил, прочитал, убил.
или
Родил, записал, убил
Стартанул/юзер захотел переинициализировать -
Родил, прочитал, убил.
юзер захотел сохранится -
Родил, записал, убил
← →
Плохиш © (2013-11-28 12:09) [5]
> насколько я понял фактическая запись в файл происходит при
> команде IniFile.Free
Неправильно понял.
← →
icWasya © (2013-11-28 12:42) [6]> насколько я понял фактическая запись в файл происходит при
> команде IniFile.Free
Неправильно понял.
Если посмотреть сорцы, то увидите, что TIniFile.WriteString напрямую вызывает WritePrivateProfileString, и фактическая запись гарантированно произойдёт сразу же. А все остальные функции WriteЧеготоТам - просто преобразуют параметр в строку и потом всё равно сразу пишут её в файл.
← →
Rouse_ © (2013-11-28 13:22) [7]
> Ega23 © (28.11.13 11:39) [3]
> Параметры надо сохранять по факту их изменения, а не при
> выходе.
Смотря какие параметры, тебе Макс сразу по голове настучит, если ты в настройки ширину колонки будешь писать сразу в процессе того как пользователь меняет ее ширину мышкой.
Писать параметры тоже надо правильно ;)
← →
Ega23 © (2013-11-28 13:35) [8]
> Смотря какие параметры
Тут просто нужно отловить факт окончания изменения ширины. В процессе-то да, писать не надо.
← →
Германн © (2013-11-28 13:38) [9]
> Ega23 © (28.11.13 13:35) [8]
>
>
> > Смотря какие параметры
>
> Тут просто нужно отловить факт окончания изменения ширины.
>
Не нужно. Запись такого рода параметров либо по выходу из программы, либо по спецкнопке. Имхо.
← →
Inovet © (2013-11-28 13:47) [10]> [9] Германн © (28.11.13 13:38)
> по выходу из программы
Поубивал бы. Иногда достают такие заботливые программы.
> [9] Германн © (28.11.13 13:38)
> по спецкнопке
так лучше.
← →
Германн © (2013-11-28 13:55) [11]
> Inovet © (28.11.13 13:47) [10]
>
> > [9] Германн © (28.11.13 13:38)
> > по выходу из программы
>
> Поубивал бы. Иногда достают такие заботливые программы.
Так то ж иногда. А в других случаях вполне.
← →
sniknik © (2013-11-28 14:42) [12]> Поубивал бы. Иногда достают такие заботливые программы.
если они действительно такие заботливые то само "сохранение по выходу" должно быть настройкой.
>> по спецкнопке
> так лучше.
ага, представляю, в программе куча гридов, иногда (у "внутрикомпанийских" бывает) по нескольку на форме, места не хватает, и у каждого грида заботливо расставлены "спецкнопки". :)
> Так то ж иногда. А в других случаях вполне.
а в других случаях, наоборот!... достают потому, что не сохраняют. все зависит от того, что юзер именно сейчас, в данный момент хочет ;).
← →
Inovet © (2013-11-28 15:01) [13]Ну так правильно. Должно быть отключаемым автоматическое, и должно быть ручное сохранения. На каждый грид перебор, а где-то иметь кнопку или пункт меню нормально, типа "Вид"-"Сохранить". Можно "Восстановить" там же из ранее сохранённых, если надо такое. Но когда тупо сохраняется всё само - нафиг. Тогда "Восстановить по-умолчанию" надо где-нибудь, хотя бы в настройках.
← →
Ega23 © (2013-11-28 15:15) [14]
> На каждый грид перебор
По-хорошему, не "перебор", а иметь возможность настроить ширину, цвет, фонт и порядок колонок в КАЖДОМ гриде (а ещё и скрывать ненужные, но это не всегда). И обязательная операция "Вернуть настройки по-умолчанию".
← →
Inovet © (2013-11-28 15:47) [15]> [14] Ega23 © (28.11.13 15:15)
Я вслед за sniknik о заботливо расставленных возле каждого грида кнопках. Общая на форму кнопка и/или пункт меню нормально.
Где-нибудь в общем предке всех таких форм и сделать, пусть ищет гриды и сохраняет/восстанавливает.
← →
Inovet © (2013-11-28 15:58) [16]Я вот не пойму - почему перед уходом в сон должно что-то сохраняться. Это я отошёл от компа выпить чаю, захотелось вторую чашку, при хожу - комп в спячке, ну и хорошо, надо экономить ресурсы. Нажимаю кнопку на клавиатуре, сажусь дальше что-то делать, а у меня, оказывается, предыдущая версия перетёрта новым содержимым, а я-то и не догадываюсь, думаю - восстановлю в любой момент. Вот наступил момент - что-то накосячил, начинаю восстанвливать, а там хрен знает что. Дальше понятно.
← →
Ega23 © (2013-11-28 16:05) [17]
> Я вслед за sniknik о заботливо расставленных возле каждого
> грида кнопках.
ЗАЧЕМ?????
1. Одна кнопка на риббоне "Настроить параметры отображения"
2. Одна форма настройки.
3. Один xml с секцией гридов (для каждого грида хранятся 2 настройки: "заводская" и "пользовательская").
Это при условии, что все гриды - одного класса.
← →
Inovet © (2013-11-28 16:06) [18]> [17] Ega23 © (28.11.13 16:05)
Ну так и я о том же.
← →
Германн © (2013-11-28 20:57) [19]Все зависит от того, что юзер именно сейчас, в данный момент хочет
(с) sniknik ©
← →
SKIPtr © (2013-11-28 23:16) [20]
> Все зависит от того, что юзер именно сейчас, в данный момент
> хочет
правильное вычказывание
спасибо теперь решить чем воспользоваться
может быть ситуация я сохранил параметр командой например
IniFile.WriteIntegerи и могу быть уверен что параметры сохранились
если сохраню этой командой а после произойдет например аварийное отключение электричества
← →
Inovet © (2013-11-29 07:00) [21]> [20] SKIPtr © (28.11.13 23:16)
> а после произойдет например аварийное отключение электричества
Не о том ты думаешь. Например, после аварийного отключения может быть всё, что угодно. И как это связано с записью перед режимом спячки? Теперь есть Гибридный режим. Тогда сохранять каждый 10 минут в отдельный раздел или под другими именами AutoSaved, при запуске после сбоя восстанавливать.
← →
SKIPtr © (2013-11-29 10:44) [22]я о том
что я например успел сохраниить командой WriteInteger и произошло выключение
как в этой ситуации нормально ли все сохранено
и еще у меня есть подозрение что
когда в спящем режиме комп теряет напряжение мало шансов что он сможет проснуться
← →
Inovet © (2013-11-29 11:00) [23]> [22] SKIPtr © (29.11.13 10:44)
> мало шансов что он сможет проснуться
> [21] Inovet © (29.11.13 07:00)
> Теперь есть Гибридный режим
← →
Ega23 © (2013-11-29 11:17) [24]
> и могу быть уверен что параметры сохранились
Изменился параметр -> Открыл ini, записал новое значение, закрыл ini.
Ты же не каждую секунду это делаешь.
← →
SKIPtr © (2013-11-29 12:06) [25]
> Открыл ini, записал новое значение, закрыл ini.
так я это и хочу мой вопрос в том какой командой сделать гарантированую запись
а то в винде бывает что каманда уходит в буфер и ждет пока буфер не заполниться
← →
sniknik © (2013-11-29 12:32) [26]> гарантированую запись
насколько важна сохраняемая инфа? если не запишется последствия? - расстрел?
> а то в винде бывает что каманда уходит в буфер и ждет пока буфер не заполниться
при закрытии файла буфер сбрасывается. правда есть еще кэш винды, и кэш диска... т.что 100% гарантии нет.
← →
Inovet © (2013-11-29 12:36) [27]> [25] SKIPtr © (29.11.13 12:06)
Закрытие файла сделает запись, а уж общий дисковый кэш Виндоус сбросит в скором времени. Для защиты от сбоев применят другие средства.
← →
Inovet © (2013-11-29 12:40) [28]А если во время записи или между записью и последуущим чтением откажет диск или в ячейку памяти влетит космическая частица?
← →
брат Птибурдукова (2013-11-29 12:44) [29]какой командой сделать гарантированую запись если сдох дисковый контроллер?
← →
Германн © (2013-11-29 13:00) [30]Единственно гарантированный инструмент для записи - карандаш! Советские космонавты рекомендуют :)
← →
sniknik © (2013-11-29 13:10) [31]> карандаш
ну да конечно, пока первую половину нужного писал вторую забыл... и где тут гарантия?
← →
SKIPtr © (2013-11-29 13:24) [32]так я не беру во внимание выход из строя компа
я говорю о защите от пропадания электричества
не смотря на готовность к олимпиаде проблемы с электричеством продолжаються
← →
Ega23 © (2013-11-29 13:26) [33]
> Советские космонавты рекомендуют :)
Советские космонавты не писали карандашом, это байка. От карандаша летят маленькие осколки грифеля, что в условиях невесомости становится опасно.
> какой командой сделать гарантированую запись
Если твоя задача стоит, как ГАРАНТИРОВАННАЯ запись чего-то куда-то, то для этого есть масса других способов, ini тут не айс.
Но, сдаётся мне, занимаешься ты какой-то хренью.
← →
брат Птибурдукова (2013-11-29 13:26) [34]
> Советские космонавты рекомендуют
Это только пока графитной пыли в лёгких скопилось немного.
Хотя, конечно, при наличии ускорения свободного падения 9.81 м/с/с (а я сейчас пребываю именно в таких условиях) об этом можно особо не беспокоиться.
← →
Ega23 © (2013-11-29 13:27) [35]
> я говорю о защите от пропадания электричества
Какая половая разница, сгорел комп, или его от ИБП отключили?
← →
Inovet © (2013-11-29 13:29) [36]> [34] брат Птибурдукова (29.11.13 13:26)
> Это только пока графитной пыли в лёгких скопилось немного.
В лёгких ладно, а в аппаратуре.
← →
Inovet © (2013-11-29 13:30) [37]> [35] Ega23 © (29.11.13 13:27)
> Какая половая разница, сгорел комп, или его от ИБП отключили?
Ну как, сгорел - новый надо покупать, от питания оключили - звонить в электросети.
← →
sniknik © (2013-11-29 13:31) [38]защита от "пропадания электричества" - UPS.
← →
Ega23 © (2013-11-29 13:45) [39]
> В лёгких ладно, а в аппаратуре.
В лёгких "ладно"? А ежели ты как Муса Манаров год на орбите валандаешься?
← →
Ega23 © (2013-11-29 13:47) [40]
> защита от "пропадания электричества" - UPS.
От UPS-а к БП тоже кабель идёт, если чё. Который тоже могут "зимой перегрызть собаки, а охотник у нас в запое" (реальная цитата с реального объекта, там контроллер на периметре отваливался постоянно)
← →
SKIPtr © (2013-11-29 14:08) [41]
> защита от "пропадания электричества" - UPS.
но мой первоначальный вопрос
какой командой ini файл записать
чтоб исключить запсь в буфер
← →
Inovet © (2013-11-29 14:10) [42]> [39] Ega23 © (29.11.13 13:45)
> В лёгких "ладно"?
Графит от карандаша? Да ну, тогда в школах надо запретить. Впрочем, думается мне, что аппаратура там достаточно защищена, а в атмосфере станции всякого дерьма много плавает.
← →
Inovet © (2013-11-29 14:11) [43]> [41] SKIPtr © (29.11.13 14:08)
> какой командой ini файл записать
100500 раз ответили уже.
← →
SKIPtr © (2013-11-29 14:17) [44]
> 100500 раз ответили уже.
так ответов было много и ответы все разные
вот и думаю какой вариант лучше на чем остановиться
← →
брат Птибурдукова (2013-11-29 14:17) [45]
> Да ну, тогда в школах надо запретить
В школах, как правило, ускорение свободного падения достаточно велико, чтобы пылью можно было пренебречь ;-)
← →
Ega23 © (2013-11-29 14:21) [46]
> но мой первоначальный вопрос
> какой командой ini файл записать
> чтоб исключить запсь в буфер
Тебе ответили уже: никак. Гарантий - нет.
← →
Германн © (2013-11-29 14:41) [47]
> Ega23 © (29.11.13 13:26) [33]
>
>
> > Советские космонавты рекомендуют :)
>
>
> Советские космонавты не писали карандашом, это байка.
А где я говорил что они писали карандашом? Я говорил они рекомендуют. :)
← →
Inovet © (2013-11-29 14:46) [48]> [45] брат Птибурдукова (29.11.13 14:17)
> В школах, как правило, ускорение свободного падения достаточно
> велико, чтобы пылью можно было пренебречь ;-)
Для пыли-то велико? Не, ну если на Луне где-нибудь под окрытым эээ небом класс расположен.
← →
Ega23 © (2013-11-29 14:57) [49]
> Я говорил они рекомендуют. :)
Это не они рекомендуют, это Задорнов рекомендует. Сатирик, юморист, долбослав и алканафт.
← →
Германн © (2013-11-29 14:58) [50]
> чтобы пылью можно было пренебречь
Айзек Азимов. Ловушка для простаков
http://lib.ru/FOUNDATION/suckbait.txt
← →
SKIPtr © (2013-11-29 20:07) [51]
> Тебе ответили уже: никак. Гарантий - нет.
ну теперь остаеться только посмотреть практически что будет
← →
Ega23 © (2013-11-29 20:20) [52]Проверяй, чё.
Страницы: 1 2 вся ветка
Форум: "Начинающим";
Текущий архив: 2014.12.14;
Скачать: [xml.tar.bz2];
Память: 0.59 MB
Время: 0.004 c