Что нового

[Данные, строки] Сравнение полученных данных

Куксик

Новичок
Сообщения
8
Репутация
0
Ребят извините меня за деревянность..но как из полученных данных,произвести сравнение..нужно найти цену не больше 200000 и перейти к объекту,который выставил товар
Код:
$oTableAll = _IETableGetCollection($oIE)
$iNumTables = @extended
    $oTable = _IETableGetCollection($oIE, 7)
    $aTableData = _IETableWriteToArray($oTable, 4)
;~     ;_ArrayDisplay($aTableData, $i)
;~  _ArrayDisplay($aTableData)

 For $i = 1 To UBound($aTableData) -1
   ConsoleWrite(StringFormat('Объект: %s Может продать: %s Цена: %s\r\n', $aTableData[$i][0], $aTableData[$i][1], $aTableData[$i][2]))
Next

полазил по форуму..но не чего такого не нашёл..Объясните мне пожалуйста.. :-[
 

Garrett

Модератор
Локальный модератор
Сообщения
3,999
Репутация
964
Куксик [?]
нужно найти цену не больше 200000
Код:
Local $aTableData[7][3] = [['Объект1', 3, 10500], _
						   ['Объект2', 1, 100000], _
						   ['Объект3', 12, 15000], _
						   ['Объект4', 34, 200000], _
						   ['Объект5', 3, 300000 ], _
						   ['Объект6', 23, 1500000], _
						   ['Объект7', 11, 5000]]

For $i = 0 To UBound($aTableData) -1
   If $aTableData[$i][2] < 200000 Then _
	  ConsoleWrite(StringFormat('Объект: %s Может продать: %s Цена: %s\r\n', $aTableData[$i][0], $aTableData[$i][1], $aTableData[$i][2]))
Next


P.S. Советую вам прочитать справку.
 
Автор
К

Куксик

Новичок
Сообщения
8
Репутация
0
Garrett Ты просто чертовски хорош своими ответами :beer: как тут поставить репутацию?



Добавлено:
Сообщение автоматически объединено:

Чёт не понимаю..работаю в Internet Explorer.Захожу на нужный мне сайт,где собственно сама статистика.включаю скрипт..А он не фурычит.не сравнивает не чего с таблицы.
Код:
Local $aTableData[7][3] = [['Объект1', 3, 10500], _
                           ['Объект2', 1, 100000], _
                           ['Объект3', 12, 15000], _
                           ['Объект4', 34, 200000], _
                           ['Объект5', 3, 300000 ], _
                           ['Объект6', 23, 1500000], _
                           ['Объект7', 11, 5000]]

подставлял свои цифры..но он мне их и выдаёт.
А Эту строку Вообще игнорит
Код:
ConsoleWrite(StringFormat('Объект: %s Может продать: %s Цена: %s\r\n', $aTableData[$i][0], $aTableData[$i][1], $aTableData[$i][2]))
Next
 

oesoes

xor eax,eax
Сообщения
171
Репутация
9
По моему, человек с именем харизматичного протагониста отличной серии игр намекал на то, что эта таблица есть результат выполнения функции _IETableWriteToArray. Т.е. вы ее получаете, а не забиваете в исходник, то есть она просто для наглядности. Т.е. получаете всю таблицу как матрицу и перебираете цены, сравнивая с эталонной. Т.е. по сути, Вас должно интересовать только условие. Строка:

Код:
If $aTableData[$i][2] < 200000 Then _
 
Автор
К

Куксик

Новичок
Сообщения
8
Репутация
0
Код:
If $aTableData[$i][2] < 200000 Then _


И скрипт заканчивает свою работу.Хотя на сайте есть цены 100000
 

oesoes

xor eax,eax
Сообщения
171
Репутация
9
Куксик сказал(а):
Код:
If $aTableData[$i][2] < 200000 Then _


И скрипт заканчивает свою работу.Хотя на сайте есть цены 100000

Ну во первых, непонятно, почему у вас в $aTableData = _IETableWriteToArray($oTable, 4) вторым параметром стоит 4? Там функция принимает значение булевого типа, т.е. true или false. Опустите второй параметр и после вызова функции проверьте, что @error = 0. Ещё проверить содержимое полученного массива, на предмет действительно ли там то, что ожидается? Что говорит _ArrayDisplay() ? У меня все работает хорошо, что на тестовых страницах, что на нормальных сайтах. Может быть вам будет проще дать ссылку на вашу страницу? По моему будет проще для всех.
 
Автор
К

Куксик

Новичок
Сообщения
8
Репутация
0
Суть скрипта..найти цену 200000 и перейти к продавцу.а поскольку их может быть несколько.Скрипт должен выбрать рамдомно одного,и перейти к нему в магазин.
Код:
</tr><tr><td class=wb bgcolor=#f0fff0><a href=/map.php?sx=152&sy=149 >[B]</a> <a href=/object.php?id=7975637>#7975637</a>, <a href=/object.php?id=7975637>Обувной магазин Centro</a>, <b>Траво</b></td>
<td class=wb align=center bgcolor=#f0fff0>546</td><td class=wb bgcolor=#f0fff0> $250000 </td>

переход по магазинам осуществляется ссылкой с атрибутом hre..как всё это можно осуществить? Все мои эксперименты,манипуляции погорели синим пламенем.


Добавлено:
Сообщение автоматически объединено:

Код:
$oTable = _IETableGetCollection($oIE, 7)
    $aTableData = _IETableWriteToArray($oTable, 4)~;тут у меня нужная таблица,с индексом 4

Если поставить true или false Возвращает таблицу стартовой страницы
 

oesoes

xor eax,eax
Сообщения
171
Репутация
9
Или дайте ссылку на страницу или сохраненную аттачем приложите, если не хотите сайт показывать.


Добавлено:
Сообщение автоматически объединено:

Код:
$oTable = _IETableGetCollection($oIE, 7)
 $aTableData = _IETableWriteToArray($oTable, 4)~;тут у меня нужная таблица,с индексом 4

Вообще-то там у вас таблица с индексом 7. Читайте документацию !! :blum: (https://www.autoitscript.com/autoit3/docs/libfunctions/_IETableGetCollection.htm). А ваша четверка там как говорится: "не пришей к чему-то рукав"
 

Garrett

Модератор
Локальный модератор
Сообщения
3,999
Репутация
964
Автор
К

Куксик

Новичок
Сообщения
8
Репутация
0
oesoes сказал(а):
Или дайте ссылку на страницу или сохраненную аттачем приложите, если не хотите сайт показывать.


Добавлено:
Сообщение автоматически объединено:

Код:
$oTable = _IETableGetCollection($oIE, 7)
 $aTableData = _IETableWriteToArray($oTable, 4)~;тут у меня нужная таблица,с индексом 4

Вообще-то там у вас таблица с индексом 7. Читайте документацию !! :blum: (https://www.autoitscript.com/autoit3/docs/libfunctions/_IETableGetCollection.htm). А ваша четверка там как говорится: "не пришей к чему-то рукав"



Да косякнул..индекс 7


Добавлено:
Сообщение автоматически объединено:

Код:
$oIE = _IECreate('http://www.test.ru/statlist.php?r=Sneakers')
$oTableAll = _IETableGetCollection($oIE)
$iNumTables = @extended
    $oTable = _IETableGetCollection($oIE, 7)
    $aTableData = _IETableWriteToArray($oTable, 7)
;~     ;_ArrayDisplay($aTableData, $i)
;~  _ArrayDisplay($aTableData)

 For $i = 1 To UBound($aTableData) -1
 If $aTableData[$i][2] < 200000 Then _

   ConsoleWrite(StringFormat('Объект: %s Может продать: %s Цена: %s\r\n', $aTableData[$i][0], $aTableData[$i][1], $aTableData[$i][2]))
Next


Исправил неверное значение с 4 на 7..но поиск по заданной цене не происходит...после открытия нужной страницы со статистикой..скрипт выключается
 
Верх