Russian Qt Forum
Июня 30, 2025, 23:49 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
 
  Начало   Форум  WIKI (Вики)FAQ Помощь Поиск Войти Регистрация  

Страниц: [1]   Вниз
  Печать  
Автор Тема: Что быстрее, работа с XML or INI  (Прочитано 6132 раз)
Resager
Гость
« : Января 22, 2010, 07:48 »

Вобщем по сабжу...
Функции: чтение/запись
Записан
niXman
Гость
« Ответ #1 : Января 22, 2010, 07:55 »

у INI файлов проще синтаксис, следовательно, их проще парсить.
Записан
ecspertiza
Супер
******
Offline Offline

Сообщений: 1053


С уважением, мастер конфетного цеха!


Просмотр профиля
« Ответ #2 : Января 22, 2010, 09:18 »

Мне кажется еше немаловажно знать зачем тебе они нужны, если для хранения настроек софта то однозначна INI ,а если для синхронизации двух БД со сложной структурой то тут наверное лудше XML Улыбающийся
Записан
panAlexey
Гипер активный житель
*****
Offline Offline

Сообщений: 865

Акцио ЗАРПЛАТА!!!!! :(


Просмотр профиля
« Ответ #3 : Января 22, 2010, 15:06 »

Вобщем по сабжу...
Функции: чтение/запись
естественно с ini.
XML - вообще суют куда не попадя без оглядки на производительность....
Особенно мне "нравится" подход: импорт/экспорт в 1С сделан через xml....
Обычная тема на 1С-ных форумах: "Че делать? После пары часов выгрузки получаю Out of memory! Хелп!"..
руки поотрывал бы....
ПС. Посмотри как сделана система настроек в SCiTE:
Код:
[FileExt]             Команды предназначенные только для конкретного типа файлов
# ----------------------------------------------
command.submenu.name.1.*=$(FileExt)
    # Договоримся, что командам предназначенным только для конкретного типа файлов, будем давать номера от 0 до 19
    # тогда все они будут в этом подменю
    command.parent.0.*=1
    command.parent.1.*=1
    command.parent.2.*=1
    command.parent.3.*=1
    command.parent.4.*=1
    command.parent.5.*=1
    command.parent.6.*=1
    command.parent.7.*=1
    command.parent.8.*=1
    command.parent.9.*=1
    command.parent.10.*=1
    command.parent.11.*=1
    command.parent.12.*=1
    command.parent.13.*=1
    command.parent.14.*=1
    command.parent.15.*=1
    command.parent.16.*=1
    command.parent.17.*=1
    command.parent.18.*=1
    command.parent.19.*=1
    # ----------------------------------------------
    command.name.17.*.vbs;*.js;*.wsf=Execute Selection
    command.17.*.vbs;*.js;*.wsf=CMD /C MORE > %TEMP%\tmp.$(FileExt) && "$(SciteDefaultHome)\scite.exe" -menucommand:420 && cscript /nologo %TEMP%\tmp.$(FileExt)
    command.input.17.*.vbs;*.js;*.wsf=$(CurrentSelection)
    command.mode.17.*.vbs;*.js;*.wsf=subsystem:console,savebefore:no
    # ----------------------------------------------
    command.name.18.*.vbs;*.js;*.hta=Display COM object in OLE Viewer
    command.18.*.vbs;*.js;*.hta=wscript "$(SciteDefaultHome)\tools\display_com_object_in_ole_viewer.vbs"
    command.input.18.*.vbs;*.js;*.hta=$(CurrentSelection)
    command.mode.18.*.vbs;*.js;*.hta=subsystem:windows,replaceselection:no,savebefore:no
    # ----------------------------------------------
    command.separator.19.*=1
    command.name.19.*=Open API file
    command.19.*=dostring \
                for api_filename in props["APIPath"]:gmatch("[^;]+") do \
                  scite.Open(api_filename) \
                end
    command.mode.19.*=subsystem:lua,savebefore:no
    CN_OPENAPIFILE=019
Оттуда и парсер можно взять....
Записан

Win Xp SP-2, Qt4.3.4/MinGW. http://trdm.1gb.ru/
SABROG
Гость
« Ответ #4 : Января 22, 2010, 20:22 »

Данные и настройки кстати можно вообще в двоичном виде хранить через QDataStream и тогда уже вопрос будет стоять так: что быстрее двоичные данные из QDataStream или ini?

А вообще спросите себя часто ли вы редактируете вручную xml или ini файлы, чтобы поменять настройки программы (в linux оно может конечно и часто, но это обычно настройки консольных программ без интерфейса)? Если даже программа не запускается из-за кривых настроек обычно достаточно грохнуть файл.
« Последнее редактирование: Января 22, 2010, 20:24 от SABROG » Записан
panAlexey
Гипер активный житель
*****
Offline Offline

Сообщений: 865

Акцио ЗАРПЛАТА!!!!! :(


Просмотр профиля
« Ответ #5 : Января 23, 2010, 02:30 »

А вообще спросите себя часто ли вы редактируете вручную xml или ini файлы, чтобы поменять настройки программы (в linux оно может конечно и часто, но это обычно настройки консольных программ без интерфейса)?
4 раза лазил в настройки code::block в последнее время.
Почему-то съезжают координаты панели инструментов "Debug" совсем за экран. Запарился их на место ставить. Руки бы поотрывал перцам хранящим настройки в XML Грустный((
вот кусок:
Код:
				<view1>
<NAME>
<str>
<![CDATA[Code::Blocks default]]>
</str>
</NAME>
<DATA>
<str>
<![CDATA[layout2|name=ManagementPane;caption=Management;state=2099196;dir=4;layer=1;row=0;pos=0;prop=87314;bestw=144;besth=626;minw=100;minh=100;maxw=-1;maxh=-1;floatx=0;floaty=816;floatw=400;floath=250|name=MessagesPane;caption=Logs & others;state=2099196;dir=3;layer=0;row=1;pos=0;prop=204197;bestw=1572;besth=99;minw=-1;minh=-1;maxw=-1;maxh=-1;floatx=28;floaty=894;floatw=821;floath=212|name=MainToolbar;caption=Main Toolbar;state=2108156;dir=1;layer=10;row=4;pos=0;prop=100000;bestw=277;besth=23;minw=-1;minh=-1;maxw=-1;maxh=-1;floatx=648;floaty=179;floatw=294;floath=47|name=MainPane;caption=;state=17152;dir=5;layer=0;row=0;pos=0;prop=100000;bestw=20;besth=20;minw=-1;minh=-1;maxw=-1;maxh=-1;floatx=-1;floaty=-1;floatw=-1;floath=-1|name=ScriptConsole;caption=Scripting console;state=2099198;dir=3;layer=3;row=0;pos=0;prop=92954;bestw=217;besth=100;minw=100;minh=100;maxw=-1;maxh=-1;floatx=1;floaty=681;floatw=400;floath=250|name=SymbolsBrowser;caption=Symbols browser;state=2099196;dir=2;layer=0;row=0;pos=0;prop=100000;bestw=200;besth=250;minw=150;minh=150;maxw=-1;maxh=-1;floatx=-1;floaty=-1;floatw=200;floath=250|name=CodeCompletionToolbar;caption=Code completion Toolbar;state=2108159;dir=1;layer=10;row=1;pos=31;prop=100000;bestw=825;besth=23;minw=-1;minh=-1;maxw=-1;maxh=-1;floatx=274;floaty=202;floatw=840;floath=47|name=CodeSnippetsPane;caption=CodeSnippets;state=2099198;dir=2;layer=0;row=5;pos=1;prop=100000;bestw=300;besth=400;minw=30;minh=40;maxw=-1;maxh=-1;floatx=1079;floaty=70;floatw=300;floath=400|name=CompilerToolbar;caption=Compiler Toolbar;state=2108156;dir=1;layer=10;row=4;pos=288;prop=100000;bestw=342;besth=23;minw=-1;minh=-1;maxw=-1;maxh=-1;floatx=-1;floaty=-1;floatw=-1;floath=-1|name=DisassemblyPane;caption=Disassembly;state=2099199;dir=4;layer=0;row=0;pos=0;prop=100000;bestw=350;besth=250;minw=150;minh=150;maxw=-1;maxh=-1;floatx=-1;floaty=-1;floatw=338;floath=238|name=CPURegistersPane;caption=CPU Registers;state=2099199;dir=4;layer=0;row=0;pos=0;prop=100000;bestw=350;besth=250;minw=150;minh=150;maxw=-1;maxh=-1;floatx=-1;floaty=-1;floatw=338;floath=238|name=CallStackPane;caption=Call stack;state=2099199;dir=4;layer=0;row=0;pos=0;prop=100000;bestw=150;besth=150;minw=150;minh=150;maxw=-1;maxh=-1;floatx=-1;floaty=-1;floatw=438;floath=174|name=WatchesPane;caption=Watches;state=2099199;dir=4;layer=0;row=0;pos=0;prop=100000;bestw=150;besth=250;minw=150;minh=150;maxw=-1;maxh=-1;floatx=-1;floaty=-1;floatw=158;floath=238|name=BreakpointsPane;caption=Breakpoints;state=2099198;dir=4;layer=1;row=0;pos=2;prop=49312;bestw=350;besth=250;minw=150;minh=150;maxw=-1;maxh=-1;floatx=2;floaty=383;floatw=350;floath=250|name=ExamineMemoryPane;caption=Memory;state=2099199;dir=4;layer=0;row=0;pos=0;prop=100000;bestw=450;besth=250;minw=350;minh=150;maxw=-1;maxh=-1;floatx=-1;floaty=-1;floatw=438;floath=238|name=ThreadsPane;caption=Running threads;state=2099199;dir=4;layer=0;row=0;pos=0;prop=100000;bestw=350;besth=75;minw=250;minh=75;maxw=-1;maxh=-1;floatx=-1;floaty=-1;floatw=438;floath=99|name=DebuggerToolbar;caption=Debugger Toolbar;state=2108156;dir=1;layer=10;row=4;pos=641;prop=100000;bestw=215;besth=23;minw=-1;minh=-1;maxw=-1;maxh=-1;floatx=-1;floaty=-1;floatw=-1;floath=-1|name=DefMimeHandler_HTMLViewer;caption=HTML viewer;state=2099198;dir=3;layer=1;row=0;pos=0;prop=115501;bestw=350;besth=250;minw=150;minh=150;maxw=-1;maxh=-1;floatx=-1;floaty=-1;floatw=350;floath=250|name=MANViewer;caption=Man/Html pages viewer;state=2099198;dir=2;layer=1;row=0;pos=0;prop=100000;bestw=320;besth=240;minw=240;minh=160;maxw=-1;maxh=-1;floatx=1111;floaty=267;floatw=320;floath=240|name=IncrementalSearchToolbar;caption=IncrementalSearch Toolbar;state=2108156;dir=1;layer=10;row=4;pos=867;prop=100000;bestw=306;besth=23;minw=-1;minh=-1;maxw=-1;maxh=-1;floatx=-1;floaty=-1;floatw=-1;floath=-1|name=OpenFilesPane;caption=Open files list;state=2099196;dir=4;layer=1;row=0;pos=1;prop=36304;bestw=150;besth=100;minw=50;minh=50;maxw=-1;maxh=-1;floatx=178;floaty=71;floatw=100;floath=150|name=ThreadSearchToolbar;caption=ThreadSearch Toolbar;state=2108156;dir=1;layer=10;row=4;pos=1184;prop=100000;bestw=178;besth=23;minw=-1;minh=-1;maxw=-1;maxh=-1;floatx=-1;floaty=-1;floatw=-1;floath=-1|name=TodoListPanev2.0.0;caption=To-Do list;state=2099198;dir=2;layer=1;row=0;pos=0;prop=50945;bestw=352;besth=94;minw=352;minh=94;maxw=-1;maxh=-1;floatx=666;floaty=546;floatw=360;floath=118|name=wxSmithTwoPanes_ResourceBrowser;caption=wxSmith - Resource Browser;state=2099198;dir=2;layer=0;row=3;pos=0;prop=100000;bestw=150;besth=450;minw=50;minh=50;maxw=-1;maxh=-1;floatx=7;floaty=64;floatw=150;floath=450|name=wxSmithTwoPanes_PropertyBrowser;caption=wxSmith - Property Browser;state=2099198;dir=4;layer=0;row=0;pos=0;prop=100000;bestw=150;besth=450;minw=50;minh=50;maxw=-1;maxh=-1;floatx=-1;floaty=-1;floatw=150;floath=450|dock_size(5,0,0)=22|dock_size(1,10,4)=25|dock_size(4,1,0)=166|dock_size(2,0,0)=185|dock_size(3,0,1)=179|]]>
</str>
</DATA>
</view1>
пс. Понял, что гадит новая ревизия кодеблока, работаю пока на старой.
« Последнее редактирование: Января 24, 2010, 19:39 от panAlexey » Записан

Win Xp SP-2, Qt4.3.4/MinGW. http://trdm.1gb.ru/
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


Страница сгенерирована за 0.024 секунд. Запросов: 20.