1

Тема: AHK:Проблема с переводом статьи GuiControl

Захотел я разобраться с командой GuiControl, но перевода на русский не нашел. Тогда взялся переводить её с инглиша. Получается в основном неплохо, но возникла проблема с переводом "GuiControl, Choose, ControlID, N" - никак не могу перевести второй абзац:

+ открыть спойлер

To additionally cause a finishing event to occur (a double-click in the case of ListBox), include two leading pipes instead of one (this is not supported for Tab controls).


Может сможет кто-то это перевести по-человечески?
Если нужно, вот перевод первого:

+ открыть спойлер

GuiControl, Choose, ControlID, N: Выделяет N-й элемент в элементе управления ListBox, DropDownList, ComboBox или Tab. Присвойте N значение 1 для выбора первого элемента, 2 для второго, и т.д. (если N не является числом, вместо данного метода будет использоваться метод ChooseString, описанный ниже). В отличие от  Control Choose, эта команда не приведет к запуску g-метки, связанной с данным элементом управления. Если перед N поставить символ конвейера (|), тогда ассоциированная метка все же запустится, но только в том случае, если указанный в N элемент отличается от ранее выбранного(это актуально для элемента Tab). Например: GuiControl, Choose, MyListBox, |3

Оффтоп:

+ открыть спойлер

У меня в сообщении каким-то образом оказались рекламные ссылки, коих я не добавлял, причем попытка стереть их из сообщения ни к чему не приводит. Это глюк форума или моего компа?

2

Re: AHK:Проблема с переводом статьи GuiControl

Предлагаю перенести в тему AutoHotkey: проект перевода, ветка #2
OFF: На форуме никакой рекламы не наблюдается.

3

Re: AHK:Проблема с переводом статьи GuiControl

Не понятно, что такое finishing event, поэтому трудно предложить его перевод. Как вариант, можно так и оставить этот термин на английском до лучших времён, а остальную часть абзаца перевести.

4 (изменено: serzh82saratov, 2014-09-25 18:45:38)

Re: AHK:Проблема с переводом статьи GuiControl

To additionally cause a finishing event to occur (a double-click in the case of ListBox), include two leading pipes instead of one (this is not supported for Tab controls).

Может так:

Чтобы вызвать дополнительную обработку события (например двойной щелчок в случае ListBox), укажите двойной символ конвейера (|) вместо одного (это не поддерживается для элементов управления Tab).

Но сам не в теме, ибо данное событие не требовалось, проверьте, раз уже начали "копать".

По вопросам возмездной помощи пишите на E-Mail: serzh82saratov@mail.ru Telegram: https://t.me/sergiol982
Win10x64 AhkSpy, Hotkey, ClockGui

5

Re: AHK:Проблема с переводом статьи GuiControl

Предлагаю перенести в тему

Ээ... а как её переместить? Или просто оставить эту тему и создать аналогичное сообщение в указанной вами теме?

finishing event

Может, конечное событие (т. е. определенное ассоциированной меткой)?

6

Re: AHK:Проблема с переводом статьи GuiControl

Может, конечное событие (т. е. определенное ассоциированной меткой)?

Немного поправил свой вариант.

По вопросам возмездной помощи пишите на E-Mail: serzh82saratov@mail.ru Telegram: https://t.me/sergiol982
Win10x64 AhkSpy, Hotkey, ClockGui

7

Re: AHK:Проблема с переводом статьи GuiControl

Там речь о вызове события, а не обработки, а "дополнительно" относится к вызову. Т.е. как-то так:

Чтобы дополнительно вызвать завершающее событие (finishing event) (двойной щелчок в случае ListBox), укажите двойной символ конвейера (|) вместо одного (это не поддерживается для элементов управления Tab).

Т.к. нет уверенности в переводе термина, то можно в скобках указать оригинал.

8

Re: AHK:Проблема с переводом статьи GuiControl

Попробовал похимичить в AHK - результаты неоднозначные...

Gui, Add, ListBox, gLB_lable vLB_var h100 w100, Выбор1|Выбор2||Выбор3
Gui, Add, Button, y105 x10 gTest_button, Тест
Gui, +Resize
Gui, Show, W300 H300
Return

Test_button:
GuiControl, Choose, LB_var, ||3
Return

