Спор - что лучше INI или H-файлы | |
---|---|
sphinx Автор Сообщений: 31607 Откуда: Каменск-Уральски Дата регистрации: 22.11.2006 |
Hi all!
Начнем с того, что этот спор не имеет смысла. Потому что не имеет. Я использую и то, и то. Но меня наш коллега РЬЯНО убеждал в преимуществах H-файлов. Я их знаю если поискать лет 10 назад людям говорил в простом проекте - я бы сделал так. Зачем? Так по всему проекту константа автоматом проведет все твои изменения. Наверное, во всем есть смысл, главное не до фанатизма. Интересно, а если попробовать в самом стартовом модуле считать INI, пронести их через TEXT... ENDTEXT, собрать динамически в те же самые. Это вообще кто-то делал? Скорее всего смысла нет, я просто спросил. Я сторонник именно в ИНИ прописывать. Почему не ДВФ? Две причины. 1) В ИНИ продвинутый пользователь может сам поменять, с трудными - картинку, как надо засылаешь. И не надо ПЕРЕКОМПИЛИТЬ проект. Не панацея, но что можно и будет меняться с очень большой долей вероятности - в ИНИ. 2) Структура ИНИ может поломаться куда проще, чем обычный текстовый файл. Да, есть процедура Максимова - по репайрингу ДБФ. Но она ведь поможет не всегда, увы. Текст - надежнее. Понятно, с продвинутыми я бы в ХМЛ, особенно если структура непростая. В H-файле у мну секции ИНИ-файла. Автомат их обходит, ему даже не важно, какой новый параметр прописан, никакого Copy-Paste нет, сразу в проекте можно обращаться. Поделитесь опытом, соображениями, камнями и философией. Тема свободная, шуткам в разумных пределах есть место. Нас тут и так крайне мало, чтобы прям серьезно за контент напрягаться. Но без мата. Давайте уважать себя и других. Еще раз, убеждать сильно не надо, а вот примеры и опыт было бы интересно. Может у кого вообще своя система, до которой по скудоумию не допер. Да нет мозгов, так, на автопилоте пишем... ------------------ "Veni, vidi, vici!"(с) Исправлено 1 раз(а). Последнее : sphinx, 05.08.23 03:10 |
Re: Спор - что лучше INI или H-файлы | |
---|---|
Taran Сообщений: 13740 Откуда: Красноярск Дата регистрации: 16.01.2008 |
Так у них разное назначение и возможности.
Во время компиляции названия констант заменятся на значения из файла H. После этого хоть потоп, хоть меняй значение, хоть нет. А INI для оперативного изменения, хранения и чтения свежих данных. Исправлено 1 раз(а). Последнее : Taran, 05.08.23 12:39 |
Re: Спор - что лучше INI или H-файлы | |
---|---|
sphinx Автор Сообщений: 31607 Откуда: Каменск-Уральски Дата регистрации: 22.11.2006 |
Ты точно все внимательно прочитал? Я спрашивал, что ЛУЧШЕ?Соберись, будь бодр.
------------------ "Veni, vidi, vici!"(с) |
Re: Спор - что лучше INI или H-файлы | |
---|---|
Владимир Максимов Сообщений: 14121 Откуда: Москва Дата регистрации: 02.09.2000 |
Извини, но я тоже не понял вопроса. Это как сравнивать теплое с мягким. Несопоставимые величины. Прежде, чем их сравнивать, необходимо привести в сопоставимое состояние Что лучше ДЛЯ ЧЕГО? Какую задачу решаем? |
Re: Спор - что лучше INI или H-файлы | |
---|---|
sphinx Автор Сообщений: 31607 Откуда: Каменск-Уральски Дата регистрации: 22.11.2006 |
Ну я бы такую условную.
Есть условно-постоянная величина. Пусть 1024. Условно говоря, на стадии проекта мы считаем, что она постоянная. Но... завтра что-то поменялось, новый закон вышел, или другая новость. И МОЖЕ БЫТЬ она поменяется. Вариант 1. Прописали в H-файл. Это же константа. И у нас нет машины времени, не знаем, будет ли ситуация, чтобы ее поменять. Для нас на текущий момент это КОНСТАНТА. Пишем. Вариант 2. Я хитрый (не, я больше честный и добрый), и не верю в НЕИЗМЕНЯЕМОСТЬ констант. И пишу ее в ИНИ-файл. ПОЧЕМУ? Потому что взял и поменял. И не надо пересобирать проект (скажите - и что ТРУДНО? Нет, не трудно. Но я ОДИН разработчик многих проектов. И попал в положение, когда не могу ПЕРЕСОБРАТЬ. Все, стоим и деньги теряем? Так? Но есть ТРЕТИЙ ВАРИАНТ (безумный, сам придумал в момент написания) А взять и скрестить. То есть вычитываем параметр. Загоняем в конструкцию вида TEXT... ENDTEXT... и пустим через EXECSCRIPT() (ну или макро, если кто их любит и никак без них). ПЛЮС - вроде та же константа... но управляемая извне. Оригинально? Сейчас разнесу в пыль. Наши умеют. Не надо писать "ВСЕ ЗАВИСТ от..." Придумал пример. P.S. Все использую, разумность определяю сам, ибо критерии субъективно. А проект или работает, или не работает. Стабильно, или нет. Лес рук, у кого работает криво, или вообще не работает. ------------------ "Veni, vidi, vici!"(с) Исправлено 1 раз(а). Последнее : sphinx, 05.08.23 23:43 |
Re: Спор - что лучше INI или H-файлы | |
---|---|
akvvohinc Сообщений: 4367 Откуда: Москва Дата регистрации: 11.11.2008 |
Цитата:Непонятно. После "вычитывания параметра" его значение хранится, допустим, в переменной, которой ты и пользуешься в программе. Для чего его загонять в конструкцию TEXT, которую затем выполнять через EXECSCRIPT() ? Что ты получаешь после исполнения сгенерированного кода? Допустим, где-то в программе у тебя сейчас стоит Val = 1024 Ты хочешь заменить эту константу, чтобы можно было менять значение, не пересобирая EXE. Кладешь в INI или куда-то ещё пару "имя - значение", читаешь значение по имени, загоняешь его между TEXT... ENDTEXT. Что происходит дальше? Как в переменную Val попадет 1024 в ТРЕТЬЕМ ВАРИАНТЕ? Приведи код, которым ты собираешься заменить исходную команду Val = 1024 Исправлено 1 раз(а). Последнее : akvvohinc, 06.08.23 01:17 |
Re: Спор - что лучше INI или H-файлы | |
---|---|
ABB Сообщений: 155 Откуда: Санкт-Петербург Дата регистрации: 21.10.2006 |
Можно решить эту задачу добавив несвязанную с базой свободную таблицу. В нее можно записать все что угодно
Исправлено 1 раз(а). Последнее : ABB, 06.08.23 14:51 |
Re: Спор - что лучше INI или H-файлы | |
---|---|
akvvohinc Сообщений: 4367 Откуда: Москва Дата регистрации: 11.11.2008 |
Цитата:Конечно, можно - этот тот же INI, но в другом формате. Просто если иметь в виду его ручную корректировку пользователями, то с текстовым файлом им работать проще. |
Re: Спор - что лучше INI или H-файлы | |
---|---|
sphinx Автор Сообщений: 31607 Откуда: Каменск-Уральски Дата регистрации: 22.11.2006 |
Вот! Сергей зрит в корень. Что-то и в таблице, если системное, и пользователю сложно это поднимать. Но простые настройки - там. ------------------ "Veni, vidi, vici!"(с) |
Re: Спор - что лучше INI или H-файлы | |
---|---|
sphinx Автор Сообщений: 31607 Откуда: Каменск-Уральски Дата регистрации: 22.11.2006 |
Будет время - нарисую, как я вижу. Ну хрень может быть. Вычитывать H-константы из ИНИ. Ну бред - бросим. Я исследователь. Ну, не как Вадик, далеко... Но все же.
------------------ "Veni, vidi, vici!"(с) |
Re: Спор - что лучше INI или H-файлы | |
---|---|
Владимир Максимов Сообщений: 14121 Откуда: Москва Дата регистрации: 02.09.2000 |
Если я правильно понял сам вопрос, то сейчас в коде записано
Вопрос в том, что записано в макросе? Может быть конкретное значение. А может быть и некая функция, которая будет обращаться к некоему хранилищу. В частности, в качестве хранилища может выступать ini-файл, xml, dbf и т.п. Правда, не очень понятно, почему не написать эту функцию напрямую. Зачем с макросом-то связываться? |
Re: Спор - что лучше INI или H-файлы | |
---|---|
akvvohinc Сообщений: 4367 Откуда: Москва Дата регистрации: 11.11.2008 |
Я понял иначе: Все так или иначе этот вопрос уже давно решили, в том числе и Саша. А поэтому неважно, что у него сейчас написано в коде. Но вот какой вариант его заинтересовал:
Естественно, прочитать INI-файл, записать прочитанное в PRG, который и выполнять через EXECSCRIPT, можно. А не понял я, чего мы хотим таким образом добиться (каких дивидендов?) по сравнению с обычной работой с INI-файлом. PS А Val = #DEF_VAL; в его коде быть не должно - решетка в таком контексте - это оператор сравнения "не равно" - получим Syntax Error. Исправлено 2 раз(а). Последнее : akvvohinc, 07.08.23 04:19 |
Re: Спор - что лучше INI или H-файлы | |
---|---|
Владимир Максимов Сообщений: 14121 Откуда: Москва Дата регистрации: 02.09.2000 |
Ну, цель - замена значение константы в коде. Только я из описания не понял, что именно происходит?
1. Если константа задается макросом, то проект надо пересобирать после изменения макроса (H-файла) 2. Если не хотим пересобирать проект, то ? Вот не понял, что именно было сделано. Ну, есть INI. И что именно с ним надо сделать, чтобы без сборки проекта произошла замена константы? Или предлагается не константу заменять, а значение глобальной переменной в которую записывается константа? Т.е. код выглядит так?
Т.е. в H-файле значение по умолчанию, а в INI - реальное значение, если необходимо? |
Re: Спор - что лучше INI или H-файлы | |
---|---|
akvvohinc Сообщений: 4367 Откуда: Москва Дата регистрации: 11.11.2008 |
Ну, так это и есть обычная работа с использованием INI-файлов - нечто имеет дефолтное значение, которое может быть заменено на заданное в INI: #DEFINE _PARM1 1024 val = getFromINI(<parm1name>, _PARM1) Но для этого не требуется ни TEXT...ENDTEXT, ни EXECSCRIPT(). Можно "упростить" код даже так: #DEFINE _PARM1 getFromINI("parm1", 1024) val = _PARM1 Исправлено 2 раз(а). Последнее : akvvohinc, 07.08.23 17:56 |
Re: Спор - что лучше INI или H-файлы | |
---|---|
sphinx Автор Сообщений: 31607 Откуда: Каменск-Уральски Дата регистрации: 22.11.2006 |
------------------ "Veni, vidi, vici!"(с) Исправлено 1 раз(а). Последнее : sphinx, 07.08.23 21:51 |
Re: Спор - что лучше INI или H-файлы | |
---|---|
Артём Сообщений: 136 Дата регистрации: 23.04.2001 |
я настройки в DBF храню. то есть это ini
поля name c(10), type c(1), cvalue c(30), comment c(20) имена подурнее выдумываю. типа VMPROG666 в начале программы все переменные объявляю public хранить такой файл придумал в отдельной папке, чтобы не затереть при копировании базы данных с одного компа на другой, например.
для пользователей можно сделать таблицу для редактирования, без имен переменных, конечно. Исправлено 4 раз(а). Последнее : Артём, 14.08.23 22:52 |
Re: Спор - что лучше INI или H-файлы | |
---|---|
Taran Сообщений: 13740 Откуда: Красноярск Дата регистрации: 16.01.2008 |
А куда у тебя программа установится по дефолту? Будут ли там права на создание, запись файлов, фбв, ини и пр...?
Ну и про public переменные... ну... х.з. Если семечек мешок посчитать или на бюджете мозг епать как оффа. Тогда да.. |
Re: Спор - что лучше INI или H-файлы | |
---|---|
akvvohinc Сообщений: 4367 Откуда: Москва Дата регистрации: 11.11.2008 |
Ненадежный способ, исключающий возможность иметь двойную кавычку внутри значения. Проще записывать значения параметров в переменные напрямую - нет необходимости в предварительном конструировании команды с последующим использованием макро: STORE ALLTRIM(cValue) TO (name) И вообще все без исключения макро в вашем коде не являются необходимыми - лучше обойтись без них. DO WHILE !EOF()+SKIP- наследие древних версий. Не уверен, но, по-моему, уже в FoxPro 1.0 появился SCAN. |
Re: Спор - что лучше INI или H-файлы | |
---|---|
of63 Сообщений: 25580 Откуда: Н.Новгород Дата регистрации: 13.02.2008 |
> или на бюджете мозг епать как оффа
Злое: Я тебе мозк заепал? Я пашу как пчелка, коды какие-то предлагаю, ворошу музло застаерелое (нового-то нет), не в коня корм. Не в это болото... точнее другого болота мне лень искать. |
Re: Спор - что лучше INI или H-файлы | |
---|---|
Vedmak Сообщений: 6007 Откуда: CiTY Дата регистрации: 30.10.2003 |
Любое решение, из предложенной вилки, является идеальным только в узком круге задач.
Если вы найдете 3+ вариант к каждому из указанных вариантов, то внешняя кодировка из базы станет уместна ))). Какие там варианты гендерной принадлежности на местах придумают мы не будем знать и зависеть )))
Дефиниция констант по кодировке прав пользователя тоже не должна выходить в базу, т.к. функционал приложения ничего не должен рассматривать из локального мусора в БД который по недосмотру или по злому умыслу там родится.
Формальная типизация ошибок тоже ни разу не справочник из БД, т.к. работает на корневых понятиях приложения. И логирование на эти константы завязывается. А вот здесь кодификатор типов документа. Как бы вопрос коллеги @Sphinx понятен: а почему клиент в такой справочник не может забить/дополнить свои значения? Сможет конечно, но внутренняя логика приложения пользовательский мусор не позволит использовать. Если N раз из такого файла удалить "паспорт", то как приложение узнает тип документа который надо выбрать для отчета в котором требуется именно паспорт?
Я думаю такие кодификаторы только через обновление приложения на основе подписки. INI? Да вы устанете разгребать мусор в инишниках на 30+ рабочих местах которые тамошние админы наплодят по недомыслию. Поверьте, у меня в компании два клиента с сеткой АЗС 300+ станций (остальные от 20+). На каждой из них 1-3 компьютера с приложением. Тупые локальные техники постоянно что-то напортачат на местах. А вы про легко доступные инишники! Никакой свободы и вы сами, как разработчики, станете спать без нервных дёрганий на звонки и сообщения. Не открываете двери возможностей которые не сможете закрыть без черезмерной траты сил, времени и здоровья. Извините за многословие. ------------------ Говорить стоит лишь для тех, кто слушает. Исправлено 1 раз(а). Последнее : Vedmak, 29.08.23 21:25 |
© 2000-2024 Fox Club  |