Текущий архив: 2008.01.06;
Скачать: CL | DM;
Вниз
Поддерживаются ли в Ini комментарии ? Найти похожие ветки
← →
DevilDevil (2007-12-03 02:04) [0]сабж.
← →
Kostafey © (2007-12-03 02:06) [1]//
← →
DevilDevil (2007-12-03 02:20) [2]спасибо. а ";" ?
- допускаются ли имена параметров и секций русскими буквами
- секция"DELPHI"
= секции" Delphi "
?
← →
Kostafey © (2007-12-03 02:30) [3]> спасибо. а ";" ?
да
> - допускаются ли имена параметров и секций русскими буквами
не знаю, но делать так не следует точно.
> - секция "DELPHI" = секции " Delphi " ?
По-моему да, но лучше придерживаться
правила: написал 1 раз в других чатсях кода
используем тот же регистр.
Иначе, можно запутаться, особенно если иметь дело
с разными язаками, хоть даже это будет ini.
← →
DevilDevil (2007-12-03 02:39) [4]Спасибо!
← →
DevilDevil (2007-12-03 04:01) [5]нет, "//" Не поддердивается! :)
← →
Kostafey © (2007-12-03 04:27) [6]> нет, "//" Не поддердивается! :)
Может от парсера зависеть.
← →
Anatoly Podgoretsky © (2007-12-03 09:45) [7]
> DevilDevil (03.12.07 02:04)
По определению НЕТ, то что тебе кажется комментарием, на самом деле является параметром.
← →
Kostafey © (2007-12-03 09:56) [8]> [7] Anatoly Podgoretsky © (03.12.07 09:45)
>
> По определению НЕТ, то что тебе кажется комментарием, на
> самом деле является параметром.
А вот отсюда поподробнее пожалуйста.
← →
Anatoly Podgoretsky © (2007-12-03 10:07) [9]> Kostafey (03.12.2007 09:56:08) [8]
В ИНИ по определению нет комментариев, они там просто бессмысленны, поскольку после изменения секция пишется в новое место.
Попробуй из Дельфи обратиться к параметру
;Par=ABC
где параметр равен ;Par
← →
{RASkov} © (2007-12-03 11:49) [10]> По-моему да, но лучше придерживаться
> правила: написал 1 раз в других чатсях кода
> используем тот же регистр.
А по моему в данном конкретном случае, лучше пользоваться константами, типа нечто так:
Оформить константы, можно в отдельном модуле, и потом пользуемся константами....const
//Ключи
PARAM = "PARAM";
USDATA = "USDATA";
......
//Параметры
FRMWIDTH = "WIDTH"
FRMHEIGHT = "HEIGHT";
........
WriteInteger(PARAM, FRMWIDTH, Width);
Во как...) ну типа так)
> В ИНИ по определению нет комментариев, они там просто бессмысленны
И все же в "системных"(те что виндовые) инишках - "комментарии" начинаются с ;
так же - http://ru.wikipedia.org/wiki/Ini
А что по мне, то я придерживаюсь мнения
> В ИНИ по определению нет комментариев
т.е. я в своей программе, работающей с ини файлом, могу считать все что угодно комментарием и наоборот....
в прочем я не пробывал вариант, предложенный Анатолием (параметр начинающийся с ;).... попробую)
но чисто ради интереса, так как названия своим ключам или параметрам начинать с ; никогда не буду :)
← →
Anatoly Podgoretsky © (2007-12-03 19:06) [11]> {RASkov} (03.12.2007 11:49:10) [10]
Проверь, полезно для понимания, есть параметры или нет.
← →
oldman © (2007-12-03 19:21) [12]Самый простые вопросы:
А зачем в ini комментарии?
Лень создать txt?
← →
TUser © (2007-12-03 20:09) [13]#
комметы там нужны для
1. временного убирания некоторого кол-ва параметров
2. описания назначения параметров рядом с ними, что очень удобно
← →
Anatoly Podgoretsky © (2007-12-03 20:34) [14]> TUser (03.12.2007 20:09:13) [13]
1. Комментарии это внутреннее интерпритация писателя. Для ИНИ это понятие не существует.
2. До первого редактирования секции.
Если файл не предназначен для редактирования программно, то пункт 1. имеет право на существование.
← →
Loginov Dmitry © (2007-12-03 21:22) [15]> - допускаются ли имена параметров и секций русскими буквами
> - секция "DELPHI" = секции " Delphi " ?
Если работать с ini-файлами через TIniFile, то для символов латинского алфавита регистр роли не играет. Для русского же языка "Дельфи" и "дельфи" - это 2 совершенно разных понятия (тут поможет TMemIniFile).
← →
{RASkov} © (2007-12-03 21:43) [16]> [11] Anatoly Podgoretsky © (03.12.07 19:06)
> Проверь,var F: TIniFile;
begin
F:=TIniFile.Create(ExtractFilePath(Application.ExeName)+"INIFILE.ini");
F.WriteString("PARAM", "ABC", "параметр без ; и #");
F.WriteString("PARAM", ";DEF", "параметр начинается с ;");
F.WriteString("PARAM", "#DEF", "параметр начинается с #");
F.Free;
F:=TIniFile.Create(ExtractFilePath(Application.ExeName)+"INIFILE.ini");
ShowMessage(F.ReadString("PARAM","ABC", "Фигушки.... комментарий"));
ShowMessage(F.ReadString("PARAM",";DEF", "Фигушки.... комментарий"));
ShowMessage(F.ReadString("PARAM","#DEF", "Фигушки.... комментарий"));
F.Free;
end;
У меня три сообщения такие:
"параметр без ; и #"
"Фигушки.... комментарий"
"параметр начинается с #"
D7 WinXP SP2....
В общем фик знает.... если символ ";" стоит в начале строки, то строка считается комментарием...
← →
Anatoly Podgoretsky © (2007-12-03 21:46) [17]> {RASkov} (03.12.2007 21:43:16) [16]
Фокус не прошел :-(
← →
{RASkov} © (2007-12-03 21:54) [18]> [17] Anatoly Podgoretsky © (03.12.07 21:46)
> Фокус не прошел :-(procedure TMemIniFile.SetStrings(List: TStrings);
var
.........
begin
.............
if (S <> "") and (S[1] <> ";") then
if (S[1] = "[") and (S[Length(S)] = "]") then
begin
............
end
else
........
end;
end;
inifile.pas
Да и здесь вон что-то не понравился - ";" борлондцам....
← →
Anatoly Podgoretsky © (2007-12-03 22:00) [19]> {RASkov} (03.12.2007 21:54:18) [18]
Ну это их самодеятельность.
← →
Германн © (2007-12-03 22:25) [20]
> В общем фик знает.... если символ ";" стоит в начале строки,
> то строка считается комментарием...
Наверно автор процедуры TMemIniFile.SetStrings слишком долго работал на ассемблере.
:-)
← →
Anatoly Podgoretsky © (2007-12-03 22:40) [21]> Германн (03.12.2007 22:25:20) [20]
Лень писать, но проверять надо с помощью Get|Private|ProfileString - это законодатель.
← →
Германн © (2007-12-04 02:00) [22]
> Anatoly Podgoretsky © (03.12.07 22:40) [21]
Ну а мне тем более лень.
Но уж сколько раз я произносил слово "блин", увидев что поставил "точку с запятой" вместо двух слэшей в тексте Паскалевской программы! Привычка, однако.
Не пойму только почему автор процедуры TMemIniFile.SetStrings проверяет только первый символ строки? В Интелловских ассемблерах "точку с запятой" можно ставить в любом месте строки кода.
← →
Просветленный (2007-12-04 03:33) [23]Официальной спецификации ini-файла не существует, неофициальные предлагают использование точки с запятой в качестве обозначения комментария.
← →
Anatoly Podgoretsky © (2007-12-04 09:06) [24]> Просветленный (04.12.2007 03:33:23) [23]
Сейчас уже сложно найти документацию из Win 3.1, но та что опубликована в MS SDK никаких комментарией не предполагает, к тому же я писал, что это бессмысленно для типового ИНИ файла, оно может применяться только в RO или вручную редактируемых файлах.
Страницы: 1 вся ветка
Текущий архив: 2008.01.06;
Скачать: CL | DM;
Память: 0.53 MB
Время: 0.015 c