LB_lable:
Gui, Add, Text,, Запущена ассоциированая метка List Box
Return

Если в GuiControl Choose указать || вместо |, это приводит к тому, что метка запускается дважды при одиночном нажатии на кнопку "Тест". Если поставить 3ю палку, тройного запуска (по аналогии) не происходит. Если сменить тип обрабатываемого контрола на ComboBox или DropDownList, метка даже при двойном || как срабатывала единожды, так и срабатывает. Допустим, они такой формы команды не поддерживают, но тогда почему об этом не указано в конце абзаца? И самое главное, нахрена эта форма команды вообще нужна?
P.S. Это не вопрос а рассуждение.

9 (изменено: Alectric, 2014-09-25 21:47:32)

Re: AHK:Проблема с переводом статьи GuiControl

Кажется понял, попробуйте так:

#SingleInstance,Force

Gui, Add, ListBox, gLB_lable vLB_var h100 w100, Выбор1|Выбор2||Выбор3
Gui, Add, Button, y105 x10 gTest_button, Тест
Gui, +Resize
Gui, Show, W300 H300
Return

Test_button:
GuiControl, Choose, LB_var, ||3
Return

LB_lable:
;gui,submit, nohide
Gui, Add, Text,, Запущена ассоциированая метка %A_GuiControlEvent% List Box
Return

Перевод:

Чтобы вызвать дополнительные события (которые происходят по двойному клику) укажите двойной символ конвейера (|) вместо одного (это не поддерживается для элементов управления Tab).

Win 10 x64
AHK v1.1.33.02
                       Справка тебе в помощь.

10

Re: AHK:Проблема с переводом статьи GuiControl

Alectric
Код не особо показателен, но да, в эту сторону...

По вопросам возмездной помощи пишите на E-Mail: serzh82saratov@mail.ru Telegram: https://t.me/sergiol982
Win10x64 AhkSpy, Hotkey, ClockGui

11

Re: AHK:Проблема с переводом статьи GuiControl

двойной символ конвейера (|)

Суть ясна, конечно, но более понятнен будет термин "вертикальная черта".

12

Re: AHK:Проблема с переводом статьи GuiControl

которые происходят по двойному клику

Да не, переменная A_GuiControlEvent в обоих случаях возвращает Normal...
У меня начинает складываться впечатление, что разрабы AHK сами не поняли, зачем это надо
Irbis, пожалуй, что так. Просто до сего момента мне просто лучшего варианта в голову не приходило. В машинном переводе было вообще "труба" написано предыдущий перевод я в статье script-coding.com нашел - решил типа следовать общепринятому переводу, хоть он мне и не нравился.

13 (изменено: NektoN95, 2014-09-25 22:49:04)

Re: AHK:Проблема с переводом статьи GuiControl

в обоих случаях возвращает Normal.

Сори, вру: при двойном || она последовательно возвращает Normal, а затем DubleClick, только блин, если суть в том, чтобы вызывалось действие, запускающееся через двойной клик, не лучше ли соответсвующее условие прописать в самой метке через If, а потом отослать этот клик командой   специально предназначенной для этого? Кроме того, получается, что команда отсылает сразу два события - двойной и одиночный. Если в ассоциированой метке одно действие привязано к даблу, а другое к синглу, то не вызовет ли это оба действия сразу? - это ведь баг.
Мдаа, тот, кто писал синтаксис этой команды в тот день явно что-то курил...

14

Re: AHK:Проблема с переводом статьи GuiControl

Ну почему же? Всему можно найти объяснение. Одиночный клик просто выделяет элемент, на него может быть задано такое действие, как вывод текста в tooltip для пояснения или смена строки в статус баре. Двойной клик вызывает запуск подпрограммы обработки, или иное предусмотренное автором скрипта действие. Никто ведь не заставляет обрабатывать событие одиночного клика, если Вам оно неинтересно.

15

Re: AHK:Проблема с переводом статьи GuiControl

Alectric пишет:

Перевод:

Чтобы вызвать дополнительные события

Да нет же, additionally относится к cause, а не к event. Это наречие, а не прилагательное.

16

Re: AHK:Проблема с переводом статьи GuiControl

