Что нового

[Автоматизация] Подтверждения заполнения ячейки, комбокса, строки

Dk

Новичок
Сообщения
358
Репутация
2
Доброго Время Суток.

У меня следующая ерунда.
Скрипт находит одну ячейку посылает туда текс, потом находит другую и посылает туда текст появляется табличка и он нажимает на кнопку.
Вообщем ничего сложного.

Беда следующая, программа делает это очень быстро, тоесть не успел текст заполнится в одной ячейке как он переходит на другую и кидает другой текст. Происходит смещение текста (обрывки начинает писать). Можно поставить задержку, но беда в том что 500тыс строк надо вставить и ето уже несколько суток работы скрипта. Если я вставлю ещё задержку в пол секунды или менее то будет вообще...

Мой вопрос.
Есть ли функция, которая как бы подтверждает, что "Да текст доставлен" и идёт дальше. Иначе Скрипт кидает текст и бежит дальше.
С задержкой будет очень долго, хотелось бы настроить на оптимальный лад, что бы сколько ему надо столько и ждал.

Спасибо.
 
Автор
D

Dk

Новичок
Сообщения
358
Репутация
2
Находить ничего не нужно.
Я как бы в общем спрашиваю есть ли похожая функция, о которой я спросил ?

Ну представим ситуацию
Появляется окно ввода. Туда нужно ввести текст и нажат подтверждение (после Enter окно обновляется) и вставляется новая строчка.
Беда в том, что Enter нажимается слишком быстро, текст ещё не до конца был введён. И получаются обрывки в базе данных.
 

oesoes

xor eax,eax
Сообщения
171
Репутация
9
Тут даже Ванга бы курнула :( C чем вы работаете? Какая-то СУРБД? Покажите код, где у вас Enter нажимается быстро. Какие ячейки ищет ваш скрипт?

Есть ли функция, которая как бы подтверждает, что "Да текст доставлен" и идёт дальше
Код:
Если текст добавлен, то
  Написать("Да текст доставлен")

OffTopic:
Вопрос из разряда:
- не компилируется код, помогите, что делать?
- Покажите код.
- Да тут не нужен никакой код, я как бы в общем спрашиваю, почему он не компилится? Может есть функция, о которой я спросил?
- Какая функция вас интересует?
- Ну которая код компилирует!
 

joiner

Модератор
Локальный модератор
Сообщения
3,556
Репутация
628
либо ставить
Код:
Sleep

или
Код:
Opt("SendKeyDelay", 5)  
Opt("SendKeyDownDelay", 1)

читай справку по этим опциям
 
Автор
D

Dk

Новичок
Сообщения
358
Репутация
2
Складывается такое ощущение, что комментарии пишут так и не дочитав полностью текст.
Закрываю Тему. Сам разберусь
 

CreatoR

Must AutoIt!
Команда форума
Администратор
Сообщения
8,671
Репутация
2,481
Dk [?]
Я как бы в общем спрашиваю есть ли похожая функция, о которой я спросил ?
Это напрямую зависит от того, что за ячейка. А также от того, каким методом отправляется текст.
Если это что то что можно управлять функциями AutoIt, тогда да, есть возможность проверять содержимое и соответственно продолжать выполнение.
 

firex

AutoIT Гуру
Сообщения
943
Репутация
208
OffTopic:
oesoes
Код:
_MagicFunction( "IsWrited", "Где-то там" )
 

oesoes

xor eax,eax
Сообщения
171
Репутация
9
На вопросы не ответили, код не показали, свой вопрос поставили сумбурно, а ещё и обижаются, на якобы "глупые комментарии"
 
Автор
D

Dk

Новичок
Сообщения
358
Репутация
2
Creator,

Я не написал конкретной ячейки так как это явление частое и не только в ячейках.

Вот к примеру кусочек скрипта
Код:
ControlClick($hWnd, "", "[CLASS:TcxCustomComboBoxInnerEdit; INSTANCE:11]","left",2)
ControlSend($hWnd, "", "[CLASS:TcxCustomComboBoxInnerEdit; INSTANCE:11]", $ins[1])


ControlClick($hWnd, "", "[CLASS:TcxTextEdit; INSTANCE:5]","left",2)
ControlSend($hWnd, "", "[CLASS:TcxTextEdit; INSTANCE:5]", $ins[2])


WinActivate($hWnd)
Send("^s")



Например в данном случае если текст длинный, то не успевает заполнится "ячейка номер 1", как он уже переходит на другую и происходит дописование там остатка + текст который должен быть занесён в ячейку номер два.

Программа как бы торопится, ставить Sleep не хочу, что бы была оптимальная работа по времени.
Может есть функция на подобии WinWait, только что бы типо "SendTextReadyWait" )))

Скрипт посылает 200 символов. Иногда он дожидается заполнения а иногда он переходит в другую ячейку и там дописывает остаток (3-4 символа).

Можно конечно сделать считывание ячейки по концовке и если 1=1 то и идём дальше, но это как мне не нравиться...
 

AZJIO

Меценат
Меценат
Сообщения
2,874
Репутация
1,194
Возможно сделать поиск вставленной строки?
ControlCommand
"FindString", 'Искомая строка' Возвращает индекс найденной строки в ListBox или ComboBox
 
Верх