Форум Pawn.Wiki - Воплоти мечту в реальность!: mxINI - Форум Pawn.Wiki - Воплоти мечту в реальность!

Перейти к содержимому

  • (3 Страниц) +
  • 1
  • 2
  • 3
  • Вы не можете создать новую тему
  • Вы не можете ответить в тему

mxINI Самый быстрый INI ридер/райтер Оценка: ***** 3 Голосов

#1
Пользователь онлайн   Romzes 

  • ( ^_^ )
  • Вставить ник
  • Раскрыть информацию
Что это за скрипт:
  • Это релиз инклуд-файла с инструментами для самого быстрого чтения/записи INI файлов. Более того, этот инклуд не нуждается в настройке. Вы подключаете его в ФС или МОД и можно сразу читать/записывать INI файлы.



Преимущества:
  • Свободный формат
    Во-первых, оформлять ваши INI файлы вы можете как угодно - криво/ровно, с отступами/без, с комментами/без, с любыми пробельными символами вокруг =. И это все никак не влияет на чтение/запись. Нет никаких лимитов на длину ключей или значений. Ключи и значения можно писать даже по-русски. В имени ключа/значении можно использовать любые символы кроме \r и \n. Пробелы и знаки табуляции вокруг имени ключа, вокруг символа = и перед текстовым значением считаются отступами. В одной строке вы можете поместить любое кол-во пар ключ/значение, включая всевозможные варианты оформления.


  • Свободное расположение комментов
    Чтобы увеличить скорость чтения, считается, что любые строки, где нет символа = это комментарии. Также комментарием может быть любой текст, все зависит от вашего форматирования.


  • Скорость
    Перед тем как читать что-то из INI файла, его также как и остальные файлы нужно открыть. При открытии весь файл копируется в ОЗУ вместе с именем. Остальные операции чтения/записи производятся непосредственно в ОЗУ. Именно поэтому все это происходит очень быстро. Если контент файла в ОЗУ был изменен, при закрытии он будет записан на диск.

    Еще 1 плюс, который ранее в скриптинге не применялся - это сжатое хранение контента файла, что в 4 раза меньше, чем обычный формат. Скорость также достигается за счет отсутствия дополнительных функций, которые могли бы использоваться в функциях чтения/записи, а также за счет использования только встроенных функций скриптинга.



Инструменты:

  • ini_createFile ( "путь/к/файлу.ini", "Содержимое файла по умолчанию" )
  • ini_openFile ( "путь/к/файлу.ini" )
  • ini_closeFile ( ИД_открытого_файла )


  • ini_setString ( ИД_открытого_файла, "имя ключа", "текстовое значение" )
  • ini_setInteger ( ИД_открытого_файла, "имя ключа", 123456 )
  • ini_setFloat ( ИД_открытого_файла, "имя ключа", 3.1416 )


  • ini_getString ( ИД_открытого_файла, "имя ключа", returnValue )
  • ini_getInteger ( ИД_открытого_файла, "имя ключа", returnValue )
  • ini_getFloat ( ИД_открытого_файла, "имя ключа", returnValue )


  • ini_removeKey ( ИД_открытого_файла, "имя ключа" )
  • ini_getErrorInfo ( Код_ошибки )



Примеры:
new iniFile = ini_createFile ( "test4268.ini" );

if ( iniFile < 0 )
	iniFile = ini_openFile ( "test4268.ini" );

if ( iniFile >= 0 )
{
	new returnString[32], returnNumber, Float: returnFloat;

	ini_setString ( iniFile, "ключ со строкой", "текстовое значение" );
	ini_setInteger ( iniFile, "ключ с числом",  123456 );
	ini_setFloat  ( iniFile, "ключ с дробью",  3.1416 );

	ini_removeKey ( iniFile, "ключ с числом" );

	ini_getString ( iniFile, "ключ со строкой", returnString );
	ini_getInteger ( iniFile, "ключ с числом",  returnNumber );
	ini_getFloat  ( iniFile, "ключ с дробью",  returnFloat );


	ini_closeFile ( iniFile );

	printf ( "\n `ключ_со_строкой` = `%s`,\n `ключ_с_числом` = `%d`,\n `ключ_с_дробью` = `%f` \n",
		returnString, returnNumber, returnFloat );
}
else print( "\n Не удалось открыть INI файл \n" );


Скачать:
  • 0.5.0.rar [8,54К] (Официально самая последняя версия)
  • 0.5.4.rar [9,3К] (Исправление от пользователя ZiGGi)
  • GitHub


Темы связаны с mxINI:

Сообщение отредактировал Romzes: 25 августа 2022 - 22:48
Причина редактирования: v0.5.4

7

#2
Пользователь офлайн   VetalOK 

  • Брат за брата
  • Вставить ник
  • Раскрыть информацию
Молодец, Romzes! Хорошо и подробно всё описал +
0

#3
Пользователь офлайн   mxINI 

  • Даун какой-то
  • Вставить ник
  • Раскрыть информацию
Опять меня кудато выложили:D :ohmy:
0

#4
Пользователь офлайн   SwipoStyle 

  • Благодетель
  • Вставить ник
  • Раскрыть информацию

Просмотр сообщенияmxINI (07 мая 2014 - 19:01) писал:

Опять меня кудато выложили:D :ohmy:


Очень смешно Изображение
0

#5
Пользователь офлайн   failman242 

  • Прохожий
  • Вставить ник
  • Раскрыть информацию
Спасибо огромное :З С меня огромный " + "
0

#6
Пользователь офлайн   Dinislam 

  • Прохожий
  • Вставить ник
  • Раскрыть информацию
fatal error 100: cannot read from file: "mxINI" Все Равно Пишит
0

#7
Пользователь онлайн   Romzes 

  • ( ^_^ )
  • Вставить ник
  • Раскрыть информацию

Просмотр сообщенияDinislam (21 июня 2015 - 08:35) писал:

fatal error 100: cannot read from file: "mxINI" Все Равно Пишит


Вы пользуетесь значить не тем pawno.
0

#8
Пользователь офлайн   Oleg_Petrow 

  • Олежка
  • Вставить ник
  • Раскрыть информацию
После того как файл скачаете - переместите его в папку pawno > include.
Потом вернитесь назад к папке pawno и запустите pawno.exe
И теперь можете открывать мод и данной ошибки не будет.
0

#9
Пользователь онлайн   Romzes 

  • ( ^_^ )
  • Вставить ник
  • Раскрыть информацию
Всем привет, в шапку добавил новую версии инклуда от ZiGGi. В этой версии был исправлен баг, подробнее о нем:

ZiGGi сказал:

mxINI читает файл посимвольно и не учитывает перенос строки для имени ключа. Это значит, что игрок может зайти под ником Money=9999999999 и получить 9999999999 денег после регистрации и, естественно, это работает с любым параметром (уровень, права администратора и т.п.).

0

#10
Пользователь офлайн   .evoxxx 

  • Liberty Inc.
  • Вставить ник
  • Раскрыть информацию

Просмотр сообщенияRomzes (10 июля 2016 - 14:48) писал:

Всем привет, в шапку добавил новую версии инклуда от ZiGGi. В этой версии был исправлен баг, подробнее о нем:

Тобишь баг с админкой исправлен? Спустя столько лет D:
0

Поделиться темой:


  • (3 Страниц) +
  • 1
  • 2
  • 3
  • Вы не можете создать новую тему
  • Вы не можете ответить в тему

1 человек читают эту тему
0 пользователей, 1 гостей, 0 скрытых пользователей


Яндекс.Метрика