Elite Games - Свобода среди звезд!
.
ВНИМАНИЕ!
Наша конференция посвящена космической тематике и компьютерным играм.
Политические вопросы и происходящие в мире события в данный момент на нашем сайте не обсуждаются!

  » Злые беседы добрых программистов | страница 7
Конференция предназначена для общения пилотов. Для удобства она разделена на каналы, каждый из которых посвящен определенной игре. Пожалуйста, открывайте темы только в соответствующих каналах и после того, как убедитесь, что данный вопрос не обсуждался ранее.

Поиск | Правила конференции | Фотоальбом | Регистрация | Список пилотов | Профиль | Войти и проверить личные сообщения | Вход

   Страница 7 из 9
На страницу: Пред.  1, 2, 3, 4, 5, 6, 7, 8, 9  След. | Все страницы
Поиск в этой теме:
Канал Игры Мечты: «Злые беседы добрых программистов»
Olorin
 70 EGP


Рейтинг канала: 1(6)
Репутация: 12
Сообщения: 97
Откуда: Хьёрвард
Зарегистрирован: 27.02.2006
Kalembas :
MSDN Подмигиваю

Мне фразы по типу "реализует доступ к операциям с системой безопасности" или "инкапсулирует контексты безопансости данных" в данном случае ничего не говорят.. )

По системе безопасности в целом хотелось бы материал, чтоб понять что вообще к чему, а уже потом к частностям реализации модели переходить...
_________________
Мы на многое не отваживаемся не потому что оно трудно; оно трудно именно потому, что мы на него не отваживаемся.
Сенека Старший
    Добавлено: 15:19 25-12-2007   
Криптон
 995 EGP


Рейтинг канала: 3(44)
Репутация: 164
Сообщения: 2665
Откуда: Москва
Зарегистрирован: 05.04.2008
Господа опытные программисты, а как вы предпочитаете сохранять данные о настройках программы, в особенности, если они имеют довольно значительный объём?
    Добавлено: 20:15 09-04-2008   
Криптон
 995 EGP


Рейтинг канала: 3(44)
Репутация: 164
Сообщения: 2665
Откуда: Москва
Зарегистрирован: 05.04.2008
В килобайтах около 14.
    Добавлено: 21:11 09-04-2008   
Digited
 271 EGP


Рейтинг канала: 4(99)
Репутация: 49
Сообщения: 932

Зарегистрирован: 24.08.2004
Это скромно, вполне можно любые текстовые конфиги.
А вообще под вин есть Windows Registry.
    Добавлено: 22:05 09-04-2008   
Криптон
 995 EGP


Рейтинг канала: 3(44)
Репутация: 164
Сообщения: 2665
Откуда: Москва
Зарегистрирован: 05.04.2008
Я знаю, что для хранения информации такого объёма как правило применяют текстовые фалы. Я и сам применяю. Меня интересует, что предпочитают использовать опытные программисты, исходя из достаточно обширной практики, а не теоретических выкладок. Кстати, ini-file мне представляются неудобными, главным образом из-за отсутствия древовидной иерархии. Регистр мне тоже не слишком нравится: (1)прямо скажем, не слишком удачные API;(2) как-то глупо засорять базу данных, от которой зависит стабильность всей системы, настройками программы, находящейся в разработке и, следовательно, постоянно глючащей.

Последний раз редактировалось: Криптон (22:18 09-04-2008), всего редактировалось 1 раз
    Добавлено: 22:17 09-04-2008   
Sh.Tac.
 151 EGP


Рейтинг канала: 5(108)
Репутация: 14
Сообщения: 1426

Зарегистрирован: 27.07.2005
Криптон :
ini-file мне представляются неудобными, главным образом из-за отсутствия древовидной иерархии


а кто мешает самому устроить там древовидную иерархию, наставив скобочек [] или {}

или юзайте хмл Улыбка

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


настолько глючащей, что способна уронить базу? - талантище Гы-гы
_________________
This is what you get ...
(c) Radiohead
    Добавлено: 22:40 09-04-2008   
Криптон
 995 EGP