Ладно, бог сним, с этим ||,  напишу, что в случае с ListBox, он вызывает двойной клик, и хватит.
Мне вот еще не понятно содержание последнего абзаца

A GUI thread is defined as any thread launched as a result of a GUI action. GUI actions include selecting an item from a GUI window's menu bar, or triggering one of its g-labels (such as by pressing a button).

The default window number for a GUI thread is that of the window that launched the thread. Non-GUI threads use 1 as their default.

Там что-то о потоках, но так-как я в них не разбирался, мне сложно это перевести.

17

Re: AHK:Проблема с переводом статьи GuiControl

Поток — это последовательность выполняемых команд, ничего загадочного. Действия, порождающие новые потоки, например, нажатие горячей клавиши, приводят к приостановке текущего потока, выполнению нового и затем продолжению приостановленного.

Это не те потоки, между которыми переключается процессор. Здесь просто интерпретатор АНК переключается между последовательностями команд.

18 (изменено: Alectric, 2014-09-26 11:39:20)

Re: AHK:Проблема с переводом статьи GuiControl

Перевод (приблизительно):
Поток gui определяется как любой другой поток, такой как активность в gui . Эта активность включает в себя выбор элементов управления из окон gui в меню (контекстном?), или переключение(переход) одной из меток перехода (такие как по нажатию кнопок).
По умолчанию номер окна для этого потока принадлежит окну из которого запущен данный поток. Потоки вне gui используют 1 по умолчанию.

Win 10 x64
AHK v1.1.33.02
                       Справка тебе в помощь.

19

Re: AHK:Проблема с переводом статьи GuiControl

Action — это действие, а не «активность». Переводчики, блин.

Разработка AHK-скриптов:
e-mail dfiveg@mail.ru
Telegram jollycoder

20 (изменено: Alectric, 2014-09-26 16:06:59)

Re: AHK:Проблема с переводом статьи GuiControl

OFF:
Двойка в школе по английскому, но смысл "приблизительно" могу перевести (без переводчика кстати).

Win 10 x64
AHK v1.1.33.02
                       Справка тебе в помощь.

21

Re: AHK:Проблема с переводом статьи GuiControl

Дело не в том что я не могу перевести этот текст (не проблема, как бе), а в том, что я не вижу в данной ахинее смысла. Если точнее, мне не понятен смысл 1го и последнего предложения.

22

Re: AHK:Проблема с переводом статьи GuiControl

В первом даётся определение термина "поток GUI". Это поток, вызванный действиями пользователя в окне GUI. Окон таких может быть несколько. В потоке вы можете определить, из какого окна он запущен, по номеру окна. Если поток не из GUI запущен, номер окна будет 1.

23 (изменено: NektoN95, 2014-09-28 01:29:54)

Re: AHK:Проблема с переводом статьи GuiControl

Прошу простить за вопиющую тупость, но я всё-равно не вполне понял ни суть абзаца, ни то, как его лучше перевести.
Офф:

+ открыть спойлер

Штука в том, что мои познания в английском невелики и довольно непоследовательны (в школе я учил другой язык). Отсюда довольно специфическая манера перевода: В случае с компьютерной литературой я обычно пользуюсь Microsoft-translator'ом (весьма удачный выбор, учитывая то, что он затачивался для перевода справки и поддержки Microsoft и, соответственно, компьютерная тематика - это его конёк). Когда он выражается слишком "квадратно" или путано, на помощь приходит PROMT в режиме перевода компьютерной литературы - его перевод часто более легко-читаемый, но чаще более ошибочный.  Некоторые ошибки этих переводчиков хорошо видны при взгляде на оригинальный текст. Кроме того, имеющиеся познания в переводимой теме позволяют додумывать перевод на основании имеющихся знаний. Эти же знания, служат для проверки правильности перевода. В конце концов если перевод все равно мутный, можно провести эксперимент. Но если машинный перевод не читаем, вручную перевести не получается, результаты эксперимента мутные, а имеющихся знаний не достаточно - получается небольшой фэйл. Такое случается довольно редко, и все же.
На форум я обратился в ращёте на то, что у его обитателей более обширные познания в AHK и, возможно, в английском. И соответственно, то, что не смог перевести я, наверное, смогут перевести они.

