|
Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » AutoIt » [решено] Проблемы с... условным оператором if )) |
|
[решено] Проблемы с... условным оператором if ))
|
Старожил Сообщения: 186 |
Есть небольшой код (впоследствии хочу сделать прогу, чтобы сама добавляла друзей из одной группы вконтакте):
$IE=_IECreate("http://vkontakte.ru/gsearch.php?from=people&basic=1&c[group]=11068474#c%5Bcountry%5D=0&c%5Bgroup%5D=11068474&c%5Bsection%5D=people&offset=40") s(800) if isobj($IE) then $Links=_IELinkGetCollection($IE) For $Link in $Links if $Link.innertext="Добавить в друзья" then msgbox(0,0,"innertext="&$Link.innerText) if $Link.innertext<>0 then $Link.click _IEAction($Link,"click") endif next endif P.S. Вообще не пойму, как ссылка может называться "0", на той странице вообще таких ссылок нет. P.P.S. Вдвойне удивляет, как после кода if $Link.innertext<>0 он совершает $Link.click в случаях, когда $Link.innertext=0 |
|
Отправлено: 12:42, 13-09-2009 |
Must AutoIt Сообщения: 3054
|
Профиль | Сайт | Отправить PM | Цитировать Цитата evg64:
$IE = _IECreate("http://vkontakte.ru/gsearch.php?from=people&basic=1&c[group]=11068474#c%5Bcountry%5D=0&c%5Bgroup%5D=11068474&c%5Bsection%5D=people&offset=40") ;~ s(800) If IsObj($IE) Then $Links = _IELinkGetCollection($IE) For $Link In $Links If $Link.innertext == "Добавить в друзья" Then MsgBox(0, 0, "innertext=" & $Link.InnerText) If $Link.Innertext <> "0" Then $Link.Click _IEAction($Link, "click") EndIf Next EndIf |
|
------- Отправлено: 13:34, 13-09-2009 | #2 |
Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети. Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля. |
Старожил Сообщения: 186
|
Профиль | Отправить PM | Цитировать Ого, спасибо, я в жизни бы не подумал. А как возможно, что автоит различает разные типы переменных, если внутри скриптов они все хранятся как Variant?
|
Отправлено: 14:01, 13-09-2009 | #3 |
Must AutoIt Сообщения: 3054
|
Профиль | Сайт | Отправить PM | Цитировать Цитата evg64:
У типа Variant как бы есть определения - массив, строка, число, объект, указатель, и т.п. |
|
------- Отправлено: 14:19, 13-09-2009 | #4 |
Старожил Сообщения: 186
|
Профиль | Отправить PM | Цитировать Почему в данном примере переменные с разным типом данных оказываются несравнимыми? Ведь переменные вариант (со строковым и числовым типом данных) вполне нормально взаимодействуют между собой, к примеру:
$a="4" $b=5 if $a<$b then ... endif |
|
Отправлено: 14:49, 13-09-2009 | #5 |
Must AutoIt Сообщения: 3054
|
Профиль | Сайт | Отправить PM | Цитировать Цитата evg64:
![]() К примеру, если мы сравниваем буквы алфавита: $a = "a" $b = "b" If $a < $b Then ConsoleWrite("1: <" & $b & "> больше чем <" & $a & ">" & @CRLF) Else ConsoleWrite("2: <" & $a & "> больше чем <" & $b & ">" & @CRLF) EndIf На эту тему на оф. форуме было длинное обсуждение, но я его что то немогу найти. P.S Если нужно проверить учитывая типы данных, то для этого обычно используется StringCompare, где 5 будет больше чем "6". |
|
------- Отправлено: 19:32, 13-09-2009 | #6 |
![]() |
Участник сейчас на форуме |
![]() |
Участник вне форума |
![]() |
Автор темы |
![]() |
Сообщение прикреплено |
| |||||
Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
Интернет - [решено] Проблемы с метрикой | Syava96 | Microsoft Windows 7 | 3 | 23-11-2009 21:04 | |
Уценка контента оператором | united | Мобильные ОС, смартфоны и планшеты | 6 | 17-10-2008 15:23 | |
[решено] проблемы с эксплорером | sanekkhb | Лечение систем от вредоносных программ | 2 | 09-09-2008 02:54 | |
Установка - [решено] Проблемы с установкой | Cach | Microsoft Windows 2000/XP | 4 | 15-06-2008 13:54 | |
C/C++ - Проблема с оператором cscanf | M1sha | Программирование и базы данных | 2 | 20-05-2008 23:04 |
|