Show Posts

This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.


Messages - ksa-nsk

Pages: 1 2 [3] 4
31
в общем, проблему решил так - когда надо в поле ввести строку, я её забрасываю в память, потом делаю активным окно конкретного текстового файла, потом там делаю контрол-A, контрол-X, иду в поле куда надо вводить и нажимаю контрол-V. Но в блокноте этот затык повторяется с кракозябрами, т.е. они туда попадают.  Окончательно вопрос решился настройкой открытия по умолчанию текстовых файлов на редактор Bred3, ввод кракозябров в него заканчивается вводом нормального русского текста. По крайней мере пока, надеюсь, что так и будет.

32
Общие вопросы / Re: Помогите нубу)
« on: November 06, 2014, 05:39:59 AM »
вот пример из моего кода
Code: (clickermann) [Select]
// ждём получение информации ------------------------------
$stop = 0
$kod_color = ТВОЙ ЦВЕТ
FOR ($x=0, ($x < 301) & ($stop = 0))
   print(" $x=", $x)
   print(" $stop=", $stop)
   // задержка цикла, на первом шаге у меня должна быть больше
   IF ($x=0)
      WAIT(4) // пока не начнётся загрузка
   ELSE
      WAIT(2)
   END_IF
   
   //тестим по экрану окончание загрузки
   GETSCREEN
   
   $count_test_color = PXLCOUNT(248, 190, 257, 243, $kod_color)
   print("  $count_test_color=", $count_test_color)
   
   IF ($count_test_color < 150) // нет данных  д.б. 182
      print(" идет получение.....")
   ELSE
      print(" данные получены!")
      $stop = 1
   END_IF
   
END_CYC

IF ($stop = 0)
   print("ERROR. Данные  не загружены!")
   GOTO(skip1)
END_IF

здесь в PXLCOUNT(248, 190, 257, 243, $kod_color) ставь свои координаты, т.е. наводишь на верхнюю левую точку области и жмешь альт-q (если надо точно область - то же самое, но с лупой), потом на правую нижнюю, повтор альт-q. Потом вставляешь координаты, не забудь удалить появившиеся после альт-q две строки LCLICK(......)
 у меня из цикла два выхода - по stop - если дождался и количество точек по цвету найдено и по счётчику, тогда уход по goto

цвет $kod_color также получишь - наведешь на свою полоску, альт-q, за комментариями // будет нужный цвет
задержки  WAIT(...) сам настрой или удали.

33
спасибо, вопрос решился так:
Code: (clickermann) [Select]
$hwnd_bloknot = wndfind("__NotDelete.txt")
print("$hwnd_bloknot=", $hwnd_bloknot)

IF ($hwnd_bloknot = 0)
    execute("__NotDelete.txt")
    $hwnd_bloknot = wndfind("__NotDelete.txt")
        Wait(2)
    WNDBUMP($hwnd_bloknot) // помещает окно на передний план
  ELSE
    WNDBUMP($hwnd_bloknot) // помещает окно на передний план