P.S. Перевод статей GuiControl и GuiControlGet почти готов (не переведен только злосчастный абзац про потоки). Хотелось бы услышать конструктивную критику

Post's attachments

GuiControl.doc 112.5 kb, 5 downloads since 2014-09-28 

You don't have the permssions to download the attachments of this post.

24

Re: AHK:Проблема с переводом статьи GuiControl

Второй файл:

Post's attachments

GuiControlGet.doc 60 kb, 3 downloads since 2014-09-28 

You don't have the permssions to download the attachments of this post.

25

Re: AHK:Проблема с переводом статьи GuiControl

В случае с ListBox можно так же вызвать двойной щелчок, указав двойную черту.

Т.е. вы просто выбросили часть информации, которая вам не понятна. Сомнительный подход. По-моему, в таких случаях лучше переводить дословно, как я предложил в посте 7. Тогда остаётся шанс, что читатель либо сообразит, о чём тут речь, либо выяснит в результате собственных экспериментов.

Прошу простить за вопиющую тупость, но я всё-равно не вполне понял ни суть абзаца, ни то, как его лучше перевести.

Поток GUI определяется как поток, запущенный в результате какого-то действия в окне GUI. Эти действия включают в себя выбор пункта в меню окна или запуск одной из его g-меток (например, при нажатии кнопки).

Номером (или именем) окна по умолчанию для потока GUI будет номер (имя) того окна, откуда запущен поток. Потоки, запущенные не из GUI, используют номер 1.

Про имя добавил, т.к. в оригинале теперь говорится именно про имя:

The default window name for a GUI thread is that of the window that launched the thread. Non-GUI threads use 1 as their default

26 (изменено: Alectric, 2014-09-28 10:08:39)

Re: AHK:Проблема с переводом статьи GuiControl

NektoN95 пишет:

Прошу простить за вопиющую тупость, но я всё-равно не вполне понял ни суть абзаца, ни то, как его лучше перевести.

Как я понял - ты не понял что такое "поток выполнения".
В 17 посте написано, что такое поток в языке программирования.

Вот тема про потоки.


Вот "бредовое" объяснение в виде кода (может так будет понятней):

+ открыть спойлер

основной_поток:
;Gui, x:Default ; номер окна "по умолчанию" всегда 1 (если не сменить вручную этой командой "Gui, x:Default")
-
gui,show                            ; содано окно по умолчанию
Gui, Add, Button,, кнопка1         ; добавлена кнопка с меткой перехода
-
gui, 2:show                              ; создано 2-е окно
Gui, 2:Add, Button,, кнопка2
-
gosub,123                 ; вызван другой поток
-
-
return   ; возврат "основного потока" приводит скрипт в режим ожидания
         ;действий (в gui или по горячим клавишам), если не задана команда #persistent.



123:          ; поток 123
;Gui, x:Default ; номер окна "по умолчанию" все равно 1 т.к. поток вызван не из gui
-
; если, пока идет этот поток была нажата кнопка gui, то возврат будет в эту точку
; аналогично и с другими потоками
-
-
return ; возврат к потоку вызвавшего этот поток, т.е. к основному потоку
          ; в точку вызова "gosub,123" (там где поток был остановлен).

Кнопка1: аналогично предыдущий поток прерывается и запоминает где прервался, и работает уже поток для кнопки
-
;Gui, x:Default ; номер окна "по умолчанию" пренадлежит окну вызвавшему его т.е. 1
;GuiControl       ; выполняем манипуляции с окном без указания его номера
-
return    ; возврат в точку прерывания и продолжение выполнения комманд


Кнопка2:     ; аналогично
-
;Gui, x:Default ; номер окна "по умолчанию" пренадлежит окну вызвавшему его т.е. 2
                     ; т.е. комманды для gui можно использовать без указания номера окна
;GuiControl       ; выполняем манипуляции с окном без указания его номера
-
return

Win 10 x64
AHK v1.1.33.02
                       Справка тебе в помощь.

27

Re: AHK:Проблема с переводом статьи GuiControl

YMP, Alectric, спасибо, дошло наконец

в таких случаях лучше переводить дословно,


Да, пожалуй. Только я сильно не уверен, что команда имеет какое-то действие, кроме описанного в переводе...