Рейтинг канала: 3(44)
Репутация: 164
Сообщения: 2665
Откуда: Москва
Зарегистрирован: 05.04.2008
Shirson :
Непонятно, только, зачем пытаться обвинить кого-то в глупости, толком не понимая о чём речь <..> Для человека, который решил спросить мнения у людей с практикой, у тебя получилось не слишком убедительно. А вот для кулхацкера - в самый раз
Гм. На самом деле я довольно трезво оцениваю свои способности, и могу представить, что будет твориться в реестре, если мой монстрик при каждом запуске примется (в результате какой-нибудь глупой моей ошибки) записывать эти 14 Кб в новое место. Если кому-то показалось, что я обвиняю его в глупости, то прошу заметить, что это было не так; "как-то глупо засорять" - имелось в виду глупо с моей стороны.

Sh.Tac. :
а кто мешает самому устроить там древовидную иерархию, наставив скобочек [] или {}
Не кто не мешает. Для организации такого файла есть стандартные функции?
    Добавлено: 22:52 09-04-2008   
Jurec
 348 EGP


Ведущий раздела
Рейтинг канала: 4(76)
Репутация: 102
Сообщения: 1441 Заблокирован
Откуда: Seattle
Зарегистрирован: 25.02.2006
1) Почему в новое место реестра то?
2) Можно ведь написать код нормально Подмигиваю

Что за данные? Можно поконкретнее? И какие к ним требования?
_________________
MOV topka, C++
    Добавлено: 22:59 09-04-2008   
Криптон
 995 EGP


Рейтинг канала: 3(44)
Репутация: 164
Сообщения: 2665
Откуда: Москва
Зарегистрирован: 05.04.2008
Jurec,почему в новое место - да потому что у меня эти идиотские регистровские API ещё ни разу правильно не заработали! И доверие к своим талантам в этой области у меня подорвано.
Написать код нормально можно. Но пока я его напишу, реестр уже загадится.
Данные (на текущий момент):4 динамических списка (небольшие, ожидаемый максимум - у одного около 30 элементов, у остальных - не более 10); элементы - структуры, содержащие не более 6 текстовых полей. Ну ещё несколько текстовых полей, не входящих в списки.
Требования: должно хранится. Для домашнего употребления. Попыток взлома не ожидается. Самой программой будут пользоваться человек пять.
Это если по минимуму. Но хотелось бы найти решение, которое можно было бы применить и в последующих проектах.
Shirson, я и пытаюсь узнать разнообразные способы. По поводу базы данных - а реестр-это не база данных?

Последний раз редактировалось: Криптон (23:18 09-04-2008), всего редактировалось 2 раз(а)
    Добавлено: 23:13 09-04-2008   
Jurec
 348 EGP


Ведущий раздела
Рейтинг канала: 4(76)
Репутация: 102
Сообщения: 1441 Заблокирован
Откуда: Seattle
Зарегистрирован: 25.02.2006
xml или в бинарный файл писать.

реестр и ини файлы - забудь
_________________
MOV topka, C++
    Добавлено: 23:18 09-04-2008   
Криптон
 995 EGP


Рейтинг канала: 3(44)
Репутация: 164
Сообщения: 2665
Откуда: Москва
Зарегистрирован: 05.04.2008
Jurec, наверняка существуют стандартные функции для работы с xml. Где найти их описания?

Последний раз редактировалось: Криптон (23:22 09-04-2008), всего редактировалось 1 раз
    Добавлено: 23:21 09-04-2008   
BlackCat
 200 EGP


Рейтинг канала: 3(33)
Репутация: 18
Сообщения: 2192
Откуда: г. Минск, Республика Беларусь
Зарегистрирован: 28.11.2006
Рекомендую xml. И древовидную структуру любой сложности можно построить. И размеры небольшие получаются. И в реестр ничего писать не нужно (по ходу я вообще не люблю реестр).
_________________
Я циник, эгоист, мизантроп, социофоб, пофигист, скептик! Одним словом - Няшка. :)
    Добавлено: 03:15 10-04-2008   
Digited
 271 EGP


Рейтинг канала: 4(99)
Репутация: 49
Сообщения: 932

Зарегистрирован: 24.08.2004
Криптон :
наверняка существуют стандартные функции для работы с xml. Где найти их описания?