WNDPOS ($hwnd_bloknot, 50, 50) 
    WNDSIZE($hwnd_bloknot, 500, 300)
    KEYDOWN(#CTRL)
        waitms(13)
    KEYPRESS(#A)
        waitms(13)
    KEYUP(#CTRL)
        waitms(13)
    KEYPRESS(#DELETE)
        waitms(23)
END_IF

  WNDBUMP($hwnd) // помещает основное окно на передний план
    wait(2)

34
я сначала получаю $hwnd_bloknot. Как я думал, если это = 0, то запускаю блокнот, $hwnd_bloknot имеет конкретное значение, хотя блокнот нигде не открыт, я пытался его активировать - облом. В итоге мне нужно переключаться с блокнота на другую программу и наоборот...

35
надо проверить, открыт ли блокнот, и если нет, то открыть, если да, то не открывать второй.
в кликермане смотрю - блокнота нет, но по скрипту
Code: (clickermann) [Select]
$hwnd_bloknot = wndfind("Блокнот")
print("$hwnd_bloknot=", $hwnd_bloknot)
показывает, что есть, попробовал сделать так ($hwnd - основная программа, с которой буду работать):
Code: (clickermann) [Select]
$hwnd_bloknot = wndfind("Блокнот")
print("$hwnd_bloknot=", $hwnd_bloknot)
IF ($hwnd_bloknot = 0)
    execute("notepad.exe")
    $hwnd_bloknot = wndfind("Блокнот")
        Wait(4)
    WNDBUMP($hwnd) // помещает окно на передний план
Wait(4) 
  ELSE
    WNDBUMP($hwnd_bloknot) // помещает окно на передний план
WNDPOS ($hwnd_bloknot, 50, 50) 
    WNDSIZE( wndfind("Блокнот"), 300, 300)
    $hwnd_bloknot_test = HGET(60, 60)
    IF($hwnd_bloknot = $hwnd_bloknot_test)
                            // очищаю содержимое блокнота
    KEYDOWN(#CTRL)
        waitms(13)
    KEYPRESS(#A)
        waitms(13)
    KEYUP(#CTRL)
        waitms(13)
    KEYPRESS(#DELETE)
        waitms(23)
    WNDBUMP($hwnd) // помещает окно на передний план
    ELSE_IF
    execute("notepad.exe")
            Wait(4)
$hwnd_bloknot = wndfind("Блокнот")
WNDBUMP($hwnd) // помещает окно на передний план
    Wait(4) 
    END_IF
END_IF
в итоге если блокнота нет, он открывается, если есть, то запускается второй блокнот

36
ввожу текст в поле программы, раскладка ru, но вводятся кракозябрики, кто-нибудь сталкивался?
ðåìîíò, òîìîãðàô
 вот такая ерунда получается. Хуже то, что не всегда, а как-то наскоками.

37
спасибо, помню, где-то было а где не нашёл))

38
можно ли узнать текущий вид указателя мышки?
в мануале вроде не нашёл.

39
спасибо за патч, пошло))

40
вот такой обрезанный код для примера:
Code: (clickermann) [Select]
//=============================================
// процедура ввода текстовых данных в поля формы

SUB(InputString, $str)
   
       print("ввод (InputString) строка: ", $str)
   TOCLIP($str)
        WAITMS (50)
   
   KEYDOWN (#CTRL)
       WAITMS (50)
   KEYDOWN (#V)
       WAITMS (250)
   KEYUP (#V)
   KEYUP (#CTRL)
   
       WAIT(2)
//print("(InputString) строка после ввода: ", $str)   
END_SUB  // SUB(InputString, $str)

//=============================================


$str_in = "0123456789,*?+- абвг,.конец"
        print("    передан параметр ($str_in): ", $str_in)

       
//    ChangeLang("ru")
 
  //первая попытка
  $str = $str_in
    InputString($str)  // ввод текста
print("после ввода (InputString) строка: ", $str)


в итоге выводится
0123456789,*?+0- абвг,.конец

Вопросы
1) откуда ноль взялся?
2) почему после процедуры $str=0?


41
я тут с одной программой вожусь, у меня похожий затык был, решился просто - в момент наведения мышки на объект он немного "подсвечивался", т.о. когда я делал bmp фрагмента экрана, он в итоге записывался, как "подсвеченный", а когда делаешь гетскрин, этот фрагмент нормальный, т.о. картинка и не находилась. Попробуй перед сравнением добавить команду получения скрина этой области в bmp и посмотри, что получилось.

42
в общем, проблему решил, на всякий случай...
Поскольку мне нужен ввод текста с точкой, запятой и т.п., я сделал костыль:
перед свичем поставил
$str = STRREPLACE ($str, ".", "~"),
а в свиче уже case("~")  //".")   типа точка

тупо конечно, но для моего интерпретатора хватило.

43
н-да, придётся ещё один интерпретатор написать, думал малой кровью обойдусь (с виртуальной клавиатурой ещё не стаокивался)...
спасибо, теперь знаю засаду в лицо((.

44
Общие вопросы / как ввести символы ":" и "_" ?
« on: November 04, 2014, 03:40:17 PM »
(исправлено)
Oraven, извиняюсь, не туда глянул,
":" и "_" у меня не вводятся через KEYSTRING($file_name, 40),
т.е. ";" и "-" соответственно....

45
Общие вопросы / Re: вопрос по STRCONCAT
« on: November 01, 2014, 07:38:00 PM »
пусть так, в мануал бы добавить, чтоб сразу знать, где заминировано.

Pages: 1 2 [3] 4