Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  

Показать сообщение отдельно

Пользователь


Сообщения: 135
Благодарности: 32

Профиль | Отправить PM | Цитировать


Creat0R
Цитата:
как выяснилось, это вызвано тем, что самопальная функция возвращает символы перевода строки на конце переменной выбранных файлов. При передаче подобной переменной в проверку словаря, действие проваливается.
OK, тестирую...
Код: Выделить весь код
$Dict=ObjCreate("Scripting.Dictionary")
Dim $var[4]
$var[0]="test1 -->" & @CRLF & "<-- возврат каретки и перенос строки"
$var[1]="test2" & @CRLF
$var[2]=@CRLF & "test3" & @CRLF
$var[3]=@CRLF & @CRLF & @LF & @LF & @CR & @CR

;~ Добавление ключей:
For $o In $var
	$Dict.Add($o,"")
Next

;~ Проверка добавленных ключей:
For $o In $var
	If $Dict.Exists($o) Then
;~ 	OK!
	Else
;~ 	...
	EndIf
Next
;~ У меня не вылетает

;~ Проверка несуществующего ключа
MsgBox(0,"Должен быть: 0",$Dict.Exists("test5"))

;~ Проверка массива:
$arrayKey=$Dict.Keys
For $i=0 To $Dict.Count-1
	MsgBox(0,"Перебор массива...",$arrayKey[$i])
Next
;~ Всё на своём месте.
Наверное дело в чём то другом...
Похожая ошибка возникает при попытке добавить в словарь ключ (Кеу) который там уже существует. (Словарь - изначально не поддерживает дубликаты)


Отправлено: 20:12, 08-06-2007 | #496