В винде, вроде как, их нет совсем. Есть msxml parser, но он едва ли стоит на каждой машине с виндой.
Для с++ советую tiny xml parser - маленький и весьма функциональный.
Я вот свой велосипед писал когда-то - если есть регулярные выражения (из boost или откуда еще), то парсить руками не особо сложно, тем более если надо немного от всей спецификации xml.

ps это правда, что избыточность у xml большая. Для 14 кб вполне можно юзать .ini/.cfg со стандартной структурой
[header]
name=value; // comment

Последний раз редактировалось: Digited (08:46 10-04-2008), всего редактировалось 1 раз
    Добавлено: 08:43 10-04-2008   
Криптон
 995 EGP


Рейтинг канала: 3(44)
Репутация: 164
Сообщения: 2665
Откуда: Москва
Зарегистрирован: 05.04.2008
Господа, я уже понял, что подавляющее большинство разработчиков не испытывают нужды в древовидной структуре. Но у меня возникли большие проблемы при попытке втиснуть в INI-файл динамический массив, элементы которого являются структурами. У вас, очевидно, таких проблем не возникает. Вы такого рода задачу уже решили? Тогда просьба поделиться решением.
Кстати, очевидно, что для данных размером 14 кб избыточность xml роли не играет.

Shirson, ещё раз про тот "ужасный" пост. Я писал:
Цитата:
Реестр мне тоже не слишком нравится: <...> как-то глупо засорять базу данных, от которой зависит стабильность всей системы, настройками программы, находящейся в разработке и, следовательно, постоянно глючащей.

На мой взгляд, всё очевидно: Реестр - это база данных, от которой зависит стабильность OS (согласны?); засорять его глупо. Что тут такого возмутительного?
    Добавлено: 11:40 10-04-2008   
Ivanoff Alex
 860 EGP


Шипастый Шрайк
Репутация: 205
Сообщения: 3827
Откуда: Киев, Украина
Зарегистрирован: 26.04.2004
Криптон :
Кстати, очевидно, что для данных размером 14 кб избыточность xml роли не играет.

В чем проблема хмл? мощностей не хватает? - неверю!!!
есть к томуже binary xml... там ваще минмимум избыточности в ущерб читабельности...
_________________
Три слова - это два слова.
    Добавлено: 12:05 10-04-2008   
Криптон
 995 EGP


Рейтинг канала: 3(44)
Репутация: 164
Сообщения: 2665
Откуда: Москва
Зарегистрирован: 05.04.2008
Чёрт побери, неужели я так непонятно выражаюсь? Я имел в виду, что при объёме данных в 14 кб совершенно плевать на всякие накладные расходы, связанные с избыточностью.

Последний раз редактировалось: Криптон (12:11 10-04-2008), всего редактировалось 1 раз
    Добавлено: 12:11 10-04-2008   
Криптон
 995 EGP


Рейтинг канала: 3(44)
Репутация: 164
Сообщения: 2665
Откуда: Москва
Зарегистрирован: 05.04.2008
Shirson, читая нижеследующее, учитывайте, пожалуйста, что я - воиствующий ламер (однако мои программы даже иногда работают).

Во-первых, пишу я, естественно, на Delphi.
Во-вторых, проблема у меня была, естественно, не столько с форматом, сколько с инструментарием, приспособленным к моим нуждам.
В-третьих, решение я уже нашёл! (правда, автор решения не совсем я).
Краткое описание решения:
 Cкрытый текст   (кликните здесь для просмотра)

Создаётся класс-наследник TComponent. В нём создаются published - свойства класса TCollection, по свойству на каждый динамический массив. Ну и, естественно, конструктор и деструктор.
Далее, для каждой коллекции создаются классы-наследники TCollectionItem, published свойства которых соответствуют нужным полям структур.
Далее, в vcl имеются встроенные средства для сохранения и загрузки компонентов и их наследников в текстовый или бинарный файл (формат *.dfm).
 Cкрытый текст   (кликните здесь для просмотра)

Код:

procedure LoadFromFile(FileName:String;Component:TComponent);
var
  FileStream:TFileStream;
  BinStream:TMemoryStream;
