TC官方合作论坛

标题: 新手求帮助! [打印本页]

作者: mandyxu    时间: 2014-3-2 22:07
标题: 新手求帮助!
按键的代码;在TC里怎么实现?
do
if sby >= 26 and sby < 163 then
     dm.keydown 81
else
    dm.keyup 81
exit do
loop
     Function sby()
         zy = dm.FindStr(2, 12, 205, 125, "y", "f0f2f1-45544b|9aa29e-000000", 0.9, intX, intY)
         //TracePrint intx&","&inty
         If zy >= 0 Then
             x = intX + 9
             y = intY-4
             x1 = x + 26
             y1 = y + 11
         End If
         s = dm.Ocr(x, y, x1, y1, "f0f2f1-45544b|9aa29e-000000", 0.9)
         TracePrint "sby"&s
         sby=clng(s)
     End Function
求老手帮助!在线等

作者: a1076559139    时间: 2014-3-3 00:31
do和loop是什么
作者: 续花丶    时间: 2014-3-3 02:08
本帖最后由 续花丶 于 2014-3-3 02:21 编辑

貌似是这样子。。。直接翻译。。不能直接复制就使用。。
  1.     循环(真)
  2.         如果((sby >= 26)&&(sby < 163))
  3.             dm.keydown(81)
  4.         否则
  5.             dm.keyup(81)
  6.             跳出
  7.         如果结束
  8.     循环结束
  9. 功能 sby()
  10.     变量 intX, intY
  11.     zy = dm.FindStr(2, 12, 205, 125, "y", "f0f2f1-45544b|9aa29e-000000", 0.9, intX, intY)
  12. 调试输出(intX&","&intY)
  13.     如果(zy >= 0)
  14.         x = intX + 9
  15.         y = intY-4
  16.         x1 = x + 26
  17.         y1 = y + 11
  18.     如果结束
  19.    
  20.     s = dm.Ocr(x, y, x1, y1, "f0f2f1-45544b|9aa29e-000000", 0.9)
  21.     调试输出( "sby"&s)
  22.     sby=类型.转整型(s)
  23. 功能结束
复制代码





作者: 君笨笨    时间: 2014-3-3 12:43
续花丶 发表于 2014-3-3 02:08
貌似是这样子。。。直接翻译。。不能直接复制就使用。。

乐于助人~孩纸,有前图~
作者: 君笨笨    时间: 2014-3-3 12:44
a1076559139 发表于 2014-3-3 00:31
do和loop是什么

跟while(true)endwhile一样,循环的意思~~~编程语言,通一知百~
作者: dragon07zn    时间: 2014-3-3 14:35
板凳的有点问题  ,写过按键的 应该知道函数的返回

    while(true)
        sby=sby()//这个sby有多种情况,由于按键的变量都是全局的,所以这里的sby要根据实际情况更改
        if((sby >= 26)&&(sby < 163))
            dm.keydown(81)
        else
            dm.keyup(81)
            break
        endif
    endwhile
function sby()
    var intX,intY
    zy = dm.FindStr(2, 12, 205, 125, "y", "f0f2f1-45544b|9aa29e-000000", 0.9, intX, intY)
调试输出(intX&","&intY)
    if(zy >= 0)
        x = intX + 9
        y = intY-4
        x1 = x + 26
        y1 = y + 11
    endif
    s = dm.Ocr(x, y, x1, y1, "f0f2f1-45544b|9aa29e-000000", 0.9)
    调试输出( "sby"&s)
    return 类型.转整型(s)
endfunction

作者: 续花丶    时间: 2014-3-3 14:44
dragon07zn 发表于 2014-3-3 14:35
板凳的有点问题  ,写过按键的 应该知道函数的返回

    while(true)

=  =我不是说了吗。直接翻译 要用要修改。
作者: mandyxu    时间: 2014-3-3 23:35
续花丶 发表于 2014-3-3 02:08
貌似是这样子。。。直接翻译。。不能直接复制就使用。。

sub 开始
do
if sby >= 26 and sby < 163 then
      dm.keydown 81
else
     dm.keyup 81
exit do
loop
end sub
      Function sby()
          zy = dm.FindStr(2, 12, 205, 125, "y", "f0f2f1-45544b|9aa29e-000000", 0.9, intX, intY)
          //TracePrint intx&","&inty
          If zy >= 0 Then
              x = intX + 9
              y = intY-4
              x1 = x + 26
              y1 = y + 11
          End If
          s = dm.Ocr(x, y, x1, y1, "f0f2f1-45544b|9aa29e-000000", 0.9)
          TracePrint "sby"&s
          sby=clng(s)
      End Function

这样能调用sby所得到的坐标吗?
作者: mandyxu    时间: 2014-3-3 23:36
dragon07zn 发表于 2014-3-3 14:35
板凳的有点问题  ,写过按键的 应该知道函数的返回

    while(true)

sub 开始
do
if sby >= 26 and sby < 163 then
      dm.keydown 81
else
     dm.keyup 81
exit do
loop
end sub
      Function sby()
          zy = dm.FindStr(2, 12, 205, 125, "y", "f0f2f1-45544b|9aa29e-000000", 0.9, intX, intY)
          //TracePrint intx&","&inty
          If zy >= 0 Then
              x = intX + 9
              y = intY-4
              x1 = x + 26
              y1 = y + 11
          End If
          s = dm.Ocr(x, y, x1, y1, "f0f2f1-45544b|9aa29e-000000", 0.9)
          TracePrint "sby"&s
          sby=clng(s)
      End Function

这样能调用sby所得到的坐标吗?
作者: 续花丶    时间: 2014-3-3 23:41
mandyxu 发表于 2014-3-3 23:36
sub 开始
do
if sby >= 26 and sby < 163 then

全局一下sby
作者: dragon07zn    时间: 2014-3-4 14:09
续花丶 发表于 2014-3-3 14:44
=  =我不是说了吗。直接翻译 要用要修改。

我是按照按键代码原意翻译的
按键里 sby=类型.转整型(s)
等效于return
不管什么代码  照搬就用 肯定是不靠谱的
自己或多或少都得改改
作者: dragon07zn    时间: 2014-3-4 14:23
mandyxu 发表于 2014-3-3 23:36
sub 开始
do
if sby >= 26 and sby < 163 then

这是不行的  tc有局部变量跟全局变量的分别
作者: 续花丶    时间: 2014-3-4 15:05
dragon07zn 发表于 2014-3-4 14:23
这是不行的  tc有局部变量跟全局变量的分别

[attach]14696[/attach]在空间开始的地方   





欢迎光临 TC官方合作论坛 (http://bbs.52tc.co/) Powered by Discuz! X3.1