Автор Тема: IniRead не видит обрамляющих кавычек  (Прочитано 4165 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн asdf8 [?]

  • AutoIt Гуру
  • *****
  • Сообщений: 560
  • Репутация: 151
    • Награды
Win XP sp3
AutoIt3 v3.3.2.0
IniRead не видит обрамляющих кавычек, а IniReadSection - видит.

Код: AutoIt [Выделить]
#Include <Array.au3>

$Ini = @ScriptDir & '\file.ini'

IniWrite ( $Ini, "section", "key1", '''val''ue''' )
IniWrite ( $Ini, "section", "key2", '"val"ue"' )
Sleep(250)
ConsoleWrite(IniRead($Ini, "section", "key1", "NotFound") & @LF)
ConsoleWrite(IniRead($Ini, "section", "key2", "NotFound") & @LF)
$var = IniReadSection($Ini, "section")
_ArrayDisplay($var)
 

« Последнее редактирование: Январь 13, 2010, 14:35:38 от asdf8 »

Русское сообщество AutoIt

IniRead не видит обрамляющих кавычек
« Отправлен: Январь 13, 2010, 13:07:19 »

Оффлайн snoitaleR [?]

  • AutoIt Гуру
  • *****
  • Сообщений: 854
  • Репутация: 222
  • Пол: Мужской
    • Награды
Re: IniWrite не видит обрамляющих кавычек
« Ответ #1, Отправлен: Январь 13, 2010, 13:13:07 »
asdf8
Если я правильно понял, то нужно, чтобы текст value записывался в INI-файл в кавычках:

Код: AutoIt [Выделить]
#Include <Array.au3>

$Ini = @ScriptDir & '\file.ini'

IniWrite ( $Ini, "section", "key1", '"value"' )
IniWrite ( $Ini, "section", "key2", '"value"' )
Sleep(250)
ConsoleWrite(IniRead($Ini, "section", "key1", "NotFound") & @LF)
ConsoleWrite(IniRead($Ini, "section", "key2", "NotFound") & @LF)
$var = IniReadSection($Ini, "section")
_ArrayDisplay($var)
 

Главное в жизни человека - это отношение...

Оффлайн asdf8 [?]

  • AutoIt Гуру
  • *****
  • Сообщений: 560

  • Автор темы
  • Репутация: 151
    • Награды
Re: IniWrite не видит обрамляющих кавычек
« Ответ #2, Отправлен: Январь 13, 2010, 13:38:51 »
snoitaleR,
записывается то с кавычками, а читает IniRead - одно, IniReadSection - другое.

Оффлайн SyDr [?]

  • Локальный модератор
  • *
  • Сообщений: 649
  • Репутация: 157
  • Пол: Мужской
  • Сидра
    • Награды
  • Версия AutoIt: 3.3.12.0
Re: IniWrite не видит обрамляющих кавычек
« Ответ #3, Отправлен: Январь 13, 2010, 13:39:02 »
Оффициальной спецификации Ini-файлов не существует.
В неофицальной спецификации указано, что String values may optionally be enclosed in quote characters (""", decimal code 34). String values beginning or ending with spaces, or containing commas or semicolons, must be enclosed in quotes.

То есть IniReadSection не должна помещать в массив эти кавычки.
Хотя да, функции должны вести себя одинаково.

Русское сообщество AutoIt

Re: IniWrite не видит обрамляющих кавычек
« Ответ #3 Отправлен: Январь 13, 2010, 13:39:02 »

Оффлайн snoitaleR [?]

  • AutoIt Гуру
  • *****
  • Сообщений: 854
  • Репутация: 222
  • Пол: Мужской
    • Награды
Re: IniWrite не видит обрамляющих кавычек
« Ответ #4, Отправлен: Январь 13, 2010, 14:26:15 »
asdf8
Я думаю, название темы должно содержать не IniWrite, а IniRead...

Оффлайн asdf8 [?]

  • AutoIt Гуру
  • *****
  • Сообщений: 560

  • Автор темы
  • Репутация: 151
    • Награды
Re: IniWrite не видит обрамляющих кавычек
« Ответ #5, Отправлен: Январь 13, 2010, 14:32:11 »
Если бы действительно имелось в виду, что обрамляющие кавычки и не должны читаться в ini-файлах, то они, по идее, не должны были бы и записываться через IniWrite

PS точно - с названием просмотрел

Оффлайн SyDr [?]

  • Локальный модератор
  • *
  • Сообщений: 649
  • Репутация: 157
  • Пол: Мужской
  • Сидра
    • Награды
  • Версия AutoIt: 3.3.12.0
Re: IniRead не видит обрамляющих кавычек
« Ответ #6, Отправлен: Январь 13, 2010, 18:00:02 »
Он кавычки и не записывает. Он их записывает в случае, если вам это надо:
Цитировать
When writing a value that is quoted, the quotes are stripped. In order to write the quote marks to the value, you must double up the quoting. For example: ""This is a test"" will produce "This is a test" in the file.

Русское сообщество AutoIt

Re: IniRead не видит обрамляющих кавычек
« Ответ #6 Отправлен: Январь 13, 2010, 18:00:02 »

 

Похожие темы

  Тема / Автор Ответов Последний ответ
3 Ответов
2789 Просмотров
Последний ответ Январь 02, 2012, 10:45:00
от AZJIO
7 Ответов
6384 Просмотров
Последний ответ Ноябрь 20, 2013, 09:34:30
от madmasles
2 Ответов
1441 Просмотров
Последний ответ Февраль 24, 2014, 09:09:18
от madmasles
10 Ответов
7096 Просмотров
Последний ответ Сентябрь 07, 2015, 16:38:07
от joiner
7 Ответов
4149 Просмотров
Последний ответ Май 20, 2016, 23:19:36
от Alofa
7 Ответов
1107 Просмотров
Последний ответ Август 26, 2016, 17:31:37
от kolosov
2 Ответов
924 Просмотров
Последний ответ Март 16, 2017, 23:37:28
от Vitorio
1 Ответов
419 Просмотров
Последний ответ Май 08, 2017, 12:45:59
от inververs
12 Ответов
985 Просмотров
Последний ответ Октябрь 14, 2017, 12:12:16
от InnI
1 Ответов
626 Просмотров
Последний ответ Май 25, 2018, 12:43:00
от InnI