преобразовать код в Python - PullRequest
0 голосов
/ 27 июня 2011

В данный момент я изучаю Python, и это тот тип проекта , который меня интересует.Я не знаю, на каком языке написан скрипт (вероятно, lisp или autohotkey?), Но я хотел бы преобразовать его в python.Можете ли вы указать мне правильное направление и сказать

  • , какой язык использовался для этого?
  • что мне нужно, чтобы научиться конвертировать его?

Спасибо!

; Thois TableOpener for PokerStars v1.05
; Opens new cash game tables from the lobby every x seconds (if there are  less tables opened than your predefined settings). A great tool for multi-tablers.
; Customize the variables below (between the lines)
; 'Thois' on PS for donations

; Customizable variables (between the lines)
;------------------------------------------
rowheight := 13 ;In the PokerStars lobby go to View > Text Size: For Medium & smaller:13, For smallest:12, For Larger:15, For Largest:17
recheck := 50 ;How often the script should open up new tables (if needed),     50=10seconds, 25=5seconds etc... Try not to set this too low for CPU performance issues
;------------------------------------------

Gui, Font, s8, Arial
Gui, Add, Text,, Number Of Tables:
Gui, Add, Edit
Gui, Add, UpDown, vnumberoftablestokeepopen Range1-24, 12
Gui, Add, Checkbox, venabledisable, Run!
Gui, Show,, Thois TableOpener for PokerStars v1.00
Gui, Submit, NoHide

numberofloopinstances := recheck - 1

Loop
{
Gui, Submit, NoHide
SendMessage, 0x115, 0, 0, PokerStarsListClass1, PokerStars Lobby
numberofloopinstances := numberofloopinstances + 1
if (numberofloopinstances = recheck)
    {
    numberofloopinstances := 0
    WinGet, numberofwindows, Count, ahk_class PokerStarsTableFrameClass,,Lobby
    beffen := numberoftablestokeepopen - numberofwindows
    if (beffen > 0 AND enabledisable = 1)
        {
        Loop
            {
            ControlGet, tablesinthelobby, Hwnd, , PokerStarsListClass1, PokerStars Lobby
            yclick := 1 + (rowheight * A_Index) - rowheight
            PostLeftClick(1, yclick, tablesinthelobby)
            ControlClick, PokerStarsButtonClass10, PokerStars Lobby
            Sleep, 500
            WinGet, numberofwindows, Count, ahk_class PokerStarsTableFrameClass,,Lobby
            beffen := numberoftablestokeepopen - numberofwindows
            if (beffen = 0)
                {
                break
                }
            }
        }
    }
Sleep, 200
}

; Hotkeys (disabled)

;~Xbutton1:: ;Endlessly cycles between all tables in the stack the cursor is pointing at (brings the front table to the back), disabled (remove ; marks to enable)
;MouseGetPos,,,tableID
;WinGetClass, classoftableid, ahk_id %tableID%
;if (classoftableid = "PokerStarsTableFrameClass")
;   {
;   WinSet, Bottom,, ahk_id %tableID%
;   }
;return

;~Xbutton2:: ;Closes the table the mouse is pointing at (also clicks the OK warning button), disabled (remove ; marks to enable)
;MouseGetPos,,,tableID
;WinGetClass, classoftableid, ahk_id %tableID%
;if (classoftableid = "PokerStarsTableFrameClass");
;   {
;   WinClose, ahk_id %tableID%
;   Sleep,20
;   ControlClick, Button1, Table, OK
;   }
;return

;Juks rocks - I deactivated WinActivate so that the Lobby doesnt steal focus
PostLeftClick(x, y, table_id, activate=1) {
; ### JUK: Send the down left click, then the mouse-up messages.
; NOTE: This is relative to the top left of the client area and NOT the top left of the
;       window (ie: It *doesn't* include the title-bar like AHK's MouseClick does!!!).
If activate
; WinActivate, ahk_id%table_id%
PostMessage, 0x201, 0x0001, ((y<<16)^x), , ahk_id%table_id%
PostMessage, 0x202 , 0, ((y<<16)^x), , ahk_id%table_id%
}

GuiClose:
ExitApp

1 Ответ

2 голосов
/ 27 июня 2011

Это, без сомнения, AutoHotKey. Что вам нужно конвертировать это:

  1. Достаточно понимания AutoHotKey, чтобы понять, что делает программа.
  2. Достаточно понимания Python, чтобы иметь возможность воссоздать то, что делает программа.

Обратите внимание, что AutoHotKey и Python очень различны. AutoHotKey представляет собой программное обеспечение для автоматизации мыши и клавиатуры, для управления другими программами. Это, конечно, выполнимо с Python, но то, как вы это сделаете, зависит от среды. Скорее всего, вы не сможете сделать это без внешних библиотек, потому что Python - это язык, на котором вы в основном пишете программы, а не язык, который вы используете для управления существующими программами.

Так что я сомневаюсь, что ваши усилия по конвертации будут стоить того.

...