begin
  if not FileExists(FileName) then
    exit;
  FileStream:=TFileStream.Create(FileName,fmOpenRead);
  try
    BinStream:=TMemoryStream.Create;
    try
      ObjectTextToBinary(FileStream,BinStream);
      BinStream.Seek(0,soFromBeginning);
      BinStream.ReadComponent(Component);
    finally
      BinStream.free;
    end;
  finally
    FileStream.Free;
  end;
end;

Код:

procedure SaveToFile(FileName:String;Component:TComponent);
var
  FileStream:TFileStream;
  BinStream:TMemoryStream;
begin
  FileStream:=TFileStream.Create(FileName,fmOpenWrite or fmCreate);
  try
    BinStream:=TMemoryStream.Create;
    try
      BinStream.WriteComponent(Component);
      BinStream.Seek(0,soFromBeginning);
      ObjectBinaryToText(BinStream,FileStream);
    finally
      BinStream.free;
    end;
  finally
    FileStream.Free;
  end;
end;

Результат: минимум моего кода, всё очень удобно.

В-четвёртых, весь ваш опыт, сленг и понятия не разубедят меня, что реестр (а также, вы будете смеяться, xml и ini-файлы)-это база данных, поскольку служит для хранения структурированных данных.
    Добавлено: 18:03 10-04-2008   
Digited
 271 EGP


Рейтинг канала: 4(99)
Репутация: 49
Сообщения: 932

Зарегистрирован: 24.08.2004
Я когда-то для FaBalance (прога для Х2) писал работу с инишками с помощью TStringList: легкая загрузка и сохранение, работа с парами имя=значение. Просто и сердито.
    Добавлено: 18:33 10-04-2008   
Криптон
 995 EGP


Рейтинг канала: 3(44)
Репутация: 164
Сообщения: 2665
Откуда: Москва
Зарегистрирован: 05.04.2008
Shirson, в том-то и дело, я задействовал стандартный для нынешнего Delphi механизм сохранения объекта в файл, реализованный программистами Borland.
    Добавлено: 18:56 10-04-2008   
Криптон
 995 EGP


Рейтинг канала: 3(44)
Репутация: 164
Сообщения: 2665
Откуда: Москва
Зарегистрирован: 05.04.2008
Shirson :
"Сохранение объёкта в файл" и "Сохранение древовидной информации" стоят на совершенно разных уровнях абстракции. Примерно как "Особенности разведения свиней в средней полосе" и "Приготовление домашних пельменей".
Да, это так, и ваша аналогия весьма близка. Но мне-то нужны в конечном счёте пельмени, а не свинина! И ходить за пельменями в магазин гораздо удобнее (хотя и дороже), чем откармливать свиней, а потом готовить из них пельмени.
Shirson :
Мой совет, попробуй теперь решить вопрос по сохранению этой же инфы в ini файле, или просто в [параметр]=[значение]. Очень полезно будет.
Да, это будет полезно. В плане обучения, создания эффективных алгаритмов, и т.д. Вот скажите, при работе с ini-файлами вы пользуетесь функциями из серии WritePrivateProfileString или чем-то собственной разработки?
Кстати, подтвердите пожалуйста в явном виде, что знаете, что такое dfm-формат, во избежание различных недоразумений.
    Добавлено: 20:55 10-04-2008   
Канал Игры Мечты: «Злые беседы добрых программистов»
На страницу: Пред.  1, 2, 3, 4, 5, 6, 7, 8, 9  След. | Все страницы
  
Показать: 
Предыдущая тема | Следующая тема |
К списку каналов | Наверх страницы
Цитата не в тему: Меньше знаешь - богаче рацион. (мудрость от Udav'а)

  » Злые беседы добрых программистов | страница 7
Каналы: Новости | Elite | Elite: Dangerous | Freelancer | Star Citizen | X-Tension/X-BTF | X2: The Threat | X3: Reunion | X3: Terran Conflict | X Rebirth | X4: Foundations | EVE Online | Orbiter | Kerbal Space Program | Evochron | VoidExpanse | Космические Миры | Онлайновые игры | Другие игры | Цифровая дистрибуция | play.elite-games.ru | ЗВ 2: Гражданская война | Творчество | Железо | Игра Мечты | Сайт
   Дизайн Elite Games V5 beta.18