Разбираюсь со скриптом для чтения INI файлов (скрипт на vbs). Использую WinAPI функцию GetPrivateProfileSection (см. здесь
http://msdn.microsoft.com/en-us/library/windows/desktop/ms724348%28v=vs.85%29.as...). Функция возвращает все строки "Ключ=Значение" для заданной секции. Но эти строки разделены Null символом. В 1С доходит только первая строка.
Вопрос - Можно ли как-то заменить этот символ Null в самом скрипте на что-то другое? Чтобы потом уже парсить переданную строку в самой 1С?
Вот пример выдранного куска из моего скрипта:
Wrap.Register ""kernel32"", ""GetPrivateProfileSection"", ""i=sSls"", ""r=l""
|
| Public Function INIGetS(SecName,IniFile)
| Ret = 0
| BufLen = 1024
| sBuf = Space(BufLen)
| Ret = Wrap.GetPrivateProfileSection(SecName,sBuf,BufLen,IniFile)
| INIGetS = Join(Split(Left(sBuf, Ret), vbNullChar)) 'Len(sBuf)
| End Function
По идее, передав в функцию
INIGetS имя секции и имя ini-файла я должен получить строку из всех "Параметр=Значение" разделенных vbNullChar. Значение
Ret показывает вроде правильную длину строки, но сама строка
sBuf содержит почему-то только первую пару Пар=Знач. И Len(sBuf) тоже возвращает длину этой первой пары.... В общем странные вещи... Может сам
Wrap неправильно как-то строку возвращает?