diff --git a/CHANGELOG b/CHANGELOG index 8acb127..718cc6e 100644 --- a/CHANGELOG +++ b/CHANGELOG @@ -11,6 +11,8 @@ - Change "Paste from Clipboard" function - Change popup editor menu (undo, redo, copy, paste, cut functions) - Change Logo and About dialog +- Russian help files was conerting into utf-8 encode +- Change help file load procedure 04.02.2018 - Fixed paste text highlight @@ -383,5 +385,6 @@ Fixed bug with PageRise function + diff --git a/hlp/ru/projman/about.html b/hlp/ru/projman/about.html index d275bbd..76a5634 100644 --- a/hlp/ru/projman/about.html +++ b/hlp/ru/projman/about.html @@ -4,14 +4,16 @@ about -

-

+

Документация

+

Документация предоставлена компанией DataX/FLORIN, Inc. -

© 1992-2001. -

-DataX/FLORIN, Inc. +

© Все права защищены 1992-2001. +

Разрешается некоммерческое использование документации как целиком так и отдельных частей с разрешения авторов и с обязательной ссылкой на +DataX/FLORIN, Inc. и на Sergey Kalinin + + diff --git a/hlp/ru/projman/faq.txt b/hlp/ru/projman/faq.txt index d24be29..f2cbb1c 100644 --- a/hlp/ru/projman/faq.txt +++ b/hlp/ru/projman/faq.txt @@ -1,60 +1,62 @@ Tcl/Tk Project Manager FAQ 0.1 -. ProjMan? +В. Что такое ProjMan? -.Tcl/Tk Project Manager - - Tcl/Tk, - . +О.Tcl/Tk Project Manager - это интегрированная среда программирования на +интерпретирующем языке высокого уровня Tcl/Tk, приспособленная для +создания и поддержки многофайловых проектов. -. ProjMan IDE? +В. Почему ProjMan лучше других IDE? -. * . -* . -* Linux ProjMan -* Linux OpenSource. +О. * Встроенная справочная ситема позволяет разобраться в языке даже новичку. +* Простота визуального интерфейса не влияет на удобочитаемость кода. +* Адаптированность под развитые средства системы Linux делают ProjMan еще более мощным инструментом в руках опытного программиста +* Среда как и сама Linux является OpenSource. -. ProjMan? ? +В. Как установить ProjMan? Что для этого нужно? -. ProjMan Tcl/Tk, - UNIX/XWindow, MSWindows, Macintosh c - Tcl/Tk( Linux Win32 , - ). +О. Поскольку ProjMan написан непосредственно на Tcl/Tk, он способен работать +под управлением UNIX/XWindow, MSWindows, Macintosh c установленным +дистрибутивом языка Tcl/Tk(в Linux и Win32 проверенна работоспособность, +на счет других ОС дайте знать). - Tcl/Tk( -Tcl/Tk http://www.tcl-tk.org), BWidget -Tcl/Tk Project Manager( http://nuk-svk.ru) +Вам потребуется интерпретатор языка Tcl/Tk(более подробную информацию по +Tcl/Tk можно найти на сайте http://www.tcl-tk.org), BWidget и последняя версия дистрибутива +Tcl/Tk Project Manager(ее можно скачать с сайта http://nuk-svk.ru) - ProjMan - INSTALL . +Следуйте инструкциям по установке вашего дистрибутива ProjMan +изложенными в файле INSTALL архива. -. ProjMan? +В. Где узнать более детальную информацию о предназначении каталогов и файлов в ProjMan? -. : -~/.projman - -~/projman/projman.conf - -~/.projman/*.proj - -~/.projman/*.tags - , CTags -~/projects/tcl - +О. Расположение каталогов и файлов: +~/.projman - рабочий каталог +~/projman/projman.conf - файл настроек +~/.projman/*.proj - файлы проектов +~/.projman/*.tags - файлы с описанием процедур, создается с помощью CTags +~/projects/tcl - каталог с проектами -. ? +В. Как я могу отслеживать изменения в разрабатываемом мной проекте? -. tkCVS tkdiff . +О. Встроенные tkCVS и tkdiff должны помочь. -. K ProjMan tgz/rpm- ? +В. Kак из ProjMan создать tgz/rpm-пакет моей программы? -. TAR.GZ F7 - zip-. +О. TAR.GZ архив делается нажатием F7 на активном проекте или в меню +Под виндой должно zip-овать. -. - ProjMan (templates)? +В. Существует-ли в ProjMan поддержка заготовок кода(templates)? -. , - - :( html +О. В принципе да такая возможность есть но, не особо развита - сейчас шаблон +забит в код :( это можно видеть при создании например html документа -. ProjMan-a +В. На каких языках локализован интерфейс ProjMan-a -. 4- - , , , . +О. В настоящий момент программа локализована на 4-х языках - русский, английский, немецкий, французский. -- Igor Didkovsky aka Gor (ididkovsky@mail.ru) Segey Kalinin (banzaj28@yandex.ru) + + diff --git a/hlp/ru/projman/gpl.ru b/hlp/ru/projman/gpl.ru index 4ed552e..4eff89e 100644 --- a/hlp/ru/projman/gpl.ru +++ b/hlp/ru/projman/gpl.ru @@ -1,427 +1,430 @@ - GNU - 2, 1991 +УНИВЕРСАЛЬНАЯ ОБЩЕСТВЕННАЯ ЛИЦЕНЗИЯ GNU +Версия 2, июнь 1991 Copyright (C) 1989, 1991 Free Software Foundation, Inc. 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA -(C) . .. , .. , 1993 -(C) . .. , 1998 +(C) Перевод. О.В. Кузина, В.М. Юфа, 1993 +(C) Перевод. О.С. Тихонов, 1998 - , - , . +Этот документ можно копировать, а также распространять его +дословные копии, однако вносить в него изменения запрещено. - +Преамбула - () , - . - , - GNU , - , .. - . - -, . -( - GNU .) - . +Лицензии на большую часть программного обеспечения (ПО) составлены так, +чтобы лишить вас свободы совместно использовать и изменять его. В +противоположность этому, предназначение Универсальной Общественной +Лицензии GNU состоит в том, чтобы гарантировать вашу свободу совместно +использовать и изменять свободное ПО, т.е. обеспечить свободу ПО для +всех его пользователей. Данная Универсальная Общественная Лицензия +применима к большей части ПО Фонда Свободного ПО и ко всем другим +программам, чьи авторы принимают на себя обязательство ее использовать. +(Для некоторых программ Фонда Свободного ПО вместо нее применяется +Универсальная Общественная Лицензия GNU для библиотек.) Вы тоже можете +применить ее к своим программам. - , , -. - , , - ( -); , - ; - ; . +Когда мы говорим о свободном ПО, мы имеем в виду свободу, а не +бесплатность. Наши Универсальные Общественные Лицензии разрабатывались +для того, чтобы гарантировать, что вы пользуетесь свободой +распространять копии свободного ПО (и при желании получать за это +вознаграждение); что вы получаете исходный код или можете получить его, +если захотите; что вы можете изменять ПО или использовать его части в +новых свободных программах; и что вы знаете обо всех этих правах. - , , - - . - , - . +Чтобы защитить ваши права, нам нужно ввести некоторые ограничения, +которые запретят кому бы то ни было отказывать вам в этих правах или +потребовать от вас отказаться от этих прав. Эти ограничения накладывают +на вас некоторые обязательства, если вы распространяете копии ПО или +изменяете его. -, -, , - . , - . , - , . +Например, если вы распространяете копии такой программы бесплатно или за +вознаграждение, вы должны предоставить получателям все права, которыми +обладаете вы сами. Вы должны гарантировать, что они тоже получат или +смогут получить исходный код. Наконец, вы должны показать им текст +данных условий, чтобы они знали о своих правах. - : (1) - (2) , -, / . +Мы защищаем ваши права в два этапа: (1) сохраняем авторские права на ПО +и (2) предлагаем вам эту лицензию, которая дает вам законное право +копировать, распространять и/или модифицировать ПО. - , , , -, , -. - , , - , , , -- , - , , - . +Кроме того, в целях защиты как каждого автора, так и нас, мы хотим +удостовериться, что каждый понимает, что гарантий на это свободное ПО +нет. Если ПО модифицируется и передается кем-то еще, мы хотим, чтобы +получатели ПО знали, что то, что у них есть, -- это не оригинал, чтобы +любые проблемы, созданные другими, не отразились на репутации +первоначальных авторов. - , . - , - , - . , - , - , -. +И наконец, каждой свободной программе постоянно угрожают патенты на ПО. +Мы хотим избежать той опасности, что повторные распространители +свободной программы самостоятельно получат патенты, делая программу +таким образом частной собственностью. Чтобы предотвратить это, мы со +всей определенностью заявляем, что любой патент должен быть либо +предоставлен всем для свободного использования, либо не предоставлен +никому. - , - . +Ниже следуют точные определения и условия для копирования, +распространения и модификации. - , +ОПРЕДЕЛЕНИЯ И УСЛОВИЯ ДЛЯ КОПИРОВАНИЯ, РАСПРОСТРАНЕНИЯ И МОДИФИКАЦИИ - , - , - , , - . - "" , - ", " - , , , - , / . ( - "".) - "". + Эта Лицензия применима к любой программе или другому произведению, +содержащему уведомление, помещенное держателем авторских прав и +сообщающее о том, что оно может распространяться при условиях, +оговоренных в данной Универсальной Общественной Лицензии. В дальнейшем +термин "Программа" относится к любой такой программе или произведению, +а термин "произведение, основанное на Программе" означает Программу +или любое произведение, содержащее Программу или ее часть, дословную, +или модифицированную, и/или переведенную на другой язык. (Здесь и далее +перевод включается без ограничений в понятие "модификация".) Каждый +обладатель лицензии адресуется как "вы". - , , -, ; - . -, , - , - ( , - ). , , - . + Виды деятельности, не являющиеся копированием, распространением или +модификацией, не охватываются данной Лицензией; они лежат за пределами +ее влияния. Использование Программы по ее функциональному назначению не +ограничено, а выходные данные Программы охватываются этой Лицензией, +только если их содержание является произведением, основанным на +Программе (вне зависимости от того, были ли они получены в процессе +использования Программы). Являются ли они таковыми, зависит от того, +что именно делает Программа. - - , - - - ; , - - ; - - . - - - . - - - , - , , - - 1, , , - : - - - - , - , , -. - - - - , -, , - - , , . - +Вы можете копировать и распространять дословные копии исходного кода +Программы по его получении на любом носителе, при условии что вы +соответствующим образом помещаете на видном месте в каждой копии +соответствующее уведомление об авторских правах и отказ от +предоставления гарантий; оставляете нетронутыми все уведомления, +относящиеся к данной Лицензии и к отсутствию каких-либо гарантий; и +передаете всем другим получателям Программы копию данной Лицензии вместе +с Программой. + +Вы можете назначить плату за физический акт передачи копии и можете по +своему усмотрению предоставлять гарантии за вознаграждение. + + +Вы можете изменять свою копию или копии Программы или любой ее части, +создавая таким образом произведение, основанное на Программе, и +копировать и распространять эти модификации или произведение в +соответствии с Разделом 1, приведенным выше, при условии, что вы +выполните все нижеследующие условия: + + + +Вы обязаны снабдить модифицированные файлы заметными уведомлениями, +содержащими указания на то, что вы изменили файлы, и дату каждого +изменения. + + +Вы обязаны предоставить всем третьим лицам лицензию на бесплатное +использование каждого произведения, которое вы распространяете или +публикуете, целиком, и которое полностью или частично содержит Программу +или какую-либо ее часть, на условиях, оговоренных в данной Лицензии. + - - , , - - , - , (, , - , ), - , -, . (: - , - , , , - .) - - -. - -, -, . - , -, -, -, , , , -. - - , - , , -; , - , - . - - , , - , ( , - ) - - . - - - ( , - ) 2) - 1 2, , , - : - - - , - 1 2, - , , -; , - - - , - , , - , - , - 1 2, ; - - - , - . ( - , - - b) .) - - , - . - , -, -, , - . , - , - ( , ) - (, ) , - , -, . - - - -, - , - -. - - - , , , - , - . , - - - , - . , - , - , . - - - , -. , , , - . - , -. , ( -, ), - , - . - - - , ( -, ), - - , , - . -- , - . - . - - - , - ( -), , ( - , ), - . - , - , , - . , - , - , - , - . - - - - , , - , - . - - -- - , - ; - -- , - . - , -, ; - , - - , - . - - , , - . - - - / - , , - , , - , - , , - . - , -. - - - -/ . - , -, . - - . -, - " ", - , -, . - , , -- . - - - - , -. , - , ; -. : - - . - - - - - - - , - , . - , , - / " - " - , -, , , - . - -. , - , -. - - - , , - , - , / -, , -, , , -, - (, , , - , , - -, -), - . - - - - - - - - - , - , --- - , - . - - - , . - , - ; - , - , . +Если модифицированная программа обычно читает команды в интерактивном +режиме работы, вы должны сделать так, чтобы при запуске для работы в +таком интерактивном режиме обычным для нее способом она печатала или +выводила на экран объявление, содержащее соответствующее уведомление об +авторских правах и уведомление о том, что гарантий нет (или, наоборот, +сообщающее о том, что вы обеспечиваете гарантии), и что пользователи +могут повторно распространять программу при этих условиях, и указывающее +пользователю, как просмотреть копию данной Лицензии. (Исключение: если +сама Программа работает в интерактивном режиме, но обычно не выводит +подобных сообщений, то ваше произведение, основанное на Программе, не +обязано выводить объявление.) + +Эти требования применяются к модифицированному произведению в +целом. Если известные части этого произведения не были основаны на +Программе и могут обоснованно считаться независимыми и самостоятельными +произведениями, то эта Лицензия и ее условия не распространяются на эти +части, если вы распространяете их как отдельные произведения. Но если вы +распространяете эти части как часть целого произведения, основанного на +Программе, то вы обязаны делать это в соответствии с условиями данной +Лицензии, распространяя права получателей лицензии на все произведение +и, таким образом, на каждую часть, вне зависимости от того, кто ее +написал. + +Таким образом, содержание этого раздела не имеет цели претендовать на +ваши права на произведение, написанное полностью вами, или оспаривать +их; цель скорее в том, чтобы реализовать право управлять +распространением производных или коллективных произведений, основанных +на Программе. + +Кроме того, простое нахождение другого произведения, не основанного на +этой Программе, совместно с Программой (или с произведением, основанным +на этой Программе) на одном носителе для постоянного хранения или +распространяемом носителе не распространяет действие этой Лицензии на +другое произведение. + + +Вы можете копировать и распространять Программу (или произведение, +основанное на ней) согласно Разделу 2) в объектном коде или в выполнимом +виде в соответствии с Разделами 1 и 2, приведенными выше, при условии, +что вы также выполните одно из следующих требований: + + +Сопроводите ее полным соответствующим машиночитаемым исходным кодом, +который должен распространяться в соответствии с Разделами 1 и 2, +приведенными выше, на носителе, который обычно используется для обмена +ПО; или, + + +Сопроводите ее письменным предложением, действительным по крайней мере в +течение трех лет, предоставить любому третьему лицу за вознаграждение, +не превышающее стоимость физического акта изготовления копии, полную +машиночитаемую копию соответствующего исходного кода, подлежащую +распространению в соответствии с Разделами 1 и 2, приведенными выше; или + + +Сопроводите ее информацией, полученной вами в качестве предложения +распространить соответствующий исходный код. (Эта возможность допустима +только для некоммерческого распространения, и только если вы получили +программу в объектном коде или в исполняемом виде с предложением в +соответствии с Пунктом b) выше.) + +Исходный код для произведения означает его вид, предпочтительный для +выполнения в нем модификаций. Для исполняемого произведения полный +исходный код означает все исходные коды для всех модулей, которые он +содержит, плюс любые связанные с произведением файлы определения +интерфейса, плюс сценарии, используемые для управления компиляцией и +установкой исполняемого произведения. Однако, в виде особого исключения +распространяемый исходный код не обязан включать то, что обычно +предоставляется (как в объектных, так и в исходных кодах) с основными +компонентами (компилятор, ядро и так далее) операционной системы, под +управлением которой работает исполняемое произведение, за исключением +случая, когда сам компонент сопровождает исполняемое произведение. + +Если распространение исполняемого произведения или объектного кода +происходит путем предоставления доступа для копирования с обозначенного +места, то предоставление доступа для копирования исходного кода с того +же места считается распространением исходного кода, даже если третьи +лица не принуждаются к копированию исходного кода вместе с объектным +кодом. + + +Вы не можете копировать, изменять, повторно лицензировать, или +распространять Программу никаким иным способом, кроме явно +предусмотренных данной Лицензией. Любая попытка копировать, изменять +или распространять Программу каким-либо другим способом или с измененной +лицензией неправомерна и автоматически прекращает ваши права, данные вам +этой Лицензией. Однако лицензии лиц, получивших от вас копии или права +согласно данной Универсальной Общественной Лицензии, не прекращают +своего действия, если эти лица полностью соблюдают условия. + + +Вы не обязаны соглашаться с этой Лицензией, так как вы не подписывали +ее. Однако, ничто, кроме этой Лицензии, не дает вам право изменять или +распространять эту Программу или основанные на ней произведения. Эти +действия запрещены законом, если вы не принимаете к соблюдению эту +Лицензию. А значит, изменяя или распространяя Программу (или +произведение, основанное на Программе), вы изъявляете свое согласие с +этой Лицензией и всеми ее условиями о копировании, распространении или +модификации Программы или основанных на ней произведений. + + +Каждый раз, когда вы повторно распространяете Программу (или любое +произведение, основанное на Программе), получатель этого произведения +автоматически получает от первоначального выдавшего лицензию лица свою +лицензию на копирование, распространение или модификацию Программы, +обсуждаемую в этих определениях и условиях. Вы не можете налагать +каких-либо дополнительных ограничений на осуществление получателем прав, +предоставленных данным документом. Вы не несете ответственности за +соблюдение третьими лицами условий этой Лицензии. + + +Если в результате судебного разбирательства, или обвинения в нарушении +патента или по любой другой причине (не обязательно связанной с +патентами), вам навязаны условия, противоречащие данной Лицензии (по +постановлению суда, по соглашению или иным способом), это не освобождает +вас от соблюдения Лицензии. Если вы не можете заниматься +распространением так, чтобы одновременно удовлетворить требованиям и +этой Лицензии, и всем другим требованиям, то вы не должны заниматься +распространением Программы. Например, если патент не позволяет +безвозмездное повторное распространение Программы всем, кто получил +копии от вас непосредственно или через посредников, то единственным +способом удовлетворить и патенту, и этой Лицензии будет ваш полный отказ +от распространения Программы. + +Если какая-либо часть этого раздела не имеет силы или не может быть +исполнена при некоторых конкретных обстоятельствах, то подразумевается, +что имеет силу остальная часть раздела, а при других обстоятельствах +имеет силу весь Раздел. + +Цель этого раздела -- не побудить вас делать заявления о нарушениях +прав на патент, или заявлять о других претензиях на право собственности +или оспаривать правильность подобных претензий; единственная цель этого +раздела -- защита целостности системы распространения свободного ПО, +которая реализуется использованием общественных лицензий. Многие люди +внесли щедрый вклад в широкий спектр ПО, распространяемого по этой +системе, полагаясь на ее согласованное применение; только автору +принадлежит право решать, хочет ли он или она распространять ПО в этой +системе или в какой-то другой, и получатель лицензии не может влиять на +принятие этого решения. + +Этот раздел предназначен для того, чтобы тщательно прояснить, что +полагается следствием из остальной части данной Лицензии. + + +Если распространение и/или применение Программы ограничено в ряде стран +либо патентами, либо авторскими правами на интерфейсы, первоначальный +обладатель авторских прав, выпускающий Программу с этой Лицензией, может +добавить явное ограничение на географическое распространение, исключив +такие страны, так что распространение разрешается только в тех странах, +которые не были исключены. В этом случае данная Лицензия включает в +себя это ограничение, как если бы оно было написано в тексте данной +Лицензии. + + +Фонд Свободного ПО может время от времени публиковать пересмотренные +и/или новые версии Универсальной Общественной Лицензии. Такие новые +версии будут сходны по духу с настоящей версией, но могут отличаться в +деталях, направленных на новые проблемы или обстоятельства. + +Каждой версии придается отличительный номер. Если в Программе +указывается, что к ней относится некоторый номер версии данной Лицензии +и "любая последующая версия", вы можете по выбору следовать +определениям и условиям либо данной версии, либо любой последующей +версии, опубликованной Фондом Свободного ПО. Если в Программе не +указан номер версии данной Лицензии, вы можете выбрать любую версию, +когда-либо опубликованную Фондом Свободного ПО. + + +Если вы хотите встроить части Программы в другие свободные программы с +иными условиями распространения, напишите автору с просьбой о +разрешении. Для ПО, которое охраняется авторскими правами Фонда +Свободного ПО, напишите в Фонд Свободного ПО; мы иногда делаем такие +исключения. Наше решение будет руководствоваться двумя целями: +сохранения свободного статуса всех производных нашего свободного ПО и +содействия совместному и повторному использованию ПО вообще. + + + +НИКАКИХ ГАРАНТИЙ + + +ПОСКОЛЬКУ ПРОГРАММА ПРЕДОСТАВЛЯЕТСЯ БЕСПЛАТНО, НА ПРОГРАММУ НЕТ +ГАРАНТИЙ В ТОЙ МЕРЕ, КАКАЯ ДОПУСТИМА ПРИМЕНИМЫМ ЗАКОНОМ. ЗА +ИСКЛЮЧЕНИЕМ ТЕХ СЛУЧАЕВ, КОГДА ОБРАТНОЕ ЗАЯВЛЕНО В ПИСЬМЕННОЙ ФОРМЕ, +ДЕРЖАТЕЛИ АВТОРСКИХ ПРАВ И/ИЛИ ДРУГИЕ СТОРОНЫ ПОСТАВЛЯЮТ ПРОГРАММУ "КАК +ОНА ЕСТЬ" БЕЗ КАКОГО-ЛИБО ВИДА ГАРАНТИЙ, ВЫРАЖЕННЫХ ЯВНО ИЛИ +ПОДРАЗУМЕВАЕМЫХ, ВКЛЮЧАЯ, НО НЕ ОГРАНИЧИВАЯСЬ ИМИ, ПОДРАЗУМЕВАЕМЫЕ +ГАРАНТИИ КОММЕРЧЕСКОЙ ЦЕННОСТИ И ПРИГОДНОСТИ ДЛЯ КОНКРЕТНОЙ ЦЕЛИ. ВЕСЬ +РИСК В ОТНОШЕНИИ КАЧЕСТВА И ПРОИЗВОДИТЕЛЬНОСТИ ПРОГРАММЫ ОСТАЕТСЯ ПРИ +ВАС. ЕСЛИ ПРОГРАММА ОКАЖЕТСЯ ДЕФЕКТНОЙ, ВЫ ПРИНИМАЕТЕ НА СЕБЯ +СТОИМОСТЬ ВСЕГО НЕОБХОДИМОГО ОБСЛУЖИВАНИЯ, ВОССТАНОВЛЕНИЯ ИЛИ +И +ИСПРАВЛЕНИЯ. + + +НИ В КОЕМ СЛУЧАЕ, ЕСЛИ НЕ ТРЕБУЕТСЯ СООТВЕТСТВУЮЩИМ ЗАКОНОМ, ИЛИ НЕ +УСЛОВЛЕНО В ПИСЬМЕННОЙ ФОРМЕ, НИ ОДИН ДЕРЖАТЕЛЬ АВТОРСКИХ ПРАВ И НИ ОДНО +ДРУГОЕ ЛИЦО, КОТОРОЕ МОЖЕТ ИЗМЕНЯТЬ И/ИЛИ ПОВТОРНО РАСПРОСТРАНЯТЬ +ПРОГРАММУ, КАК БЫЛО РАЗРЕШЕНО ВЫШЕ, НЕ ОТВЕТСТВЕННЫ ПЕРЕД ВАМИ ЗА +УБЫТКИ, ВКЛЮЧАЯ ЛЮБЫЕ ОБЩИЕ, СПЕЦИАЛЬНЫЕ, СЛУЧАЙНЫЕ ИЛИ ПОСЛЕДОВАВШИЕ +УБЫТКИ, ПРОИСТЕКАЮЩИЕ ИЗ ИСПОЛЬЗОВАНИЯ ИЛИ НЕВОЗМОЖНОСТИ ИСПОЛЬЗОВАНИЯ +ПРОГРАММЫ (ВКЛЮЧАЯ, НО НЕ ОГРАНИЧИВАЯСЬ ПОТЕРЕЙ ДАННЫХ, ИЛИ ДАННЫМИ, +СТАВШИМИ НЕПРАВИЛЬНЫМИ, ИЛИ ПОТЕРЯМИ, ПОНЕСЕННЫМИ ИЗ-ЗА ВАС ИЛИ ТРЕТЬИХ +ЛИЦ, ИЛИ ОТКАЗОМ ПРОГРАММЫ РАБОТАТЬ СОВМЕСТНО С ЛЮБЫМИ ДРУГИМИ +ПРОГРАММАМИ), ДАЖЕ ЕСЛИ ТАКОЙ ДЕРЖАТЕЛЬ ИЛИ ДРУГОЕ ЛИЦО БЫЛИ ИЗВЕЩЕНЫ О +ВОЗМОЖНОСТИ ТАКИХ УБЫТКОВ. + + +КОНЕЦ ОПРЕДЕЛЕНИЙ И УСЛОВИЙ + + + +Как применять эти условия к вашим новым программам + + Если вы разрабатываете новую программу и хотите, чтобы она принесла +максимально возможную пользу обществу, лучший способ достичь этого --- +включить ее в свободное ПО, которое каждый может повторно распространять +и изменять согласно данным условиям. + + + Чтобы сделать это, добавьте в программу следующие уведомления. +Надежнее всего будет добавить их в начало каждого исходного файла, чтобы +наиболее эффективно передать сообщение об отсутствии гарантий; каждый +файл должен содержать по меньшей мере строку, содержащую знак охраны +авторского права и указание на то, где находится полное уведомление.

- ,     
- ,   .
-(C)  ()  19
+одна строка, содержащая название программы и краткое
+описание того, что она делает.
+(C) наименование (имя) автора 19гг
 
-  ;      /
-      
- GNU,    ;   2,
- (  )    .
+Это свободная программа; вы можете повторно распространять ее и/или
+модифицировать ее в соответствии с Универсальной Общественной
+Лицензией GNU, опубликованной Фондом Свободного ПО; либо версии 2,
+либо (по вашему выбору) любой более поздней версии.
 
-    ,    ,
-  - ;    
-      .  
-     
- GNU.
+Эта программа распространяется в надежде, что она будет полезной,
+но БЕЗ КАКИХ-ЛИБО ГАРАНТИЙ; даже без подразумеваемых гарантий
+КОММЕРЧЕСКОЙ ЦЕННОСТИ или ПРИГОДНОСТИ ДЛЯ КОНКРЕТНОЙ ЦЕЛИ.  Для
+получения подробных сведений смотрите Универсальную Общественную
+Лицензию GNU.
 
-       
-GNU    ;  ,   : Free
+Вы должны были получить копию Универсальной Общественной Лицензии
+GNU вместе с этой программой; если нет, напишите по адресу: Free
 Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
 02111-1307 USA
 
-    ,       
- .
+Добавьте также сведения о том, как связаться с вами по электронной и
+обычной почте.
 
 
-  ,  ,    
-       :
+Если программа интерактивная, сделайте так, чтобы при запуске в
+интерактивном режиме она выдавала краткое уведомление вроде следующего:
 
 
 
-,  69, (C)   19  
-    - ;
-    'show w'.   
-,       
- ;     'show c'.
+Гномовизор, версия 69, (C) имя автора 19  гг
+Гномовизор поставляется АБСОЛЮТНО БЕЗ КАКИХ-ЛИБО ГАРАНТИЙ;
+для получения подробностей напечатайте 'show w'.  Это свободная
+программа, и вы приглашаетесь повторно распространять ее при
+определенных условиях; для получения подробностей введите 'show c'.
 
 
-  'show w'  'show c'  
-    .  ,
-     - , 
-`show w'  `show c';       
-    --      .
+Гипотетические команды 'show w' и 'show c' должны показывать
+соответствующие части Универсальной Общественной Лицензии.  Конечно,
+используемые вами команды могут называться как-нибудь иначе, нежели
+`show w' и `show c'; они даже могут выбираться с помощью мыши
+или быть пунктами меню -- как больше подходит для вашей программы.
 
 
-    ,    (  
-)    ,   ,
-    "   "  
-.   ;  :
+Вы также должны добиться того, чтобы ваш работодатель (если вы работаете
+программистом) или ваше учебное заведение, если таковое имеется,
+подписали в случае необходимости "отказ от имущественных прав" на эту
+программу.  Вот образец; замените фамилии:
 
 
 
- `` ''    
-    '' ( 
-   ),   ..
+Компания ``Братья Ёёдины'' настоящим отказывается от всех
+имущественных прав на программу 'Гномовизор' (которая делает
+пассы в сторону компиляторов), написанную Абстрактным К.И.
 
-  , 1  1989 
- ,   .
+подпись Мага Ната, 1 апреля 1989 г
+Маг Нат, Президент фирмы Вице.
 
 
 
-       
-   ,   .  
-  --   ,   ,  
-   ,   ,
-   .    ,   ,
-       GNU
- .
\ No newline at end of file
+Данная Универсальная Общественная Лицензия не позволяет вам включать
+вашу программу в программы, являющиеся частной собственностью.  Если
+ваша программа -- это библиотека процедур, вам стоит подумать, не будет
+ли лучше разрешить программам, являющимся частной собственностью,
+связываться с вашей библиотекой.  Если это то, чего вы хотите,
+используйте вместо этой Лицензии Универсальную Общественную Лицензию GNU
+для библиотек.
+
+
diff --git a/hlp/ru/projman/pmabout.html b/hlp/ru/projman/pmabout.html
index 92290bf..4d5fc1e 100644
--- a/hlp/ru/projman/pmabout.html
+++ b/hlp/ru/projman/pmabout.html
@@ -1,25 +1,27 @@
 About Tcl/Tk Project Manager
 

Tcl/Tk Project Manager

Version 1.0.0
-

: (aka BanZaj) banzaj28@yandex.ru -
: http://nuk-svk.ru +

Автор: Сергей Калинин (aka BanZaj) banzaj28@yandex.ru +
Домашняя страница: http://nuk-svk.ru -

IDE Tcl/Tk -

: -
- -
- -
- -
  -- (Tcl, Html, Rpm.spec) -
  -- -
  -- / -
  -- -
  -- / -
- - -
  -- Tcl -
  -- Tk -
  -- IDE -
- IDE +

IDE для программирования на Tcl/Tk +

Включает в себя: +
- менеджер проектов +
- менеджер файлов +
- текстовый редактор +
  -- подсветка синтаксиса нескольких языков (Tcl, Html, Rpm.spec) +
  -- навигация по процедурам +
  -- поиск/замена информации +
  -- переход на строку с заданным номером +
  -- возможность повторения/отмены операций +
- встроенная контекстно-зависимая справочная ситема +
  -- помощь по командам Tcl +
  -- помощь по командам Tk +
  -- помощь по IDE +
- запуск приложений из IDE

© Copyright Sergey Kalinin, 2002 + + diff --git a/hlp/ru/projman/pmbegin.html b/hlp/ru/projman/pmbegin.html index 0dc9a8b..bb313b1 100644 --- a/hlp/ru/projman/pmbegin.html +++ b/hlp/ru/projman/pmbegin.html @@ -1,27 +1,29 @@ - -

Project Manager-

-

-

( ) . -
"" " " ( " "). , . "Tcl/Tk Project manager": -
" " - (), , "Tcl/Tk Project Manager" -
" " - , .. , projman. .tcl -
" " - . , ( "" -> ""). /projects/tcl/" ". -
Tcl - tcl , tclsh, wish .. - /usr/bin/tclsh -
"" - (), , rpm- . -
"" - "", , . -
"" - , -
". " - -
- -
- ( ) . -
, , , . -

-

( ) , "" " ". , , , ( ) "". , "". , "" . -

-

. - . . -

-

() "" " " . -

-

. . Control + m. +Начало работы +

Начало работы с Project Manager-ом

+

СОЗДАНИЕ ПРОЕКТА +

Для начала необходимо создать новый (либо открыть существующий) проект. +
Для этого в меню "Проект" выберите пункт "Новый проект" (либо "Открыть проект"). Откроется форма создания нового проекта, заполните все необходимые поля. Рассмотрим процедуру создания проекта на примере "Tcl/Tk Project manager": +
"Название проекта" - полное название проекта (программы), это может быть любое предложение, например "Tcl/Tk Project Manager" +
"Файл проекта" - имя файла проекта, т.е. имя основного файла вашей программы, в нашем примере это projman.tcl. +
"Каталог проекта" - наименование каталога проекта. Каталог под этим именем будет создан в каталоге с проектами, который можно изменить в настройках(меню "Файл" -> "Установки"). По умолчанию все проекты будут помещены в Ваш домашний каталог в директорию /projects/tcl/"каталог проекта". +
Tcl интерпретатор - название интерпретатора tcl для выполнения проекта, например tclsh, wish и т.п. Путь к интерпретатору следует указывать полностью - /usr/bin/tclsh +
"Версия" - текущая версия программы (проекта), используется в имени файла архива, rpm-пакета и так далее. +
"Выпуск" - по другому можно назвать "релиз", номер релиза, используется так же как и номер версии. +
"Автор" - имя автора программы, используется в заголовках всех файлов проекта +
"Эл. почта" - адрес электронной почты +
Компания - наименование компании +
Домашняя страница - адрес домашней страницы автора (либо компании) где в будущем будет размещен создаваемый проект. +
Все пункты, кроме первых четырех, заполнять не обязательно, но желательно. +

ОТКРЫТИЕ ПРОЕКТА +

Чтобы открыть (добавить в дерево проектов) существующий проект, необходимо в меню "Проекты" выбрать пункт "Открыть проект". После этого на экран будет выведено окно выбора директории, где Вам следует выбрать каталог с тем проектом, который хотите добавить, для этого щелкните левой кнопкой мыши на нужном каталоге (в нижнем поле должно появиться полное путевое имя этого каталога) и нажмите кнопку "Выбрать". После этого откроется форма нового проекта с заполненными некоторыми полями, необходимо заполнить все поля и нажать кнопку "Создать". файлы проекта будут скопированы в директорию с проектами, установленную в "Настройках" и проект отобразится в дереве проектов. +

ВЫБОР АКТИВНОГО ПРОЕКТА +

Все операции с проектами доступны только для активного проекта. +Название активного проекта отображается в строке статуса внизу основного окна программы. Чтобы сделать нужный проект активным необходимо щелкнуть мышкой на имени проекта в дереве проектов. +

УДАЛЕНИЕ ПРОЕКТА +

Для удаления текущего (активного) проекта нужно в меню "Проекты" выбрать пункт "Удалить проект" и подтвердить операцию. +

РЕДАКТИРОВАНИЕ ФАЙЛА +

Чтобы открыть нужный файл для просмотра или редактирования щелкните два раза мышкой на имени этого файла. Редактор позволяет одновременно открывать большое количество файлов. Переключения между окнами редактора осуществляется нажатием сочитания клавиш Control + m. + + diff --git a/hlp/ru/projman/pmhelp.html b/hlp/ru/projman/pmhelp.html index 4025193..aa62e39 100644 --- a/hlp/ru/projman/pmhelp.html +++ b/hlp/ru/projman/pmhelp.html @@ -1,7 +1,9 @@ Help system -

-

Project Manager - . Tcl/Tk Project manager, Tcl Tk. -

F1, . -

- F1. . +

Использование справочной системы

+

Для облегчения доступа к справочной информации Project Manager оснащен контекстно-зависимой справочной системой. Через систему помощи доступна документация по Tcl/Tk Project manager, по операторам и командам языка Tcl и графического расширения Tk. +

Чтобы воспользоваться встроенной справочной системой нужно нажать на клавишу F1, в результате чего на экран будет выведено окно справочной системы. +

Для получения справки по какому-либо оператору необходимо в редакторе выделить этот оператор и нажать F1. Либо в окне справочной системы найти в списке операторов нужный Вам и щелкнуть на него мышкой. + + diff --git a/hlp/ru/projman/pmkeys.html b/hlp/ru/projman/pmkeys.html index e7449d4..7229a64 100644 --- a/hlp/ru/projman/pmkeys.html +++ b/hlp/ru/projman/pmkeys.html @@ -1,27 +1,29 @@ Hot keys -

+

Сочетания клавиш

+ +

Ctrl + A - Сохранить файл под другим именем. +

Ctrl + C - Команда копирует выделенный в окне редактора текст в буфер обмена. +

Ctrl + F - Поиск заданного выражения в тексте. +

Ctrl + G - Перейти к строке с заданным номером. +

Ctrl + J - Вывести список функций с именами полностью или частично совпадающими с введенным. +

Ctrl + L - Вывести список слов, полностью или частично совпадающих с введенным. +

Ctrl + M - Переключение между открытыми файлами (между окнами редактора). +

Ctrl + N - Создать новый файл. Команда вызывает диалог создания файла. +

Ctrl + O - Открыть файл. +

Ctrl + Q - Выход из Project Manager-a. +

Ctrl + R - Поиск и замена заданного выражения в тексте. +

Ctrl + S - Сохранить файл. Сохраняется файл, который открыт в текущем окне редактора. +

Ctrl + T - Поменять местами два символа, стоящих до и после курсора. +

Ctrl + U - Перемещает курсор на соответствующую открытую или закрытую скобку. +

Ctrl + V - Вставка фрагмента текста из буфера обмена, скопированного предыдущей командой. +

Ctrl + W - Закрыть файл. Команда закрывает файл открытый в текущем окне редактора. +

Ctrl + X - Вырезать выделенный фрагмент текста в буфер омена. +

Ctrl + Z - Отменить операцию +

F1 - Вызов системы помощи по программе и по языку. Если в тексте выделить команду и нажать данную клавишу то будет выведена на экран подсказка по этой команде. +

F3 - Повторный поиск, команда работает с последним введенным выражением в диалоговом окне поиска +

F5 - Команда создания архивного файла. Работает только с активным проектом +

F6 - Создание RPM. +

F9 - Выполнение ("компиляция") текущего (активного) проекта. + -

Ctrl + A - . -

Ctrl + C - . -

Ctrl + F - . -

Ctrl + G - . -

Ctrl + J - . -

Ctrl + L - , . -

Ctrl + M - ( ). -

Ctrl + N - . . -

Ctrl + O - . -

Ctrl + Q - Project Manager-a. -

Ctrl + R - . -

Ctrl + S - . , . -

Ctrl + T - , . -

Ctrl + U - . -

Ctrl + V - , . -

Ctrl + W - . . -

Ctrl + X - . -

Ctrl + Z - -

F1 - . . -

F3 - , -

F5 - . -

F6 - RPM. -

F9 - ("") () . diff --git a/hlp/ru/projman/projman.toc.html b/hlp/ru/projman/projman.toc.html index c68bd7c..6135c6a 100644 --- a/hlp/ru/projman/projman.toc.html +++ b/hlp/ru/projman/projman.toc.html @@ -1,12 +1,15 @@ Tcl/Tk Project Manager -
-
-
- VisualREGEXP
- TkDIFF+
-
-
-
+О программе
+Работа с программой
+Справочная система
+Работа с VisualREGEXP
+Работа с TkDIFF+
+Горячие клавиши
+Документация
+Лицензия
+ + + diff --git a/hlp/ru/tcl/Http.html b/hlp/ru/tcl/Http.html index 86483e0..73ec2da 100644 --- a/hlp/ru/tcl/Http.html +++ b/hlp/ru/tcl/Http.html @@ -1,4 +1,4 @@ - + Http @@ -7,179 +7,179 @@

Http

-

HTTP/1.0.

+

Клиентская часть реализации протокола HTTP/1.0.

-

+

СИНТАКСИС

       package require http ?2.0?
-      ::http::config ?options?
-      ::http::geturl url ?options?
-      ::http::formatQuery list
-      ::http::reset token ?why?
-      ::http::wait token
-      ::http::status token
-      ::http::size token
-      ::http::code token
-      ::http::data token
+      ::http::config ?options?
+      ::http::geturl url ?options?
+      ::http::formatQuery list
+      ::http::reset token ?why?
+      ::http::wait token
+      ::http::status token
+      ::http::size token
+      ::http::code token
+      ::http::data token
     
-

+

ОПИСАНИЕ

-

http - HTTP/1.0 GET, POST HEAD. - - (proxy) - . +

Пакет http обеспечивает клиентскую часть протокола + HTTP/1.0 и реализует операции GET, POST и HEAD. Он позволяет + конфигурировать сервер-представитель (proxy) для выхода через + межсетевые экраны. Пакет совместим с политикой безопасности Safesock.

-

::http::geturl - HTTP . - GET, POST HEAD . , - - ::http::geturl, (token) - . , - ::http, - . , . " - ".

+

Процедура ::http::geturl + выполняет HTTP транзакцию. В зависимости от заданной опции это + может быть GET, POST или HEAD транзакция. Величина, + возвращаемая процедурой + ::http::geturl, является признаком (token) выполнения + транзакции. Кроме того, ее значение совпадает с именем массива в + пространстве имен ::http, который содержит информацию о + выполнении транзакции. Элементы массива описаны ниже, см. "Массив + состояния транзакции".

-

-command, - . ::http::geturl - HTTP , - . - , - . Tk-. Tcl - - ::http::wait - .

+

Если процедура вызвана с опцией -command, операция + выполняется в фоновом режиме. Процедура ::http::geturl + завершается сразу после формирования HTTP запроса, а результаты + запроса обрабатываются после их получения. Для успешной работы в + таком режиме необходимо, чтобы был запущен обработчик + событий. Это всегда так для Tk-приложений. В чисто Tcl - + приложениях можно использовать процедуру ::http::wait для запуска + обработчика событий.

-

+

КОМАНДЫ

-
::http::config +
::http::config ?options?
-

::http::config , - proxy-, - (User-Agent), - HTTP . , - . , - , , - . - . : - - .

+

Команда ::http::config используется, чтобы + установить или запросить имя proxy-сервера, порта и + пользовательского приложения (User-Agent), используемые в + HTTP запросах. Если никакие опции не заданы, возвращается + текущая конфигурация. Если задан единственный аргумент, + тогда, он должен быть именем одной из опций, описанных + ниже. В этом случае возвращается текущая величина указанной + опции. В противном случае аргументы состоят из пар: имя + опции - присваиваемое значение.

-accept mimetypes
-
, - . "*/*" , - . - , - ( ) : - "image/gif, image/jpeg, text/*".
+
Определяет типы документов, которые могут быть приняты + по запросу. Значение по умолчанию */* означает, что + могут быть приняты документы любого типа. Чтобы ограничить + список допустимых документов, можно использовать список + (через запятую) шаблонов документов следующего вида: + image/gif, image/jpeg, text/*.
-proxyhost hostname
-
proxy-, . - , .
+
Имя proxy-сервера, через который осуществляется связь. + Если не указано, связь осуществляется напрямую.
-proxyport number
-
proxy-.
+
Имя proxy-порта.
-proxyfilter command
-
, - proxy- proxy-, - . . - - (host). , - -proxyhost +
Определяет команду, которая возвращает имена + proxy-сервера и proxy-порта, необходимые для данной + связи. В противном случае возвращает пустое значение. В + качестве аргумента при вызове команды используется имя + сервера (host). Если команда не задана, используются + значения опций -proxyhost и -proxyport.
-useragent string
-
- (User-Agent). "Tcl http client +
Определяет имя пользовательского приложения + (User-Agent). Значение по умолчанию "Tcl http client package 2.0."
-
::http::geturl url +
::http::geturl url ?options?
-

::http::geturl - . - -query, POST, - -validate, - HEAD. GET. - - , - - . . " - ". - , - -command. - ::http::geturl , - - . ::http::geturl - :

+

Команда ::http::geturl - основная команда пакета. + Если задана опция -query, выполняется операция POST, + если задана опция -validate, выполняется операция + HEAD. В противном случае выполняется операция GET. Команда + возвращает признак - имя массива, который может быть + использован для получения дополнительной информации о + состоянии транзакции. Подробности см. "Массив + состояния транзакции". Команда завершается после + завершения соответствующей операции, если она вызвана без + опции -command. В противном случае команда + ::http::geturl завершается немедленно, а по + завершении операции вызывается соответствующая команда для + обработки ее результатов. Команда ::http::geturl + может использоваться с различными опциями:

-blocksize size
-
. - ( ), - . - , +
Используется при чтении информации. Определяет + максимальный размер блока (в байтах), который может быть + прочитан за один раз. После каждого чтения блока + вызывается команда, определенная с помощью опции -progress.
-channel name
-
- , +
Перенаправляет полученную информация в соответствующий + канал вместо того, чтобы сохранять ее в переменной state(body).
-command callback
-

callback - . - ::http::geturl . - callback token, - , , . " - ". - :

+

Обеспечивает вызов команды callback после + завершения транзакции. При использовании этой опции + команда ::http::geturl завершается сразу. Команда + callback вызывается с аргументом token, + который содержит имя массива, описанного ниже, см. "Массив + состояния транзакции". Ниже приведен шаблон + типовой процедуры для использования в данной опции:

     proc httpCallback {token} { 
-                  upvar #0 $token state 
-                  #     state    Tcl-
+                  upvar #0  state 
+                  # Далее возможна работа со state как с обычным Tcl-массивом
 	      }
 	    
-handler callback
-

callback - HTTP . - : HTTP socket - token, - ::http::geturl (. " - "). - , socket. - :

+

Опция обеспечивает вызов команды callback как + только HTTP данные получены. Команда получает два + дополнительных аргумента: HTTP socket и имя + массива token, возвращенное командой + ::http::geturl (см. "Массив состояния + транзакции"). Команда должна возвращать число + байтов, прочитанных из socket. Ниже приведен + шаблон подобной процедуры:

      proc httpHandlerCallback {socket token} {
-                   upvar #0 $token state
-                   #    socket  Tcl- state 
+                   upvar #0  state
+                   # Получен доступ к socket и Tcl-массиву state 
                    # ... 
-                   # (: 
-                   # set data [read $socket 1000];
-                   # set nbytes [string length $data])
+                   # (например: 
+                   # set data [read  1000];
+                   # set nbytes [string length ])
                    # ...
                    return nbytes
                }
@@ -188,16 +188,16 @@
 
 	  
-headers keyvaluelist
-

HTTP - . - , - . - . - , - . , - keyvaluelist {Pragma - no-cache} - :

+

Опция используется для включения в заголовок HTTP + запроса дополнительных полей. Аргумент должен быть + правильным списком с четным числом элементов, состоящим + попеременно из ключей и их значений. Ключи используются + как имена полей заголовка. Из значений удаляются символы + перехода на новую строку, чтобы избежать формирования + неправильного заголовка. Например, если + keyvaluelist содержит список {Pragma + no-cache} будет сформирован следующий заголовок + запроса:

 	      Pragma: no-cache
 	    
@@ -205,239 +205,238 @@
-progress callback
-

callback - . - callback : - token, - ::http::geturl, - - - . - , 0. - , +

Опция обеспечивает вызов команды callback для + обработки очередной порции данных. Команда + callback получает три аргумента: значение + token, возвращенное командой + ::http::geturl, предполагаемый полный размер + данных из мета-данных и текущее количество поступивших + данных в байтах. Если предполагаемый полный размер + неизвестен, вместо него подставляется 0. Ниже приведен + шаблон для процедуры, вызываемой по опции -progress:

     proc httpProgress {token total current} { 
-                  upvar #0 $token state 
+                  upvar #0  state 
 	      }
 	    
-query query
-
, ::http::geturl - POST . - . - ::http::formatQuery. +
Если указана данная опция, ::http::geturl + формирует запрос POST и передает его на сервер. Запрос + должен быть сформатирован. Для выполнения форматирования + может использоваться процедура ::http::formatQuery.
-timeout milliseconds
-
milliseconds , - . - ::http::reset , - -command. - ::http::status - timeout. +
Если значение milliseconds не равно нулю, + устанавливается соответствующее время задержки. Задержка + выполняется перед вызовом команды ::http::reset и команды, + заданной опцией -command. Во время задержки команда + ::http::status + возвращает значение timeout.
-validate boolean
-
boolean , - ::http::geturl HTTP HEAD . - - (URL), . - state(meta) (. " - "). +
Если значение boolean не равно нулю, + ::http::geturl выполняет HTTP HEAD запрос. Такой + запрос возвращает мета информацию об источнике данных + (URL), а не его содержание. Мета информация содержится в + переменной state(meta) (см. "Массив + состояния транзакции").
-
::http::formatQuery +
::http::formatQuery key value ?key value...?
-
. - , - . - , - "&" "=" - . - -query +
Команда выполняет перекодирование запроса. Команда + использует четное число аргументов, являющихся соответственно + ключами запроса и их значениями. Она преобразует ключи и + значения и возвращает одну строку, в которой расставлены + необходимые "&" и "=" + разделители. Результат можно использовать в качестве значения + для опции -query команды ::http::geturl.
-
::http::reset token +
::http::reset token ?why?
-
HTTP token, - . state(status) - why ( - - reset) , +
Команда перезапускает HTTP транзакцию token, если + такая исполняется. Значение переменной state(status) + при этом переустанавливается в why (по умолчанию - + reset) и вызывается команда, заданная опцией -command.
-
::http::wait +
::http::wait token
-
. - , - vwait. +
Эта команда обеспечивает ожидание завершения транзакции. Она + работает только в надежных интерпретаторах, так как она + использует команду vwait.
-
::http::data +
::http::data token
-
+
Эта команда возвращает значение переменной state(body).
-
::http::status +
::http::status token
-
+
Эта команда возвращает значение переменной state(status).
-
::http::code +
::http::code token
-
+
Эта команда возвращает значение переменной state(http).
-
::http::size +
::http::size token
-
+
Эта команда возвращает значение переменной state(currentsize).
-

+

МАССИВ СОСТОЯНИЯ ТРАНЗАКЦИИ

-

- ::http::geturl token - - Tcl-, HTTP . - - :

+

Команда + ::http::geturl возвращает token - имя + Tcl-массива, содержащего информацию о HTTP транзакции. Для + упрощения доступа к массиву можно использовать следующую + конструкцию:

-      upvar #0 $token state
+      upvar #0  state
     
-

:

+

Массив содержит следующие элементы:

body
-
, URL. , - -channel. - ::http::data. +
Содержание документа, заданного с помощью URL. Пусто, если + указана опция -channel. Значение переменной можно + получить также с помощью команды ::http::data.
-
urrentsize
+
сurrentsize
-
, - . - ::http::size. +
Текущий объем информации в байтах, полученный от + источника. Значение переменной можно получить с помощью + команды ::http::size.
error
-
, - , HTTP .
+
Если элемент определен, он содержит строку с сообщением об + ошибке, полученную при прерывании HTTP транзакции.
http
-
HTTP , - . - ::http::code. - , - HTTP . 200 - . , '4' '5';, - . , '3', - . - Location , - .
+
Элемент содержит значение HTTP статуса, полученное от + сервера. Значение переменной можно получить также с помощью + команды ::http::code. Статус + представляет собой строку из трех цифр, значения которой + соответствуют HTTP стандарту. Код 200 соответствует успешному + выполнению транзакции. Коды, начинающиеся с '4' или '5';, + указывают на ошибку. Коды, начинающиеся с '3', соответствуют + ошибкам перенаправления. В этом случае мета данные + Location определяют новый источник информации, который + содержит запрошенные данные.
meta
-

, . - . - - :

+

Мета данные, описывающие содержание документа. Данный + элемент массива содержит список ключей и их значений. Чтобы + облегчить доступ к данным можно использовать следующую + конструкцию:

-	  array set meta $state(meta)
+	  array set meta (meta)
 	
-

, HTTP - , , - .

+

Некоторые ключи мета данных перечислены ниже, но в HTTP + стандарте их перечислено больше, кроме того, сервер может + добавлять собственные.

Content-Type
-
. , text/html, image/gif, - application/postscript application/x-tcl.
+
Тип документа. Например, text/html, image/gif, + application/postscript или application/x-tcl.
Content-Length
-
. , - - ::http::geturl, +
Объявленный размер документа. Реальный объем информации, + полученной с помощью команды + ::http::geturl, содержится в переменной state(size).
Location
-
.
+
Измененный адрес документа.
status
-
ok,reset - error. .
+
Возможные значения ok,reset или + error. Во время транзакции значение пустое.
totalsize
-
Content-Length.
+
Копия значения мета данных Content-Length.
type
-
Content-Type.
+
Копия значения мета данных Content-Type.
url
-

. :

+

Запрошенный адрес. Пример:

-	  #        
+	  # Копирование источника в файл и печать мета данных
 	  proc ::http::copy { url file {chunk 4096} } { 
-              set out [open $file w]
-              set token [geturl $url -channel $out -progress ::http::Progress \
-                  -blocksize $chunk]
-              close $out
-              #    , 
-              #  http::Progress
-              puts stderr ""
-              upvar #0 $token state
+              set out [open  w]
+              set token [geturl  -channel  -progress ::http::Progress                   -blocksize ]
+              close 
+              # Следующая команда завершает строку, начатую
+              # процедурой http::Progress
+              puts stderr 
+              upvar #0  state
               set max 0
-              foreach {name value} $state(meta) {
-                  if {[string length $name] > $max} { 
-                      set max [string length $name]
+              foreach {name value} (meta) {
+                  if {[string length ] > } { 
+                      set max [string length ]
 	          }
-	          if {[regexp -nocase ^location$ $name]} { 
-                      #    
-                      puts stderr "Location:$value" 
-	              return [copy [string trim $value] $file $chunk] 
+	          if {[regexp -nocase ^location$ ]} { 
+                      # Обработка перенаправления адреса 
+                      puts stderr Location: 
+	              return [copy [string trim ]  ] 
 	          }
 	      }
 	      incr max
-	      foreach {name value} $state(meta) { 
-	          puts [format "%-*s %s" $max $name: $value]
+	      foreach {name value} (meta) { 
+	          puts [format %-*s %s  : ]
 	      }
-	      return $token 
+	      return  
 	  }
 	  proc ::http::Progress {args} { 
 	      puts -nonewline stderr . ;
@@ -448,3 +447,4 @@
     
+ diff --git a/hlp/ru/tcl/SafeTcl.html b/hlp/ru/tcl/SafeTcl.html index 15b5004..ed78946 100644 --- a/hlp/ru/tcl/SafeTcl.html +++ b/hlp/ru/tcl/SafeTcl.html @@ -1,4 +1,4 @@ - + Safe Tcl @@ -7,442 +7,442 @@

Safe Tcl

-

- .

+

Механизм создания и управления безопасными + интерпретаторами.

-

+

СИНТАКСИС

-      ::safe::interpCreate ?slave? ?options...?
-      ::safe::interpInit slave ?options...?
-      ::safe::interpConfigure slave ?options...?
-      ::safe::interpDelete slave
-      ::safe::interpAddToAccessPath slave directory
-      ::safe::interpFindInAccessPath slave directory
-      ::safe::setLogCmd ?cmd arg...?
+      ::safe::interpCreate ?slave? ?options...?
+      ::safe::interpInit slave ?options...?
+      ::safe::interpConfigure slave ?options...?
+      ::safe::interpDelete slave
+      ::safe::interpAddToAccessPath slave directory
+      ::safe::interpFindInAccessPath slave directory
+      ::safe::setLogCmd ?cmd arg...?
     
-

+

ОПИСАНИЕ

-

Safe Tcl - - Tcl - .

+

Safe Tcl - это механизм безопасного исполнения + ненадежных Tcl скриптов и предоставления этим скриптам + опосредованного доступа к потенциально опасным функциям.

-

Safe Tcl , - : - - - .

+

Safe Tcl служит для того, чтобы ненадежные скрипты не + смогли нарушить работу вызывающего их приложения: он + предотвращает покушения на несанкционированный доступ к + информации и нарушение целостности вызывающего этот скрипт + процесса.

-

Safe Tcl - - - , - source, load, file exit - .

+

Safe Tcl позволяет интерпретатору-предку + создавать безопасные интерпретаторы с ограниченными + возможностями, в которых содержится набор предопределенных + синонимов для команд source, load, file и exit и сохраняются + возможности автозагрузки команд и пакетов.

-

- - , - - . - , . - - . - , , - .

+

Безопасный интерпретатор не позволяет получить какую-либо + информацию о структуре файловой системы, поскольку для доступа к + файлам в безопасном интерпретаторе используются специальные + метки. Когда безопасный интерпретатор запрашивает доступ к + файлу, он использует метку как часть виртуального имени файла. + Родительский интерпретатор заменяет метку на реальное имя + каталога и выполняет требуемую операцию с файлом. С помощью + опций команд, описанных ниже, можно выбрать требуемый уровень + безопасности интерпретатора.

-

- safe. ::safe::interpCreate - . - , . "".

+

Все команды для работы с безопасными интерпретаторами + содержатся в пространстве имен safe. Команда ::safe::interpCreate + создает безопасный интерпретатор. Возможные опции команды + описаны ниже, см. "Опции".

-

. ::safe::interpInit - , - , interp. ::safe::interpDelete - , - . ::safe::interpConfigure - - . - (. "").

+

Команда возвращает имя созданного интерпретатора. Команда ::safe::interpInit + аналогична, но ее первым аргументом должно быть имя + интерпретатора, созданного с помощью команды interp. Команда ::safe::interpDelete + удаляет интерпретатор, имя которого использовано в качестве + аргумента. Команда ::safe::interpConfigure позволяет задать + опции для безопасного интерпретатора или получить информацию + об заданных ранее опциях. Подробно опции описаны ниже + (см. "Опции").

-

, - ::safe::interpCreate - ::safe::interpInit - - - . - , - . - - , . - - (, source load), - - . - - . - . ::safe::interpConfigure - . - ::safe::interpAddToAccessPath - - . ::safe::interpFindInAccessPath - - . , - .

+

Для каждого безопасного интерпретатора, созданного с помощью + команды ::safe::interpCreate + или инициированного с помощью команды ::safe::interpInit + в родительском интерпретаторе создается список доступных + каталогов - виртуальный путь. Каждый каталог в пути связывается + с реальным каталогом локальной файловой системы и с меткой, + доступной в безопасном интерпретаторе. В результате надежный + интерпретатор обходится без сведений о реальной файловой системе + на машине, на которой исполняется интерпретатор. Когда в + надежном интерпретаторе используется метка для доступа к + конкретному файлу (например, для выполнения команды source или load), метка заменяется в + родительском интерпретаторе на настоящее имя каталога и + необходимый файл ищется в файловой системе. Надежный + интерпретатор не получает сведений о реальном имени файла в + файловой системе. Для работы с виртуальными именами файлов + предусмотрены специальные команды. Команда ::safe::interpConfigure + позволяет задавать новый виртуальный путь для интерпретатора. + Команда ::safe::interpAddToAccessPath позволяет + добавлять каталоги к виртуальному пути указанного безопасного + интерпретатора. Команда ::safe::interpFindInAccessPath позволяет + найти каталог в виртуальном пути для безопасного интерпретатора + и получить его метку. Если каталог не найден, выдается сообщение + об ошибке.

-

::safe::setLogCommand - , - . - - , .

+

Команда ::safe::setLogCommand позволяет задать + скрипт, который выполняется при каждом событии в безопасном + интерпретаторе. Этот скрипт вызывается с одним аргументом - + строкой, содержащей описание события.

-

+

СИНОНИМЫ

-

- - :

+

При создании безопасного интерпретатора в нем определяются + следующие команды - синонимы:

source fileName
-
source, - - . fileName - , - . - (. ""). +
Аналогична команде source, однако + позволяет работать только с файлами в виртуальном пути + безопасного интерпретатора. Имя файла fileName должно + содержать одну из меток, определенных для каталогов в + виртуальном пути. Допустимые имена файлов более подробно + описаны ниже (см. "Безопасность").
load fileName
-
(, - ) , - . - . , - . - - load. +
Требуемый файл (обычно, объектный файл из разделяемой + библиотеки) загружается в безопасный интерпретатор, если его + удается найти. Имя файла должно содержать одну из меток для + каталогов виртуального пути. Кроме того, разделяемый объектный + файл должен содержать безопасную точку входа. Подробности + приведены в описании команды + load.
file ?options?
-
file - file, : dirname, - join, - extension, - root, - tail, - pathname - split. - - file. +
Синоним команды file содержит + только безопасные подкоманды обычной команды file, а именно: dirname, + join, + extension, + root, + tail, + pathname и + split. + Назначение подкоманд приведено в + описании команды file.
exit
-
- , , - . +
При выполнении команды безопасный + интерпретатор удаляется, вычисления в нем прерываются, но + родительский интерпретатор продолжает существовать.
-

+

КОМАНДЫ

-

- :

+

В родительском интерпретаторе для работы с безопасными + интерпретаторами предусмотрены следующие команды:

-
::safe::interpCreate +
::safe::interpCreate ?slave? ?options...?
-
, - - , , - - (. ""). - slave , - . - . +
Создает безопасный интерпретатор, инициализирует в нем + команды - синонимы, описанные выше, и механизмы автозагрузки + команд и пакетов в соответствии с заданными опциями + (см. "Опции"). Если аргумент + slave отсутствует, имя интерпретатора формируется + автоматически. Команда всегда возвращает имя созданного + интерпретатора.
-
::safe::interpInit +
::safe::interpInit slave ?options...?
-
, - - , - ::interp create-safe. +
Команда аналогична предыдущей, однако интерпретатор должен + быть уже создан каким-либо иным способом, например с помощью + команды ::interp create-safe.
::safe::interpConfigure + name=safe::interpConfigure>::safe::interpConfigure slave ?options...?
-
, - . - ( . ""). +
Если опции не заданы, возвращает значения всех опций для + указанного безопасного интерпретатора. В противном случае + устанавливает указанные значения опций (подробнее см. "Опции").
-
+
::safe::interpDelete slave
-
- . - , - -deletehook, . - - . +
Удаляет безопасный интерпретатор и + вычищает в родительском интерпретаторе информацию о нем. Перед + удалением выполняется скрипт, заданный с помощью опции + -deletehook, если он был задан. К скрипту добавляется + дополнительный аргумент - имя удаляемого интерпретатора.
-
+
::safe::interpFindInAccessPath slave directory
-
, - directory. - , - . : +
Команда возвращает метку, которую можно использовать в + безопасном интерпретаторе для каталога directory. Если + в виртуальном пути нет такого каталога, возвращается сообщение + об ошибке. Пример использования команды:
-	  ###   
+	  ###Создание безопасного интерпретатора 
 	  ::safe::interpCreate qqq
-	  ###  tk_library   
-	  qqq eval [list set tk_library \
-	      [::safe::interpFindInAccessPath qqq $tk_library]] 
-	  ###  source   
-	  qqq eval source \$tk_library/msgbox.tcl
+	  ###Присваивание переменной tk_library метки соответствующего каталога
+	  qqq eval [list set tk_library 	      [::safe::interpFindInAccessPath qqq ]] 
+	  ###Выполнение команды source в безопасном интерпретаторе
+	  qqq eval source $tk_library/msgbox.tcl
 	
-
+
::safe::interpAddToAccessPath slave directory
-
- directory. - directory. - , - - . (. - ): +
Команда позволяет добавить к виртуальному пути указанного + безопасного интерпретатора каталог directory. Команда + возвращает значение метки для каталога directory. Если + каталог уже содержался в виртуальном пути, команда только + возвращает его метку и не добавляет его в виртуальный + путь. Пример использования команды (см. пример к предыдущей + команде):
-	  ::safe::interpAddToAccessPath qqq $my_lib 
-	  qqq eval source \$my_lib/\$my_file
+	  ::safe::interpAddToAccessPath qqq  
+	  qqq eval source $my_lib/$my_file
 	
-
+
::safe::setLogCmd ?cmd arg...?
-

, - , - . , - . - - - - . - - - , . - - , - . , - , - - ( - , , - ). :

+

Эта команда позволяет задать скрипт, который будет + выполняться при различных событиях, связанных с безопасными + интерпретаторами. Если команда вызвана без аргументов, то + она возвращает установленный ранее скрипт. Вызванная с одним + аргументом - пустой строкой - команда удаляет установленный + ранее скрипт и отменяет процесс журнализации. Установленный + скрипт выполняется с одним дополнительным аргументом - + строкой, описывающей событие. Основное назначение команды - + использование при отладке скриптов, выполняемых в безопасных + интерпретаторах. Используя ее, вы сможете получить полную + информацию об ошибке, в то время как безопасный + интерпретатор возвращает только обобщенное сообщение об + ошибке (это позволяет избежать разглашения в сообщении об + ошибке конфиденциальной информации, например, о реальных + именах файлов). Пример использования:

 	  ::safe::setLogCmd puts stderr
 	
-

, - , - . , - , - :

+

Ниже приведен журнал сессии, в которой безопасный + интерпретатор пытается прочитать файл, который не найден в + виртуальном пути. Обратите внимание, что сам безопасный + интерпретатор получает при этом только сообщение о том, что + файл не найден:

 	  NOTICE for slave interp10 : Created
 	  NOTICE for slave interp10 : Setting accessPath=(/foo/bar)
 	  staticsok=1 nestedok=0 deletehook=()
 	  NOTICE for slave interp10 : auto_path in interp10 has been
-	  set to {$p(:0:)}
+	  set to {(:0:)}
 	  ERROR for slave interp10 : /foo/bar/init.tcl: no such file
 	  or directory
 	
-

+

ОПЦИИ

-

::safe::interpCreate, - ::safe::interpInit, :safe::interpConfigure - . - . - , .

+

Для команд ::safe::interpCreate, + ::safe::interpInit, и :safe::interpConfigure + определены перечисленные ниже опции. Имена опций могут быть + сокращены до минимальных однозначных имен. Имена опций не + чувствительны к регистру, в котором они набраны.

-accessPath ?directoryList?
-
, - , - . , - , - . - . "".
+
Опция задает список каталогов, к которым может иметь доступ + безопасный интерпретатор, и возвращает метки соответствующих + каталогов. Если список не задан или если он пуст, безопасный + интерпретатор получает доступ к каталогам, используемым для + автозагрузки в родительском интерпретаторе. Подробнее + см. "Безопасность".
-noStatics
-
, - ( load {} Tk). - . +
Если эта опция задана, то не допускается загрузка статически + связанных пакетов (как load {} Tk). По умолчанию + загрузка таких пакетов разрешена.
-nestedLoadOk
-
, - . - . +
Если эта опция задана, безопасный интерпретатор может + загружать пакеты в собственные подинтерпретаторы. По умолчанию + загрузка пакетов в подинтерпретаторы запрещена.
-deleteHook ?script?
-
, - ( - - ) - . , - ( ) - - . .
+
Если скрипт задан, он выполняется в родительском + интерпретаторе (с дополнительным аргументом - именем + безопасного интерпретатора) перед удалением безопасного + интерпретатора. Если скрипт не задан, то удаляется заданный + ранее скрипт (если такой был) и никаких дополнительных + действий перед удалением безопасного интерпретатора не + производится. По умолчанию скрипт не задан.
-

+

БЕЗОПАСНОСТЬ

-

Save Tcl . , - , - - . , , - , - , - . , - , interp, source, load, exit - file. - - . - , - . - , - , . - - .

+

Save Tcl не дает полной гарантии безопасности. В частности, он + не защищает от атак на сервер, когда поглощаются все ресурсы + процессора и пользователь не может использовать компьютер для + полезной работы. Однако такие атаки считаются, как правило, + менее опасными, чем несанкционированный доступ к информации и + нарушение целостности, от которых безопасный интерпретатор + защищает. В безопасном интерпретаторе, помимо безопасного набора + команд, который описан в описании команды interp, имеются синонимы для команд source, load, exit и безопасное подмножество + подкоманд команды file. В + безопасном интерпретаторе возможна автозагрузка библиотек и + пакетов. Поскольку эти команды имеют дело с локальной файловой + системой, существует потенциальная опасность использования их + для доступа к конфиденциальной информации. Чтобы предотвратить + эту возможность, в безопасном интерпретаторе используются не + настоящие имена каталогов, а специальные метки. Эти метки + транслируются в реальные имена файлов только в родительском + интерпретаторе.

-

, - - , source - tcl, - , - .

+

Чтобы исключить доступ к файлам, которые оказались в силу тех + или иных причин в разрешенных для чтения в безопасном + интерпретаторе каталогах, синоним команды source обеспечивает + доступ только к файлам с расширением tcl, в именах которых + содержится ровно одна точка, а общая длина имени не превышает + четырнадцати символов.

-

Tcl auto_path - , - . - Tcl - tcl_library . - , - +

По умолчанию в Tcl переменной auto_path содержатся метки + для каталогов, содержащихся в аналогичной переменной в + родительском интерпретаторе и их непосредственных подкаталогов. + Первая метка в списке присваивается также Tcl переменной + tcl_library безопасного интерпретатора. Вы можете + сократить этот список, в явном виде задав доступные каталоги для + безопасного интерпретатора с помощью опции -accessPath.

-

Safe Tcl - - Tcl - .

+

Safe Tcl - это механизм безопасного исполнения + ненадежных Tcl скриптов и предоставления этим скриптам + опосредованного доступа к потенциально опасным функциям.

-

Safe Tcl , - : - - - .

+

Safe Tcl служит для того, чтобы ненадежные скрипты не + смогли нарушить работу вызывающего их приложения: он + предотвращает покушения на несанкционированный доступ к + информации и нарушение целостности вызывающего этот скрипт + процесса.

-

Safe Tcl - - , - - source, load, file exit - .

+

Safe Tcl позволяет интерпретатору-предку создавать + безопасные интерпретаторы с ограниченными возможностями, в + которых содержится набор предопределенных синонимов для команд + source, load, file и exit и сохраняются возможности + автозагрузки команд и пакетов.

-

- - , - - . - , . - - . - , , - .

+

Безопасный интерпретатор не позволяет получить какую-либо + информацию о структуре файловой системы, поскольку для доступа к + файлам в безопасном интерпретаторе используются специальные + метки. Когда безопасный интерпретатор запрашивает доступ к + файлу, он использует метку как часть виртуального имени файла. + Родительский интерпретатор заменяет метку на реальное имя + каталога и выполняет требуемую операцию с файлом. С помощью + опций команд, описанных ниже, можно выбрать требуемый уровень + безопасности интерпретатора.

-

- safe. - ::safe::interpCreate . - , . "".

+

Все команды для работы с безопасными интерпретаторами + содержатся в пространстве имен safe. Команда + ::safe::interpCreate создает безопасный интерпретатор. + Возможные опции команды описаны ниже, см. "Опции".

-

. - ::safe::interpInit , - , - interp.

+

Команда возвращает имя созданного интерпретатора. Команда + ::safe::interpInit аналогична, но ее первым аргументом + должно быть имя интерпретатора, созданного с помощью команды + interp.

-

::safe::interpDelete , - . - ::safe::interpConfigure - - . (. "").

+

Команда ::safe::interpDelete удаляет интерпретатор, имя + которого использовано в качестве аргумента. Команда + ::safe::interpConfigure позволяет задать опции для + безопасного интерпретатора или получить информацию об заданных + ранее опциях. Подробно опции описаны ниже (см. Опции).

-

, - ::safe::interpCreate - ::safe::interpInit - - - . - , - . - , - . - - (, source load), - - . - . - - . ::safe::interpConfigure - . - ::safe::interpAddToAccessPath - - . ::safe::interpFindInAccessPath - - . , - .

+

Для каждого безопасного интерпретатора, созданного с помощью + команды ::safe::interpCreate или инициированного с + помощью команды ::safe::interpInit в родительском + интерпретаторе создается список доступных каталогов - + виртуальный путь. Каждый каталог в пути связывается с реальным + каталогом локальной файловой системы и с меткой, доступной в + безопасном интерпретаторе. В результате надежный интерпретатор + обходится без сведений о реальной файловой системе на машине, на + которой исполняется интерпретатор. Когда в надежном + интерпретаторе используется метка для доступа к конкретному + файлу (например, для выполнения команды source или load), метка заменяется в родительском + интерпретаторе на настоящее имя каталога и необходимый файл + ищется в файловой системе. Надежный интерпретатор не получает + сведений о реальном имени файла в файловой системе. Для работы с + виртуальными именами файлов предусмотрены специальные + команды. Команда ::safe::interpConfigure позволяет + задавать новый виртуальный путь для интерпретатора. Команда + ::safe::interpAddToAccessPath позволяет добавлять + каталоги к виртуальному пути указанного безопасного + интерпретатора. Команда ::safe::interpFindInAccessPath + позволяет найти каталог в виртуальном пути для безопасного + интерпретатора и получить его метку. Если каталог не найден, + выдается сообщение об ошибке.

-

::safe::setLogCommand , - - . - - , .

+

Команда ::safe::setLogCommand позволяет задать скрипт, + который выполняется при каждом событии в безопасном + интерпретаторе. Этот скрипт вызывается с одним аргументом - + строкой, содержащей описание события.

+ diff --git a/hlp/ru/tcl/Tcl.html b/hlp/ru/tcl/Tcl.html index 6cfc34d..615899c 100644 --- a/hlp/ru/tcl/Tcl.html +++ b/hlp/ru/tcl/Tcl.html @@ -1,4 +1,4 @@ - + Tcl @@ -6,189 +6,191 @@

Tcl

-

.

+

Основные правила синтаксиса команд.

-

+

ОПИСАНИЕ

-

Tcl - .

+

Синтаксис и семантика языка Tcl определены описанным ниже + образом.

-

Tcl . - (;) - , - . - , - .

+

Скрипт на Tcl представляет собой одну или более команд. + Символы точки с запятой (;) и новой строки служат + разделителями команд, если не находятся между символами + кавычек. Закрывающие скобки служат окончанием тела команды при + подстановках команд, если не находятся между символами + кавычек.

-

. - Tcl - , . - . - , . , - . - , , - , , Tcl . - -.

+

Команда обрабатывается за два прохода. При первом проходе + интерпретатор Tcl разбивает команду на слова и выполняет + подстановки, как рассказано ниже. Эти подстановки выполняются + одинаково для всех команд. Первое слово считается именем + процедуры, которая исполняет команду. Когда процедура найдена, + ей передаются остальные слова команды. Процедура может + интерпретировать каждое из слов произвольным образом, например, + как число, имя переменной, список или Tcl скрипт. Разные + командные процедуры интерпретируют свои слова по-разному.

-

(, - ). .

+

Слова команд разделяются пробельными символами (пробел, + табуляция). Символ новой строки разделяет команды.

-

("), - . - , - ( ), - - . , - . - .

+

Если первый символ слова есть двойные кавычки ("), то слово + должно заканчиваться также на двойные кавычки. Если в промежутке + между знаками кавычек находятся точка с запятой, закрывающая + скобка или пробельные символы (включая символ новой строки), то + они будут поняты как обычные символы в составе + слова. Подстановки команд, переменных и подстановки с обратным + слэшем в таком слове описаны ниже. Двойные кавычки не являются + частью слова.

-

({), - - (}). - . - - . , - , - . - , - " - ". - - , , . - , - .

+

Если слово начинается с открывающей фигурной скобки ({), + то оно должно заканчиваться на парную ей закрывающую скобку + (}). Внутри фигурных скобок могут также содержаться + слова в фигурных скобках. При этом каждая открывающая фигурная + скобка должна иметь парную ей закрывающую фигурную + скобку. Однако, если открывающая или закрывающая фигурная скобка + отмечена обратным слэшем, то она не учитывается при поиске + парной скобки. Для символов между фигурными скобками не + выполняется никаких подстановок, за исключением описанной ниже + подстановки "обратный слэш - новая строка". Также не + приписывается никакого специального смысла символам точки с + запятой, новой строки, закрывающей скобки и пробела. Слово будет + состоять из символов между скобками, за исключением самих + скобок.

-

([), - Tcl . - Tcl, , - , Tcl. - - (]). (.., - ) - . - . , - .

+

Если слово содержит открывающую квадратную скобку ([), + то Tcl выполняет подстановку команды. Для этого он рекурсивно + вызывает интерпретатор Tcl, который обрабатывает символы, + следующие за скобкой, как скрипт Tcl. Скрипт может иметь любое + количество команд и должен оканчиваться закрывающей квадратной + скобкой (]). Результат выполнения скрипта (т.е., результат его + последней команды) подставляется в слово на место скобок и всех + символов между ними. В слове может быть любое количество + подстановок команд. Подстановки команд не выполняются в словах, + заключенных в фигурные скобки.

-

($), Tcl - : - . - :

+

Если слово содержит символ доллара ($), тогда Tcl + выполняет подстановку переменной: символ доллара и последующие + символы заменяются в слове на значение этой переменной. + Существует три способа подстановки переменной:

-      $name
+      
     
-

name - , - , , - .

+

Здесь name - имя скалярной переменной, оно заканчивается + любым символом, за исключением буквы, цифры или символа + подчеркивания.

-      $name(index)
+      (index)
     
-

name , index - - . name - , . - +

Здесь name есть имя массива данных, а index - имя + элемента внутри этого массива. name должен состоять + только из букв, цифр и символов подчеркивания. Все виды + подстановок выполняются по отношению к символам index.

-      ${name}
+      
     
-

name - , - , - . - . , - .

+

Здесь name - имя скалярной переменной, оно может + состоять из каких угодно символов, кроме закрывающей фигурной + скобки. В слове может быть любое количество подстановок + переменных. Подстановки переменных не выполняются для слов, + заключенных в фигурные скобки.

-

, - . , - , , - - . - , , - . - , - , - .

+

Если в слове есть символ обратного слэша, то выполняется + подстановка с обратным слэшем. Во всех случаях, кроме + перечисленных ниже, обратный слэш пропускается, а следующий за + ним символ обрабатывается как обычный символ и включается в + состав слова. Таким способом в слово можно включать такие + символы, как двойные кавычки, закрывающие скобки и символ + доллара без непреднамеренной специальной обработки. Ниже + перечислены последовательности символов, для которых подстановка + с обратным слэшем выполняется специальным образом, и + соответствующие подставляемые значения.

- - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - + - +
\a () (07).Звуковой сигнал (гудок) (0х7).
\b (08).Сдвиг на одну позицию влево (0х8).
\f (0xc). Прогон листа (0xc).
\n , newline (0). +Новая строка, newline (0ха).
\r (0d). Возврат каретки (0хd).
\t (09). Табуляция (0х9).
\v (0xb). Вертикальная табуляция (0xb).
\<newline> , - - . , - - , - . - , - , - , - - .\<newline>пробелОбратный слэш, символ новой строки и все пробелы и + табуляции после этого символа заменяются на одиночный + пробел. Данная последовательность уникальна в том смысле, + что она замещается в отдельном суб-проходе перед тем, как + начинается непосредственно анализ команды. Поэтому эта + последовательность будет замещена, даже если она стоит + между фигурными скобками, и результирующий пробел будет + интерпретироваться как разделитель слов, если только он + не будет стоять между фигурными скобками или + кавычками.
\\ (\).\Обратный слэш (\).
\ooo ooo (, ) - .Цифры ooo (одна, две или все три) дают + восьмеричное значение символа.
\xhh "hh" - . - .Шестнадцатеричное число hh дает шестнадцатеричное + значение символа. Может присутствовать любое количество + цифр.
-

, - , " - - ".

+

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

-

"#" , Tcl - , - - - . , - .

+

Если символ "#" будет стоять в том месте, где Tcl + предполагает первый символ первого слова команды, то этот символ + и все последующие символы до следующего символа новой строки + включительно истолковываются как комментарии и + игнорируются. Символ комментария действителен только тогда, + когда он стоит в начале команды.

-

- Tcl . , - , - ; - . , - - Tcl; - - .

+

При воссоздании слов команды каждый символ обрабатывается + интерпретатором Tcl только один раз. Например, если выполнялась + подстановка переменной, то в значении переменной никаких + подстановок не производится; значение вставляется в слово без + изменений. Если выполнялась подстановка команды, то вставленная + команда обрабатывается целиком посредством рекурсивного вызова + интерпретатора Tcl; не делается никаких подстановок перед + рекурсивным вызовом и не делается никаких дополнительных + подстановок в результат исполнения вставленного скрипта.

-

. - , - , - .

+

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

+ diff --git a/hlp/ru/tcl/after.html b/hlp/ru/tcl/after.html index 6c92c7a..d71df61 100644 --- a/hlp/ru/tcl/after.html +++ b/hlp/ru/tcl/after.html @@ -1,4 +1,4 @@ - + after @@ -6,110 +6,111 @@

after

-

after , - .

+

Команда after указывает, что некоторая команда должна + быть выполнена с задержкой по времени.

-      after ms 
-      after ms ?script script script...?
-      after cancel id
-      after cancel script script script...
-      after idle ?script script script...?
-      after info ?id?
+      after ms 
+      after ms ?script script script...?
+      after cancel id
+      after cancel script script script...
+      after idle ?script script script...?
+      after info ?id?
     
-

+

ОПИСАНИЕ

-

, - - . , - .

+

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

-
after ms
+
after ms
-
Ms - , . - - . - . +
Ms - целое число, задающее задержку в миллисекундах. + Команда обеспечивает задержку на соответствующее число + миллисекунд до своего завершения. Во время задержки приложение + не реагирует на события.
-
after ms +
after ms ?script script script...?
-
, - Tcl- script script - script . - . - - script , concat. - ( - - Tcl-). ( - ) bgerror. - after , - - after cancel. +
В этой форме команда завершается немедленно, но при этом + она обеспечивает выполнение Tcl-команды script script + script через соответствующее время. Команда выполняется + ровно один раз в установленный момент времени. Команда + формируется объединением всех перечисленных аргументов + script таким же образом, как при выполнении команды concat. Команда выполняется + на глобальном уровне (вне контекста какой-либо + Tcl-процедуры). Ошибки во время выполнения команды (если они + происходят) обрабатываются с помощью процедуры bgerror. Команда + after в этой форме возвращает идентификатор, который + может быть использован для отмены отложенной команды с помощью + команды after cancel.
-
after cancel +
after cancel id
-
. - Id , . - id , - after. - , after cancel . +
Отменяет исполнение ранее заявленной отложенной команды. + Id определяет, какая именно команда будет отменена. + Значение id должно совпадать со значением, возвращенным + предыдущей командой after. Если соответствующая команда + уже выполнена, команда after cancel игнорируется.
-
after +
after cancel script script...
-
- . script - , - concat. - . - , . - after cancel . +
Эта команда также отменяет выполнение ранее заявленной + отложенной команды. Все перечисленные скрипты script + объединяются через пробел таким же образом, как при выполнении + команды concat. После + чего ищется отложенная команда с аналогичным скриптом. Если + такая команда будет найдена, ее исполнение будет отменено. В + противном случае команда after cancel игнорируется.
-
after idle script +
after idle script ?script script...?
-
- , concat. - Tcl . - , - . after idle - , - . - ( ) bgerror. +
Все перечисленные скрипты объединяются через пробел таким + же образом, как при выполнении команды concat. Сформированная таким + образом Tcl команда выполняется позже. Она выполняется ровно + один раз в первом цикле обработчика событий, в котором не + будет других необработанных событий. Команда after idle + возвращает идентификатор, который может быть использован для + отмены отложенной команды. Ошибки во время выполнения команды + (если они происходят) обрабатываются с помощью процедуры bgerror.
-
after info ?id?
+
after info ?id?
-
- . id , - . - id - , , - . - - Tcl- , - idle - timer , - . +
Эта команда используется для получения информации об + отложенных командах. Если аргумент id отсутствует , то + возвращает список идентификаторов отложенных команд. Если + аргумент id указан и соответствует идентификатору + отложенной команды, которая не отменена и еще не выполнена, + возвращается список из двух элементов. Первый элемент списка + - Tcl-скрипт соответствующей команды, второй - idle + или timer в зависимости от того, по какому событию + предполагается вызов команды.
-

after ms after idle , - . - , - . , , - tclsh, - vwait update.

+

Команды after ms и after idle предполагают, что + приложение управляется событиями. Отложенные команды не + выполняются, если в приложении не активизирован цикл обработки + событий. В приложениях, в которых он обычно не активизирован, + таких как tclsh, цикл обработки событий может быть + активизирован с помощью команд vwait и update.

+ diff --git a/hlp/ru/tcl/append.html b/hlp/ru/tcl/append.html index 396b494..3be0a96 100644 --- a/hlp/ru/tcl/append.html +++ b/hlp/ru/tcl/append.html @@ -1,4 +1,4 @@ - + append @@ -7,23 +7,24 @@

append

-

.

+

Команда дописывает значения аргументов к значению переменной.

       append varName ?value value value...?
     
-

+

ОПИСАНИЕ

-

append value - varName. - , , - value. - . - a , - append a $b , - set a $a$b. +

Команда append добавляет все аргументы value к + значению переменной varName. Если такой переменной не + было, она будет создана, и ее значение будет равно соединению + значений аргументов value. Эта команда предоставляет + удобный способ постепенного наращивания длинных переменных. + Если переменная a содержит длинное значение, то команда + append a выполняется значительно быстрее, чем + set a .

+ diff --git a/hlp/ru/tcl/array.html b/hlp/ru/tcl/array.html index a880121..6e59c68 100644 --- a/hlp/ru/tcl/array.html +++ b/hlp/ru/tcl/array.html @@ -1,4 +1,4 @@ - + array @@ -8,143 +8,144 @@
       array option arrayName ?arg arg...?
-      array anymore arrayName searchId
-      array donesearch arrayName searchId
-      array exists arrayName
-      array get arrayName ?pattern?
-      array names arrayName ?pattern?
-      array nextelement arrayName searchId
-      array set arrayName list
-      array size arrayName
-      array startsearch arrayName
+      array anymore arrayName searchId
+      array donesearch arrayName searchId
+      array exists arrayName
+      array get arrayName ?pattern?
+      array names arrayName ?pattern?
+      array nextelement arrayName searchId
+      array set arrayName list
+      array size arrayName
+      array startsearch arrayName
     
-

+

ОПИСАНИЕ

-

- . , - arrayName . - option . - .

+

Эта команда предназначена для выполнения перечисленных ниже + операций с массивами. Если иное не оговорено специально, + arrayName должно быть именем существующего массива. + Аргумент option определяет конкретную операцию. Для + команды определены перечисленные ниже опции.

-
array anymore +
array anymore arrayName searchId
-
1 (. - ) , 0 - . SearchId , - ( searchId - array startsearch). - , - , array - nextelement , - . +
Возвращает 1 если при выполнении команды поиска (см. + ниже) остались невыбранные элементы массива, и 0 в + противном случае. SearchId указывает операцию поиска, + информация о которой запрашивается (величина searchId + возвращается при выполнении команды array startsearch). Эта + опция особенно удобна, если массив содержит элемент с пустым + именем, поскольку команда array + nextelement не позволяет в таком случае определить, + закончен ли поиск.
-
array +
array donesearch arrayName searchId
-
- . SearchId - , ( - searchId array - startsearch). . +
Команда прерывает поиск элементов массива и удаляет всю + связанную с поиском информацию. SearchId указывает + операцию поиска, информация о которой удаляется (величина + searchId возвращается при выполнении команды array + startsearch). Команда возвращает пустую строку.
-
array exists +
array exists arrayName
-
1, arrayName - , 0, - . +
Возвращает 1, если arrayName есть имя + массива, и 0, если такой переменной не существует + или она является скалярной переменной.
-
array get +
array get arrayName ?pattern?
-
, . - - arrayName, - - . - . , - . , - , - ( , glob). arrayName - - , . +
Возвращает список, содержащий пары элементов. Первый + элемент пары - имя элемента массива arrayName, второй + элемент пары - значение этого элемента. Порядок пар не + определен. Если шаблон не задан, то все элементы массива будут + включены в результат. Если шаблон задан, то в результат будут + включены только те элементы, чьи имена соответствуют шаблону + (используя те же правила, что и в команде glob). Если arrayName + не является переменной массива или массив не содержит + элементов, то возвращается пустой список.
-
array names +
array names arrayName ?pattern?
-
, , - ( , - glob). - , . - , - arrayName , - . +
Возвращает список, содержащий имена всех элементов массива, + соответствующих шаблону (используя те же правила, что и в + команде glob). Если шаблона + нет, то команда возвращает имена всех элементов массива. Если + в массиве нет элементов, соответствующих шаблону или + arrayName не является именем переменной массива, то + возвращается пустая строка.
-
array +
array nextelement arrayName searchId
-
- arrayName, , - . SearchId , - ( searchId - array - startsearch). : - , - , - array donesearch. - , array - nextelement . +
Возвращает имя следующего элемента массива + arrayName, или пустую строку, если все элементы массива + уже возвращены. SearchId указывает операцию поиска, + (величина searchId возвращается при выполнении команды + array + startsearch). Предупреждение: если в массив внесен + новый элемент или из массива удален один из элементов, то все + операции поиска в этом массиве автоматически заканчиваются, + как если бы была выполнена команда array donesearch. + Соответственно, попытка выполнить после этого команду array + nextelement приведет к ошибке.
-
array set +
array set arrayName list
-
- arrayName. list - , , array get, - . - - arrayName, - - . +
Устанавливает значение одного или нескольких элементов + массива arrayName. Список list должен иметь + такую же структуру, как список, возвращаемый командой array get, то есть + состоять из четного числа элементов. Все нечетные элементы + списка рассматриваются как имена элементов массива + arrayName, а следующие за ними четные элементы - как новые + значения соответствующих элементов.
-
array size +
array size arrayName
-
, , - . - arrayName , +
Возвращает строку, содержащую десятичное число, равное + количеству элементов указанного массива. Если + arrayName не является именем массива, возвращается 0.
-
array +
array startsearch arrayName
-
- . - array nextelement. - array - donesearch. array startsearch - , - array - nextelement array - donesearch. - - . +
Эта команда инициализирует процесс поиска элементов + указанного массива. После этого имя каждого следующего + элемента массива можно получить с помощью команды array nextelement. По + завершении поиска необходимо выполнить команду array + donesearch. Команда array startsearch возвращает + идентификатор процесса поиска, который должен использоваться в + командах array + nextelement и array + donesearch. Благодаря этому механизму возможно + проведение нескольких процессов поиска элементов одного и того + же массива одновременно.
+ diff --git a/hlp/ru/tcl/bell.html b/hlp/ru/tcl/bell.html index 15eed96..76aec5c 100644 --- a/hlp/ru/tcl/bell.html +++ b/hlp/ru/tcl/bell.html @@ -1,14 +1,14 @@ Bell

bell

- . -

+Команда подает звуковой сигнал. +

СИНТАКСИС

bell -displayof window -

-

'bell'  - window. - -, . - - (screen-saver), .

-

-

\ No newline at end of file +

ОПИСАНИЕ +

Команда 'bell'  +подает сигнал громкоговорителем дисплея для window. +Если этот аргумент не +задан, то по умолчанию используется дисплей главного окна приложения. В +некоторых случаях команда гасит работающий в данный момент хранитель +экрана (screen-saver), и окно снова становится видимым.

+

ПРИМЕР +

diff --git a/hlp/ru/tcl/bgerror.html b/hlp/ru/tcl/bgerror.html index dbbed2d..8cc3698 100644 --- a/hlp/ru/tcl/bgerror.html +++ b/hlp/ru/tcl/bgerror.html @@ -1,4 +1,4 @@ - + bgerror @@ -6,59 +6,60 @@

bgerror

-

bgerror - .

+

Команда bgerror предназначена для обработки фоновых + ошибок.

-      bgerror 
+      bgerror сообщение
     
-

+

ОПИСАНИЕ

-

Tcl bgerror. - , - - bgerror, , Tcl-.

+

В Tcl нет встроенной команды bgerror. Если в приложении + тем не менее необходимо обрабатывать фоновые ошибки, + пользователь может определить собственную команду + bgerror, например, как Tcl-процедуру.

-

- , - . , - , - after. - , - . - - . - - .

+

Фоновые ошибки - это ошибки в командах, которые не вызваны + непосредственно из приложения. Например, фоновыми являются + ошибки в командах, вызванных с помощью конструкции + after. Для нефоновых ошибок + сообщение об ошибке возвращается через вложенные вызовы команд, + пока не достигнет верхнего уровня приложения. После этого + приложение выдает сообщение об ошибке в одной из команд верхнего + уровня. При фоновой ошибке подобный процесс не достигает команд + верхнего уровня и формирование сообщения об ошибке оказывается + затруднительным.

-

Tcl , - bgerror - . bgerror - errorInfo errorCode, - . - bgerror - . - , - bgerror - . bgerror - , .

+

Когда Tcl обнаруживает фоновую ошибку, он сохраняет информацию + об ошибке и вызывает команду bgerror с помощью + обработчика событий. Перед вызовом bgerror + восстанавливаются значения переменных errorInfo и errorCode, которые были при + обнаружении ошибки. После этого вызывается команда + bgerror с единственным аргументом - сообщением об ошибке. + Предполагается, что в приложении определена команда + bgerror и что она выдает сообщение об ошибке надлежащим + образом. Если при выполнении команды bgerror не произошло + новой ошибки, возвращаемый ею результат игнорируется.

-

bgerror - (, ), - .

+

Если при исполнении команды bgerror произошла новая + ошибка (например, если эта команда не существует), сообщение об + ошибке поступает в канал вывода ошибок.

-

bgerror - , , , - . , - bgerror break (. - return), - .

+

Если до вызова обработчиком событий команды bgerror + произошло несколько фоновых ошибок, то, как правило, команда + будет вызвана для каждой из обнаруженных ошибок. Однако, если + сама команда bgerror возвращает код break (см. описание + команды return), + последующие ее вызовы пропускаются.

-

Tcl- bgerror - . , Tk- - bgerror, - , , - .

+

В чисто Tcl-приложениях команда bgerror не + реализована. Однако, в Tk-приложениях определена процедура + bgerror, которая выводит сообщение об ошибке в диалоговое + окно и позволяет пользователю просмотреть стек, описывающий, где + именно эта ошибка произошла.

+ diff --git a/hlp/ru/tcl/binary.html b/hlp/ru/tcl/binary.html index 5076e00..c14f1af 100644 --- a/hlp/ru/tcl/binary.html +++ b/hlp/ru/tcl/binary.html @@ -1,4 +1,4 @@ - + binary @@ -7,95 +7,71 @@

binary

-

.

+

Команда вставляет и извлекает поля из двоичных строк.

       binary format formatString ?arg arg...?
       binary scan string formatString ?varName varName...?
     
-

+

ОПИСАНИЕ

-

binary - . - Tcl- arg - . , 16 22, - 8- , - 4- , 16 - 22. , - - Tcl .

+

Команда binary предоставляет средства для + манипулирования двоичными данными. Первая из форм команды + конвертирует обычные Tcl-значения arg в двоичное + число. Например, вызванная с аргументами 16 и 22, + она вернет 8-байтовое двоичную строку, состоящую из двух + 4-байтовых чисел, представляющих соответственно 16 и + 22. Вторая форма команды выполняет обратное действие, + она извлекает из двоичной строки данные и возвращает их как + обычные Tcl строки.

-
binary format
+
binary format
-

binary format - , formatString. - - arg. - .

+

Команда binary format создает двоичную строку по + правилам, заданным с помощью шаблона formatString. + Содержание этой строки задается дополнительными аргументами + arg. Команда возвращает сформированную двоичную + строку.

-

formatString - , - . - , - count. , - arg - . - (). count - - arg. , count - . count - *, , - . arg - , - , .

+

Шаблон formatString содержит последовательность из + нуля или более спецификаторов преобразования, разделенных + одним или более пробелами. Каждый спецификатор + преобразования состоит из буквы, за которой может следовать + число count. Как правило, спецификатор использует один из + аргументов arg чтобы получить величину для + форматирования. Буква в спецификаторе указывает тип + преобразования (форматирования). Число count обычно + указывает сколько объектов для форматирования выбирается из + значения arg. Соответственно, count должно + быть неотрицательным десятичным числом. Если значение count + равно *, это обычно указывает, что надо использовать все + значение аргумента. Если число аргументов arg не + соответствует числу спецификаторов, требующих для себя + дополнительного аргумента, выдается ошибка.

-

- . , - () - .

+

Обычно результат каждого нового преобразования дописывается + в конец возвращаемой строки. Однако, с помощью специальных + спецификаторов точку ввода нового значения (курсор) можно + передвигать по формируемой строке.

-

- .

+

Ниже приведены допустимые значения спецификаторов + преобразований и описаны соответствующие преобразования.

a ?count?
-

count - arg. arg - count , - . arg count - , "" . - count *, - arg. count , - . ,

+

Передает в выходную строку count символов из + соответствующего аргумента arg. Если в arg + содержится меньше count байт, добавляются нулевые + байты. Если в arg содержится больше count + байт, "лишние" байты игнорируются. Если + count равно *, используются все байты из + arg. Если count отсутствует, используется + один байт. Например, команда

 	      binary format a7a*a alpha bravo charlie
 	    
-

, alpha\000\000bravoc.

-
- -
A ?count?
- -

, a, , - , - . ,

-
-	      binary format A6A*A alpha bravo charlie
-	    
-

alpha bravoc.

-
- -
b ?count?
- -

count - . arg - . - , - . , - . . - - , . - \ No newline at end of file +

вернет строку, эквивалентную alpha diff --git a/hlp/ru/tcl/break.html b/hlp/ru/tcl/break.html index a2f8122..1e9a6f7 100644 --- a/hlp/ru/tcl/break.html +++ b/hlp/ru/tcl/break.html @@ -1,4 +1,4 @@ - + break @@ -7,24 +7,25 @@

break

-

.

+

Команда прекращает выполнение цикла.

       break
     
-

+

ОПИСАНИЕ

-

, - for, foreach while. - TCL_BREAK, - . ( - ) . TCL_BREAK - - - catch, - . +

Обычно данная команда помещается внутрь цикла, например + созданного командами for, foreach или while. Команда возвращает код + TCL_BREAK, который вызывает завершение исполнения наименьшего + охватывающего ее цикла. Цикл завершается нормальным образом (без + ошибки) как если бы он отработал до конца. Код TCL_BREAK + обрабатывается также в некоторых других ситуация - при + исполнении команды catch, + при обработке событий и в скрипте самого верхнего уровня.

+ diff --git a/hlp/ru/tcl/case.html b/hlp/ru/tcl/case.html index 88ab730..f512450 100644 --- a/hlp/ru/tcl/case.html +++ b/hlp/ru/tcl/case.html @@ -1,4 +1,4 @@ - + case @@ -7,53 +7,54 @@

case

-

case - .

+

Команда case исполняет один из нескольких скриптов в + зависимости от полученного значения.

       case string ?in? patList body ?patList body...?
       case string ?in? {patList body ?patList body...?}
     
-

+

ОПИСАНИЕ

-

. case - , - . - . - switch. +

Замечание. Команда case - устаревшая, она поддерживается + только для совместимости с предыдущими версиями. В последующих + версиях она может быть опущена. Поэтому предпочтительнее + использование команды switch.

-

string - patList . patList - () . - string , case - Tcl, - body - . - patList . - , string match. - , default. - , string - .

+

Команда сравнивает string со всеми аргументами + patList по очереди. Каждый аргумент patList + представляет собой один или несколько (список) образцов. Если + string соответствует одному из образцов, то case + рекурсивно вызывает интерпретатор Tcl, передает ему следующий за + этим списком образцов скрипт body для выполнения и + возвращает результат этого выполнения. Каждый аргумент + patList состоит из одного или нескольких образцов. Каждый + образец может содержать спецсимволы, как в команде string match. Кроме + того, есть специальный образец default. Соответствующий + ему скрипт выполняется, если string не соответствует + никакому другому образцу.

-

string , - default , case - .

+

Если string не соответствует ни одному из образцов, а + образец default не используется, то case вернет + пустую строку.

-

patList - body. - . , - - . - , - , . - , - - . - - - . , - , -. +

У команды есть две формы записи для аргументов patList и + body. Первая использует отдельные аргументы для каждого + шаблона и команды. Эта форма более удобна, если в образцах или + командах желательно выполнить какие-либо подстановки. Во второй + форме все шаблоны и команды объединены в один аргумент, который + должен быть списком, состоящим из шаблонов и команд. Вторая + форма позволяет проще записывать многострочные команды, + поскольку при этом фигурные скобки вокруг списка позволяют не + ставить обратный слэш в конце каждой строки. Однако из-за этих + фигурных скобок подстановки в шаблонах и командах не + производятся. Поэтому одна и та же команда, записанная в + различных формах, может работать по-разному. + diff --git a/hlp/ru/tcl/catch.html b/hlp/ru/tcl/catch.html index 320c369..88282c8 100644 --- a/hlp/ru/tcl/catch.html +++ b/hlp/ru/tcl/catch.html @@ -1,4 +1,4 @@ - + catch @@ -7,33 +7,34 @@

catch

-

, - .

+

Команда выполняет скрипт и обрабатывает ошибки, если они + возникают.

       catch script ?varName?
     
-

+

ОПИСАНИЕ

-

, - . - script catch - Tcl TCL_OK, - - script .

+

Данную команду можно использовать для того, чтобы не дать + возникшим ошибкам прекратить процесс интерпретации команд. Для + исполнения скрипта script команда catch рекурсивно + вызывает интерпретатор Tcl и всегда возвращает код TCL_OK, + независимо от возможно возникших при исполнении скрипта + script ошибок.

-

catch , - , Tcl- . - , - 0 (TCL_OK). , - (. tcl.h). - varName, , - , ( - ). catch - , break continue. +

Команда catch возвращает десятичную строку, содержащую + код, возвращаемый Tcl-интерпретатором по исполнению скрипта. + Если при исполнении скрипта не возникло ошибок, возвращается код + 0 (TCL_OK). В противном случае возвращается ненулевое значение, + соответствующее коду прерывания (см. файл tcl.h). Если задан + аргумент varName, он определяет имя переменной, которой + присваивается значение, возвращаемое скриптом (результат + выполнения или сообщение об ошибке). Команда catch + обрабатывает все прерывания, в том числе от команд break и continue.

+ diff --git a/hlp/ru/tcl/cd.html b/hlp/ru/tcl/cd.html index bd367c3..4c0b07a 100644 --- a/hlp/ru/tcl/cd.html +++ b/hlp/ru/tcl/cd.html @@ -1,4 +1,4 @@ - + cd @@ -7,20 +7,21 @@

cd

-

.

+

Команда предназначена для перехода в другой каталог.

-

+

СИНТАКСИС

       cd dirName
     
-

+

ОПИСАНИЕ

-

dirName, , - dirName , , - HOME. .

+

Команда делает текущим каталогом каталог dirName, или, + если параметр dirName не указан, каталог, заданный в + переменной окружения HOME. Команда возвращает пустую строку.

-

+

ПРИМЕР

+ diff --git a/hlp/ru/tcl/clock.html b/hlp/ru/tcl/clock.html index 70bf299..4343ded 100644 --- a/hlp/ru/tcl/clock.html +++ b/hlp/ru/tcl/clock.html @@ -1,4 +1,4 @@ - + clock @@ -7,250 +7,250 @@

clock

-

clock - .

+

С помощью команды clock можно получить и преобразовать + значение времени.

       clock option ?arg arg...?
     
-

+

ОПИСАНИЕ

-

, - - , . - option , - ( ): +

Команда выполняет одно из перечисленных ниже действий, с + помощью которых можно получить и преобразовать строки или + значения, являющиеся той или иной формой записи времени. + Параметр option определяет выполняемое командой действие, + одно из следующего списка (параметр может быть сокращен):

clock clicks
-
, - . - - , , . - - . +
Возвращает целое число, с высокой точностью представляющее + машинное время. Единица измерения зависит от операционной + системы и компьютера и представляет собой минимальную + доступную величину, например, счетчик циклов процессора. Эта + величина может использоваться только для относительного + измерения пройденного времени.
clock format clockValue ?-format string? ?-gmt boolean?
-

, clock - seconds, clock scan file atime, file mtime file - ctime . - -format, - , - . , - % . - . - .

+

Переводит целое число, возвращаемое командами clock + seconds, clock scan или командами file atime, file mtime и file + ctime в удобочитаемую форму. Если в команде + присутствует аргумент -format, следующий аргумент + должен быть строкой, описывающей формат представления + времени. Строка состоит из описаний полей, состоящих из + символа % и буквы. Все остальные символы в строке + просто копируются в результат. Ниже перечислены допустимые + описания полей.

- + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - +
%% %вставляет %
%a (Mon, Tue, etc.).сокращенное название дня недели (Mon, Tue, etc.).
%A (Monday, Tuesday, etc.).полное название дня недели (Monday, Tuesday, etc.).
%b (Jan, Feb, etc.).сокращенное название месяца (Jan, Feb, etc.).
%B .полное название месяца.
%c .локальные дата и время.
%d (01 - 31).день месяца (01 - 31).
%H (00 - 23).часы в двадцатичетырехчасовом формате (00 - 23).
%I (00 - 12).часы в двенадцатичасовом формате (00 - 12).
%j (001 - 366).день года (001 - 366).
%m (01 - 12).номер месяца (01 - 12).
%M (00 - 59).минуты (00 - 59).
%pAM/PM (/ ).AM/PM индикатор (до/после полудня).
%S (00 - 59).секунды (00 - 59).
%U (01 - 52), - - .неделя года (01 - 52), Воскресенье - первый день + недели.
%w ( = 0).номер дня недели (Воскресенье = 0).
%W (01 - 52), - .неделя года (01 - 52), Понедельник первый день + недели.
%x .локальный формат даты.
%X .локальный формат времени.
%y (00 - 99).год без столетия (00 - 99).
%Y (, 1990)год со столетием (например, 1990)
%Z .имя часового пояса.
, - Кроме того, в некоторых операционных + системах могут поддерживаться
%D %m/%d/%y.дата в формате %m/%d/%y.
%e (1 - 31), .день месяца (1 - 31), без нулей впереди.
%h .сокращенное имя месяца.
%n .новая строка.
%r %I:%M:%S %p.время в формате %I:%M:%S %p.
%R %H:%M.время в формате %H:%M.
%t.табуляция.
%T %H:%M:%S.время в формате %H:%M:%S.
-

-format , - %a %b %d %H:%M:%S %Z %Y. - -gmt, - . true , - , false , - , - .

+

Если аргумент -format не задан, используется + формат %a %b %d %H:%M:%S %Z %Y. Если задан аргумент + -gmt, следующий аргумент должен быть булевой + величиной. Значение true означает, что используется время по + Гринвичу, значение false означает, что используется время по + локальному часовому поясу, который задан для операционной + системы.

-
clock scan +
clock scan dateString ?-base clockVal? ?-gmt boolean?
-

dateString (. clock seconds). - , - / , - . , - . , - ( - -gmt true. , - ).

+

Переводит дату dateString в целое число (см. clock seconds). + Команда может перевести в число любую стандартную строку, + содержащую время и/или дату, включая название часового + пояса. Если строка содержит только время, предполагается + текущая дата. Если название часового пояса не указано, + предполагается локальный часовой пояс (если значение опции + -gmt не равно true. В этом случае предполагается, что + время задано по Гринвичу).

-

-base, - . - - . - .

+

Если в команде указан флаг -base, следующий аргумент + должен содержать время в виде целого числа. По этому числу + определяется дата и используется вместо указанной в строке + или текущей. Такая возможность полезна при необходимости + перевести в целое число время на заданную дату.

-

dateString - :

+

Аргумент dateString должен состоять из одной или + более спецификаций следующих видов:

- - - @@ -258,24 +258,25 @@
time : hh?:mm?:ss?? - ?meridian? ?zone? - hhmm?meridian? ?zone?, - meridian - AM PM, zone - - . meridian - , hh - . + Время суток в форме: hh?:mm?:ss?? + ?meridian? ?zone? или в форме + hhmm?meridian? ?zone?, где + meridian - индикатор AM или PM, zone - + имя часового пояса. Если индикатор meridian не + определен, hh считается числом часов в + двадцатичетырехчасовом формате.
date , , , . + Месяц, день и, возможно, год. Допустимые форматы mm/dd?/yy?, monthname dd?, yy?, - dd monthname?yy? day, dd monthname - yy. . - 100, 00-38 - 2000-2038, 70-99 - 1970-1999. 39-70 - . - , , - 1939-1999. + dd monthname?yy? и day, dd monthname + yy. По умолчанию год считается текущим годом. Если + год меньше 100, то года 00-38 считаются годами в + диапазоне 2000-2038, а года 70-99 считаются годами в + диапазоне 1970-1999. Года 39-70 могут быть + недопустимыми на некоторых платформах. Для тех + платформ, для которых они определены, они считаются + годами в диапазоне 1939-1999.
relative time . - - . + Время относительно текущего момента. Формат - число + единица измерения. Возможные единицы измерения year, fortnight, month, week, day, hour, - minute( min), second ( - sec). - , 3 weeks. , - : tomorrow, + minute(или min), и second (или + sec). Единицы измерения могут указываться во + множественном числе, например 3 weeks. Кроме того, + могут использоваться модификаторы: tomorrow, yesterday, today, now, last, this, next, ago.
-

. - / , - . , - . - . , - ( ) , , - . - , - .

+

Реальная дата вычисляется в следующей последовательности. + Сначала определяется абсолютная дата и/или время, которые + переводятся в целое число. Это число используется как базис, + к которому добавляется заданный день недели. Далее + используется относительное время. Если задана дата, а время + (абсолютное или относительное) отсутствует, считается, что + это полночь. И последним шагом производится коррекция + вычисленной даты, при которой учитываются летнее время и + число дней в различных месяцах.

-
clock seconds
+
clock seconds
-
- "". - . "" - . +
Возвращает время в секундах от начала + "эпохи". Может использоваться для вычисления + разности времен. "Эпоха" зависит от используемой + операционной системы и компьютера.
+ diff --git a/hlp/ru/tcl/close.html b/hlp/ru/tcl/close.html index 2919021..edccdba 100644 --- a/hlp/ru/tcl/close.html +++ b/hlp/ru/tcl/close.html @@ -1,4 +1,4 @@ - + close @@ -6,50 +6,51 @@

close

-

.

+

Команда закрывает открытый канал.

       close channelId
     
-

+

ОПИСАНИЕ

-

close , - channelId. - channelId open socket - .

+

Команда close закрывает канал, идентификатор которого + задан аргументом channelId. Идентификатор + channelId возвращается командами open и socket при открытии + канала.

-

- , - , . - .

+

Команда отправляет все накопившиеся в выходном буфере данные на + выходное устройство канала, удаляет все данные во входном + буфере, закрывает назначенное каналу устройство или файл. Доступ + к каналу прекращается.

-

- . - , - . - , - . .

+

Для каналов в блокирующем и неблокирующем режимах действие + команды несколько различно. Если канал находится в блокирующем + режиме, команда завершается только после завершения вывода + данных из буфера. В противном случае команда завершается + немедленно, а вывод данных из буфера производится в фоновом + режиме. Канал закрывается после завершения вывода.

-

, - close - .

+

Если канал в блокирующем режиме открыт для конвейера, команда + close завершается после завершения порожденного + процесса.

-

- , channelId - , - , - . - , , - . - - interp. +

Если канал совместно используется несколькими + интерпретаторами, то команда делает канал channelId + недоступным в вызвавшем команду интерпретаторе, но не оказывает + никакого другого действия на канал, пока все использующие канал + интерпретаторы не закроют его. При выполнении команды в + последнем из интерпретаторов, использовавших его, выполняются + описанные выше действия. Подробности совместного использования + канала несколькими интерпретаторами приведены в описании + команды interp.

-

close . - , . +

Команда close возвращает пустую строку. Она может + порождать ошибку, если при выводе данных произошла ошибка.

+ diff --git a/hlp/ru/tcl/concat.html b/hlp/ru/tcl/concat.html index 931d4a4..e5c7c12 100644 --- a/hlp/ru/tcl/concat.html +++ b/hlp/ru/tcl/concat.html @@ -1,4 +1,4 @@ - + concat @@ -7,32 +7,33 @@

concat

-

.

+

Команда соединяет списки в один общий список.

-

+

СИНТАКСИС

       concat ?arg arg...?
     
-

+

ОПИСАНИЕ

-

arg , concat - . - arg, - . . , - +

Аргументы arg считаются списками, команда concat + объединяет их в один общий список. При этом она удаляет пробелы + в начале и конце arg, и вставляет по одному пробелу между + ними. Команда допускает произвольное число аргументов. Например, + команда

       concat a b {c d e} {f {g h}}
     
-

+

возвращает список

       a b c d e f {g h}
     
-

, - .

+

Если не задано никаких аргументов, то команда возвращает + пустую строку.

+ diff --git a/hlp/ru/tcl/continue.html b/hlp/ru/tcl/continue.html index d6b5a04..6635d60 100644 --- a/hlp/ru/tcl/continue.html +++ b/hlp/ru/tcl/continue.html @@ -1,4 +1,4 @@ - + continue @@ -7,26 +7,27 @@

continue

-

continue - .

+

Команда continue прекращает выполнение текущего шага + цикла.

       continue
     
-

+

ОПИСАНИЕ

-

, , - for, foreach while. - TCL_CONTINUE, - . - , - . TCL_CONTINUE - - catch - . +

Обычно данная команда помещается внутрь цикла, например, + созданного командами for, foreach или while. Команда возвращает код + TCL_CONTINUE, который вызывает завершение текущей + итерации наименьшего охватывающего ее цикла. Управление + возвращается команде цикла, которая начинает следующий шаг + цикла. Код TCL_CONTINUE обрабатывается также в некоторых + других ситуациях - при исполнении команды catch и в скрипте самого + верхнего уровня.

+ diff --git a/hlp/ru/tcl/eof.html b/hlp/ru/tcl/eof.html index 3ed754f..eae34c3 100644 --- a/hlp/ru/tcl/eof.html +++ b/hlp/ru/tcl/eof.html @@ -1,4 +1,4 @@ - + eof @@ -7,20 +7,21 @@

eof

-

.

+

Команда проверяет в канале условие конца файла.

-

+

СИНТАКСИС

       eof channelId
     
-

+

ОПИСАНИЕ

-

eof " 1 " - channelId - , " 0 " .

+

Команда eof возвращает " 1 " если во время + последней операции ввода в канале channelId произошло + условие конца файла, и " 0 " в противном случае.

-

+

ПРИМЕР

+ diff --git a/hlp/ru/tcl/error.html b/hlp/ru/tcl/error.html index 277d9c0..2278ca2 100644 --- a/hlp/ru/tcl/error.html +++ b/hlp/ru/tcl/error.html @@ -1,4 +1,4 @@ - + error @@ -8,49 +8,50 @@

error

-

.

+

Команда генерирует ошибку.

-

+

СИНТАКСИС

       error message info code
     
-

+

ОПИСАНИЕ

-

TCL_ERROR, - . message - , , . - info, - errorInfo. - errorInfo - , . , - , - , - errorInfo. info , - . - error catch - ( - error). - :

+

Команда возвращает код TCL_ERROR, прерывающий + интерпретацию команды. Строка message возвращается + приложению, чтобы указать, что именно произошло. Если задан + непустой аргумент info, его значение присваивается + глобальной переменной errorInfo. Переменная + errorInfo обычно используется для формирования сведений о + вложениях команды, в которой произошла ошибка. Другими словами, + как только оказывается, что невыполненная команда была вложена в + другую команду, информацию об этой команде добавляется к + errorInfo. Если же аргумент info был задан, этого + не происходит. Эта особенность позволяет при использовании + команды error совместно с командой catch выдать + информацию о реальном месте ошибки (а не о месте вызова команды + error). Для этого можно использовать следующую + конструкцию:

       catch {...} errMsg
-      set savedInfo $errorInfo
+      set savedInfo 
       ...
-      error $errMsg $savedInfo
+      error  
     
-

code, - errorCode. - - , . - tell. , - errorCode - Tcl- , , - "NONE".

+

Если задан аргумент code, то его значение будет + присвоено глобальной переменной errorCode. Эта переменная + предназначена для хранения машинного описания ошибки в тех + случаях, когда такое описание возможно. Форматы различных + сообщений приведены в разделе tell. Если аргумент не задан, + переменной errorCode в процессе обработки + Tcl-интерпретатором ошибки, порожденной командой, присваивается + значение "NONE".

-

+

ПРИМЕР

+ diff --git a/hlp/ru/tcl/eval.html b/hlp/ru/tcl/eval.html index c99a3f4..c61d625 100644 --- a/hlp/ru/tcl/eval.html +++ b/hlp/ru/tcl/eval.html @@ -1,4 +1,4 @@ - + eval @@ -7,23 +7,24 @@

eval

-

Tcl-.

+

Команда исполняет Tcl-скрипт.

-

+

СИНТАКСИС

       eval arg arg...
     
-

+

ОПИСАНИЕ

-

eval Tcl-, - . - ( concat) - Tcl. - ( ).

+

Аргументы команды eval вместе образуют Tcl-скрипт, + состоящий из одной или нескольких команд. Команда соединяет + аргументы (подобно команде concat) и передает их рекурсивно + запущенному интерпретатору Tcl. Команда возвращает результат + работы интерпретатора (или обнаруженную им ошибку).

-

+

ПРИМЕР

+ diff --git a/hlp/ru/tcl/exec.html b/hlp/ru/tcl/exec.html index db86774..bbaa7b2 100644 --- a/hlp/ru/tcl/exec.html +++ b/hlp/ru/tcl/exec.html @@ -1,4 +1,4 @@ - + exec @@ -7,249 +7,250 @@

exec

-

.

+

Команда запускает подпроцессы.

-

+

СИНТАКСИС

       exec ?switches? arg ?arg...?
     
-

+

ОПИСАНИЕ

-

, - . - , arg - , .

+

Аргументы команды определяют один или нескольких подпроцессов, + которые необходимо выполнить. Аргументы принимают форму + конвейера, в котором каждый arg задает одно слово + команды, а каждая отдельная команда порождает подпроцесс.

-

- "-", , - .

+

Если первые аргументы команды начинаются со знака + "-", они считаются ключами команды, а не частью + описания конвейера.

-

:

+

Возможные ключи:

-keepnewline
-
- . .
+
Сохраняет конечные пробелы в выходных данных + конвейера. Обычно они отсекаются.
-
-
. , , - arg, - "-".
+
Отмечает конец ключей. Аргумент, следующий за этим ключом, + рассматривается как первый аргумент arg, даже если он + начинается со знака "-".
-

( ) - , - . - "<fileName" fileName - , +

Перечисленные ниже аргументы (пары аргументов) используют не + для определения подпроцессов, а для перенаправления потоков + ввода и вывода между ними. В выражения типа + "<fileName" fileName может писаться + как отдельно, так и слитно ("<fileName>").

- + - + - + - + - + - + - + - + - + - + - - + - - +
| . - - .разделяет команды в конвейере. Стандартный вывод + предыдущей команды направляется на стандартный вход + следующей команды.
|& . - - . - 2> >&.разделяет команды в конвейере. Стандартный вывод и + стандартный вывод ошибок предыдущей команды направляются + на стандартный вход следующей команды. Такое выражение + перебивает выражения типа 2> и >&.
< fileName fileName - .файл fileName отрывается и используется как + стандартный ввод для первой команды конвейера.
<@ fileId fileId , - open. - . - .в этой форме fileId это идентификатор файла, + открытого с помощью команды open. Он используется как + стандартный ввод для первой команды конвейера. Файл должен + быть открыт для чтения.
<< valuevalue - .value используется как стандартный ввод для + первой команды конвейера.
> fileName - fileName .Стандартный вывод последней команды перенаправляется в + файл fileName и перезаписывает его содержимое.
2> fileName - fileName - .Стандартный вывод ошибок всех команд в конвейере + перенаправляется в файл fileName и перезаписывает + его содержимое.
>& fileName - - fileName .Стандартный вывод последней команды и стандартный вывод + ошибок всех команд в конвейере перенаправляется в файл + fileName и перезаписывает его содержимое.
>>fileName - fileName - .Стандартный вывод последней команды перенаправляется в + файл fileName и добавляется к его прежнему + содержимому.
2>>fileName - fileName - .Стандартный вывод ошибок всех команд в конвейере + перенаправляется в файл fileName и добавляется к его + прежнему содержимому.
>>& fileName - - fileName . + Стандартный вывод последней команды и стандартный вывод + ошибок всех команд в конвейере перенаправляется в файл + fileName и добавляется к его прежнему содержимому.
>@ ileId fileId , - open. - fileName - . - .В этой форме fileId это идентификатор файла, + открытого с помощью команды open. Стандартный вывод + последней команды перенаправляется в файл fileName + и перезаписывает его содержимое. Файл должен быть открыт + для записи.
2>@ fileId fileId , - open. - - fileName . - . + В этой форме fileId это идентификатор файла, + открытого с помощью команды open. Стандартный вывод + ошибок всех команд в конвейере перенаправляется в файл + fileName и перезаписывает его содержимое. Файл должен + быть открыт для записи.
>&@ fileId fileId , - open. - - fileName - . - .В этой форме fileId это идентификатор файла, + открытого с помощью команды open. Стандартный вывод + последней команды и стандартный вывод ошибок всех команд в + конвейере перенаправляется в файл fileName и + перезаписывает его содержимое. Файл должен быть открыт для + записи.
-

- , exec - . , - , exec - . - . - errorCode - . - - , - exec , - , - ( ) - .

+

Если стандартный вывод последней команды конвейера не был + перенаправлен, то команда exec возвращает его + значение. Если одна из команд конвейера вернула код ошибки, была + прервана или приостановлена, то команда exec вернет код + ошибки. При этом сообщение об ошибке будет включать стандартный + вывод конвейера и сообщение об ошибке. В переменной + errorCode будет записана + дополнительная информация о последней встреченной ошибке. Если + хотя бы одна из команд конвейера пишет информацию об ошибках в + файл и стандартный вывод ошибок не перенаправлен, команда + exec вернет ошибку, сообщение об ошибке будет включать в + себя стандартный вывод конвейера, дополненный сообщениями об + ошибках (если их было несколько) и стандартным выводом + ошибок.

-

- - , - . - Tcl, , - , . , - -keepnewline, - .
- "<", - "<<" "<@", - - .

+

Если последний символ результата исполнения конвейера или + сообщения об ошибке - перевод каретки, то он будет удален из + результата или сообщения соответственно. Это соответствует + общему правилу Tcl, по которому возвращаемая величина, как + правило, не оканчивается символом перевода каретки. Однако, если + указана опция -keepnewline, символ перевода каретки в + конце сохраняется.
Если стандартный ввод конвейера не + перенаправлен с помощью символов "<", + "<<" или "<@", стандартный ввод в первую + команду конвейера осуществляется со стандартного ввода + приложения.

-

"&", - . - exec - . , - , - . , , - .

+

Если последним аргументом конвейера является "&", + конвейер выполняется в фоновом режиме. В этом случае команда + exec возвращает список идентификаторов всех процессов + конвейера. Стандартный вывод последней команды конвейера, если + он не перенаправлен, выводится на стандартный вывод + приложения. Стандартный вывод ошибок, если он не перенаправлен, + осуществляется в стандартный вывод ошибок приложения.

-

. - - . - , - , PATH. - , - , . - , , shell - * ?, . +

Первое слово в каждой команде считается именем команды. В нем + выполняются тильда - подстановки. Если получившийся при этом + результат не содержит слэшей, соответствующая команда ищется в + каталогах, перечисленных в переменной окружения PATH. Если имя + команды после подстановок содержит слэши, оно должно указывать + на исполняемый файл, доступный из текущего каталога. Никакие + другие подстановки в командах, например, принятые в shell + подстановки * и ?, не выполняются.

-

+

ВОПРОСЫ ПЕРЕНОСИМОСТИ НА ДРУГИЕ ПЛАТФОРМЫ

-
Windows ( )
+
Windows (все версии)
-

``@ fileId'' - . 16- 32- - . Tk - - /.

+

Чтение и запись с использование @ fileId'' не + работают. Исполнение 16- и 32-разрядных приложений + различается между собой и отличается от описанного выше. Tk + консоль не реализует всех стандартных возможностей + ввода/вывода.

-

, - . , - , - .

+

В командах допускается использование как прямых, так и + обратных слэшей при указании пути команды. Однако, если путь + является аргументом команды, это может оказаться и не + так.

-

.

+

Двойной слэш в путях указывает на сетевой адрес.

Windows NT
-
shell, , - dir copy, +
Для выполнения встроенных команд shell, таких, как + dir или copy, перед ними необходимо указать "cmd.exe /c".
Windows 95
-
shell, , - dir copy, +
Для выполнения встроенных команд shell, таких, как + dir или copy, перед ними необходимо указать "command.com /c".
Windows 3.X
-
exec .
+
Возможности команды exec сильно ограничены.
Macintosh
-
exec .
+
Команда exec не реализована.
Unix
-
exec - .
+
Команда exec позволяет исполнять любые приложения и + действует как описано выше.
+ diff --git a/hlp/ru/tcl/exit.html b/hlp/ru/tcl/exit.html index 597b3a5..d12c6be 100644 --- a/hlp/ru/tcl/exit.html +++ b/hlp/ru/tcl/exit.html @@ -1,4 +1,4 @@ - + exit @@ -7,18 +7,19 @@

exit

-

exit .

+

Команда exit прекращает исполнение приложения.

-

+

СИНТАКСИС

       exit returnCode
     
-

+

ОПИСАНИЕ

-

returnCode - . returnCode , - 0.

+

Прекращает процесс и возвращает системе returnCode в + качестве кода завершения. Если returnCode не определен, + то команда использует значение по умолчанию 0.

+ diff --git a/hlp/ru/tcl/expr.html b/hlp/ru/tcl/expr.html index d08941e..e69de29 100644 --- a/hlp/ru/tcl/expr.html +++ b/hlp/ru/tcl/expr.html @@ -1,397 +0,0 @@ - - - - expr - - - -

expr

- -

expr .

- -
-      expr arg ?arg arg...?
-    
- -

- -

arg - Tcl-, . - Tcl- - , - , . - : - . ,

-
-        expr 8.2 + 6
-      
-

14.2.

- -

Tcl - . , Tcl- - .

- -

- -

Tcl , - . , - . , - , - . (), - ( 0) - ( - 0). - , - , . - , - ANSI . - f, - F, l L. - : 2.1, 3., 6e4, 7.91e+16. - , , - .

- -

:

- -
    -
  • - - ;
  • - -
  • Tcl, - $. - ;
  • - -
  • , . - , - ; - ;
  • - -
  • , . - - - ;
  • - -
  • Tcl, . - , - ;
  • - -
  • , - , - sin($x). - .
  • -
- -

(, - ), , - - ( ) - . , - , - .

- -

, - a "3", - b "6". - :

- - - - - - - - - - - - - - - - - - - - -
3.1 + $a6.1
2 + ($a.$b)5.6
4*[llength "6 2"]8
{word one} < "word $a"0
- -

- -

- . -

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- + ~ ! , , NOT, - NOT. - , NOT - .
* / %, , . - - , - .
+ - . - .
<< >> . - . - .
< > <= >= : , , , - . 1, - , 0 - . , - , - .
== != : . - - 0 1. - .
& AND. - .
^ OR. - .
| OR. - .
&& AND. 1, - 1, 0 - . - , , - .
|| OR. 0, - 0, 1 - . - , , - .
x?y:z if-then-else, - C. - . , - . - z.
- -

- .

- -

- , . ,

-
-      expr 4*2 < 7
-    
-

0.

- -

C, &&, ||, - ?: " ", .., - , - . ,

-
-        expr {$v? [a] : [b]}
-    
-

[a] - [b], $v. , - , - . Tcl - [a] [b], - expr.

- -

- -

Tcl - :

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
acos cos hypot sinh
asin cosh log sqrt
atan exp log10 tan
atan2 floor pow tanh
ceil fmod sin
- -

- .

- -

- .

-
-
abs(arg)
- -
. - . - .
- -
double(arg)
- -
- .
- -
int(arg)
- -
, - .
- -
rand()
- -
- [0,1]. , , - - srand.
- -
round(arg)
- -
.
- -
srand(arg)
- -
, , - . - . - - .
-
- -

- , Tcl_CreateMathFunc().

- -

, -

- -

- C- long, - C- double. - -

, - - , - . - - , - .

- -

- , - . - , - . - .

- -

, - e, . - :

-
-        expr 5 / 4
-    
-

1,

-
-      expr 5 / 4.0
-      expr 5 / ( [string length "abcd"] + 0.0 )
-    
-

1.25.

- -

-
-      expr 20.0/5.0
-    
-

4.0, 4.

- -

- -

, - - . - , - , - . ,

-
-        expr {"0x03" > "2"}
-        expr {"0y" < "0x12"}
-    
-

1. - , , - - 18.

- -

, - , - string compare - ==.

- -

- -

Tcl - , . - , , - : - Tcl, - - expr. , - . -

- - diff --git a/hlp/ru/tcl/fblocked.html b/hlp/ru/tcl/fblocked.html index dad45a4..cfdc68e 100644 --- a/hlp/ru/tcl/fblocked.html +++ b/hlp/ru/tcl/fblocked.html @@ -1,4 +1,4 @@ - + fblocked @@ -7,30 +7,31 @@

fblocked

-

, - .

+

Проверяет, что предыдущая операция ввода исчерпала всю + информацию для ввода.

-

+

СИНТАКСИС

       fblocked channelId
     
-

+

ОПИСАНИЕ

-

fblocked "1" - channelId - , , - . , gets , - , - gets , - fblocked 1.

+

Команда fblocked возвращает "1" если последняя + операция ввода по каналу channelId возвратила меньше + информации, чем было запрошено, поскольку вся доступная + информация уже исчерпана. Например, если команда gets вызвана, когда для ввода + доступны только три символа без символов конца строки, команда + gets вернет пустую строку, + последующий вызов команды fblocked вернет 1.

-

.

+

СМ. ТАКЖЕ

-

gets read. +

gets и read.

+ diff --git a/hlp/ru/tcl/fconfigure.html b/hlp/ru/tcl/fconfigure.html index c421389..283de78 100644 --- a/hlp/ru/tcl/fconfigure.html +++ b/hlp/ru/tcl/fconfigure.html @@ -1,4 +1,4 @@ - + fconfigure @@ -6,7 +6,7 @@

fconfigure

-

fconfigure - .

+

fconfigure - устанавливает и читает опции канала.

       fconfigure channelId 
@@ -14,196 +14,198 @@
       fconfigure channelId name value ?name value...?
     
-

+

ОПИСАНИЕ

-

fconfigure - . channelId , - . name - value , , - . - , - , - . - , - . - .

+

Команда fconfigure устанавливает и читает опции + каналов. Аргумент channelId определяет конкретный канал, + с которым работает команда. Если аргументы name и + value отсутствуют, команда возвращает список, содержащий + поочередно имена опций и их значения для канала. Если имя опции + указано, а значение - нет, команда возвращает текущее значение + указанной опции. Если в команде указаны одна или больше пар имен + и значений, то команда устанавливает каждой из перечисленных + опций указанное значение. В этом случае команда возвращает + пустую строку.

-

. - , - . - , , socket.

+

Описанные ниже опции поддерживаются для всех типов каналов. + Кроме того, каждый тип канала может иметь дополнительно + собственные опции. Они приведены в описаниях команд создания + каналов, например, в описании команды socket.

-blocking boolean
-
-blocking , - / . - . - . - , gets, read, puts, flush close ( - ). - , - (, vwait). +
Опция -blocking определяет, вызывают ли команды + ввода/вывода блокировку процесса. Величина этой опции должна + быть правильным булевым выражением. Обычно каналы открываются + в блокирующем режиме. Если канал переведен в неблокирующий + режим, это окажет влияние на выполнение команд gets, read, puts, flush и close (смотри описание + соответствующих команд). Чтобы работа в неблокирующем режиме + выполнялась корректно, в приложении должен быть запущен + обработчик событий (например, с помощью команды vwait).
-buffering newValue
-

newValue full, - - , - . .

+

Если аргумент newValue равен full, система + ввода-вывода будет накапливать вывод в буфере, пока буфер не + заполнится целиком. После этого буфер будет выдан в канал.

-

newValue line, - - - .

+

Если аргумент newValue равен line, система + ввода-вывода будет выдавать буфер в канал каждый раз при + поступлении символа конца строки.

-

newValue none, - - - .

+

Если аргумент newValue равен none, система + ввода-вывода будет выводить каждый символ сразу после его + поступления.

-

full , - . +

Значение по умолчанию full для всех каналов, кроме + устройств типа терминалов. Для них значение по умолчанию line.

-buffersize newSize
-
newSize . - ( ), - . newSize - , - . +
Аргумент newSize должен быть целым числом. Его + значение определяет размер буфера (в байтах), используемый для + данного канала. Величина newSize должна быть в пределах + от десяти до миллиона, что позволяет задавать величину буфера + от десяти до миллиона байт.
-
-eofchar char
+
-eofchar char
-eofchar {inChar outChar}
-
DOS, - Control-z (\x1a) - . char , - , , - . - . char - , . - - {inChar - outChar} - . - , , - . , - . - - , - Windows. inChar - Control-z (\x1a), outChar - . +
Эти опции поддерживают структуру файлов DOS, в которой + символ Control-z (\x1a) используется как символ конца + файла. Если аргумент char не равен пустой строке, то + этот символ, если он встречается во вводе, означает конец + файла. При выводе информации символ конца файла выдается при + закрытии канала. Если аргумент char равен пустой + строке, то специальный символ конца файла отсутствует. Для + каналов ввода-вывода элементы списка {inChar + outChar} определяют символы конца файла для ввода и + вывода соответственно. Пользователь может указать в списке + единственный символ, который будет использоваться и для ввода, + и для вывода. Однако, при запросе команда возвратит текущие + установки в виде списка из двух одинаковых элементов. Значения + по умолчанию для символов конца файла - пустая строка всегда, + кроме файлов Windows. В этом случае inChar равно + Control-z (\x1a), outChar - пустой строке.
-translation mode
-translation {inMode outMode}
-

Tcl- - (\n). , - - - . - , UNIX- - , - " - - ". (, - gets - read) - - Tcl - - ( ). (, puts) - - . auto. - - . , - -translation - .

+

В Tcl-скриптах конец строки всегда представляется + единственным символом новой строки ( +). Однако, в реальных + файлах и устройствах конец строки может быть представлен + разными символами или наборами символов в зависимости от + используемой платформы или даже конкретного устройства. + Например, на UNIX- платформах символ новой строки + используется в файлах, в то время как для сетевых соединений + используется последовательность "возврат каретки - + новая строка". При вводе данных (например, при + исполнении команд gets + или read) система ввода - + вывода Tcl сама автоматически преобразует внешнее + представление конца строк во внутреннее представление + (символ новой строки). При выводе (например, при команде puts) также происходит + преобразование ко внешнему формату представления конца + строки. Значение аргумента по умолчанию равно auto. + При этом символы конца строки для большинства ситуаций + правильно определяются автоматически. Однако, опция + -translation позволяет при необходимости задать + соответствующие символы в явном виде.

-

mode - , - . {inMode outMode} - - . - , - , . - , - .

+

Аргумент mode задает представление конца строки для + каналов, открытых только на чтение или только на + запись. Список {inMode outMode} определяет + представление конца строки для каналов ввода - вывода. + Пользователь может указать в списке единственный символ, + который будет использоваться и для ввода, и для вывода. + Однако, при запросе команда возвратит текущие установки в + виде списка из двух одинаковых элементов.

-

:

+

Поддерживаются следующие значения опции:

auto
-
- (cr), - (lf), - (crlf). - -. - . - . - - crlf, Unix- - lf, - Macintosh - cr, Windows- - +
При вводе в качестве конца строки могут использоваться + символ возврата каретки (cr), символ новой строки + (lf), или их последовательность + (crlf). Причем разные строки могут заканчиваться + по-разному. Все эти представления будут переведены в + символ новой строки. При выводе используется разное + представление для различных платформ и каналов. Для + сетевых соединений на всех платформах используется + crlf, для всех Unix- платформ - lf, для + Macintosh - cr, а для всех Windows-платформ - crlf.
binary
-
- . - lf, , binary - (. - -eofchar). +
Никакого преобразования символов конца строки не + производится. Это значение опции очень схоже со значением + lf, однако, при значении binary пустая + строка воспринимается как конец файла (см. описание опции + -eofchar).
cr
-
- (cr). , - , - , , - . , - , Macintosh-. +
В качестве символа конца строки используется возврат + каретки (cr). Соответственно, при вводе символ + возврата каретки преобразуется в символ новой строки, а + при выводе, наоборот, символ новой строки преобразуется в + символ возврата каретки. Это значение опции используется, + обычно, на Macintosh-платформах.
crlf
-
- " - - " (crlf). , - " - - " , - , , - " - - ". - Windows- . +
В качестве символа конца строки используется + последовательность "возврат каретки - новая + строка" (crlf). Соответственно, при вводе + последовательность "возврат каретки - новая + строка" преобразуется в символ новой строки, а при + выводе, наоборот, символ новой строки преобразуется в + последовательность "возврат каретки - новая + строка". Это значение опции используется обычно на + Windows-платформах и при сетевых соединениях.
lf
-
- (lf). - . - , , UNIX-. +
В качестве символа конца строки используется символ + новой строки (lf). Никакого преобразования символов + конца строки при вводе и выводе не происходит. Это + значение опции используется, обычно, на UNIX-платформах.
-

. close(n), flush(n), gets(n), puts(n), read(n), socket(n) +

См. также close(n), flush(n), gets(n), puts(n), read(n), socket(n)

+ diff --git a/hlp/ru/tcl/fcopy.html b/hlp/ru/tcl/fcopy.html index f8cfdf1..5f0137b 100644 --- a/hlp/ru/tcl/fcopy.html +++ b/hlp/ru/tcl/fcopy.html @@ -1,4 +1,4 @@ - + fcopy @@ -7,124 +7,123 @@

fcopy

-

.

+

Копирует данные из одного канала в другой.

       fcopy inchan outchan ?-size size? ?-command callback?
     
-

+

ОПИСАНИЕ

-

fcopy - - , inchan, - - , - outchan. - Tcl- - , - - , - .

+

Команда fcopy копирует данные из одного канала ввода - + вывода, заданного идентификатором канала inchan, в другой + канал ввода - вывода, заданный идентификатором канала + outchan. Команда позволяет упростить буферизацию и + избежать излишнего копирования в Tcl-системе ввода - вывода, а + также избежать использования больших объемов памяти при + копировании данных по таким медленным каналам, как сетевые + соединения.

-

fcopy inchan, - - size . -size , - . -command , - - .

+

Команда fcopy передает данные из канала inchan, + пока не будет достигнут конец файла или не будет передано + size байтов. Если аргумент -size не задан, + передается весь файл. Если опция -command не задана, + команда блокирует процесс до завершения копирования и возвращает + число переданных байтов.

-

-command fcopy - . , - callback , - . callback - , - . - , - . - inchan - outchan , - fcopy . - , , - vwait - Tk.

+

При наличии аргумента -command команда fcopy + работает в фоновом режиме. Она завершается немедленно, а команда + callback вызывается позже, когда завершается процесс + копирования. Команда callback вызывается с одним или + двумя дополнительными аргументами, которые указывают число + переданных байтов. Если при исполнении фонового процесса + произошла ошибка, второй аргумент - строка описания ошибки. При + фоновом выполнении копирования каналы inchan и + outchan не обязательно открывать в неблокирующем режиме, + команда fcopy выполнит это автоматически. Однако при + этом необходимо организовать обработку событий, например, с + помощью команды vwait или + используя Tk.

-

- - . - , - callback . - , , - , .

+

Не допускается выполнение других операций ввода - вывода с теми + же каналами во время фонового копирования. Если один из каналов + во время копирования будет закрыт, процесс копирования будет + прерван и вызова команды callback не произойдет. Если + будет закрыт канал ввода данных, то все полученные данные, + хранящиеся в очереди, будут выданы в выходной канал.

-

, inchan - . - - , . - - - " ".

+

Необходимо отметить, что канал inchan может стать + открытым на чтение во время копирования. Все обработчики + файловых событий во время фонового копирования должны быть + выключены, чтобы они не создавали помех копированию. Любые + попытки ввода - вывода с помощью обработчиков файловых событий + будут завершены с ошибкой "канал занят".

-

fcopy - -translation - (. fconfigure). - , , - . - outchan - . - callback.

+

Команда fcopy преобразует символы конца строк в + соответствии со значениями опций -translation для + соответствующих каналов (см. описание команды fconfigure). Преобразование + означает, в частности, что число прочитанных и число переданных + символов может отличаться. В синхронном режиме команда + возвращает только число переданных в outchan канал + символов. В фоновом режиме только это число подается на вход + команды callback.

-

+

ПРИМЕРЫ

-

, - . , , - - .

+

Первый пример показывает, как в фоновом режиме получить число + переданных байтов. Конечно, это показательный пример, поскольку + то же самое может быть сделано проще без использования фонового + режима.

       proc Cleanup {in out bytes {error {}}} {
           global total
-          set total $bytes
-          close $in
-          lose $out
-          if {[string length $error]!= 0} { 
+          set total 
+          close 
+          сlose 
+          if {[string length ]!= 0} { 
               # error occurred during the copy
           }
       }
-      ####    
-      set in [open $file1]
-      ####   
-      set out [socket $server $port]
-      #### ,    
+      #### Открыть файл на чтение
+      set in [open ]
+      #### Открыть сетевое соединение
+      set out [socket  ]
+      #### Скопировать, по окончании копирования вызвать
       Cleanup
-      fcopy $in $out -command [list Cleanup $in $out]
-      ####   
+      fcopy   -command [list Cleanup  ]
+      #### Ожидать завершения копирования
       vwait total
     
-

, - .

+

Второй пример показывает, как можно организовать копирование + файла по фрагментам и проверять конец файла.

       proc CopyMore {in out chunk bytes {error {}}} { 
           global total done
-          incr total $bytes
-          if {([string length $error]!= 0) || [eof $in] {
-              set done $total
-              close $in
-              close $out
+          incr total 
+          if {([string length ]!= 0) || [eof ] {
+              set done 
+              close 
+              close 
           } else {
-              fcopy $in $out -command [list CopyMore $in $out $chunk] \
-                  -size $chunk
+              fcopy   -command [list CopyMore   ]                   -size 
           }
       }
-      set in [open $file1]
-      set out [socket $server $port]
-      ####     .
+      set in [open ]
+      set out [socket  ]
+      #### Установить размер фрагмента для копирования.
       set chunk 1024
       set total 0
-      fcopy $in $out -command [list CopyMore $in $out $chunk]\
-          -size $chunk
+      fcopy   -command [list CopyMore   ]          -size 
       vwait done
     
-

. eof(n), fblocked(n), fconfigure(n).

+

См. также eof(n), fblocked(n), fconfigure(n).

+ diff --git a/hlp/ru/tcl/file.html b/hlp/ru/tcl/file.html index 60597c1..d665307 100644 --- a/hlp/ru/tcl/file.html +++ b/hlp/ru/tcl/file.html @@ -1,4 +1,4 @@ - + file @@ -6,35 +6,35 @@

file

-

.

+

Команда для работы с файлами и их именами.

       file option name ?arg arg...?
     
-

+

ОПИСАНИЕ

-

, - . name - . "~", - ""-, - filename. - , - . . - , .

+

Эта команда осуществляет различные действия с файлами, их + именами или свойствами. Аргумент name содержит имя + файла. Если он начинается с символа "~", то перед + выполнением команды выполняются "тильда"-подстановки, + как описано в filename. + Опция команды указывает, какие действия необходимо выполнить с + файлом. Ниже приведены возможные опции. В команде их имена могут + быть сокращены до уровня, сохраняющего уникальность их имен.

-
file atime name
+
file atime name
-
, - name. - POSIX - (, 1 1970 .). - , - . +
Возвращает десятичную строку, содержащую время последнего + доступа к файлу name. Время представляется стандартным + для POSIX образом в числе секунд от фиксированного начального + момента (обычно, с 1 января 1970 г.). Если файл не существует + или время последнего доступа не может быть получено, выдается + сообщение об ошибке.
-
file attributes +
file attributes name
file attributes name ?option?
@@ -42,242 +42,242 @@
file attributes name ?option value option value...?
-

- . - , - , - - . - .

+

Эта подкоманда возвращает или устанавливает зависящие от + платформы атрибуты файла. Первая форма возвращает список + атрибутов и их значений, вторая возвращает значение + указанного атрибута, а третья - позволяет установить + значения одного или нескольких атрибутов. Возможные атрибуты + перечислены ниже.

-

UNIX-:

+

НА UNIX-ПЛАТФОРМАХ:

    -
  • -group - - . - , .
  • +
  • -group - возвращает или устанавливает имя + группы. В команде группа может быть задана числовым + идентификатором, но возвращается всегда имя группы.
  • -
  • -owner - - "" . - , - .
  • +
  • -owner - возвращает или устанавливает имя + "хозяина" файла. В команде хозяин может быть задан + числовым идентификатором, но возвращается всегда имя + хозяина.
  • -
  • -permissions - - , - chmod. - .
  • +
  • -permissions - возвращает или устанавливает + восьмеричный код, используемый командой операционной + системы chmod. Символьное описание соответствующих + атрибутов файла не поддерживается.
-

WINDOWS-

+

НА WINDOWS-ПЛАТФОРМАХ

-

Windows- - -archive, -hidden, -longname ( - ), -readonly, - -shortname ( ), +

На Windows-платформах поддерживаются атрибуты + -archive, -hidden, -longname (атрибут + не может быть установлен), -readonly, + -shortname (атрибут не может быть установлен), -system.

-

MACINTOSH-

+

НА MACINTOSH-ПЛАТФОРМАХ

-

Macintosh- +

На Macintosh-платформах поддерживаются атрибуты -creator, -hidden, -readonly, -type.

-
file copy ?-force? +
file copy ?-force? ?--? source target
file copy ?-force? ?--? source ?source...? targetDir
-
, - source - target. , - () () - targetDir. source - , - . - , - -force. , - - , -force - . - . "--" - . , - "-". +
Первая форма используется для того, чтобы скопировать файл + или каталог source соответственно в файл или каталог + target. Вторая форма используется, чтобы скопировать + файл(ы) или каталог(и) внутрь существующего каталога + targetDir. Если один из аргументов source есть имя + каталога, то этот каталог копируется рекурсивно вместе со всем + его содержимым. При копировании существующие файлы не + перезаписываются, если только не указана опция + -force. Попытки перезаписать непустой каталог, а также + перезаписать каталог файлом или файл каталогом приводят к + ошибке, даже если опция -force + указана. Аргументы команды обрабатываются в порядке + перечисления до первой ошибки. Отметка "--" означает конец + опций. Следующий аргумент считается именем файла или каталога, + даже если он начинается с символа "-".
-
file delete ?-force? +
file delete ?-force? ?--? pathname ?pathname...?
-
, - pathname. , - -force. - . , - , , - -force . - - . "--" . - , - "-". +
Удаляет файлы или каталоги, заданные аргументами + pathname. Непустые каталоги удаляются, только если задана + опция -force. Попытка удалить несуществующий + файл не рассматривается как ошибка. Попытка удалить файл, + доступный только для чтения, приведет к удаления файла, даже + если опция -force не задана. Аргументы команды + обрабатываются в порядке перечисления до первой + ошибки. Отметка "--" означает конец опций. Следующий + аргумент считается именем файла или каталога, даже если он + начинается с символа "-".
-
filedirname name
+
filedirname name
-

, - name, . name - - , - "." (":" Macintosh). - , - .

+

Возвращает имя, составленное из всех элементов + name, кроме последнего. Если name - относительное имя + файла и состоит из единственного элемента, возвращает + "." (":" для Macintosh). Если имя + указывает на корневой каталог, возвращается имя корневого + каталога.

-

:

+

Например:

           file dirname c:/
         
-

c:/.

+

вернет c:/.

-

""- , - .

+

"Тильда"-подстановки выполняются, только если они + необходимы для формирования правильного результата.

-

:

+

Например:

           file dirname ~/src/foo.c
         
-

~/src,

+

вернет ~/src, тогда как

           file dirname ~
         
-

/home ( - ).

+

вернет /home (или что-то подобное).

-
file executable +
file executable name
-
1, name , - 0 .
+
Возвращает 1, если файл name исполнимый, и + 0 в противном случае.
file exists name
-
1, name , - , - , 0 . +
Возвращает 1, если файл name существует, + и пользователь имеет права на просмотр каталога, в котором + лежит файл, и 0 в противном случае.
-
file extension +
file extension name
-
name, - . - , . +
Возвращает все символы в name, начиная с последней + точки в последнем элементе. Если в последнем элементе нет + точек, возвращается пустая строка.
file isdirectory name
-

1, name - , - 0 .

+

Возвращает 1, если name - имя каталога, + и 0 в противном случае.

           file isfile name
         
-

1, name - - , 0 .

+

Возвращает 1, если файл name - + регулярный файл, и 0 в противном случае.

-
file join name +
file join name ?name...?
-

name - , . - name - , , - , - - .

+

Соединяет аргументы name в одно имя с помощью + разделителя, используемого на данной платформе. Если + очередной аргумент name представляет собой + относительное имя, он присоединяется к предыдущим, в + противном случае предыдущие аргументы отбрасываются, и + процесс формирования имени начинается заново с текущего + аргумента.

-

:

+

Например:

           file join a b /foo bar
         
-

/foo/bar.

+

вернет /foo/bar.

-

name , - - ("/" Unix Windows, ":" - Macintosh).

+

Аргументы name могут содержать разделитель, это не + помешает получить правильный результат для используемой + платформы ("/" для Unix и Windows, ":" + для Macintosh).

-
file lstat name +
file lstat name varName
-
, stat, , - , lstat - stat. , name - , , - . , , - . +
То же самое, что опция stat, описанная ниже, за + исключением того, что используется команда ядра lstat + вместо stat. Это означает, что если name есть + имя связи, то команда вернет данные о связи, а не об исходном + файле. Для платформ, не поддерживающих связи, команды + полностью идентичны.
-
file mkdir dir +
file mkdir dir ?dir...?
-
. - dir - dir. - , . - . - . - . +
Создает все перечисленные каталоги. Для каждого аргумента + dir команда создает все несуществующие родительские + каталоги и сам каталог dir. Если указан существующий + каталог, ничего не происходит. При этом команда считается + выполненной успешно. Попытка перезаписать существующий файл + каталогом приведет к ошибке. Аргументы команды обрабатываются + в порядке перечисления до первой ошибки.
-
file mtime name
+
file mtime name
-
, - name. - POSIX - (, 1 1970 .). - , - . +
Возвращает десятичную строку, содержащую время последнего + изменения файла name. Время представляется стандартным + для POSIX образом в числе секунд от фиксированного начального + момента (обычно, с 1 января 1970 г.). Если файл не существует + или время последнего изменения не может быть получено, + выдается сообщение об ошибке.
file nativename name
-
, - . - exec +
Возвращает имя файла в виде, характерном для используемой + платформы. Опция полезна для подготовки исполнения файла с + помощью команды exec под Windows.
file owned name
-
1, name - , 0 . +
Возвращает 1, если файл name принадлежит + пользователю, и 0 в противном случае.
file pathtype name
-
absolute, - relative, volumerelative. name - , - absolute. name - - - relative. name - - , - volumerelative. +
Возвращает одно из значений absolute, + relative, volumerelative. Если name + указывает на определенный файл в определенном томе, + возвращается absolute. Если name указывает на + имя файла относительно текущего рабочего каталога - + возвращается relative. Если name указывает имя + файла относительно текущего рабочего каталога в определенном + томе или на определенный файл в текущем рабочем томе, + возвращается volumerelative.
file readable name
-
1, name - , 0 . +
Возвращает 1, если файл name доступен для + чтения пользователю, и 0 в противном случае.
file readlink name
-
name (, , - name). name - , , . - , , - . +
Возвращает имя связи name (например, имя файла, на + который указывает name). Если name не есть + связь, или ее невозможно прочитать, возвращает ошибку. На + платформах, на которых связи не поддерживаются, опция не + определена.
file rename ?-force? ?--? @@ -286,111 +286,112 @@
file rename ?-force? ?--? source ?source...? targetDir
-
, - source - target ( - , ). , - () () - targetDir. - source , - . - , - -force. , - - , -force . - - . "-" . - , - "-". +
Первая форма используется для того, чтобы переименовать + файл или каталог source соответственно в файл или + каталог target (и переместить их в соответствующий + каталог, если это необходимо). Вторая форма используется, + чтобы переместить файл(ы) или каталог(и) внутрь существующего + каталога targetDir. Если один из аргументов + source есть имя каталога, то этот каталог перемещается + рекурсивно вместе со всем его содержимым. При перемещении + существующие файлы не перезаписываются, если только не указана + опция -force. Попытки перезаписать непустой каталог, а + также перезаписать каталог файлом или файл каталогом приводят + к ошибке, даже если опция -force указана. Аргументы + команды обрабатываются в порядке перечисления до первой + ошибки. Отметка "-" означает конец опций. Следующий + аргумент считается именем файла или каталога, даже если он + начинается с символа "-".
-
file rootname +
file rootname name
-
name - . - , name. +
Возвращает все символы в name за исключением + последней точки в последнем элементе. Если в последнем + элементе нет точек, возвращается name.
file size name
-
, - . - , . +
Возвращает десятичную строку, содержащую размер файла в + байтах. Если файл не существует или его размер не может быть + получен, выдается ошибка.
-
file split name
+
file split name
-

name. - , name. - - . , - - . , Unix

+

Возвращает список элементов пути name. Первый элемент + списка при этом имеет тот же тип пути, что и name. Все + остальные элементы - относительные. Разделители удаляются, + если только они не необходимы для указания на относительный + тип элементов. Например, под Unix

           file split /foo/~bar/baz
         
-

/ foo/~bar baz, , - ""- - .

+

вернет / foo/~bar baz, чтобы гарантировать, что + последующие команды не попытаются выполнить "тильда"- + подстановку в третьем элементе.

file stat name varName
-
stat - name - varName. : +
Исполняет вызов функции ядра stat и записывает + возвращаемую информацию о name в элементы массива + varName. Формируются следующие элементы массива: atime, ctime, dev, gid, ino, mode, mtime, nlink, - size, type, uid. , - type, - . - stat. type - , - file type. file stat - . + size, type, uid. Значения всех элементов, + кроме type, - десятичные строки. Описания их приведены + в описании команды ядра stat. Элемент type + содержит тип файла в том же виде, в каком он возвращается + командой file type. Команда file stat возвращает + пустую строку.
-
file tail name
+
file tail name
-
name - . name , - name. +
Возвращает все символы в name после последнего + разделителя каталогов. Если в name нет каталогов, + возвращает name.
file type name
-
, . +
Возвращает строку, содержащую тип файла. Возможные значения file, directory, characterSpecial, - blockSpecial, fifo, link socket. + blockSpecial, fifo, link или socket.
file volume
-
, - . Macintosh- - , . - Unix- '/', - . - Windows- - (, {a:/ c:/}). +
Возвращает список, содержащий абсолютные пути ко всем + подмонтированным томам. На Macintosh-платформах это список + всех подмонтированных дисков, локальных и сетевых. На + Unix-платформах команда всегда возвращает '/', + поскольку все файловые системы монтируются как локальные. На + Windows-платформах команда возвращает список локальных дисков + (например, {a:/ c:/}).
file writable name
-
1, name - , 0 . +
Возвращает 1, если файл name доступен для + записи, и 0 в противном случае.
-

+

ПРОБЛЕМЫ ПЕРЕНОСИМОСТИ

Unix
-
Unix- , - .
+
На Unix-платформах эти команды всегда используют реальные, а + не эффективные идентификаторы пользователя и группы.
-

. filename.

+

См. также filename.

+ diff --git a/hlp/ru/tcl/fileevent.html b/hlp/ru/tcl/fileevent.html index 9213fcc..e6e1e83 100644 --- a/hlp/ru/tcl/fileevent.html +++ b/hlp/ru/tcl/fileevent.html @@ -1,4 +1,4 @@ - + fileevent @@ -6,102 +6,103 @@

fileevent

-

, - .

+

Исполняет скрипт, когда канал открывается на чтение или + запись.

       fileevent channelId readable ?script?
       fileevent channelId writable ?script?
     
-

+

ОПИСАНИЕ

-

- . - , , - . , - - . , - , - . gets read , - , - "". - gets read - . +

Эта команда используется для создания обработчиков файловых + событий. Обработчик файловых событий связывает канал и скрипт + таким образом, что скрипт исполняется, когда канал открывается + на чтение или запись. Обработчики файловых событий используются, + чтобы получение данных от другого процесса управлялось + событиями. При этом получающий процесс, ожидая поступление + данных, сможет продолжать взаимодействовать с + пользователем. Если приложение выполняет команду gets или read из блокирующего канала, оно + не способно обслуживать другие события, поэтому оно кажется + пользователю "замороженным". С использованием файловых + событий процесс обратится к команде gets или read только когда информация + поступит в канал.

-

channelId - , open socket. - script, - : script , - channelId ( - ). - . - - , . - , - fileevent , - ( ) , - . +

Аргумент channelId должен быть идентификатором + открытого канала, который вернула предыдущая команда open или socket. Если в команде присутствует + аргумент script, команда создает новый обработчик + событий: скрипт script будет выполнен, когда канал + channelId откроется на чтение или запись (в зависимости + от второго аргумента команды). В такой форме команда возвращает + пустую строку. Обработчики для обработки открытия файла на + чтение или запись соответственно независимы и могут создаваться + и удаляться по одному, независимо один от другого. Однако для + каждого из событий может быть только один обработчик, так что + если команда fileevent выполняется, когда соответствующий + обработчик (в текущем интерпретаторе) уже задан, новый скрипт + заменит старый.

-

script , fileevent - , - channelId, , - . - . +

Если аргумент script не задан, команда fileevent + возвратит скрипт, заданный для данного события для канала + channelId, или пустую строку, если скрипт не + задан. Обработчик событий удаляется автоматически при закрытии + канала или удалении интерпретатора.

-

, - . - , - , , gets - . - , - . , - - . - , - , , - . +

Канал считается открытым на чтение, если на соответствующем + устройстве есть непрочитанные данные. Также канал считается + открытым на чтение, если есть непрочитанные данные во входном + буфере, кроме того случая, когда команда gets не смогла найти в буфере + законченную строку. Эта особенность позволяет читать файл + построчно в неблокирующем режиме, используя обработчик + событий. Канал также считается открытым на чтение, если + достигнут конец соответствующего файла или на соответствующем + устройстве сгенерирована ошибка. Поэтому скрипт должен уметь + распознавать и корректно обрабатывать такие ситуации, чтобы не + возникало зацикливаний, когда скрипт не может прочитать данные, + завершается и тут же вызывается вновь.

-

, - - , ( - ) . +

Канал считается открытым на запись, если по крайней мере один + байт данных может быть записан в соответствующий файл или + передан на соответствующее устройство, или на устройстве (в + файле) сгенерирована ошибка.

-

- - , - fconfigure. - puts, gets read - , (, - , - ). . - puts, gets read - . - - . +

Событийно управляемый ввод - вывод лучше всего работает с + каналами, переведенными в неблокирующий режим с помощью команды + fconfigure. В + блокирующем режиме команды puts, gets или read могут заблокировать + процесс, если они не могут быть выполнены сразу (например, при + попытке прочитать больше данных, чем доступно в настоящий + момент). При этом никакой обработки событий не происходит. В + неблокирующем режиме команды puts, gets или read никогда не блокируют + процесс. Детальное описание работы команд с блокирующими и + неблокирующими каналами приведено в описаниях соответствующих + команд.

-

- - - , . - , - bgerror. , - . - , - . +

Скрипт обработчика файловых событий выполняется на самом + верхнем уровне вне контекста какой-либо процедуры в + интерпретаторе, в котором обработчик событий был задан. Если при + исполнении скрипта происходит ошибка, сообщение о ней выдается с + помощью процедуры bgerror. Кроме того, при ошибке + соответствующий обработчик событий удаляется. Это делается для + того, чтобы избежать зацикливания из-за ошибок в обработчике.

+ diff --git a/hlp/ru/tcl/filename.html b/hlp/ru/tcl/filename.html index 68f3929..40a6917 100644 --- a/hlp/ru/tcl/filename.html +++ b/hlp/ru/tcl/filename.html @@ -1,4 +1,4 @@ - + filename @@ -6,150 +6,151 @@

filename

-

Tcl.

+

Правила именования файлов в Tcl.

-

+

ВВЕДЕНИЕ

-

Tcl , - , , - . , - Tcl UNIX - - . , , - , - . - file split file join - . +

Все команды Tcl и процедуры С, использующие имена файлов в + качестве аргументов, позволяют использовать имена в форме, + установленной для данной платформы. Кроме того, на всех + платформах Tcl поддерживается синтаксис UNIX с целью + предоставления удобного способа составления простых имен + файлов. Тем не менее, скрипты, предназначенные для переноса + между платформами, не должны пользоваться конкретной формой имен + файлов. Вместо этого такие скрипты должны использовать команды + file split и file join для + преобразования имен к нужной форме.

-

+

ТИПЫ ПУТЕЙ

-

, - : , - (volume-relative).

+

Все имена файлов поделены на три типа, в зависимости от + начальной точки для отсчета пути: абсолютные, относительные и + имена внутри тома (volume-relative).

-

, - - . , - . - , - - - .

+

Абсолютные имена являются самодостаточными, они содержат полный + путь файла внутри тома и адрес корневого каталога + тома. Относительные имена являются неполными, они указывают + положение файла по отношению к текущему каталогу. Имена внутри + тома занимают промежуточное положение между первыми двумя, они + указывают положение файла относительно корневого каталога + текущего тома или относительно текущего каталога указанного + тома.

-

- file pathtype.

+

Для определения типа указанного пути можно использовать команду + file pathtype.

-

+

СИНТАКСИС ПУТЕЙ

-

. - +

Пути формируются различным образом для различных платформ. + Текущая платформа определяется по значению переменной tcl_platform(platform):

mac
-
Macintosh- Tcl - : , Macintosh - , , Unix-. - , Unix-. - "." , ".." - - . - , / /.. - Macintosh-. , - , Macintosh-, , - , - Macintosh-, Unix-. +
Для Macintosh-платформ Tcl поддерживает две формы + представления путей: с двоеточием, в обычном для Macintosh + стиле, и со слэшем, в Unix-стиле. Если путь не содержит + двоеточий, то он считается путем в в Unix-стиле. При этом + "." означает текущий каталог, ".." - + родительский каталог для текущего каталога. Однако такие + имена, как / или /.. считаются именами каталогов + в Macintosh-стиле. При этом команды, генерирующие имена + файлов, возвращают их в Macintosh-стиле, тогда как команды, + использующие имена файлов, могут получать их и в + Macintosh-стиле, и в Unix-стиле.
unix
-

Unix- , - , . - , - , . . . - - , . - .

+

На Unix-платформах используются пути, которые содержат + компоненты, разделенные символом слэш. Пути могут быть + абсолютными или относительными, имена файлов могут содержать + любые символы, кроме слэша. Имена файлов. и. являются + специальными и обозначают текущий каталог и родительский + каталог текущего каталога, соответственно. Несколько слэшей + подряд понимаются как один разделитель.

-

: +

Ниже приведено несколько примеров различных типов путей:

/
-
.
+
Абсолютный путь к корневому каталогу.
/etc/passwd
-
passwd etc - .
+
Абсолютный путь к файлу passwd к каталогу etc в + корневом каталоге.
.
-
.
+
Относительный путь к текущему каталогу.
foo
-
foo - .
+
Относительный путь к файлу foo в текущем + каталоге.
foo/bar
-
bar - foo
+
Относительный путь к файлу bar в подкаталоге + foo текущего каталога
../foo
-
foo - .
+
Относительный путь к файлу foo в каталоге над + текущим.
windows
-
Windows- Tcl - . - , . - ( ) - . - \\servername\sharename\path\file. - "." ".." - . +
Для Windows-платформ Tcl поддерживает дисковые и сетевые + имена. В обоих типах имен можно использовать в качестве + разделителя как прямой, так и обратный слэш. Дисковые имена + состоят из (при необходимости) имени диска и последующего + абсолютного или относительного пути. Сетевые пути обычно имеют + вид \servername\sharename\path ile. В обеих формах + "." и ".." ссылаются соответственно на + текущий каталог и его предка.
-

""-

+

ТИЛЬДА-ПОДСТАНОВКИ

-

, , Tcl - ""- cshell. - ~, - , - $HOME. "" - - . +

В дополнение к правилам, описанным выше, Tcl позволяет + использовать "тильда"-подстановки в стиле cshell. Если + имя файла начинается с ~, за которой сразу следует + сепаратор, она заменяется на значение переменной окружения + /home/svk. В противном случае символы от "тильды" + до следующего разделителя интерпретируются как имя пользователя + и заменяются на имя домашнего каталога пользователя.

-

Macintosh- Windows- - ""- - . - . "" - , Unix-, - $HOME. +

На Macintosh- и Windows-платформах + "тильда"-подстановки с именем пользователя не + поддерживаются. При попытке использовать такое имя файла + выдается ошибка. Однако "тильда" без имени + пользователя заменяется, как и на Unix-платформах, на значение + переменной окружения /home/svk.

-

+

ВОПРОСЫ ПЕРЕНОСИМОСТИ

-

, - - . , - . , - , - , , - <>:"/\|. , - Windows 3.1, , - , - - .
+

При разработке переносимых приложений необходимо учитывать, + что не все файловые системы различают заглавные и прописные + буквы. Поэтому следует избегать использования имен файлов, + различающихся только регистром букв. Кроме того, необходимо + отказаться от использования символов, имеющих специальное + назначение хотя бы на одной из платформ, например, + <>:"/\|. А также, если предполагается + использовать программу на Windows 3.1, необходимо учитывать, что + имена файлов при этом должны быть ограничены восемью буквами, а + расширения - тремя.

+ diff --git a/hlp/ru/tcl/flush.html b/hlp/ru/tcl/flush.html index cf300fe..6c19c51 100644 --- a/hlp/ru/tcl/flush.html +++ b/hlp/ru/tcl/flush.html @@ -1,4 +1,4 @@ - + flush @@ -6,29 +6,30 @@

flush

-

.

+

Команда организует немедленную выдачу выходных данных в канал.

-

+

СИНТАКСИС

       flush channelId
     
-

+

ОПИСАНИЕ

-

- channelId ( - open socket), - . , - , - . - , - . - - , - . +

Команда направляет накопленные в выходном буфере данные в + канал с идентификатором channelId (значение + идентификатора возвращается командами открытия канала open или socket), который должен быть + открыт для записи. Если канал находится в блокирующем режиме, то + команда будет оставаться незавершенной до тех пор, пока все + содержимое буфера не будет отправлено в канал. Если канал + находится в неблокирующем режиме, то команда может завершиться + до окончания отправки выходных данных в канал. Остающиеся + данные будут передаваться в канал в фоновом режиме с такой + скоростью, с какой назначенный каналу файл или устройство сможет + принимать их.

+ diff --git a/hlp/ru/tcl/for.html b/hlp/ru/tcl/for.html index 5bda405..cc76a0f 100644 --- a/hlp/ru/tcl/for.html +++ b/hlp/ru/tcl/for.html @@ -1,4 +1,4 @@ - + for @@ -7,49 +7,50 @@

for

-

for .

+

Команда for организует цикл.

-

+

СИНТАКСИС

       for start test next body
     
-

+

ОПИСАНИЕ

-

for . - for . - start, next body - Tcl, test - . - for Tcl - start. - test; , - Tcl- body, - next. , test - 0. body - continue, - body - next, test .. - body next - break, - for . for - . +

Команда for является командой цикла. По структуре + команда for похожа на аналогичную команду языка С. Здесь + аргументы start, next и body должны быть + командными строками Tcl, а test - строкой выражения. + Сначала команда for запускает интерпретатор Tcl для + выполнения start. Затем она вычисляет значение выражения + test; если оно не равно нулю, то запускает + Tcl-интерпретатор для выполнения body, затем + next. Цикл повторяется до тех пор, пока test не + станет равно 0. Если при выполнении body будет выполнена + команда continue, то + последующие команды в body пропускаются и начинает + выполняться next, затем test и т.д. Если при + исполнении body или next встретится команда + break, исполнение команды + for немедленно прекращается. Команда for + возвращает пустую строку.

-

. test - . - . - - - , - . test , - . - - $x<10: +

Замечание. Строку test почти всегда следует + помещать в фигурные скобки. В противном случае подстановки + переменных будут выполнены до выполнения команды. Из-за этого + измененное в ходе цикла значение переменной может перестать + передаваться в выражение, что может породить бесконечный + цикл. Если же строка test заключена в фигурные скобки, + подстановка значения переменных выполняется в каждом цикле. Для + примера можно выполнить следующий скрипт со скобками и без + скобок вокруг выражения <10:

-      for {set x 0} {$x<10} {incr x} { 
-        puts "x is $x"
+      for {set x 0} {<10} {incr x} { 
+        puts "x is "
       }
     
+ diff --git a/hlp/ru/tcl/foreach.html b/hlp/ru/tcl/foreach.html index 749ae0c..77a4bc4 100644 --- a/hlp/ru/tcl/foreach.html +++ b/hlp/ru/tcl/foreach.html @@ -1,4 +1,4 @@ - + foreach @@ -7,91 +7,92 @@

foreach

-

.

+

Команда цикла по элементам одного или нескольких списков.

-

+

СИНТАКСИС

       foreach varname list body 
       foreach varlist1 list1 ?varlist2 list2...? body
     
-

+

ОПИСАНИЕ

-

, - - . - varname list - . body Tcl. - list, - , foreach - varname - Tcl body. +

Команда организует выполнение цикла, в котором переменные + цикла последовательно принимают все значения из списков + значений. В простейшем случае имеется одна переменная цикла + varname и один список значений list для присвоения + переменной цикла. Аргумент body есть скрипт Tcl. Для + каждого элемента списка list, по очереди с первого до + последнего, foreach присваивает содержимое очередного + элемента списка переменной varname и затем вызывает + интерпретатор Tcl для исполнения body.

-

- (, list1 list2), - - (, varlist1 - varlist2). - - . - , - . - , - . - , - . +

В общем случае в команде может быть указано несколько списков + значений (например, list1 и list2), и каждый из + них может быть связан с одной переменной или со списком + переменных цикла (например, varlist1 и + varlist2). Во время каждой итерации переменные каждого + списка переменных принимают значения последовательных элементов + соответствующего списка значений. Значения из списков значений + используются последовательно от первого до последнего, и каждое + значение используется только один раз. Общее число итераций + выбирается таким, чтобы использовать все значения из всех + списков значений. Если список значений не содержит достаточного + числа значений для всех связанных с ним переменных цикла, вместо + недостающих элементов используются пустые значения.

-

body break continue, - for. +

Внутри скрипта body можно использовать команды break и continue, аналогично команде + for.

-

foreach .

+

Команда foreach возвращает пустую строку.

-

+

ПРИМЕРЫ

-

i j -

+

В цикле используются переменные цикла i и j для цикла по + элементам одного списка

         set x {}
         foreach {i j} {a b c d e f} { 
-          lappend x $j $i
+          lappend x  
         }
     
-

x "a d c f e".

+

В результате величина x равна "a d c f e".

-

.

+

При вычислении цикла используются три итерации.

-

i j - .

+

В цикле переменные цикла i и j используются для различных + списков значений.

         set x {}
         foreach i {a b c} j {d e f g} { 
-          lappend x $i $j
+          lappend x  
         }
     
-

x "a d b e c f {} g".

+

В результате величина x равна "a d b e c f {} g".

-

.

+

При вычислении цикла используются четыре итерации.

-

+

Обе предыдущие формы скомбинированы в следующем цикле

         set x {}
         foreach i {a b c} {j k} {d e f g} { 
-          lappend x $i $j $k
+          lappend x   
         }
     
-

x "a d e b f g c {} {}".

+

В результате величина x равна "a d e b f g c {} {}".

-

.

+

При вычислении цикла используются три итерации.

+ diff --git a/hlp/ru/tcl/gets.html b/hlp/ru/tcl/gets.html index 8fea778..d178b2b 100644 --- a/hlp/ru/tcl/gets.html +++ b/hlp/ru/tcl/gets.html @@ -1,4 +1,4 @@ - + gets @@ -7,44 +7,45 @@

gets

-

.

+

Команда читает строку из канала.

-

+

СИНТАКСИС

       gets channelId ?varName?
     
-

+

ОПИСАНИЕ

-

gets channelId - . varName - , - . varName , - - . +

Команда gets читает из канала channelId + очередную строку символов. Если имя переменной varName не + задано, тогда команда возвращает полученную строку за + исключением символов конца строки. Если varName задано, + тогда команда записывает полученную строку в переменную и + возвращает количество символов в принятой строке.

-

, - - .

+

Если при поиске конца строки был обнаружен конец файла, + команда возвращает всю полученную информацию вплоть до конца + файла.

-

- , - .

+

Если канал находится в неблокирующем режиме и поступила + неполная входная строка, то команда не использует поступившие + данные и возвращает пустую строку.

-

varName - - - , - 1.

+

Если указана переменная varName и возвращается пустая + строка из-за конца файла или из-за неполноты полученной строки, + команда возвращает 1.

-

, varName , - , - , . eof fblocked - .

+

Обратите внимание, что если аргумент varName не задан, + конец файла и неполная строка приведут к тому же результату, что + и строка, состоящая из символа конца строки. Команды eof и fblocked позволяют различить эти + ситуации.

-

. eof fblocked .

+

См. также eof и fblocked .

+ diff --git a/hlp/ru/tcl/glob.html b/hlp/ru/tcl/glob.html index d861fbd..dd78238 100644 --- a/hlp/ru/tcl/glob.html +++ b/hlp/ru/tcl/glob.html @@ -1,4 +1,4 @@ - + glob @@ -7,104 +7,105 @@

glob

-

, . +

Команда возвращает имена файлов, удовлетворяющих шаблону.

-

+

СИНТАКСИС

       glob ?switches? pattern ?pattern?
     
-

+

ОПИСАНИЕ

-

glob , - csh, , - pattern. , - -, switches. +

Команда glob выполняет поиск имен файлов подобно тому, + как это делает оболочка csh, и возвращает список имен, + удовлетворяющих шаблону pattern. Аргументы, начинающиеся + со знака -, являются управляющими ключами switches.

-

:

+

Возможные ключи:

-nocomplain
-
. - , . +
Позволяет вернуть пустой список без генерации ошибки. Если + ключ не задан, то при пустом списке формируется ошибка.
--
-
. - , -. +
Означает конец ключей. Аргумент после этого ключа считается + шаблоном, даже если он начинается с -.
-

:

+

Шаблоны могут включать следующие специальные символы:

- + - + - - + - +
? ;Удовлетворяет любому символу;
* - ;Удовлетворяет любой последовательности из нуля или + больше символов;
[chars] chars. - chars - a-b, a - b (). + Удовлетворяет любому символу из chars. Если + chars включает последовательность символов типа + a-b, то удовлетворяет всем символам от a до + b (включительно).
\x x.Удовлетворяет символу x.
{a,b,...} a, b,> ..Удовлетворяет любой из строк a, b,> и т.д.
-

csh, . - / - {}.

+

Как и в csh, символ . в начале имени файла или сразу + после / должен соответствовать явно или с помощью + конструкции {}.

-

~, - , - ~. ~ /, - HOME.

+

Если первый символ образца ~, то он указывает на + домашний каталог пользователя, чье имя указано после + ~. Если сразу после ~ идет /, то + используется значение переменной окружения HOME.

-

glob csh - :

+

Действие команды glob отличается от работы в csh в + следующем:

    -
  • ;
  • +
  • она не сортирует составленный ей список;
  • -
  • ( csh - , - ?, *, +
  • она возвращает имена только существующих файлов (в csh + проверку наличия файлов надо задавать отдельно, если только + шаблон не содержит символов ?, *, или []).
-

+

ОСОБЕННОСТИ РАБОТЫ НА РАЗЛИЧНЫХ ПЛАТФОРМАХ

-

Tcl- glob - , - , . , - Windows- - . +

В отличие от другихTcl-команд команда glob может + работать с именами файлов только в нотации, поддерживаемой на + той платформе, на которой она исполняется. Кроме того, на + Windows-платформах специальные символы не допустимы в сетевых + именах.

+ diff --git a/hlp/ru/tcl/global.html b/hlp/ru/tcl/global.html index 4b1b10a..0a6783b 100644 --- a/hlp/ru/tcl/global.html +++ b/hlp/ru/tcl/global.html @@ -1,4 +1,4 @@ - + global @@ -7,30 +7,31 @@

global

-

.

+

Команда для объявления глобальных переменных.

-

+

СИНТАКСИС

       global varname ?varname?
     
-

+

ОПИСАНИЕ

-

, - . - varname . - - . +

Данная команда выполняется только при выполнении процедуры, а + в остальных случаях игнорируется. Команда объявляет + переменные varname глобальными. Глобальные переменные - + это переменные глобальной области имен.

-

- - varname - .

+

Только в течение работы данной процедуры и только при + выполнении в данной процедуре любая ссылка на значение любого из + аргументов varname будет указывать на одноименную + глобальную переменную.

-

. namespace(n), - variable(n) +

См. также namespace(n), + variable(n)

+ diff --git a/hlp/ru/tcl/history.html b/hlp/ru/tcl/history.html index edb4eee..8e3451f 100644 --- a/hlp/ru/tcl/history.html +++ b/hlp/ru/tcl/history.html @@ -1,4 +1,4 @@ - + history @@ -7,126 +7,127 @@

history

-

.

+

Команда работает со списком выполнявшихся команд.

-

+

СИНТАКСИС

       history ?option? ?arg arg
     
-

+

ОПИСАНИЕ

-

history - , . - - "". - history :

+

Команда history выполняет действия по отношению к + недавно выполненным командам, занесенным в журнал. Каждая из + этих зарегистрированных команд обозначается термином + "событие". Ссылаться на события в команде + history можно одним из следующих способов:

    -
  1. . - - ( 1). - , - (-1 - , -2 - - ..). 0 .
  2. +
  3. Число. Если положительное - ссылается на событие с + этим номером (все события нумеруются начиная с 1). Если число + отрицательное, то оно указывает номер события относительно + текущего (-1 - предыдущее, -2 - перед предыдущим + и т.д.). Событие 0 ссылается на текущее событие.
  4. -
  5. . , - . , - , - string match.
  6. +
  7. Строка. Ссылается на наиболее позднее событие, + которое удовлетворяет строке. Событие удовлетворяет строке, + если оно начинается со строки, или в соответствии с правилами + команды string match.
-

history - .

+

Команда history может принимать одну из следующих + форм.

history
-
, history info, - .
+
То же самое, что команда history info, описанная + ниже.
history add command ?exec?
-
command - . exec( ), - command - . . +
Добавляет аргумент command в журнал как новое + событие. Если присутствует аргумент exec(или произвольное сокращение), то + команда command выполняется и возвращается ее + результат. В противном случае возвращается пустая строка.
history change newValue ?event?
-
event newValue. - event , - . - ( - !). - , - ( - ) . . +
Заменяет описание события event на newValue. + Аргумент event определяет событие, описание которого + будет заменено. По умолчанию - текущее событие (даже не + предыдущее!). Эта форма команды предназначается для + использования в тех случаях, когда переформировывается журнал + событий и позволяет заменить текущее событие (переформирование + журнала) на необходимое. Команда возвращает пустую строку.
history clear
-
. - (. history keep) . - . +
Удаляет журнал событий. Количество запоминаемых событий + (см. history keep) сохраняется. Нумерация + событий начинается сначала.
history event ?event?
-
event. - -1. +
Возвращает описания события event. Значение по + умолчанию -1.
history info ?count?
-
, - ( ). - count , count - . +
Возвращает в удобном для чтения виде список, состоящий из + номеров и описаний событий (кроме текущего). Если аргумент + count задан, то только count последних событий + возвращаются.
history keep ?count?
-
count . - 20 . - count , - . +
Команда изменяет размер журнала на count событий. + Исходно в журнале сохраняются 20 последних событий. Если + аргумент count не указан, команда возвращает текущее + значение размера журнала.
history nextid
-
, - . , , - . +
Возвращает номер следующего события, которое будет записано + в журнал. Полезно, например, для вывода номера события в + приглашении командной строки.
history redo ?event?
-
, - event. -1. - , . . +
Повторно выполняет команду, указанную с помощью аргумента + event. Значение аргумента по умолчанию -1. Эта + команда вызывает переформирование журнала, см. ниже.
-

+

ПЕРЕФОРМИРОВАНИЕ ЖУРНАЛА

-

8.0 Tcl - . - substitute words. ( - clear). +

До версии 8.0 Tcl имел весьма сложный механизм + переформирования журнала. Новый механизм несколько сокращен за + счет старых опций substitute и words. (Взамен + добавлена новая опция clear). -

redo - . - , "" - history, , - , .

+

Опция redo позволяет переформировывать журнал + значительно проще. При ее выполнении последнее событие + изменяется таким образом, что удаляется "служебная" + команда history, которая реально выполнялась, а вместо + нее записывается та команда, которая необходима.

-

, - , history event, - , history add, - .

+

Если вы хотите повторить прежнюю команду, не модифицируя + журнал, выполните сначала команду history event, чтобы + извлечь описание команды, а затем history add, чтобы + выполнить ее.

+ diff --git a/hlp/ru/tcl/if.html b/hlp/ru/tcl/if.html index 58d1350..34f6e3e 100644 --- a/hlp/ru/tcl/if.html +++ b/hlp/ru/tcl/if.html @@ -1,4 +1,4 @@ - + if @@ -7,39 +7,40 @@

if

-

if - .

+

Команда if проверяет соблюдение условия в ходе + выполнения скрипта.

-

+

СИНТАКСИС

       if expr1 ?then? body1 elseif expr2 ?then? body2 elseif ... 
       ?else? ?bodyN?
     
-

+

ОПИСАНИЕ

-

expr1( , - - expr). expr - ( - , 0 false, - - true, true - yes true false no - false). true, - body1 Tcl. - , expr2, - true, body2, - . true, - bodyN.

+

Команда вычисляет значение выражения expr1(Точно так, + как это делает команда + expr). Это и все остальные выражения expr + должны быть булева типа (то есть это должна быть числовая + величина, причем 0 соответствует false, а все остальные + значения - true, либо строка со значениями true + или yes для true и false или no для + false). Если выражение равно true, то скрипт + body1 передается на выполнение интерпретатору Tcl. Если + нет, то вычисляется значение выражения expr2, и если оно + равно true, то исполняется body2, и так + далее. Если ни одно из выражений не равно true, тогда + выполняется bodyN.

-

then else - . - bodyN , +

Слова then и else необязательны и используются + только для простоты понимания команды. Аргумент + bodyNтакже может отсутствовать, если отсутствует else.

-

- , true, - bodyN .

+

Команда возвращает значение выполненного скрипта или пустую + строку, если ни одно из выражений не было равно true, и + bodyN отсутствовал.

+ diff --git a/hlp/ru/tcl/incr.html b/hlp/ru/tcl/incr.html index 618d876..e878124 100644 --- a/hlp/ru/tcl/incr.html +++ b/hlp/ru/tcl/incr.html @@ -1,4 +1,4 @@ - + incr @@ -7,36 +7,37 @@

incr

-

- .

+

Команда увеличивает значение переменной на заданную + величину.

-

+

СИНТАКСИС

       incr varName increment
     
-

+

ОПИСАНИЕ

-

incr - varName increment. - , increment . - increment 1. - - .

+

Команда incr увеличивает значение переменной + varName на величину increment. И значение + переменной, и increment должны быть целыми числами. По + умолчанию increment равно 1. Новое значение переменной + сохраняется в виде десятичной строки и одновременно возвращается + командой.

-

+

ПРИМЕР

       incr variable 3
     
-

variable 3.

+

Данная команда увеличивает переменную variable на 3.

       incr variable
     
-

variable 1.

+

Данная команда увеличивает переменную variable на 1.

+ diff --git a/hlp/ru/tcl/index-tcl.html b/hlp/ru/tcl/index-tcl.html index 51f2420..649131f 100644 --- a/hlp/ru/tcl/index-tcl.html +++ b/hlp/ru/tcl/index-tcl.html @@ -1,94 +1,95 @@ - +

Table of contents

+ diff --git a/hlp/ru/tcl/info.html b/hlp/ru/tcl/info.html index ce93ce0..9464f5d 100644 --- a/hlp/ru/tcl/info.html +++ b/hlp/ru/tcl/info.html @@ -1,4 +1,4 @@ - + info @@ -7,223 +7,224 @@

info

-

Tcl.

+

Команда сообщает сведения о состоянии интерпретатора Tcl.

-

+

СИНТАКСИС

       info option ?arg arg...?
     
-

+

ОПИСАНИЕ

-

- Tcl-. ( - ). +

Эта команда обеспечивает доступ к внутренней информации + Tcl-интерпретатора. Ниже перечислены поддерживаемые опции (имена + которых могут быть сокращены).

info args procname
-
procname - , - . procname - Tcl-. +
Возвращает список имен аргументов процедуры procname в + том порядке, в котором они определены при описании + процедуры. Аргумент procname должен содержать имя + Tcl-процедуры.
info body procname
-
procname. - procname Tcl-. +
Возвращает тело процедуры procname. Аргумент + procname должен содержать имя Tcl-процедуры.
info cmdcount
-
, - . +
Возвращает полное число команд, введенных в данный + интерпретатор.
info commands ?pattern?
-
pattern , - , - , C, , - proc. - pattern , , - pattern. - , string - match. , - Foo::print*. - . - - . +
Если аргумент pattern не задан, возвращает полный + список команд в текущем пространстве имен, включая как + встроенные команды, написанные на C, так и процедуры, заданные + с помощью команды proc. Если аргумент + pattern задан, возвращается список только тех имен, + которые удовлетворяют шаблону pattern. Правила + использования шаблонов такие же, как в команде string + match. Шаблон может быть полным именем, например + Foo::print*. То есть он может задавать определенное + пространство имен и шаблон в нем. В этом случае каждая команда + в возвращаемом списке будет представлена полным именем с + указанием пространства имен.
info complete command
-
1, command - Tcl-, - "" , - . 0. - - , - . , - , - . +
Возвращает 1, если команда command есть + завершенная Tcl-команда, то есть не содержит + "незакрытых" кавычек, квадратных или фигурных скобок + и имен массивов. В противном случае возвращается 0. Эта + команда обычно используется при построчном вводе команд + пользователем для того, чтобы позволить ему вводить команды из + нескольких строк. Для этого, если введенный скрипт не + представляет собой законченную команду, его исполнение + откладывается до завершения следующей строки.
info default procname arg varname
-
procname Tcl-, - arg - - . - , 0. - 1 - varname. +
Аргумент procname должен быть именем Tcl-процедуры, + а аргумент arg - именем одного из аргументов этой + процедуры. Если указанный аргумент не имеет значения по + умолчанию, команда возвращает 0. В противном случае + команда возвращает 1 и помещает значение по + умолчанию в переменную varname.
info exists varName
-
1, varName - - . +
Возвращает 1, если переменная varName + существует в текущем контексте как локальная или как + глобальная переменная. В противном случае возвращает 0.
info globals ?pattern?
-
pattern , - - (, ). - , , - . , - string match. +
Если аргумент pattern не задан, возвращает список + имен определенных в данный момент глобальных переменных + (переменных, определенных в глобальном пространстве имен). + Если шаблон задан, возвращаются только имена, удовлетворяющие + шаблону. Правила использования шаблонов такие же, как в + команде string match.
info hostname
-
, - . +
Возвращает имя компьютера, на котором выполняется этот + вызов.
-
info level +
info level ?number?
-
number , - , 0, - . number - , , - , - . number , - (1 - - , 2 - , 1, - ), number , - (0 - - , -1 - , - , ). - uplevel. +
Если аргумент number не задан, возвращает уровень + стека выполняемой процедуры, или 0, если команда + выполняется на верхнем уровне. Если аргумент number + указан, команда возвращает список, состоящий из имени и + аргументов процедуры, находящейся в стеке вызовов на + соответствующем месте. Если number положительное число, + оно указывает номер уровня в стеке (1 - самая верхняя + вызванная процедура, 2 - процедура, вызванная из процедуры 1, + и так далее), если же number отрицательное, оно + указывает уровень относительно уровня выполняемой процедуры (0 + - выполняемая процедура, -1 - процедура, из которой вызвана + исполняемая, и так далее). Более подробно уровни стека + описаны в uplevel.
-
info library
+
info library
-
, - Tcl-. - tcl_library - . - tclvars +
Возвращает имя каталога, в котором хранятся стандартные + Tcl-скрипты. Обычно совпадает со значением переменной + tcl_library и может быть изменено с помощью + переопределения этой переменной. Дополнительная информация + приведена вtclvars
info loaded ?interp?
-
(package), - - load. - : - . - . interp - , , - . , - , - interp. +
Возвращает список библиотек (package), загруженных в + интерпретатор с помощью команды + load. Каждый элемент списка представляет собой + подсписок из двух элементов: имени файла и имени + библиотеки. Для статически загруженных библиотек имя файла + отсутствует. Если имя интерпретатора interp + отсутствует, возвращается список всех библиотек, загруженных + во все интерпретаторы. Чтобы получить список библиотек, + загруженных в текущий интерпретатор, используйте пустую строку + в качестве аргумента interp.
info locals ?pattern?
-
, - , - , . , - global upvar, . - , , - . , - string match. +
Если образец не задан, возвращает имена всех определенных в + текущий момент локальных переменных, включая аргументы + процедуры, если они есть. Переменные, заданные с помощью + команд global и upvar, не возвращаются. Если + шаблон задан, возвращаются только имена, удовлетворяющие + шаблону. Правила использования шаблонов такие же, как в + команде string match.
info nameofexecutable
-
, - . Tcl , - . +
Возвращает полное имя бинарного файла, с помощью которого + приложение было запущено. Если Tcl не может определить файл, + возвращается пустая строка.
-
info patchlevel
+
info patchlevel
-
- tcl_patchLevel. . tclvars. +
Возвращает значение глобальной переменной + tcl_patchLevel. См. также раздел tclvars.
info procs ?pattern?
-
pattern , - Tcl- . - pattern , , - pattern. - , string +
Если аргумент pattern не задан, возвращает полный + список Tcl-процедур в текущем пространстве имен. Если аргумент + pattern задан, возвращается список только тех имен, + которые удовлетворяют шаблону pattern. Правила + использования шаблонов такие же, как в команде string match.
info script
-
Tcl- (, - - source), , - . - . +
Если в данный момент обрабатывается Tcl-скрипт (например, + вызванный с помощью команды + source), то команда возвращает имя файла, + содержащего самый внутренний обрабатываемый скрипт. В + противном случае возвращает пустую строку.
info sharedlibextension
-
, - (,.so - Solaris). - , . +
Возвращает расширение, используемое на текущей платформе + для файлов разделяемых библиотек (например,.so + для Solaris). Если разделяемые библиотеки на текущей платформе + не поддерживаются, возвращает пустую строку.
-
info tclversion
+
info tclversion
-
- tcl_version. - tclvars. +
Возвращает значение глобальной переменной + tcl_version. Дополнительная информация приведена в + tclvars.
info vars ?pattern?
-
pattern , - , - . pattern - , , - pattern. - , string match. - , Foo::option*. - - . - - . +
Если аргумент pattern не задан, возвращает список + имен всех видимых в текущий момент переменных, включая + локальные и видимые глобальные. Если аргумент pattern + задан, возвращается список только тех имен, которые + удовлетворяют шаблону pattern. Правила использования + шаблонов такие же, как в команде string match. Шаблон + может быть полным именем, например Foo::option*. То + есть он может задавать определенное пространство имен и шаблон + в нем. В этом случае каждая команда в возвращаемом списке + будет представлена полным именем с указанием пространства + имен.
+ diff --git a/hlp/ru/tcl/interp.html b/hlp/ru/tcl/interp.html index 9f60cf0..4f99121 100644 --- a/hlp/ru/tcl/interp.html +++ b/hlp/ru/tcl/interp.html @@ -1,4 +1,4 @@ - + interp @@ -7,736 +7,737 @@

interp

-

Tcl-.

+

Команда создает и управляет Tcl-интерпретаторами.

-

+

СИНТАКСИС

       interp option ?arg arg...?
     
-

+

ОПИСАНИЕ

-

- Tcl-, - . - -, - (slave) . - - - , - , - -. - . +

Эта команда позволяет создавать один или несколько новых + Tcl-интерпретаторов, которые сосуществуют в одном приложении с + создавшим их интерпретатором. Создавший интерпретатор называется + мастер-интерпретатором, а созданные интерпретаторы называются + подчиненными (slave) интерпретаторами. + Мастер-интерпретатор может создавать произвольное число + подчиненных интерпретаторов, а каждый из подчиненных может в + свою очередь создавать подчиненные интерпретаторы, для которых + он сам является мастер-интерпретатором. В результате в + приложении может создаваться иерархия интерпретаторов.

-

. - , - . - - , - . - , - , , - - - . , - - . env> - . , - (, , - open) - , - Tcl. , - - . +

Каждый интерпретатор независим от остальных. Он имеет + собственное пространство имен для команд, процедур и глобальных + переменных. Мастер-интерпретатор может создавать связи между + подчиненными интерпретаторами и собой, используя механизм + алиасов. Алиас - это команда в подчиненном интерпретаторе, + которая, при ее вызове, вызывает другую команду в + мастер-интерпретаторе или в другом подчиненном + интерпретаторе. Кроме механизма алиасов, связь между + интерпретаторами поддерживается только через переменные + окружения. Массив env>обычно является общим для + всех интерпретаторов в приложении. Необходимо заметить, что + идентификаторы каналов (например, идентификатор, возвращаемый + командой open) больше не + разделяются между интерпретаторами, как это было в предыдущих + версиях Tcl. Чтобы обеспечить совместный доступ к каналам, + необходимо использовать явные команды для передачи + идентификаторов каналов из интерпретатора в интерпретатор.

-

interp - . - - , - - . , - - . . . - , - , - . . . - - - -. - " ". +

Команда interp позволяет также создавать надежные + интерпретаторы. Надежный интерпретатор - это интерпретатор с + существенно урезанной функциональностью, поэтому он может + исполнять ненадежные скрипты без риска нарушить работу + вызывающего их приложения. Например, из безопасных + интерпретаторов недоступны команды создания каналов и + подпроцессов. Более подробно см. Безопасные интерпретаторы. Опасная + функциональность не удалена из безопасных интерпретаторов, но + скрыта таким образом, что только надежные интерпретаторы могут + получить к ней доступ. Более подробно см. Скрытые команды. Механизм + алиасов может быть использован для безопасного взаимодействия + между подчиненным интерпретатором и его + мастер-интерпретатором. Более подробно этот вопрос обсуждается в + разделе "Использование алиасов".

-

, - - . - - - -. , a - , - , a1, , - , a11, - a11 a {a1 a11}. +

Полное имя интерпретатора представляет собой список, содержащий + имена его предков в иерархии интерпретаторов и заканчивающийся + именем интерпретатора в его непосредственном предке. Имена + интерпретаторов в списке - это их относительные имена в их + непосредственных мастер-интерпретаторах. Например, если a + есть подчиненный интерпретатор текущего интерпретатора и, в свою + очередь, имеет подчиненный интерпретатор a1, а тот, в + свою очередь, имеет подчиненный интерпретатор a11, то + полное имя a11 в a есть список {a1 a11}.

-

interp - . , - , {} ( - ). , - - - . , - -, - . . +

В качестве аргумента описанной ниже команды interp + используется полное имя интерпретатора. Интерпретатор, в котором + исполняется команда, всегда обозначается как {} (пустая + строка). Обратите внимание, что в подчиненном интерпретаторе + невозможно сослаться на мастер-интерпретатор кроме как через + алиасы. Также нет никакого имени, под которому можно было бы + сослаться на мастер-интерпретатор, первым созданный в + приложении. Оба ограничения вызваны соображениями безопасности.

-

INTERP

+

КОМАНДА INTERP

-

interp , - , - . - - option. +

Команда interp используется для создания, удаления и + выполнения команд в подчиненном интерпретаторе, а также для + разделения или передачи каналов между интерпретаторами. Она + может иметь одну из перечисленных ниже форм в зависимости от + значения аргумента option.

-
interp alias +
interp alias srcPath srcCmd
-
, - , srcCmd - srcPath ( , - , - rename). +
Возвращает список, состоящий из исходной команды и + аргументов, связанных с алиасом srcCmd в интерпретаторе + srcPath (возвращаются значения, использовавшиеся при + создании алиаса, так как имя команды могло быть изменено с + помощью команды rename).
interp alias srcPath srcCmd {}
-
srcCmd - srcPath. srcCmd - , - . , - . +
Удаляет алиас srcCmd в подчиненном интерпретаторе + srcPath. Имя srcCmd - это имя, под которым алиас + был создан. Если созданная команда была переименована, то + будет удалена переименованная команда.
interp alias srcPath srcCmd targetPath targetCmd ?arg arg...?
-

- ( - - - slave alias). - srcPath targetPath - , - . srcPath - srcCmd , - . srcPath - Tcl-, . - , "a b" - b, - a, - . - ( - ). srcCmd - -, - srcPath. targetPath - targetCmd , - arg, , - targetCmd, - , - srcCmd. targetCmd - , - . +

Эта команда создает алиас между двумя подчиненными + интерпретаторами (для создания алиаса между подчиненным + интерпретатором и мастер-интерпретатором используется + команда slave alias). Оба интерпретатора + srcPath и targetPath должны быть в иерархии + интерпретаторов ниже того интерпретатора, в котором + выполняется команда. Аргументы srcPath и + srcCmd задают интерпретатор, в котором будет создан + алиас и его имя. Аргумент srcPath должен быть + Tcl-списком, задающим имя существующего интерпретатора. + Например, "a b" определяет интерпретатор + b, который является подчиненным интерпретатором + интерпретатора a, который в свою очередь является + подчиненным интерпретатором текущего интерпретатора. Пустой + список соответствует текущему интерпретатору (в котором + исполняется команда). Аргумент srcCmd определяет имя + новой команды-алиаса, которая будет создана в интерпретаторе + srcPath. Аргументы targetPath и + targetCmd определяют целевой интерпретатор и команду, + а аргументы arg, если они есть, определяют + дополнительные аргументы для команды targetCmd, + которые будут вставлены перед аргументами, заданным при + вызове srcCmd. Команда targetCmd может как + существовать, так и не существовать в момент создания + алиаса. В последнем случае она не создается командой interp alias.

-

targetCmd - targetPath , - -srcCmd - srcPath. . " ". +

Алиас позволяет использовать команду targetCmd в + интерпретаторе targetPath каждый раз, когда + вызывается команда-алиасsrcCmd в интерпретаторе + srcPath. Подробнее см. "Использование алиасов".

interp aliases ?path?
-
-, - path. +
Эта команда возвращает список имен всех команд-алиасов, + определенных в интерпретаторе path.
interp create ?-safe? ?--? ?path?
-

path - , - (slave) . - path. - - , - path, . , - path a b c, - a b - c c. - . " - ". path - , Tcl - interpx, x - , - . - -safe - - - , - , . - - Tcl- . - - , . - - , -safe.

+

Создает подчиненный интерпретатор с именем path и + новую команду для работы с этим интерпретатором, называемую + также подчиненной (slave) командой. Имя подчиненной команды + совпадает с последним элементом списка path. Новый + подчиненный интерпретатор и подчиненная команда создаются в + интерпретаторе, имя которого состоит из всех элементов + списка path, кроме последнего. Например, если + аргумент path равен a b c, то в результате в + интерпретаторе a b будет создан подчиненный + интерпретатор c и подчиненная команда c. + Синтаксис подчиненной команды описан ниже см. "Команда + работы с интерпретатором". Если аргумент path + отсутствует, Tcl создает уникальное имя в форме + interpx, где x - целое число, и использует его + для подчиненного интерпретатора и подчиненной команды. Если + в команде указана опция -safe или если + мастер-интерпретатор сам является безопасным + интерпретатором, новый подчиненный интерпретатор будет + безопасным, то есть с ограниченной функциональностью. В + противном случае новый интерпретатор будет включать полный + набор встроенных Tcl-команд и переменных. Аргумент - + используется для того, чтобы обозначить конец опций. + Следующий аргумент будет использоваться как имя + интерпретатора, даже если он равен -safe.

-

interp create - . - . - - .

+

Команда interp create возвращает имя нового + интерпретатора. Имя подчиненного интерпретатора должно быть + уникальным среди подчиненных интерпретаторов его мастера. + Если у мастер-идентификатора уже существует.

interp delete ?path...?
-
- path. - . - path - , . +
Удаляет ноль или больше интерпретаторов с именем + path. Для каждого удаляемого интерпретатора удаляются + также его подчиненные интерпретаторы. Если для одного из + аргументов path интерпретатора с таким именем не + существует, команда генерирует ошибку.
interp eval path arg ?arg...?
-
, concat, - , - path. ( - errorInfo errorCode, - ) . +
Команда объединяет все аргументы так же, как команда concat, а затем исполняет + сформированный скрипт в подчиненном интерпретаторе, заданном + аргументом path. Результат выполнения (включая + информацию об ошибках в переменных errorInfo и errorCode, если произошла + ошибка) возвращается в вызывающий интерпретатор.
-
interp exists +
interp exists path
-
1, - path -. - 0. - path , - , . +
Возвращает 1, если подчиненный интерпретатор с + именем path существует в его мастер-интерпретаторе. В + противном случае возвращает 0. Если аргумент + path представляет относительное имя, то он ищется в том + интерпретаторе, в котором выполняется команда.
-
interp expose +
interp expose path hiddenName ?exposedCmdName?
-
path - hiddenName - exposedCmdName ( - , - "::"). ( ) - exposedCmdName , - . . " ". +
Разрешает использование в интерпретаторе path + скрытой команды hiddenName под новым именем + exposedCmdName (в настоящее время поддерживаются только + имена в глобальном пространстве имен, не содержащие + "::"). Если обычная (не скрытая) команда + exposedCmdName уже существует, генерируется сообщение + об ошибке. Скрытые команды обсуждаются подробно см. "Скрытые команды".
-
interp hide path +
interp hide path exposedCmdName ?hiddenCmdName?
-
path - exposedCmdName - hiddenCmdName ( - , ). - , - . exposedCmdName - hiddenCmdName "::". - , interp - hide, , - . - (. " "). +
Запрещает использование в интерпретаторе path + обычной команды exposedCmdName и переименовывает ее в + скрытую команду hiddenCmdName (или в скрытую команду + под старым именем, если новое не было задано). Если скрытая + команда с заданным именем уже существует, команда возвращает + ошибку. В настоящее время exposedCmdName и + hiddenCmdName не могут содержать "::". + Команды, которые должны быть скрыты с помощью interp + hide, ищутся только в глобальном пространстве имен, даже + если текущее пространство имен не глобальное. Скрытые команды + обсуждаются подробно ниже (см. "Скрытые команды").
interp hidden path
-
+
Возвращает список скрытых команд интерпретатора path.
interp invokehidden path ?-global? hiddenCmdName ?arg...?
-
path - hiddenCmdName . - . - -global, - . - - - . - . +
Вызывает в интерпретаторе path скрытую команду + hiddenCmdName с перечисленными аргументами. Никаких + подстановок или вычислений в аргументах не производится. Если + указана опция -global, скрытая команда выполняется на + глобальном уровне в целевом интерпретаторе. В противном + случае она выполняется в текущем контексте и может + использовать значения локальных переменных и переменных из + вышестоящих стеков. Скрытые команды обсуждаются подробно в + соответствующем разделе ниже.
interp issafe ?path?
-
1, path - , 0 . +
Возвращает 1, если интерпретатор path + безопасный, и 0 в противном случае.
interp marktrusted path
-
path . - . interp marktrusted - . - path , - . +
Отмечает интерпретатор path как надежный. Не + раскрывает скрытые команды. Команда interp marktrusted + может выполняться только из надежного интерпретатора. Если + интерпретатор path уже надежный, команда не оказывает + никакого воздействия.
interp share srcPath channelId destPath
-
- channelId - srcPath destPath. - - . - , , - , . +
Позволяет разделить канал ввода - вывода channelId + между интерпретаторами srcPath и destPath. Оба + интерпретатора после этого будут иметь одинаковые права на + канал. Каналы ввода - вывода, доступные в интерпретаторе, + автоматически закрываются, когда удаляется интерпретатор.
interp slaves ?path?
-
- path. path - , - , . +
Возвращает список подчиненных интерпретаторов для + интерпретатора path. Если аргумент path + отсутствует, возвращает список подчиненных интерпретаторов для + интерпретатора, в котором выполняется команда.
interp target path alias
-
, - (, - -) alias. - path - - alias interp alias . - - , - . , - . - , , - . - . +
Возвращает список, описывающий целевой интерпретатор + (интерпретатор, в котором выполняется реальная команда при + вызове команды-алиаса) для алиаса alias. Алиас задается + именем интерпретатора path и команды-алиаса + alias как в команде interp alias выше. Имя + целевого интерпретатора возвращается как имя интерпретатора + относительно имени интерпретатора, в котором выполняется + команда. Если это текущий интерпретатор, то возвращается + пустой список. Если этот интерпретатор не является потомком + интерпретатора, в котором выполняется команда, генерируется + ошибка. Реальная команда не обязана быть определена в момент + выполнения данной команды.
interp transfer srcPath channelId destPath
-
- channelId - destPath +
Делает канал ввода - вывода channelId доступным в + интерпретаторе destPath и недоступным в интерпретаторе srcPath.
-

- ( )

+

КОМАНДА РАБОТЫ С + ИНТЕРПРЕТАТОРОМ (ПОДЧИНЕННАЯ КОМАНДА)

-

, - interp, - - , . - - . : +

Для каждого подчиненного интерпретатора, созданного с помощью + команды interp, в мастер-интерпретаторе создается команда + с тем же именем, что и подчиненный интерпретатор. Эта команда + предназначена для выполнения различных операций в подчиненном + интерпретаторе. В общем случае она имеет следующий вид:

       slave command ?arg arg...?
     
-

slave - , - command arg arg... - . - .

+

где slave - имя подчиненного интерпретатора, а + аргументы command и arg arg... определяют + конкретное назначение команды. Ниже перечислены возможные + формы команды.

slave aliases
-
- slave. - , - . - , - . +
Возвращает список всех алиасов в подчиненном интерпретаторе + slave. Возвращаемые имена - это имена, + использовавшиеся при создании соответствующих алиасов. Они + могут не совпадать с текущими именами команд, если те были + переименованы.
slave alias srcCmd
-
, - , srcCmd. - , - . , - srcCmd, - . +
Возвращает список, состоящий из имени реальной команды и ее + аргументов, ассоциированных с алиасом srcCmd. + Возвращаются те же значения, что и в команде создания + алиаса. Если созданный алиас был переименован, то в команде + надо указывать имя srcCmd, которое использовалось при + создании алиаса.
slave alias srcCmd {}
-
srcCmd . - srcCmd - . , - . +
Удаляет алиас srcCmd в подчиненном интерпретаторе. + Аргумент srcCmd указывает имя алиаса в момент + создания. Если после этого он был переименован, удалится + переименованная команда.
slave alias srcCmd targetCmd ?arg..?
-
- - . , - srcCmd, - targetCmd - -. arg, , - - targetCmd, , - srcCmd. . " - ". +
Эта команда создает команду - алиас в подчиненном + интерпретаторе. Каждый раз, когда в подчиненном интерпретаторе + будет вызываться команда srcCmd, реально выполняться + будет команда targetCmd в + мастер-интерпретаторе. Аргументы arg, если они есть, + определяют дополнительные аргументы для команды + targetCmd, которые будут вставлены перед аргументами, + заданными при вызове srcCmd. Подробнее см. "Использование + алиасов".
slave eval arg ?arg..?
-
, - concat, - - . ( - - errorInfo errorCode, - ) . +
Эта команда объединяет все свои аргументы так же, как + команда concat, и выполняет + сформированный таким образом скрипт в подчиненном + интерпретаторе. Результат выполнения (включая информацию об + ошибках в переменных + errorInfo и errorCode, если + произошла ошибка) возвращается в вызывающий интерпретатор.
slave expose hiddenName ?exposedCmdName?
-
- hiddenName - exposedCmdName ( - , - "::"). ( ) - exposedCmdName , - . (. " "). +
Разрешает использование в подчиненном интерпретаторе + скрытой команды hiddenName под новым именем + exposedCmdName (в настоящее время поддерживаются только + имена в глобальном пространстве имен, не содержащие + "::"). Если обычная (не скрытая) команда + exposedCmdName уже существует, генерируется сообщение + об ошибке. Скрытые команды обсуждаются ниже (см. "Скрытые команды").
slave hide exposedCmdName ?hiddenCmdName?
-
- exposedCmdName - hiddenCmdName ( - , ). - , . - exposedCmdName hiddenCmdName - "::". , - interp hide, - , - . - (. " - "). +
Запрещает использование в подчиненном интерпретаторе обычной + команды exposedCmdName и переименовывает ее в скрытую + команду hiddenCmdName (или в скрытую команду под старым + именем, если новое не было задано). Если скрытая команда с + заданным именем уже существует, команда возвращает ошибку. В + настоящее время exposedCmdName и hiddenCmdName + не могут содержать "::". Команды, которые + должны быть скрыты с помощью interp hide, ищутся только + в глобальном пространстве имен, даже если текущее пространство + имен не глобальное. Скрытые команды обсуждаются ниже + (см. "Скрытые + команды").
slave hidden
-
- . +
Возвращает список скрытых команд в подчиненном + интерпретаторе.
slave invokehidden ?-global? hiddenName ?arg..?
-
- hiddenCmdName . - . - -global, - . - - - . - . +
Вызывает в подчиненном интерпретаторе скрытую команду + hiddenCmdName с перечисленными аргументами. Никаких + подстановок или вычислений в аргументах не производится. Если + указана опция -global, скрытая команда выполняется на + глобальном уровне в подчиненном интерпретаторе. В противном + случае она выполняется в текущем контексте и может + использовать значения локальных переменных и переменных из + вышестоящих стеков. Скрытые команды обсуждаются подробно в + соответствующем разделе ниже.
slave issafe
-
1, - , 0 . +
Возвращает 1, если подчиненный интерпретатор + безопасный, и 0 в противном случае.
slave marktrusted
-
. - . - . - , . +
Отмечает подчиненный интерпретатор как надежный. Не + раскрывает скрытые команды. Команда может выполняться только + из надежного интерпретатора. Если подчиненный интерпретатор + уже надежный, команда не оказывает никакого воздействия.
-

-

+

+ БЕЗОПАСНЫЕ ИНТЕРПРЕТАТОРЫ

-

- - . - , , - - . - , - . , - . , - - . - - -, - - . , - - , - ( ) - . +

Безопасный интерпретатор - это интерпретатор с ограниченной + функциональностью. Поэтому в нем можно без опасений выполнять + произвольные скрипты, даже написанные вашим злейшим врагом, не + опасаясь нарушить выполнение вашего приложения или испортить + содержимое дисков вашего компьютера. Чтобы обеспечить + безопасность, из таких интерпретаторов удалены определенные + команды и переменные. Например, команда создания файлов на диске + и команда запуска подпроцессов. Тем не менее, в безопасном + интерпретаторе можно обеспечить ограниченный доступ к подобным + командам с помощью механизма алиасов. В результате при + выполнении потенциально опасных команд будут вызываться + специально написанные процедуры в мастер-интерпретаторе, которые + могут тщательно проверять заданные аргументы и позволять + использовать только ограниченный набор средств. Например, + создание файлов может быть разрешено только в ограниченном + наборе подкаталогов, а запуск подпроцессов разрешен только для + ограниченного (и фиксированного) набора хорошо проверенных + программ.

-

, - -safe. , - , , - . +

Чтобы создаваемый интерпретатор был безопасным, необходимо при + его создании указать опцию -safe. Кроме того, любой + интерпретатор, созданный из безопасного интерпретатора, также + будет безопасным.

-

- :

+

Безопасный интерпретатор создается со следующим набором + команд:

- - - - - + + + + + - - - - - + + + + + - - - - - + + + + + - - - - - + + + + + - - - - - + + + + + - - - - - + + + + + - - - - - + + + + + - - - - - + + + + + - - - - - + + + + + - - - - - + + + + + - - - - - + + + + + - - - - + + + +
afterappendarraybreakcaseafterappendarraybreakcase
catchclockconcatcontinueeofcatchclockconcatcontinueeof
errorevalexprfblockedfileeventerrorevalexprfblockedfileevent
flushforforeachformatgetsflushforforeachformatgets
globalhistoryifincrinfoglobalhistoryifincrinfo
interpjoinlappendlindexlinsertinterpjoinlappendlindexlinsert
listllengthlowerlrangelreplacelistllengthlowerlrangelreplace
lsearchlsortpackagepidproclsearchlsortpackagepidproc
putsreadrenamereturnscanputsreadrenamereturnscan
seeksetsplitstringsubstseeksetsplitstringsubst
switchtelltraceunsetupdateswitchtelltraceunsetupdate
uplevelupvarvwaitwhileuplevelupvarvwaitwhile
-

:

+

Следующие команды в безопасном интерпретаторе скрыты:

- - - - + + + + - - - - + + + + - - - + + +
cdexecexitfconfigurecdexecexitfconfigure
fileglobloadopenfileglobloadopen
pwdsocketsourcepwdsocketsource
-

Tcl- - interp expose.

+

Эти команды могут быть созданы заново как Tcl-процедуры или + алиасы или разрешены к использованию с помощью команды interp expose.

-

, - env, - . , - .

+

Сверх того, в безопасных интерпретаторах отсутствует массив + env, содержащий обычно + переменные окружения. Это связано с тем, что в переменных + окружения может храниться конфиденциальная информация.

-

, , - . - . SafeTcl load. +

Расширения, загружаемые в безопасный интерпретатор, также + обладают ограниченной функциональностью. Более подробно эти + вопросы обсуждаются в пп. SafeTcl и load.

-

-

+

ИСПОЛЬЗОВАНИЕ + АЛИАСОВ

-

, - - , - -. - , - ( - , ) - -. - - , - - .

+

Механизм алиасов весьма тщательно спроектирован таким образом, + чтобы он позволял без опасений выполнять ненадежные скрипты в + безопасных подчиненных интерпретаторах, используя для алиасов + проверенные команды в мастер-интерпретаторах. Для обеспечения + безопасности принципиально важно, чтобы информация из + подчиненного интерпретатора никогда не обрабатывалась (то есть + скрипты не исполнялись, и в них не производились подстановки) в + мастер-интерпретаторе. В противном случае всегда будет + оставаться возможность написать такой скрипт для подчиненного + интерпретатора, который выполнил бы произвольные действия в + мастер-интерпретаторе и мог бы нарушить его безопасность.

-

-, - Tcl- , - Tcl-. - , - . , ``srcCmd - arg1 arg2... argN'', ``targetCmd - arg arg... arg arg1 arg2... argN'', arg - arg... arg - , - . - ( ). - targetCmd, - . - - . , - . , - : - targetCmd arg... arg - , - , arg1 - argN - - .

+

Когда в подчиненном интерпретаторе вызывается команда-алиас, + необходимые Tcl-подстановки в аргументах выполняются там же, как + для обычной Tcl-команды. После этого аргументы объединяются с + целевой командой и ее аргументами, определенными при создании + алиаса. Так, если команда вызова алиаса имела вид srcCmd + arg1 arg2... argN'', то сформируется команда targetCmd + arg arg... arg arg1 arg2... argN'', где arg + arg... arg - аргументы, указанные при создании + алиаса. После этого сформированная команда выполняется в целевом + интерпретаторе (со сформированным набором аргументов). Если в + целевом интерпретаторе нет команды targetCmd, будет + сгенерирована ошибка. Перед выполнением команды в целевом + интерпретаторе больше никаких подстановок в аргументах + произведено не будет. Команда будет вызвана напрямую, а не через + обычный механизм выполнения. Таким образом, подстановки в каждом + слове команды оказываются выполненными ровно один раз: в + targetCmd и arg... arg - при выполнении команды, + с помощью которой был создан алиас, а в arg1 - argN - при + анализе команды алиаса в соответствующем интерпретаторе.

-

targetCmd, - - , . - , - , , - . - - - , , - .

+

При написании процедуры targetCmd, которую + предполагается использовать для алиаса в безопасном + интерпретаторе, нужно придерживаться следующего правила. + Недопустимо, чтобы в значениях ее аргументов в теле процедуры + производились подстановки, либо чтобы аргументы были скриптами, + исполняемыми в теле процедуры. Нарушение этого правила дает + возможность подчиненному интерпретатору выполнить произвольный + код в мастер-интерпретаторе и нарушить, таким образом, + безопасность системы.

-

+

СКРЫТЫЕ КОМАНДЫ

-

- Tcl-. - , - , , , - - . , - source. - Tk- .

+

Безопасные интерпретаторы существенно ограничивают + функциональные возможности выполняемых в них Tcl-скриптов. С + одной стороны, это позволяет избежать нежелательных последствий + при их исполнении, но, с другой стороны, рано или поздно + возникает насущная необходимость выполнить потенциально опасную + команду в безопасном интерпретаторе. Например, прочитать + дополнительный скрипт с помощью команды source. Или выполнить в + Tk-приложении некоторые команды управления окнами.

-

interp - . - , - . , - "" . - "" - interp invoke. ( ) - . - - .

+

Команда interp обеспечивает решение этой проблемы с + помощью механизма скрытых команд. Потенциально опасные команды + не удаляются из безопасного интерпретатора, а становятся + скрытыми. При этом их невозможно выполнить из скрипта, + выполняемого "внутри" интерпретатора. Но их можно выполнить + "извне" из любого надежного предка интерпретатора с помощью + команды interp invoke. Скрытые и обычные (не скрытые) + команды размещаются в различных пространствах имен. Это + позволяет иметь в одном интерпретаторе скрытую и обычную команды + с одним и тем же именем.

-

, - . , - source. - - - (, - , - ) - source. , - - source: - .

+

Скрытые команды могут использоваться в теле процедуры, + использованной при определении алиаса. Например, в подчиненном + интерпретаторе можно создать алиас source. Вызываемая при этом + процедура в мастер-интерпретаторе проверяет допустимость + запрошенной операции (например, что запрошенный файл находится в + соответствующем каталоге, к которому разрешен доступ из + подчиненного интерпретатора) и вызывает в подчиненном + интерпретаторе скрытую команду source. Обратите внимание, что + в этом случае в подчиненном интерпретаторе существует две + команды source: скрытая и + алиас.

-

- - . - , , - - . . " ".

+

Из мастер-интерпретатора возможен вызов скрытых команд + подчиненного интерпретатора через механизм алиасов. Поэтому в + теле процедур, предназначенных для создания алиаса, необходимо + избегать подстановок и команд исполнения для + аргументов. См. "Использование алиасов".

-

"" - .

+

Безопасные интерпретаторы не могут "изнутри" вызвать скрытую + команду в себе или своих потомках.

-

- interp - expose interp - hide. - .

+

Множество скрытых команд может быть изменено из надежного + интерпретатора с помощью команд interp + expose и interp + hide. Безопасный интерпретатор не может изменить набор + скрытых команд в себе или своих потомках.

-

- . , , - . , - , - . - .

+

В настоящее время имена скрытых команд не могут содержать имени + пространства имен. Поэтому, прежде чем скрыть команду, ее надо + перевести в глобальное пространство имен. Команды, которые + необходимо скрыть, должны находиться в глобальном пространстве + имен. Это позволяет избежать ошибочного скрытия одноименной + команды из другого пространства имен.

+ diff --git a/hlp/ru/tcl/join.html b/hlp/ru/tcl/join.html index ea488e7..5159b80 100644 --- a/hlp/ru/tcl/join.html +++ b/hlp/ru/tcl/join.html @@ -1,4 +1,4 @@ - + join @@ -7,21 +7,22 @@

join

-

.

+

Команда соединяет элементы списка в одну строку.

-

+

СИНТАКСИС

       join list joinString
     
-

+

ОПИСАНИЕ

-

, - list, - joinString. list Tcl-, - joinString .

+

Команда возвращает строковое значение, состоящее из всех + элементов спискаlist, отделенных друг от друга символом + joinString. Список list должен быть Tcl-списком, + joinString по умолчанию есть пробел.

-

+

ПРИМЕР

+ diff --git a/hlp/ru/tcl/lappend.html b/hlp/ru/tcl/lappend.html index a395960..9272fcb 100644 --- a/hlp/ru/tcl/lappend.html +++ b/hlp/ru/tcl/lappend.html @@ -1,4 +1,4 @@ - + lappend @@ -7,31 +7,32 @@

lappend

-

.

+

Команда дополняет переменную элементами списка.

-

+

СИНТАКСИС

       lappend varName value value value ...
     
-

+

ОПИСАНИЕ

-

varName - value , . - varName , , - value. lappend - append, , - , - . - . ,

+

Команда добавляет в список varName каждый из аргументов + value как новый элемент, отделенный пробелом. Если + varName не существует, то он будет создан с элементами, + заданными value. Команда lappend подобна команде + append, за исключением того, + что аргументы добавляются в качестве элементов списка, а не + просто текста. С помощью этой команды можно эффективно создавать + большие списки. Например, для больших списков команда

-      lappend a $b
+      lappend a 
     
-

,

+

намного эффективнее, чем

-      set a [concat $a [list $b]]
+      set a [concat  [list ]]
     
+ diff --git a/hlp/ru/tcl/library.html b/hlp/ru/tcl/library.html index 772f9aa..41f237a 100644 --- a/hlp/ru/tcl/library.html +++ b/hlp/ru/tcl/library.html @@ -1,4 +1,4 @@ - + library @@ -6,263 +6,264 @@

library

-

Tcl.

+

Команды стандартной библиотеки процедур Tcl.

-

+

СИНТАКСИС

-      auto_execok cmd
-      auto_load cmd
-      auto_mkindex dir pattern pattern
-      auto_reset
-      parray arrayName
-      tcl_endOfWord str start
-      tcl_startOfNextWord str start
-      tcl_startOfPreviousWord str start
-      tcl_wordBreakAfter str start
-      tcl_wordBreakBefore str start
+      auto_execok cmd
+      auto_load cmd
+      auto_mkindex dir pattern pattern
+      auto_reset
+      parray arrayName
+      tcl_endOfWord str start
+      tcl_startOfNextWord str start
+      tcl_startOfPreviousWord str start
+      tcl_wordBreakAfter str start
+      tcl_wordBreakBefore str start
     
-

+

ОПИСАНИЕ

-

Tcl Tcl- .

+

Tcl содержит библиотеку Tcl-процедур общего назначения.

-

Tcl - info - library. , , - . - - $app_library, app - . , - Tk $tk_library.

+

Местонахождение библиотеки Tcl можно получить с помощью команды + info + library. Обычно, помимо этой библиотеки, приложения + имеют собственные библиотеки служебных процедур. Местонахождение + процедур приложения обычно содержит глобальная переменная + , где app - имя приложения. Например, + для Tk это переменная .

-

, Tcl-, - init.tcl , - ,

+

Для того, чтобы использовать процедуры из Tcl-библиотеки, + приложению необходимо прочитать файл init.tcl библиотеки, + например, командой

       source [file join [info library] init.tcl]
     
-

Tcl_AppInit - Tcl_Init, - . init.tcl - unknown - - , .

+

Если в приложении процедура Tcl_AppInit вызывает + библиотечную процедуру Tcl_Init, то такая команда + выполняется автоматически. Код в файле init.tcl определит + процедуру unknown и + позволит остальным процедурам загружаться по требованию при + помощи механизма автозагрузки, описанного ниже.

-

+

КОМАНДНЫЕ ПРОЦЕДУРЫ

-

Tcl - :

+

Библиотека Tcl предоставляет пользователю следующие + процедуры:

-
auto_execok cmd
+
auto_execok cmd
-
- ( PATH) , - cmd. - , 1, - - 0. - auto_execs, - . - +
Эта команда просматривает каталоги в текущем пути поиска + (заданном переменной окружения PATH) и проверяет, есть ли в + каталогах исполняемый файл по имени cmd. Если файл + присутствует, то команда возвращает 1, если нет - то + 0. Команда запоминает сведения о предыдущем поиске в + массиве auto_execs, это позволяет обходиться без поиска + в каталогах при последующих вызовах этой же команды. Для + удаления из памяти этой информации можно использовать команду auto_reset.
-
auto_load cmd
+
auto_load cmd
-

Tcl- - cmd. , - . - auto_path, - . - TCLLIBPATH. , - , - Tcl-.

+

Эта команда загружает определение для Tcl-команды + cmd. Для этого она просматривает путь автозагрузки, + являющийся списком из одного или более каталогов. Он + содержится в глобальной переменной auto_path, если + она существует. В противном случае используется переменная + окружения TCLLIBPATH. Если же и она не существует, список + автозагрузки состоит из каталога, в котором находится + Tcl-библиотека.

-

, , - tclIndex, , - , . - tclIndex +

В каждом из каталогов, входящих в путь автозагрузки, должен + находиться файл tclIndex, список команд, определенных + в этом каталоге, и скрипты для загрузки каждой команды. Файл + tclIndex должен быть создан с помощью команды auto_mkindex.

-

, auto_load - 1. 0, - - - (, tclIndex ). - , - .

+

Если команда была успешно загружена, то auto_load + возвращает 1. Команда возвращает 0, если + нужная команда не была найдена в списках команд или + указанная команда загрузки не позволила создать команду + (например, если файл tclIndex устарел). Если при + выполнении указанного загрузочного скрипта возникла ошибка, + команда возвращает ошибку.

-

auto_load - - auto_index. - auto_load - , - . - auto_reset. - auto_reset auto_load - .

+

Команда auto_load читает индексные файлы только один + раз и сохраняет полученную информацию в массиве + auto_index. При последующих обращениях к команде + auto_load сначала проверяется массив и только если + информация о процедуре не найдена, приступает к просмотру + индексных файлов. Эта информация может быть удалена с + помощью команды auto_reset. После команды + auto_reset следующий вызов auto_load к + повторному чтению индексных файлов.

-
auto_mkindex dir +
auto_mkindex dir pattern pattern...
-

- auto_load. - dir , - pattern ( glob), - Tcl, , - tclIndex - dir. pattern, - *.tcl. , -

+

Команда создает индекс для использования его командой + auto_load. Для этого команда просматривает каталог + dir в поисках файлов с именами, удовлетворяющими + аргументам pattern (сравнение выполняется командой glob), и создает индекс всех + командных процедур Tcl, определенных в обнаруженных файлах, + и сохраняет индекс в файле tclIndex в этой + dir. Если не задано ни одного шаблона pattern, + то по умолчанию принимается *.tcl. Например, + команда

 	  auto_mkindex foo *.tcl
 	
-

.tcl- foo - foo/tclIndex.

+

просматривает все .tcl-файлы в каталоге foo и + создает новый индексный файл foo/tclIndex.

-

auto_mkindex Tcl- - : , - , proc, , - , - . , - (, proc ), - .

+

Команда auto_mkindex просматривает Tcl-скрипты очень + простым способом: если в очередной строке, начиная с первого + символа, написано слово proc, считается, что это + определение процедуры, а следующее слово есть имя + процедуры. Процедуры, определение которых не подходит под + описанное (например, если перед словом proc стоят пробелы), не попадают в + индексный файл.

-
auto_reset
+
auto_reset
-
, - auto_execok auto_load. - . - , - auto_index, - . +
Команда удаляет всю информацию, накопленную командами + auto_execok и auto_load. При следующем обращении + к этой информации она будет считана с диска заново. Эта + команда также удаляет все процедуры, перечисленные в массиве + auto_index, так что при следующем обращении к ним будут + загружены новые копии.
-
parray arrayName
+
parray arrayName
-
- arrayName. - . , - . +
Команда выдает на стандартный выход имена и значения + элементов массива arrayName. Массив должен быть + доступен в контексте вызова. Он может быть как локальным, так + и глобальным.
-
tcl_endOfWord str +
tcl_endOfWord str start
-
- start str. - , , - . - -1, - . , Tcl, - tcl_wordchars +
Возвращает индекс первого конца слова после указанного + индекса start в строке str. Первым концом слова + считается первый символ, не принадлежащий слову, следующий за + первым после начальной точки символом слова. Возвращает + -1, если после начальной точки больше нет концов + слова. Способ распознавания символов слов, используемый в Tcl, + приведен в описании переменных tcl_wordchars и tcl_nonwordchars.
-
tcl_startOfNextWord +
tcl_startOfNextWord str start
-
- start str. - , , - . -1, - . +
Возвращает индекс первого начала слова после указанного + индекса start в строке str. Первым началом слова + считается первый символ слова, следующий за символом, не + принадлежащим слову. Возвращает -1, если после + начальной точки больше нет начала слова.
-
+
tcl_startOfPreviousWord str start
-
- start str. - -1, - . +
Возвращает индекс первого начала слова до указанного + индекса start в строке str. Возвращает + -1, если после начальной точки больше нет начала + слова.
-
+
tcl_wordBreakAfterstr start
-
- start str. - -1, - . - , . +
Возвращает индекс первой границы слова после указанного + индекса start в строке str. Возвращает + -1, если в указанной строке после начальной точки + больше нет границ слова. Возвращаемый индекс относится ко + второму символу пары, образующей границу.
-
+
tcl_wordBreakBefore str start
-
- start str. - -1, - . - , . +
Возвращает индекс первой границы слова до указанного + индекса start в строке str. Возвращает + -1, если в указанной строке до начальной точки + больше нет границ слова. Возвращаемый индекс относится ко + второму символу пары, образующей границу.
-

+

ПЕРЕМЕННЫЕ

-

Tcl - .

+

Процедуры Tcl используют или определяют следующие глобальные + переменные.

-

auto_execs - auto_execok - , - .

+

auto_execs - используется командой auto_execok + для записи информации о том, существуют ли конкретная команда в + виде исполняемого файла.

-

auto_index - auto_load - , .

+

auto_index - используется auto_load для + сохранения индексной информации, считанной с диска.

-

auto_noexec - , - unknown - - .

+

auto_noexec - если переменная задана с любым значением, + то команда unknown не + будет пытаться автоматически исполнить какую-либо команду.

-

auto_noload - , - unknown - - .

+

auto_noload - если переменная задана с любым значением, + то команда unknown не + будет пытаться автоматически загрузить какую-либо команду.

-

auto_path - , - Tcl- - .

+

auto_path - если переменная задана, то она должна + содержать Tcl-список с каталогами для просмотра при операциях + автозагрузки.

-

env(TCL_LIBRARY) - , - - ( info - library ). - , - .

+

env(TCL_LIBRARY) - если переменная задана, то она + указывает местоположение каталога с библиотечными скриптами + (команда info + library возвращает значение этой переменной). Если + переменная не определена, то используется значение по + умолчанию.

-

env(TCLLIBPATH) - , - Tcl - . - , auto_path.

+

env(TCLLIBPATH) - если переменная задана, то она должна + содержать действующий Tcl список каталогов для поиска при + операциях автозагрузки. Эта переменная используется только + тогда, когда не определена переменная auto_path.

-

tcl_nonwordchars - - , , - tcl_endOfWord , - . , - . Unix - , , - .

+

tcl_nonwordchars - переменная содержит регулярное + выражение, используемое такими процедурами, как + tcl_endOfWord для определения, является ли символ частью + слова или нет. Если образец соответствует символу, то символ + считается не принадлежащим к слову. В Unix такими символами + являются все символы, кроме цифр, букв и символа + подчеркивания.

-

tcl_wordchars - - , , - tcl_endOfWord , - . , - . Unix , - .

+

tcl_wordchars - переменная содержит регулярное + выражение, используемое такими процедурами, как + tcl_endOfWord для определения, является ли символ частью + слова или нет. Если образец соответствует символу, то символ + считается частью слова. В Unix слова состоят из цифр, букв и + символа подчеркивания.

-

unknown_active - - unknown: - . , - unknown - . - unknown - .

+

unknown_active - эта переменная служит флагом для + индикации активности команды unknown: команда сама + устанавливает ее. Переменная используется для выявления ошибок, + при которых unknown + бесконечно рекурсивно обращается к себе. Перед окончанием работы + unknown переменная + сбрасывается.

+ diff --git a/hlp/ru/tcl/lindex.html b/hlp/ru/tcl/lindex.html index 8da48f0..d499a83 100644 --- a/hlp/ru/tcl/lindex.html +++ b/hlp/ru/tcl/lindex.html @@ -1,4 +1,4 @@ - + lindex @@ -7,26 +7,27 @@

lindex

-

.

+

Команда извлекает элемент списка.

-

+

СИНТАКСИС

       lindex list index
     
-

+

ОПИСАНИЕ

-

lindex list Tcl - index- . - index 0 - , end - . - Tcl - , , - . - index - , . - index end, - .

+

Команда lindex считает list Tcl списком и + возвращает index-ный элемент этого списка. Для + index значение 0 соответствует первому элементу + списка, а значение end - последнему. При выполнении + команды соблюдаются общие правила интерпретатора Tcl + относительно фигурных скобок, двойных кавычек и обратного слэша, + хотя подстановки переменных и команд не происходят. Если + index отрицательное число или больше или равно числу + элементов, команда возвращает пустое значение. Если значение + аргумента index равно end, команда возвращает + последний элемент списка.

+ diff --git a/hlp/ru/tcl/linsert.html b/hlp/ru/tcl/linsert.html index c5fd38e..4bc8aea 100644 --- a/hlp/ru/tcl/linsert.html +++ b/hlp/ru/tcl/linsert.html @@ -1,4 +1,4 @@ - + linsert @@ -7,23 +7,24 @@

linsert

-

.

+

Команда служит для вставки элементов в список.

-

+

СИНТАКСИС

       linsert listName index element element element ...
     
-

+

ОПИСАНИЕ

-

listName - element - index- list. - element - . index , - . index - end, - .

+

Данная команда создает из listNameновый список при + помощи вставки аргументов element непосредственно перед + index-ным элементом списка list. Каждый из + аргументов element станет отдельным элементом нового + списка. Если индекс index меньше или равен нулю, новые + элементы вставляются в начало списка. Если индекс index + больше или равен числу элементов в списке или равен end, + новые элементы вставляются в конец списка.

+ diff --git a/hlp/ru/tcl/list.html b/hlp/ru/tcl/list.html index 659cc86..cd467c4 100644 --- a/hlp/ru/tcl/list.html +++ b/hlp/ru/tcl/list.html @@ -1,4 +1,4 @@ - + list @@ -7,43 +7,43 @@

list

-

.

+

Команда создает список.

-

+

СИНТАКСИС

       list arg arg ...
     
-

+

ОПИСАНИЕ

-

list - arg , . - - , - index , - eval - , arg1, - , arg - . list - concat: , concat - , - list - . ,

+

Команда list возвращает новый список из всех элементов + arg или пустой список, если аргументы не указаны. При + формировании списка по необходимости используются фигурные + скобки и обратные слэши, что позволяет потом использовать + команду index для извлечения исходных аргументов, а также + использовать команду eval для + исполнения результирующего списка, с arg1, содержащим имя + команды, и остальными arg в качестве ее + аргументов. Команда list несколько отличается от команды + concat: тем, что команда concat удаляет один уровень + группирования перед образованием списка, тогда как команда + list работает непосредственно с исходными + аргументами. Например, команда

       list a b {c d e} {f {g h}}
     
-

+

вернет

       a b {c d e} {f {g h}}
     
-

concat -

+

Тогда как команда concat с + теми же аргументами вернет

       a b c d e f {g h}
@@ -51,3 +51,4 @@
   
 
 
+
diff --git a/hlp/ru/tcl/llength.html b/hlp/ru/tcl/llength.html
index 80518eb..e025806 100644
--- a/hlp/ru/tcl/llength.html
+++ b/hlp/ru/tcl/llength.html
@@ -1,4 +1,4 @@
-
+
 
   
     llength
@@ -7,19 +7,20 @@
   
     

llength

-

.

+

Команда подсчитывает количество элементов в списке.

-

+

СИНТАКСИС

       llength list
     
-

+

ОПИСАНИЕ

-

list ; - , - .

+

Аргумент list истолковывается как список; команда + возвращает строку с десятичным числом, равным количеству + элементов в этом списке.

+ diff --git a/hlp/ru/tcl/load.html b/hlp/ru/tcl/load.html index 84746e0..1c6f2a9 100644 --- a/hlp/ru/tcl/load.html +++ b/hlp/ru/tcl/load.html @@ -1,4 +1,4 @@ - + load @@ -7,9 +7,9 @@

load

-

.

+

Команда загружает машинный код и инициализирует новые команды.

-

+

СИНТАКСИС

       load fileName 
@@ -17,102 +17,103 @@
       load fileName packageName interp
     
-

+

ОПИСАНИЕ

-

- - , . - fileName , . - , - , .so- - Solaris .dll- Windows. - packageName . - . - interp (. - interp). - interp , - .

+

Эта команда загружает двоичный код из файла в адресное + пространство приложения и вызывает инициализирующую процедуру + библиотеки, чтобы включить ее в интерпретатор. Аргумент + fileName есть имя файла, содержащего код. Конкретная + форма кода различна на разных платформах, но чаще всего он + должен быть разделяемой библиотекой, такой как .so-файлы + для Solaris и .dll-файлы для Windows. Аргумент + packageName есть имя библиотеки. Оно используется для + определения имени инициализационной процедуры. Аргумент + interp содержит имя интерпретатора (см. описание команды + interp). Если аргумент + interp не указан явно, то по умолчанию библиотека + загружается в текущий интерпретатор.

-

, - - . - Tcl-. - , , - , (. interp). - pkg_Init, pkg - - , : - , - - . , Foo, - Foo_Init.

+

Как только файл загружен в адресное пространство приложения, + вызывается одна из двух процедур инициализации нового + кода. Обычно процедура инициализации добавляет в интерпретатор + новые Tcl-команды. Имя процедуры определяется исходя из имени + библиотеки и из того, является интерпретатор, в который будут + добавляться команды, безопасным (см. команду interp). Для обычного + интерпретатора имя процедуры pkg_Init, где pkg - + имя библиотеки, преобразованное следующим образом: Первая буква + переведена в верхний регистр, а все остальные - в + нижний. Например, если имя библиотеки Foo, то имя + инициализационной процедуры должно быть Foo_Init.

-

- pkg_SafeInit. - , - , - . - . Safe.

+

Для безопасного интерпретатора имя процедуры должно быть + pkg_SafeInit. Эта функция должна быть написана очень + тщательно, чтобы позволить включить в безопасный интерпретатор + только те команды библиотеки, которые безопасны при + использовании в ненадежном коде. Дополнительная информация + приведена в п. Safe.

-

- :

+

Процедура инициализации должна соответствовать следующему + прототипу:

       typedef int Tcl_PackageInitProc(Tcl_Interp  *interp);
     
-

interp , - . - TCL_OK TCL_ERROR , - . - interp->result - . - load .

+

Аргумент interp определяет интерпретатор, в который + библиотека будет загружена. Процедура инициализации должна + вернуть код TCL_OK или TCL_ERROR чтобы указать, + была ли она завершена успешно. В случае ошибки она должна + присвоить переменной interp->result значение указателя + на сообщение об ошибке. Результат процедуры инициализации будет + возвращен командой load как ее результат.

-

- . load , - , - . - - . - .

+

Реально каждый файл загружается в приложение только один + раз. Если команда load вызывается несколько раз, чтобы + загрузить один и тот же файл в различные интерпретаторы, то + реально загрузка кода выполняется только в первый раз. При + последующих вызовах будет выполняться только процедура + инициализации библиотеки в соответствующем интерпретаторе. + Выгрузить или повторно загрузить библиотеку невозможно.

-

load , - , - Tcl_StaticPackage. - fileName , - .

+

Команда load также поддерживает библиотеки, статически + связанные с приложением, если они зарегистрированы с + использованием процедуры Tcl_StaticPackage. Если аргумент + fileName есть пустая строка, то необходимо указывать имя + библиотеки.

-

packageName - , Tcl . - -. Unix- - . - - lib, . - , - . , - libxyz4.2.so, - xyz,

+

Если аргумент packageName отсутствует или равен пустой + строке, Tcl пытается сам сформировать имя библиотеки. На разных + платформах это выполняется по-разному. На Unix-платформах обычно + для этого берется последний элемент имени файла. Если первые три + буквы в нем - lib, то они отбрасываются. После чего + берутся все последовательные символы, которые являются буквами + или символом подчеркивания. Например, если имя файла + libxyz4.2.so, то в качестве имени библиотеки будет + сформировано xyz, а при исполнении команды

       load bin/last.so {}
     
-

last. - fileName , - packageName. load - ( , - , - Tcl_StaticPackage) . - , . - . - , Tcl - , .

+

сформируется имя библиотеки last. Если аргумент + fileName равен пустой строке, то должен быть задан + аргумент packageName. Команда load в таком случае + ищет сначала статически загружаемую библиотеку (то есть, + библиотеку, зарегистрированную с помощью процедуры + Tcl_StaticPackage) с указанным именем. Если такая будет + найдена, то она используется в команде. В противном случае + ищется динамически загружаемая процедура с этим именем. Если + загружено несколько версий одной и той же библиотеки, то Tcl + выбирает ту, которая была загружена первой.

-

+

ОШИБКИ

-

- , - . +

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

+ diff --git a/hlp/ru/tcl/lrange.html b/hlp/ru/tcl/lrange.html index 3957f2e..fadc8ad 100644 --- a/hlp/ru/tcl/lrange.html +++ b/hlp/ru/tcl/lrange.html @@ -1,4 +1,4 @@ - + lrange @@ -7,44 +7,45 @@

lrange

-

- .

+

Команда возвращает один или несколько последовательных + элементов списка.

-

+

СИНТАКСИС

       lrange list first last
     
-

+

ОПИСАНИЕ

-

- Tcl- - list, first - last . - list first - last end. - first , . - last , - end. first - , last, . -

+

Команда возвращает новый список - подмножество Tcl-списка + list, начиная с элемента first и заканчивая + элементом last включительно. Для обозначения последнего + элемента списка list в аргументе first или + last можно использовать значение end. Если аргумент + first меньше нуля, он считается равным нулю. Если + аргумент last больше или равен числу элементов в списке, + он считается равным end. Если аргумент first + больше, чем last, то команда возвращает пустой список. + Команда

       lrange list first first
     
-

,

+

не всегда возвращает тот же результат, что и

-      lindex list first
+      lindex list first
     
-

( , - ). - ,

+

(хотя это обычно так при простых элементах списка, которые не + заключены в фигурные скобки). Но она всегда возвращает тот же + результат, что и команда

-      list [lindex list first]
+      list [lindex list first]
     
+ diff --git a/hlp/ru/tcl/lreplace.html b/hlp/ru/tcl/lreplace.html index 423bd62..9877396 100644 --- a/hlp/ru/tcl/lreplace.html +++ b/hlp/ru/tcl/lreplace.html @@ -1,4 +1,4 @@ - + lreplace @@ -7,30 +7,31 @@

lreplace

-

.

+

Команда замещает элементы списка новыми элементами.

-

+

СИНТАКСИС

       lreplace list first last element element ...
     
-

+

ОПИСАНИЕ

-

lreplace , - list , - first last, element. - first , - . last - , end. last - , first, - , - first. first last - end - . element - . - element, first - last .

+

Команда lreplace возвращает новый список, образованный + из списка list путем замены его элементов, начиная с + first до last, на аргументы element. Если + аргумент first меньше нуля, он считается равным + нулю. Если аргумент last больше или равен числу элементов + в списке, он считается равным end. Если last + меньше, чем first, тогда не будет удалено ни одного + прежнего элемента, и новые элементы будут просто вставлены перед + first. Для аргументов first и last можно + использовать значение end для ссылки на последний элемент + списка. Каждый аргумент element становится отдельным + элементом списка. Если не было задано ни одного аргумента + element, тогда прежние элементы списка с first по + last будут просто удалены.

+ diff --git a/hlp/ru/tcl/lsearch.html b/hlp/ru/tcl/lsearch.html index 56a3505..369ee8e 100644 --- a/hlp/ru/tcl/lsearch.html +++ b/hlp/ru/tcl/lsearch.html @@ -1,4 +1,4 @@ - + lsearch @@ -7,43 +7,44 @@

lsearch

-

.

+

Команда проверяет наличие заданного элемента в списке.

-

+

СИНТАКСИС

       lsearch mode list pattern
     
-

+

ОПИСАНИЕ

-

- list , - pattern. - "-1" - . mode - . - :

+

Данная команда просматривает по очереди элементы + спискаlist с целью найти первый из них, совпадающий с + заданным образцом pattern. Команда возвращает индекс + первого найденного такого элемента или "-1" если такой + элемент не найден. Аргумент mode указывает конкретный + способ сравнения элементов списка и образца. Возможные значения + аргумента:

-exact
-
, - .
+
Означает, что элемент списка должен быть в точности равен + образцу.
-glob
-
, , - string match.
+
Означает, что используются такие же правила сравнения, как в + команде string match.
-regexp
-
, , - , regexp.
+
Означает, что образец считается регулярным выражением, и для + сравнения используются те же правила, что и в команде regexp.
-

mode +

По умолчанию аргумент mode имеет занчение -glob.

+ diff --git a/hlp/ru/tcl/lsort.html b/hlp/ru/tcl/lsort.html index ea501a9..ceec55b 100644 --- a/hlp/ru/tcl/lsort.html +++ b/hlp/ru/tcl/lsort.html @@ -1,4 +1,4 @@ - + lsort @@ -7,93 +7,94 @@

lsort

-

.

+

Команда сортирует элементы списка.

-

+

СИНТАКСИС

       lsort ?options? list
     
-

+

ОПИСАНИЕ

-

list - . - - ASCII. , - - ( ).

+

Данная команда сортирует элементы списка list и + возвращает новый список с уже упорядоченными элементами. По + умолчанию используется упорядочивание в порядке возрастания + символов в таблице ASCII. Кроме того, для управления процессом + сортировки в команде можно указать произвольные из перечисленных + ниже опций (допускаются уникальные сокращения).

-ascii
-
- ASCII. .
+
Упорядочивание в порядке возрастания символов в таблице + ASCII. Значение по умолчанию.
-dictionary
-

. , -ascii, - :

+

Словарный режим. Тоже, что и -ascii, но со + следующими отличиями:

    -
  • ;
  • +
  • регистр не учитывается;
  • -
  • , - , ASCII.
  • +
  • если две строки содержат цифры, то числа сравниваются + как целые, а не как символы ASCII.
-

, bigBoy bigbang - bigboy, x10y x9y +

Например, bigBoy окажется между bigbang и + bigboy, а x10y между x9y и x11y.

-integer
-
, - - .
+
Режим целых чисел, когда все элементы списка конвертируются + в целые числа и при сравнении трактуются именно как целые + числа.
-real
-
; - .
+
Режим чисел с плавающей запятой; этот режим аналогичен + предыдущему и используется для действительных чисел.
-command command
-
- . - , command - . - , , , - , - , .
+
Режим сортировки при помощи произвольной команды + пользователя. Для сравнения двух элементов списка выполняется + скрипт, состоящий из command и дополненный + соответствующими элементами списка. Скрипт должен вернуть + целое число, большее нуля, равное нулю, или меньшее нуля в + зависимости от того, считается ли первый элемент больше + второго, равен ему или меньше его.
-increasing
-
( ). - .
+
Сортировка в порядке возрастания (от меньших к большим). + Это значение по умолчанию.
-decreasing
-
( ).
+
Сортировка в порядке убывания (от больших к меньшим).
-index index
-

, - ( list - ). " - ", - index. - index, end, - . ,

+

Эта опция может использоваться, если каждый из элементов + списка сам есть список (то есть list есть список + списков). Опция позволяет отсортировать список по "одной + из колонок", то есть по элементам подсписков с + фиксированным индексом index. Значение аргумента + index, равное end, означает генерацию по + последнему элементу подсписков. Например, команда

 	  lsort -integer -index 1 {{First 24} {Second 18} {Third 30}}
 	
-

{Second 18} {First 24} {Third 30}.

+

вернет {Second 18} {First 24} {Third 30}.

-

, - -command - .

+

Эта опция значительно более эффективна для данной задачи, + чем опция -command с соответствующей процедурой + сравнения.

+ diff --git a/hlp/ru/tcl/namespace.html b/hlp/ru/tcl/namespace.html index 3f3cff3..0dbe714 100644 --- a/hlp/ru/tcl/namespace.html +++ b/hlp/ru/tcl/namespace.html @@ -1,4 +1,4 @@ - + namespace @@ -8,274 +8,274 @@

namespace

-

- .

+

Команда предназначена для создания и управления областями имен + для команд и переменных.

-

+

СИНТАКСИС

       namespace ?option? ?arg?
     
-

+

ОПИСАНИЕ

-

, - . - . - . - , , - option. - .

+

Команда позволяет создавать, обращаться и уничтожать отдельные + области имен для команд и переменных. Более детально назначение + и использование команды описаны ниже см. + Пространства имен. + Действия, выполняемые командой, + зависят от значения аргумента option. Ниже приведены + возможные опции команды.

namespace children ?namespace? ?pattern?
-
- - namespace. namespace , - - - . , - ::. pattern, - , - pattern. - , glob. , - ::, , - - namespace ( - ) pattern.
+
Позволяет получить список областей-потомков для области имен + namespace. Если аргумент namespace отсутствует, + то возвращается список областей-потомков для текущего + пространства имен. Команда возвращает полные имена, + начинающиеся с ::. Если указан аргумент pattern, + команда возвращает только те имена, которые удовлетворяют + шаблону pattern. Проверка на соответствие производится + по тем же правилам, что и в команде glob. При этом шаблон, + начинающийся с ::, используется непосредственно, в + противном случае используемый шаблон составляется из + namespace (или полного имени текущего пространства + имен) и pattern.
namespace code script
-

- script , - . - , - namespace code. - : -, - , - (, - namespace code). -, - - - . , ,

+

Позволяет захватить контекст текущей области имен для + скрипта script с тем, чтобы потом использовать этот + контекст при выполнении данного скрипта. Команда возвращает + новый скрипт, в котором старый скрипт завернут в + команду namespace code. Новый скрипт имеет две важные + особенности: во-первых, он может быть вызван в произвольном + пространстве имен, при этом реально он будет выполняться в + текущем пространстве имен (том, в котором выполнялась команда + namespace code). Во-вторых, к созданному таким образом + скрипту можно дописывать произвольные аргументы и они + действительно будут использоваться как дополнительные + аргументы. Например, предположим, что команда

 	  set script [namespace code {foo bar}]
 	
-

::a::b. -

+

выполняется в пространстве имен ::a::b. Тогда + команда

-	  eval "$script x y"
+	  eval " x y"
 	
-

- ,

+

может быть выполнена в любом пространстве имен и будет + иметь тот же эффект, что и команда

 	  namespace eval ::a::b {foo bar x y}
 	
-

, Tcl, - , Tk, - . - - - . - . - .

+

Эта команда необходима потому, что расширения Tcl, + например, Tk, обычно выполняют вызванные по событиям скрипты в + глобальном пространстве имен. Обертывающая команда захватывает + необходимую команду вместе с ее пространством имен и позволяет + корректно выполнить ее позже по соответствующему + вызову. Примеры использования данного механизма приведены ниже + см. Правила + видимости имен.

namespace current
-
. - "" - ( ), ::, - .
+
Позволяет получить полное имя текущей области имен. Хотя + реальное имя глобального пространства имен "" + (пустая строка), эта команда возвращает для него ::, + поскольку это часто бывает удобнее при программировании.
namespace delete ?namespace namespace...?
-
, - , - - . - - , - , , - , . - , - . , - .
+
Позволяет удалить одну или несколько областей имен, при этом + удаляются все переменные, процедуры и области-потомки заданной + области имен. Если внутри одного из удаляемых пространств имен + выполняется какая-либо процедура, оно будет сохранено до + завершения процедуры, но помечено, как приготовленное к + удалению, чтобы исключить вызов других процедур. Если + указанное пространство имен не существует, команда возвращает + ошибку. Если ни одно пространство имен не указано, команда не + делает ничего.
-
namespace eval +
namespace eval namespace arg ?arg...?
-
namespace - . - namespace , . - - , . - , - ( eval) - .
+
Позволяет активизировать пространство имен namespace + и выполнить в его контексте заданный код. Если пространство + имен namespace не существует, оно будет создано. Если + пространство имен должно быть предком несуществующего + пространства имен, то оно тоже создается. Если задано более + одного аргумента, все они объединяются в одну строку через + пробел (как при выполнении команды eval) и полученный скрипт + выполняется.
namespace export ?-clear? ?pattern pattern...?
-
, - . - - namespace import. - , , , - . , - , - . pattern - glob, - . - . - , - . - -clear, - . , , - .
+
Позволяет указать, какие команды разрешено экспортировать из + данного пространства имен. Эти команды потом могут быть + импортированы в другие пространства имен с помощью команды + namespace import. Можно разрешать экспорт как + команд, созданных в данном пространстве имен, так и команд, + ранее импортированных из других пространств. Команда, + разрешаемая для экспорта, может в данный момент не + существовать. Каждый из шаблонов pattern может + содержать специальные символы как в команде glob, но не может содержать имени + пространства имен. То есть шаблон может указывать команды + только в текущем пространстве имен. Каждый из шаблонов + добавляется к списку шаблонов команд, разрешенных для импорта + из данного пространства имен. Если в команде указан флаг + -clear, команда предварительно удаляет старый + список. Если не указаны ни флаг, ни шаблоны, команда + возвращает текущий список шаблонов.
namespace forget ?pattern pattern...?
-
. - pattern - - , glob, : foo::x - a::b::p*. - . - , - . - , - . - . , - namespace import.
+
Удаляет из пространства имен ранее импортированные команды. + Каждый образец pattern должен быть полным именем + команды с указанием хотя бы одного пространства имен и может + содержать специальные символы, как в команде glob, например: foo::x + или a::b::p*. Специальные символы нельзя использовать в + именах пространств имен. При выполнении данной команды сначала + ищутся команды, удовлетворяющие шаблону и разрешенные к + экспорту из соответствующих пространств имен. Далее + проверяется, какие из них были импортированы в текущее + пространство имен. После чего импортированные команды + удаляются. То есть команда выполняет действия, противоположные + действиям команды namespace import.
-
namespace +
namespace import ?-force? ?pattern pattern...?
-
. - pattern - - , glob, foo::x - a::b::p*. - . , - , - . - , - . - . - , - , -force. - , - . namespace import - , - - . - , , , - , , - .
+
Импортирует команды в текущее пространство имен. Каждый + образец pattern должен быть полным именем команды с + указанием хотя бы одного пространства имен и может содержать + специальные символы, как в команде glob, например foo::x или + a::b::p*. Специальные символы нельзя использовать в + именах пространств имен. Все команды, которые удовлетворяют + шаблонам и разрешены для экспорта, добавляются к текущему + пространству имен. Для этого в текущем пространстве имен + создается новая команда, которая указывает на экспортируемую + команду в исходном пространстве имен. При вызове этой новой + команды она вызывает исходную команду. Если в текущем + пространстве имен уже есть команда с таким именем, + возвращается ошибка, если не указана опция -force. В + противном случае импортируемая команда заменяет команду, + определенную ранее. Команда namespace import + импортирует в текущее пространство имен только те функции, + которые в момент исполнения существуют в соответствующем + пространстве имен. Если позже там будут созданы новые команды + с именами, удовлетворяющими шаблонам, разрешающим экспорт, и + шаблонам, определяющим импорт, то они не импортируются + автоматически.
namespace inscope namespace arg ?arg...?
-

- namespace. - . - - namespace code , - , , Tk-. - namespace inscope namespace - eval, - , - namespace - . - , - .

+

Выполняет скрипт в контексте пространства имен + namespace. Эта команда не предназначена для + непосредственного исполнения программистом. Ее вызовы + создаются автоматически при использовании команды + namespace code для создания скриптов, выполняемых в + фоновом режиме, например, для Tk-виджетов. Команда + namespace inscope похожа на команду namespace + eval, но отличается от нее наличием возможности + указывать дополнительные аргументы и тем, что пространство + имен namespace должно существовать в момент + выполнения команды. При выполнении команды первый аргумент + рассматривается как список, к которому остальные аргументы + добавляются как элементы списка. Так команда

           namespace inscope ::foo a x y z
 	
-

+

эквивалентна

 	  namespace eval ::foo [concat a [list x y z]]
 	
-

, - .

+

Такая семантика весьма удобна при формировании скриптов, + выполняемых в фоновом режиме.

namespace origin command
-
command, - . - - , - . - a, b, ..., - n, - , namespace origin - , - a. command , - namespace origin . +
Возвращает полное имя оригинальной команды command, + от которой происходит заданная импортированная команда. При + импорте команды в текущем пространстве имен создается новая + команда, которая указывает на экспортируемую команду в + исходном пространстве имен. Если команда последовательно + импортировать в пространства имен a, b, ..., + n, причем в каждое последующее пространство имен она + импортировалась из предыдущего, то namespace origin + вернет полное имя команды в первом пространстве имен, то есть + a. Если команда command не импортирована, то + namespace origin вернет ее полное имя.
namespace parent ?namespace?
-
- namespace. namespace - , - .
+
Возвращает полное имя родительского пространства имен для + пространства namespace. Если аргумент namespace + не указан, возвращает полное имя предка текущего пространства + имен.
namespace qualifiers string
-
string, - string - :: ( ). , - ::foo::bar::x ::foo::bar, - :: - "" ( ). - namespace tail. - - .
+
Возвращает полное имя пространства имен для string, + то есть часть строки string от начала до последнего + символа :: (но не включая его). Например, для строки + ::foo::bar::x эта команда вернет ::foo::bar, а + для :: - "" (пустую строку). Команда является + парной для команды namespace tail. При выполнении + команды проверка существования соответствующих пространств + имен не производится.
namespace tail string
-
, - string, string - :: ( ) - . , ::foo::bar::x - x, :: - "" - ( ). - namespace qualifiers. - - .
+
Возвращает простое имя, завершающее полное имя + string, то есть часть строки string от + последнего символа :: (но не включая его) до конца + строки. Например, для строки ::foo::bar::x эта + команда вернет x, а для :: - "" + (пустую строку). Команда является парной для команды + namespace qualifiers. При выполнении команды проверка + существования соответствующих пространств имен не + производится.
namespace which ?-command? ?-variable? name
-
name ( - ; - - ) . , - name , - , - . , - . - . .
+
Рассматривает name как имя команды или переменной (в + зависимости от указанной опции; по умолчанию - как имя + команды) и возвращает ее полное имя. Например, если + name не существует в текущем пространстве имен, но + существует в глобальном, то возвращает полное имя в глобальном + пространстве имен. Если команда или переменная не существует, + данная команда возвращает пустую строку. Более подробно + правила поиска имен см. Правила видимости имен.
-

- ?

+

ЧТО ТАКОЕ + ПРОСТРАНСТВО ИМЕН?

-

- - . - - . Tcl , - . - . namespace eval - , , +

Пространство имен - это обособленный набор команд и + переменных. Содержащиеся в нем команды и переменные не + взаимодействуют с командами и переменными в других пространствах + имен. В Tcl всегда был один такой набор, который мы будем + называть глобальным пространством имен. В нем содержатся все + глобальные переменные и команды. Команда namespace eval + позволяет создавать другие пространства имен, например, команда

         namespace eval Counter {
@@ -287,23 +287,23 @@
 		}
 	}
       
-

, - num Bump. - - . , - Bump.

+

создает новое пространство имен, содержащее переменную + num и процедуру Bump. Команды и переменные в этом + пространстве имен изолированы от других команд и имен в той же + программе. Например, в глобальном пространстве имен может + существовать другая команда Bump.

-

- . , - variable, - .

+

Переменные пространства имен напоминают глобальные + переменные. Они существуют вне процедур, но могут использоваться + в процедурах с помощью команды variable, как показано в + предыдущем примере.

-

- . - - namespace eval. , - , , - :

+

Пространства имен - динамические образования. В них можно + в любой момент добавлять команды и переменные с помощью + дополнительных команд namespace eval. Например, то же + пространство имен, что и в предыдущем примере, можно было + создать с помощью последовательности команд:

       namespace eval Counter {
@@ -315,7 +315,7 @@
       }
       namespace eval Counter {
       	proc test {args} {
-      		return $args
+      		return 
       	}
       }
 
@@ -323,239 +323,239 @@
       	rename test ""
       }
     
-

, test - Counter, - rename. +

Обратите внимание, что процедура test создана в + пространстве имен Counter, а затем удалена с помощью + команды rename. -

- . - - .

+

Пространства имен могут иметь собственные вложенные + пространства имен и образовывать иерархию пространств имен. + Вложенное пространство имен содержится в своем предке и не может + взаимодействовать с другими пространствами имен.

-

+

ПОЛНЫЕ ИМЕНА

-

, history - ::safe::interp. - , , - . - Unix Tk, - , - "::". - "" ( ) - :: . , - ::safe::interp::create create - interp, - - ::safe, - ::.

+

Каждое пространство имен имеет собственное имя, например history или + ::safe::interp. Полные имена используются для указания + команд, переменных или подпространств имен, содержащихся в + соответствующем пространстве имен. Полные имена напоминают + полные имена файлов в Unix или виджетов в Tk, но в качестве + разделителей в них используется не слэш или точка, а двойное + двоеточие "::". Самое верхнее или глобальное + пространство имен имеет имя "" (пустая строка) и + :: как синоним. Как пример, имя + ::safe::interp::create ссылается на команду create + в пространстве имен interp, + которое является подпространством пространства имен + ::safe, которое в свою очередь является подпространством + глобального пространства имен ::.

-

- , , - . , - Counter - :

+

Если вы хотите указать команду или переменную в другом + пространстве имен, вы можете указать имя пространства имен, в + котором она содержится. Например, из глобального пространства + имен вызвать процедуру из пространства имен Counter + можно следующим образом:

       Counter::Bump 5
       Counter::Reset
     
-

count -

+

А вывести текущее значение переменной count можно с + помощью команды

-      puts "count = $Counter::num"
+      puts "count = ::num"
     
-

, - . Foo - Counter, - Bump , -

+

Если одно пространство имен содержит другое, может понадобиться + более длинное имя. Если пространство имен Foo содержит + пространство имен Counter, то чтобы вызвать процедуру + Bump в последнем из глобального пространства имен, нужно + воспользоваться именем

       Foo::Counter::Bump 3
     
-

- . , - Foo :

+

Полное имя может использоваться при создании или переименовании + команд. Например, можно добавить процедуру в пространство имен + Foo следующей командой:

-      proc Foo::Test {args} { return $args}
+      proc Foo::Test {args} { return }
     
-

:

+

А переопределить ее в другом пространстве имен командой:

       rename Foo::Test Bar::Test
     
-

. , - , . - :: , - - . : - , : - . :: - - {} ( ). - :: .

+

Дополнительные замечания. Имена пространств имен, за + исключением глобального, не могут быть пустой строкой. + Сочетание :: запрещено в именах простых команд, + переменных и пространств имен кроме как в роли разделителя имен + пространств имен. Дополнительные символы : в полных + именах игнорируются, то есть два или больше символов : + подряд считаются одним разделителем. Сочетание :: в + конце имени команды или переменной указывает на команду или + переменную с именем {} (пустая строка). Однако в полном + имени пространства имен :: на конце игнорируется.

-

+

ПРАВИЛА ВИДИМОСТИ ИМЕН

-

Tcl-, - , . , - , set, proc, rename, interp alias. - , ::, - . , - , ::, - - : - , ( ) - - . - .

+

Все Tcl-команды, которые работают с именами переменных и + команд, поддерживают полные имена. Это значит, что можно + использовать полные имена в таких командах, как set, proc, rename, или interp alias. Если вы + используете абсолютное имя, начинающееся с ::, то такое + имя всегда интерпретируется однозначно. Однако, если вы + используете относительное имя, не начинающееся с ::, + поиск объекта с соответствующим именем происходит по следующим + правилам: команды и переменные сначала ищутся в текущем + пространстве имен, а затем (если не найдены) - в + глобальном. Имена пространств имен ищутся только в текущем + пространстве имен.

-

+

В следующем примере

       set traceLevel 0
       namespace eval Debug {
-      	printTrace $traceLevel
+      	printTrace 
       }
     
-

Tcl traceLevel - Debug . - printTrace. - , :

+

Tcl ищет переменную traceLevel в пространстве имен + Debug и затем в глобальном пространстве имен. Аналогично + ищется и процедура printTrace. Чтобы не оставлять + неясностей, рассмотрим еще один пример:

       set traceLevel 0
       namespace eval Foo {
       	variable traceLevel 3
         namespace eval Debug {
-            printTrace $traceLevel
+            printTrace 
         }
       }
     
-

Tcl traceLevel - Foo::Debug. , - . Foo::traceLevel - .

+

Здесь Tcl ищет переменную traceLevel в пространстве имен + Foo::Debug. Поскольку там ее нет, он продолжает поиск в + глобальном пространстве имен. Переменная Foo::traceLevel + в процессе поиска полностью игнорируется.

-

, - namespace which. , :

+

Чтобы разобраться в сложных ситуациях, можно использовать + команду namespace which. Например, следующая команда:

       namespace eval Foo::Debug {namespace which -variable traceLevel}
     
-

::traceLevel. , :

+

вернет ::traceLevel. С другой стороны, команда:

       namespace eval Foo {namespace which -variable traceLevel}
     
-

::Foo::traceLevel.

+

вернет ::Foo::traceLevel.

-

, - , . - . , , , - namespace eval - , - ::.

+

Как уже упоминалось, относительные имена пространств имен + ищутся иначе, чем имена команд и переменных. Они ищутся только в + текущем пространстве имен. Это значит, что, например, команда + namespace eval всегда создает потомка текущего + пространства имен, если только имя нового пространства не + начинается с ::.

-

Tcl , - . , - , - .

+

Tcl не ограничивает доступ к командам, переменным или + пространствам имен. Если вы указали имя, которое в соответствие + с перечисленными выше правилами ссылается на нужный вам элемент, + вы можете использовать этот элемент.

-

, , - - variable. - global, - - . , - ( - global - ). variable - , - .

+

Переменные, определенные в данном пространстве имен, можно + использовать в процедурах в этом же пространстве имен с помощью + команды variable. Похожая на + команду global, эта команда + создает связь между локальной переменной в процедуре и + одноименной переменной в пространстве имен. Если необходимо, эта + команда также создает и инициализирует эту переменную (команда + global только создает связь + с переменной в глобальном пространстве имен). Команду variable можно не + использовать, если вы всегда используете полное имя + переменной.

-

+

ИМПОРТ КОМАНД

-

- . - , - . , , - BLT, Blt. - :

+

Пространств имен часто используются для создания + библиотек. Некоторые библиотечные команды могут использоваться + так часто, что необходимость использования полных имен станет + раздражать. Например, если все команды в такой библиотеке, как + BLT, содержатся в пространстве имен Blt. Тогда вы смогли + бы использовать их только следующим образом:

       Blt::graph .g -background red
       Blt::table .g 0,0
     
-

graph table - , - Blt::. - , , :

+

Если Вы используете команды graph и table + регулярно, предпочтительнее использовать их без префикса + Blt::. Для этого достаточно импортировать эти команды в + текущее пространство имен, например, следующим образом:

       namespace import Blt::*
     
-

- Blt - , - :

+

В результате выполнения этой команды все команды из + пространства имен Blt будут экспортированы в текущее + пространство имен, и вы сможете использовать их без + соответствующего префикса:

       graph .g -background red
       table .g 0,0
     
-

namespace import , - namespace +

Команда namespace import импортирует только те команды, + экспорт которых разрешен с помощью команды namespace export.

-

, - , , - . , - . ,

+

Как правило, не стоит импортировать все команды из пространства + имен, так как при этом может быть сложно отследить все команды, + которые вы получите. Лучше указать явно, какие именно команды + вам нужны. Например, команда

       namespace import Blt::graph Blt::table
     
-

graph table.

+

импортирует только команды graph и table.

-

, - , - . , , - . - (, ) - . - -force, - :

+

Если вы попытаетесь импортировать команду, которая уже + существует в текущем пространстве имен, то вы получите + ошибку. Это предупредит, например, попытки скопировать одну и ту + же команду из двух разных библиотек. Однако время от времени + (например, при отладке) у вас может появиться желание преодолеть + данное ограничение. Для этого нужно указать в команде опцию + -force, и тогда существующая команда будет заменена на + импортируемую команду без сообщения об ошибке:

       namespace import -force Blt::graph Blt::table
     
-

- - , :

+

Если вам почему-либо надо прекратить использование библиотечной + команды, это можно сделать следующим образом:

       namespace forget Blt::*
     
-

, - Blt, . - , . - namespace forget Blt::* - Blt - Blt::.

+

Эта команда ищет в текущем пространстве имен все команды, + импортированные из Blt, и удаляет их. Если таких + команд не оказалось, команда ничего не делает. После + исполнения команды namespace forget Blt::* команды из + пространства имен Blt можно использовать только с + префиксом Blt::.

-

, - , :

+

Если вы удаляете команду из того пространства имен, где она + была создана, например:

       rename Blt::graph ""
     
-

, - .

+

то она будет удалена из всех пространств имен, в которые она + была импортирована.

-

+

ЭКСПОРТ КОМАНД

-

- :

+

Вы можете разрешить экспорт команд из определенного + пространства имен:

       namespace eval Counter {
@@ -564,9 +564,9 @@
         variable max 100
         proc Bump {{by 1}} {
       		variable num
-        	incr num $by
+        	incr num 
       		check
-      		return $num
+      		return 
       	}
         proc Reset {} {
       		variable num
@@ -575,27 +575,28 @@
       	proc check {} {
       		variable num
       		variable max
-      		if {$num > $max} {
+      		if { > } {
       			error "too high!"
       		}
       	}
       }
     
-

Bump Reset - , , :

+

После этого процедуры Bump и Reset можно + импортировать, например, с помощью команды:

       namespace import Counter::*
     
-

check , - .

+

Но экспорт процедуры check не разрешен, и она не будет + импортирована этой командой.

-

namespace import - , - namespace export. - namespace import , - , - .

+

Команда namespace import позволяет импортировать + только те команды, которые разрешено экспортировать из их + пространства имен с помощью команды namespace export. + Если в команде namespace import указана команда, + которую нельзя экспортировать, она не будет импортирована в + соответствующее пространство имен.

+ diff --git a/hlp/ru/tcl/open.html b/hlp/ru/tcl/open.html index c20d10d..4f4eb22 100644 --- a/hlp/ru/tcl/open.html +++ b/hlp/ru/tcl/open.html @@ -1,4 +1,4 @@ - + open @@ -7,9 +7,9 @@

open

-

.

+

Открывает канал для связи с файлом или программой.

-

+

СИНТАКСИС

       open fileName 
@@ -17,136 +17,136 @@
       open fileName access permissions
     
-

+

ОПИСАНИЕ

-

, - , - , read, puts close. - fileName |, - fileName, fileName - , . filename.

+

Эта команда открывает файл, последовательный порт или командный + конвейер и возвращает идентификатор канала, который может + использоваться в дальнейшем в таких командах, как read, puts и close. Если первый символ + атрибута fileName не равен |, то команда отрывает + файл fileName, соответственно значение аргумента fileName + должно соответствовать обычным соглашениям, описанным в п. filename.

-

access, , - . access - . - :

+

Аргумент access, если он используется, указывает + разрешенные режимы доступа к файлу. Аргумент access может + указываться в одной из двух нотаций. В первой он может иметь + следующие значения:

- +
- + - + - + - + - + - +
r . .Открывает файл только на чтение. Это значение по умолчанию.
r+ . - .Открывает файл на чтение и запись. Файл должен + существовать.
w . - , . , - .Открывает файл только на запись. Удаляет содержимое + файла, если он существовал. Если нет, то создает новый + файл.
w+ . - , . , - .Открывает файл на чтение и запись. Удаляет содержимое + файла, если он существовал. Если нет, то создает новый + файл.
a . - . .Открывает файл на чтение. Файл должен + существовать. Новые данные записываются в конец файла.
a+ . - , . - .Открывает файл на чтение и запись. Если файл не + существует, создает новый файл. Новые данные + записываются в конец файла.
-

access - , . - : RDONLY, WRONLY +

Во второй нотации аргумент access может содержать набор + из флагов, описанных ниже. Среди флагов обязательно должен быть + один из следующих: RDONLY, WRONLY или RDWR.

- + - + - + - + - + - + - + - @@ -154,113 +154,114 @@ - +
RDONLY .Открывает файл только на чтение.
WRONLY Открывает файл только на запись
RDWR .Открывает файл на чтение и запись.
APPEND - .Переставляет указатель в конец файла перед каждой + записью.
CREAT , . - - .Создает файл, если он не существует. Без этого флага + попытка открыть несуществующий флаг приведет к + ошибке.
EXCL CREAT, - , .Если указан также флаг CREAT, то будет + сгенерирована ошибка, если файл уже существует.
NOCTTY , - - .Если файл открыт для терминального устройства, этот флаг + не позволяет ему стать управляющим терминалом + процесса.
NONBLOCK , - , - /. - . - fconfigure. - - , open, + Позволяет в неблокирующем режиме открыть файл и, + возможно, выполнять в этом режиме последующие операции + ввода/вывода. Последствия использования этого флага + зависят от платформы и устройства. Предпочтительнее + вместо него использовать команду fconfigure. Конкретные + особенности использования флага описаны в руководстве по + вашей операционной системе, системный вызов open, флаг O_NONBLOCK.
TRUNC , .Если файл существует, то его содержимое удаляется.
-

open, - permissions ( ) - . - 0666.

+

Если файл создается при выполнении команды open, то + аргумент permissions (целое число) используется для + установки прав доступа к вновь созданному файлу. Значение по + умолчанию 0666.

-

+

КОМАНДНЫЙ КОНВЕЙЕР

-

fileName ``|'', - , , - , exec. - - - - access. , - - ( ). - , - ( - ).

+

Если первый символ в fileName |'', то + считается, что остальные символы описывают командный конвейер, + который запускается так же, как командой exec. В этом случае идентификатор + открытого канала может использоваться для ввода информации в + стандартный ввод запущенного конвейера или для чтения его + стандартного вывода в зависимости от значения аргумента + access. Если канал открыть только на запись, то + стандартный вывод конвейера направляется на текущий стандартный + вывод (если он не перенаправлен в конвейере). Если канал открыт + только на чтение, стандартный ввод для конвейера берется из + текущего стандартного ввода (если он не перенаправлен в + конвейере).

-

+

ПОСЛЕДОВАТЕЛЬНЫЙ ПОРТ

-

fileName , - ( - ). - fileName . - .

+

Если аргумент fileName указывает на параллельный порт, + то соответствующий порт открывается и инициализируется (реальные + действия в зависимости от платформы). Допустимые значения + fileName для различных платформ см. + Особенности реализации на различных платформах.

-

+

КОНФИГУРИРОВАНИЕ

-

fconfigure - - . - .

+

Команда fconfigure может + быть использована для определения и изменения текущей + конфигурации канала. Для последовательного порта можно + использовать следующие опции.

-mode baud,parity,data,stop

-

4 , .

+

Эта опция включает 4 величины, записанные через запятую.

-

baud - , ( - );

+

baud - число, скорость передачи данных в Бодах (бит + в секунду);

-

parity - , +

parity - четность, может принимать одно из значений n (none), o (odd), e (even), m (mark), s (space);

-

data - ( 5 8);

+

data - число бит данных (целое от 5 до 8);

-

stop - ( 1 2).

+

stop - число стоп битов (целое 1 или 2).

-

-

+

+ ОСОБЕННОСТИ РЕАЛИЗАЦИИ НА РАЗЛИЧНЫХ ПЛАТФОРМАХ

-
Windows ( )
+
Windows (все версии)
-
fileName - comX, X - (, 1 - 4). - .
+
Аргумент fileName для сериальных портов должен иметь + форму comX, где X - число (обычно, от 1 до + 4). Попытка открыть несуществующий порт приводит к + ошибке.
Windows NT
-
Tcl, - Tcl, - .
+
Проблемы могут возникать при интерактивном выполнении Tcl, + поскольку в этом случае консоль используется и для Tcl, и для + порожденного подпроцесса.
Windows 95
-

16- DOS-.

+

Сложности при работе с 16-битовыми DOS-приложениями.

-

- Tcl, Tcl, - .

+

Также проблемы могут возникать при интерактивном выполнении + Tcl, поскольку в этом случае консоль используется и для Tcl, + и для порожденного подпроцесса.

Windows 3.X
-
, exec.
+
Те же проблемы, что и при выполнении команды exec.
Macintosh
-

.

-

.

+

Открытие последовательного порта не поддерживается.

+

Открытие командного конвейера также не поддерживается.

Unix
-

- fileName /dev/ttyX, X - a b, - , .

+

Обычно для открытия последовательного порта используется + значение fileName /dev/ttyX, где X + равно a или b, но можно также использовать + любой псевдофайл, назначенный на соответствующий порт.

-

Tcl, - Tcl, - .

+

Проблемы могут возникать при интерактивном выполнении Tcl, + поскольку в этом случае консоль используется и для Tcl, и + для порожденного подпроцесса.

+ diff --git a/hlp/ru/tcl/package.html b/hlp/ru/tcl/package.html index 045ad5e..a3e05d9 100644 --- a/hlp/ru/tcl/package.html +++ b/hlp/ru/tcl/package.html @@ -1,4 +1,4 @@ - + package @@ -7,161 +7,162 @@

package

-

.

+

Команда загрузки пакетов библиотек и контроля версий.

-

+

СИНТАКСИС

-      package forget package
+      package forget package
 
-      package ifneeded package version ?script?
+      package ifneeded package version ?script?
 
-      package names
+      package names
 
-      package provide package ?version?
+      package provide package ?version?
 
-      package require ?-exact? package ?version?
+      package require ?-exact? package ?version?
 
-      package unknown ?command?
+      package unknown ?command?
 
-      package vcompare version1 version2
+      package vcompare version1 version2
 
-      package versions package
+      package versions package
     
-      package vsatisfies version1 version2
+      package vsatisfies version1 version2
     
-

+

ОПИСАНИЕ

-

, - - , . - - . - . Tcl- - package require - package provide. - , - .

+

Команда поддерживает простую базу данных со сведениями о том, + какие пакеты библиотечных функций доступны для использования в + данном интерпретаторе, и как их загрузить в интерпретатор. Она + поддерживает многоверсионность пакетов и гарантирует загрузку в + приложение необходимой версии пакета. При этом она обеспечивает + контроль непротиворечивости версий. Обычно в Tcl-скриптах + достаточно использовать команды package require и + package provide. Остальные команды предназначены в + первую очередь для системных скриптов, которые поддерживают базу + данных пакетов.

-

package - . .

+

Поведение команды package определяется ее первым + аргументом. Ниже описаны возможные формы команды.

-
package forget +
package forget package
-
, - , package - ifneeded, , +
Удаляет информацию о пакете из интерпретатора, включая как + информацию, возвращаемую командой package + ifneeded, так и информацию, возвращаемую командой package provide.
-
package +
package ifneeded package version ?script?
-
. - , - , - - script. - , . , - .
+
Команда используется в системных скриптах. Если указана + конкретная версия и скрипт, заносит в базу данных информацию о + том, что соответствующая версия пакета доступна и может быть + загружена в интерпретатор с помощью скрипта + script. Если в базе данных уже хранится информация о + скрипте, она обновляется. Если скрипт не указан, возвращается + текущий скрипт.
-
package names
+
package names
-
, - ( - package provide) ( - package ifneeded).
+
Возвращает список всех пакетов в интерпретаторе, для которых + известна доступная версия (заданная с помощью команды + package provide) или скрипт загрузки (заданный + командой package ifneeded).
-
package provide +
package provide package ?version?
-
, , - version package - . , - . , - .
+
Команда используется для того, чтобы указать, что версия + version пакета package загружена в + интерпретатор. Если ранее была загружена другая версия, + возвращает ошибку. Если версия не указана, возвращает + загруженную версию.
-
package require +
package require ?-exact? package ?version?
-

, - package - version. - . -exact - version, - ( , ). - , -exact , - , - (2.7, 3.1, +

Команда используется, если для выполнения дальнейшего + кода необходим библиотечный пакет package версии + version. Команда возвращает номер загруженной версии или + ошибку. Если присутствуют оба аргумента -exact и + version, то команда загружает именно указанную версию + (или выдает ошибку, если эта версия недоступна). Если + присутствует номер версии, а -exact опущено, то команда + загружает указанную версию или более позднюю, но с тем же + старшим номером версии (2.7, но не 3.1, когда указана версия 2.5).

-

, - packageunknown - (. ), , - . - - , .

+

Если база данных не содержит необходимой версии, а в + интерпретаторе определена команда для packageunknown + (см. ниже), то она исполняется, после чего повторно + проверяется доступность необходимой версии. Если версия + по-прежнему недоступна, команда возвращает ошибку.

-
package unknown +
package unknown ?command?
-

- . command , - - . , - .

+

Команда последней надежды при поиске необходимой + версии пакета. Если аргумент command указан, то он + дополняется именем пакета и версии и полученный скрипт + выполняется. Если версия не указана, подставляется пустая + строка.

-

command , - , package +

Если аргумент command не указан, возвращает текущий + скрипт, заданный для команды package unknown.

-
package +
package vcompare version1 version2
-
. -1, - version1 , version2, - 1 - , 0, - .
+
Команда сравнения версий. Возвращает -1, если + version1 более ранняя версия, чем version2, + 1 - в противном случае, и 0, если они + равны.
-
package +
package versions package
-
( - +
Возвращает список всех доступных версий пакета (информация о + которых занесена в базу данных с помощью команды package ifneeded).
-
package +
package vsatisfies version1 version2
-
1, version1 - version2 , - version1 , version2, 0 - - .
+
возвращает 1, если у version1 и + version2 совпадают старшие номера, а младший номер у + version1 не меньше, чем у version2, и 0 - в + противном случае.
-

+

ИНДЕКСЫ ПАКЕТОВ

-

Tcl , - package require package - provide pkg_mkIndex (. - ) - . - .

+

Рекомендованный способ работы с пакетами в Tcl состоит в том, + чтобы включать в скрипты команды package require и package + provide и использовать процедуру pkg_mkIndex (см. + соответствующие пункты) для создания индексных файлов для + пакетов. Это обеспечивает автоматическую загрузку необходимых + пакетов.

-

. close(n), filename(n), gets(n), read(n), puts(n), exec(n).

+

См.также close(n), filename(n), gets(n), read(n), puts(n), exec(n).

+ diff --git a/hlp/ru/tcl/pid.html b/hlp/ru/tcl/pid.html index 9966253..e97c53e 100644 --- a/hlp/ru/tcl/pid.html +++ b/hlp/ru/tcl/pid.html @@ -1,4 +1,4 @@ - + pid @@ -7,25 +7,26 @@

pid

-

.

+

Команда сообщает идентификаторы процессов.

-

+

СИНТАКСИС

       pid fileId
     
-

+

ОПИСАНИЕ

-

fileId, - (process pipeline), open. - , . - fileId , - , . - fileId , - . - .

+

Если задан аргумент fileId, то он должен указывать на + конвейер процессов (process pipeline), открытый командой open. В этом случае команда представит + список идентификаторов всех процессов в конвейере, по порядку. + Если fileId указывает на открытый файл, не являющийся + конвейером процессов, то список будет пустой. Если аргумент + fileId не задан, то будет возвращен идентификатор текущего + процесса. Все идентификаторы представлены десятичными + строками.

+ diff --git a/hlp/ru/tcl/pkg_mkIndex.html b/hlp/ru/tcl/pkg_mkIndex.html index 7625146..edb6584 100644 --- a/hlp/ru/tcl/pkg_mkIndex.html +++ b/hlp/ru/tcl/pkg_mkIndex.html @@ -1,4 +1,4 @@ - + pkg_mkIndex @@ -7,142 +7,143 @@

pkg_mkIndex

-

.

+

Создает индексный файл для автоматической загрузки пакета.

-

+

СИНТАКСИС

       pkg_mkIndex dir pattern ?pattern pattern...?
     
-

+

ОПИСАНИЕ

-

pkg_mkIndex - Tcl-. - , , - package require. - - :

+

Процедура pkg_mkIndex представляет собой утилиту для + работы с Tcl-библиотеками. Она обеспечивает создание индексных + файлов, необходимых для автоматической загрузки пакетов, когда в + приложении встречается команда package require. Для создания + автоматически загружаемых пакетов необходимо выполнить следующие + действия:

    -
  • . - Tcl- - . - load - - . , - test.so, load - test.so. Tcl- - package - provide . - Tcl_PkgProvide. +
  • Создать один или несколько пакетов. Каждый пакет может + состоять из одного или больше файлов с Tcl-скриптами или из + бинарных файлов. Бинарные файлы должны быть пригодны для их + загрузки с помощью команды load с единственным аргументом + - именем файла. Например, если в пакет входит файл + test.so, он должен загружаться командой load + test.so. Каждый файл Tcl-скриптов должен содержать команду + package + provide с именем пакета и версией. Каждый бинарный + файл должен содержать вызов процедуры Tcl_PkgProvide.
  • -
  • - pkg_mkIndex. dir - , , - pattern, , - glob, - . pkg_mkIndex - dir pkgIndex.tcl, - , - pattern. - , , - ( - package - provide Tcl_PkgProvide).
  • +
  • Создать индексные файлы с помощью команды + pkg_mkIndex. Аргумент dir указывает имя + каталога, в котором лежат файлы пакета, а шаблоны + pattern, которые могут содержать специальные символы, + как в команде glob, указывают + на файлы в этом каталоге. Команда pkg_mkIndex создаст в + каталоге dir файл pkgIndex.tcl, содержащий + информацию обо всех файлах пакета, заданных с помощью + аргументов pattern. Для этого загружаются все файлы + пакета, и определяется, какие новые пакеты и какие новые + процедуры появились (поэтому в каждом файле пакета и должна + быть команда package + provide или вызов Tcl_PkgProvide).
  • -
  • , - tcl_pkgPath. - $tcl_pkgPath , - - , Tcl- - . - pkgIndex.tcl. - , - tcl_pkgPath, - - package +
  • Установить пакет как подкаталог одного из каталогов, + перечисленных в переменной tcl_pkgPath. Если в списке + больше одного каталога, то бинарные файлы + с разделяемыми библиотеками обычно устанавливаются в первом + каталоге, а библиотеки Tcl-скриптов - во втором. В этих + каталогах должны также находиться файлы pkgIndex.tcl. + Пока пакеты будут размещаться в подкаталогах каталогов, + перечисленных в переменной tcl_pkgPath, этого будет + достаточно для их автоматической загрузки при выполнении + команды package require.
  • -
  • - , - , - auto_path - . - auto_path , - , - . $tcl_pkgPath. - , - auto_path. - - auto_path. - TCLLIBPATH. , - auto_path - .
  • +
  • Если вы установили пакеты в каких-либо других каталогах, то + необходимо, чтобы эти каталоги содержались в переменной + auto_path или были бы непосредственными подкаталогами + одного из содержащихся там каталогов. Переменная + auto_path содержит список каталогов, которые + просматриваются как автозагрузчиком, так и загрузчиком + пакетов. По умолчанию он включает . + Загрузчик пакетов также просматривает и подкаталоги каталогов, + включенных в auto_path. Пользователь может в явном виде + включить в приложении необходимые каталоги в + auto_path. А можно включить эти каталоги в переменную + окружения TCLLIBPATH. Если она существует, то + используется для инициализации переменной auto_path при + запуске приложения.
  • -
  • , - - - package require. , , 2.1, 2.3 - 3.1 Test - ,

    +
  • Если перечисленные выше шаги выполнены, то для + использования необходимого пакета достаточно выполнить в + приложении команду + package require. Если, например, версии 2.1, 2.3 и + 3.1 пакета Test проиндексированы и хранятся в + соответствующих каталогах, то команда

     	  package require Test
     	
    -

    3.1.

    +

    загрузит версию 3.1. А команда

     	  package require -exact Test 2.1
     	
    -

    2.1. - , - - , - . , - - .

    +

    загрузит версию 2.1. В различных каталогах могут храниться + много версий одного и того же пакета, но в данный + интерпретатор может быть загружена только одна из них - та, + которая будет затребована первой. Однако, в различных + интерпретаторах одного приложения могут быть загружены + различные версии одного и того же пакета.

-

+

ЗАГРУЗЧИК ПАКЕТОВ И АВТОЗАГРУЗЧИК

-

- , , - . - , - . - , - pkg_mkIndex, - auto_mkindex, - . - , , - . , - auto_mkindex - . , - pkg_mkIndex, - auto_mkindex, - , - , , , . +

Автозагрузчик и загрузчик пакетов во многом имеют сходные + возможности, поскольку и тот, и другой предназначены для + загрузки файлов по требованию. Однако загрузчик файлов + представляет собой механизм более высокого уровня, который + использует автозагрузчик на последнем шаге процесса загрузки. + Как правило, предпочтительнее индексировать пакеты с помощью + команды pkg_mkIndex, + чем с помощью команды auto_mkindex, поскольку это + обеспечивает подключение механизма версий. Вы можете иметь + несколько версий одного и того же пакета и, более того, + использовать в различных приложениях различные версии. Напротив, + auto_mkindex позволяет работать с единственной версией + пакета. Скорее всего, не стоит создавать индексы для пакета с + помощью и pkg_mkIndex, + и auto_mkindex, поскольку в этом случае трудно + контролировать, какой из механизмов загрузки пакета сработает + первым, и, соответственно, какая версия пакета будет загружена.

-

?

+

КАК ЖЕ ЭТО РАБОТАЕТ?

-

package require - package - unknown. Tcl- package unknown - , - pkgIndex.tcl auto_path. - package - ifneeded - . - package provide, - . , - - . - , - . , - package - require , - , , - .

+

При первом вызове команды package require + исполняется скрипт package + unknown. При инициализации Tcl-скрипт package unknown + задается таким образом, что он выполняет все файлы + pkgIndex.tcl в каталогах auto_path. Эти файлы + содержат команды package + ifneeded для каждой доступной версии каждого + доступного пакета. Эти команды в свою очередь вызывают команды + package provide, + которые объявляют данные версии доступными. Кроме того, они + формируют необходимую исходную информацию для + автозагрузчика. Данный файл данной версии данного пакета реально + загружается только тогда, когда вызывается первая из + содержащихся в нем команд. Таким образом, после выполнения + команды package + require вы не увидите команд пакета в интерпретаторе, + но, тем не менее, вы сможете их вызвать и при этом они + загрузятся автоматически.

+ diff --git a/hlp/ru/tcl/proc.html b/hlp/ru/tcl/proc.html index 88122f0..4f1ce33 100644 --- a/hlp/ru/tcl/proc.html +++ b/hlp/ru/tcl/proc.html @@ -1,4 +1,4 @@ - + proc @@ -7,64 +7,65 @@

proc

-

Tcl-.

+

Создает Tcl-процедуры.

-

+

СИНТАКСИС

       proc name args body
     
-

+

ОПИСАНИЕ

-

proc Tcl- - name, , - , - . body - Tcl-. - . - - . , , - . args - - (, ), - . - . - . - , , - .

+

Команда proc создает новую Tcl-процедуру с именем + name, если такой процедуры ранее не было, и замещает + ранее существовавшую процедуру или команду с таким именем, если + она была. При вызове новой процедуры скрипт body + передается на выполнение Tcl-интерпретатору. Обычно имя + процедуры указывается без указания имени пространства имен. При + этом новая процедура создается в текущем пространстве + имен. Однако, если пространство имен указано явно, она создается + в указанном пространстве. Аргумент args определяет + формальные аргументы процедуры и представляет собой список + (возможно, пустой), каждый элемент которого представляет + описание одного формального параметра. Каждое такое описание + само является списком из одного или двух элементов. Первый + элемент списка определяет имя формального параметра. Второй + элемент списка, если он указан, определяет значение по умолчанию + для данного параметра.

-

- . - , , - . , - , - . - , - , . - , - ( list). - args.

+

При выполнении процедуры для каждого формального параметра + создается локальная переменная. Ей присваивается значение + соответствующего аргумента, указанного при вызове процедуры, или + значение по умолчанию. Аргумент, для которого при определении + процедуры указано значение по умолчанию, может не присутствовать + в вызове процедуры. Однако общее количество указанных параметров + должно быть достаточным для аргументов, не имеющих значения по + умолчанию, но не больше общего числа формальных параметров. Если + это условие выполнено, все аргументы процедуры собираются в один + список (как при исполнении команды list). Эта комбинированная величина + присваивается локальной переменной args.

-

- , - . - - . - global - upvar. - - variable - upvar.

+

При исполнении тела процедуры имена переменных обычно считаются + именами локальных переменных, которые создаются автоматически по + мере необходимости и удаляются после завершения процедуры. По + одной локальной переменной создается также для каждого аргумента + процедуры. Для использования глобальных переменных необходимо + использовать команду global или + upvar. Для использования + переменных из пространства имен необходимо использовать команду + variable или + upvar.

-

proc . - , return. - return, - , . - , - .

+

Команда proc возвращает пустую строку. При вызове + процедуры возвращается величина, заданная в команде return. Если в процедуре не выполнялась + явная команда return, она возвращает результат выполнения + последней команды, выполнявшейся в теле процедуры. Если при + выполнении процедуры произошла ошибка, то процедура в целом + возвращает эту ошибку.

+ diff --git a/hlp/ru/tcl/puts.html b/hlp/ru/tcl/puts.html index eeb1f59..1a55fa0 100644 --- a/hlp/ru/tcl/puts.html +++ b/hlp/ru/tcl/puts.html @@ -1,4 +1,4 @@ - + puts @@ -7,58 +7,59 @@

puts

-

.

+

Команда записывает данные в канал.

-

+

СИНТАКСИС

       puts ?-nonewline? ?channelId? string
     
-

+

ОПИСАНИЕ

-

string - channelId. channelId - , open socket. - . channelId - , - . puts string - , , - -nonewline, .

+

Записывает символы из аргумента string в канал + channelId. Значение channelId должно быть + идентификатором канала, который вернула предыдущая команда open или socket. Соответствующий канал + должен быть открыт на запись. Если аргумент channelId не + указан, значение по умолчанию соответствует стандартному + выводу. Команда puts обычно выдает после string + символ новой строки, однако, если указана опция + -nonewline, этого не происходит.

-

- , (, - cr lf Windows-) - -translation. - fconfigure.

+

Символы новой строки при выводе заменяются на + последовательность, используемую на данной платформе (например, + cr lf на Windows-платформах) в соответствии со + значением опции канала -translation. Опция может быть + изменена с помощью команды fconfigure.

-

Tcl . , - puts, - . - . - , flush.

+

Tcl осуществляет вывод через буфер. Поэтому символы, выданные + командой puts, могут и не появиться сразу в выходном + устройстве или в файле. Обычно вывод откладывается до заполнения + буфера или закрытия канала. Чтобы обеспечить немедленную выдачу + данных, можно использовать команду flush.

-

, puts - , - . - channelId , - , - . Tcl - - , - . , - , .

+

Когда буфер заполнится, команда puts обычно блокирует + процесс до тех пор, пока все данные не будут переданы + операционной системе для дальнейшего вывода. Если канал + channelId открыт в неблокирующем режиме, процесс не + блокируется, даже если операционная система еще не приняла + данные. Tcl в этом случае продолжает складывать данные в буфер и + в фоновом режиме передает их в соответствующий файл или + устройство с той скоростью, с которой они могут принять + данные. Чтобы работа в неблокирующем режиме была возможна, + необходимо, чтобы был запущен обработчик событий.

-

, - . - , / - . - , .

+

При работе в неблокирующем режиме возможен рост буфера, под + который будет выделен неоправданно большой объем памяти. Чтобы + избежать этого, неблокирующие операции ввода/вывода лучше делать + управляемыми по событиям. При этом новая порция данных не будет + передаваться в буфер, пока канал не будет готов к ее приему.

+ diff --git a/hlp/ru/tcl/pwd.html b/hlp/ru/tcl/pwd.html index f497495..2b819c6 100644 --- a/hlp/ru/tcl/pwd.html +++ b/hlp/ru/tcl/pwd.html @@ -1,4 +1,4 @@ - + pwd @@ -7,18 +7,19 @@

pwd

-

pwd .

+

Команда pwd возвращает путь к текущему каталогу.

-

+

СИНТАКСИС

       pwd
     
-

+

ОПИСАНИЕ

-

pwd - .

+

Команда pwd возвращает полный путь к текущему + каталогу.

+ diff --git a/hlp/ru/tcl/read.html b/hlp/ru/tcl/read.html index 90d4fda..8e22ff1 100644 --- a/hlp/ru/tcl/read.html +++ b/hlp/ru/tcl/read.html @@ -1,4 +1,4 @@ - + read @@ -7,37 +7,38 @@

read

-

.

+

Команда выполняет чтение данных из канала.

-

+

СИНТАКСИС

       read -nonewline channelId
       read channelIdnumBytes
     
-

+

ОПИСАНИЕ

-

read channelId - ( ), - numBytes ( - ). , - numBytes, , - .

+

Команда read зачитывает из канала channelId либо + весь файл до символа конца файла (при первой форме записи), либо + заданное параметром numBytes количество байтов (вторая + форма). Если во втором случае в файле оказалось меньше байтов, + чем задано numBytes, тогда возвращаются все байты, что + остались.

-

-nonewline, - .

+

Если указана опция -nonewline, при выполнении команды + отбрасывается символ новой строки в конце файла.

-

, - , - . , - , . - , -nonewline .

+

Если канал открыт в неблокирующем режиме, команда может + прочитать не указанное количество байтов, а только все + доступные. После чего она не заблокирует процесс, дожидаясь + дополнительных данных, а завершится. Если команда завершилась до + конца файла, то опция -nonewline игнорируется.

-

read - , , - -translation option. - fconfigure.

+

Команда read изменяет во входных данных + последовательность, задающую конец строки, в соответствии с + опцией канала -translation option.Опция может быть + изменена с помощью команды fconfigure.

+ diff --git a/hlp/ru/tcl/regexp.html b/hlp/ru/tcl/regexp.html index d8be971..03f3a45 100644 --- a/hlp/ru/tcl/regexp.html +++ b/hlp/ru/tcl/regexp.html @@ -1,4 +1,4 @@ - + regexp @@ -7,185 +7,186 @@

regexp

-

.

+

Сравнивает строку и регулярное выражение.

-

+

СИНТАКСИС

       regexp ?switches? exp string ?matchVar? ?subMatchVar subMatchVar...?
     
-

+

ОПИСАНИЕ

-

, - exp - string - , 1, , - 0 - .

+

Команда определяет, соответствует ли регулярное + выражениеexp какой-либо части строки string или + всей строке, и возвращает 1, если соответствует, и + 0 - в противном случае.

-

- string, , - , - . - , , - . - subMatchVar , - , - exp. - subMatchVar , - , .

+

Если в команде указаны дополнительные аргументы после + string, они считаются именами переменных, в которые + возвращается информация о том, какие именно части строки + соответствуют регулярным выражениям. Переменной присваивается + значение, состоящее из части строки, соответствующей всему + регулярному выражению. Самой левой в списке переменной + subMatchVar присваивается значение, состоящее из части + строки, которая соответствует самому левому заключенному в + скобки выражению в составе exp. Следующей переменной + subMatchVar присваивается значение, соответствующее следующему + заключенному в скобки выражению, и так далее.

-

-, - . .

+

Если первые аргументы команды начинаются с -, они + считаются опциями команды. Ниже перечислены возможные опции.

-nocase
-
- .
+
При сравнении не различает буквы в верхнем и нижнем + регистре.
-indices
-
subMatchVars - , - - .
+
В переменных subMatchVars сохраняются не части + строки, а списки из двух десятичных чисел - индексов начала и + конца соответствующей области строки.
--
-
. - exp, +
Означает конец опций. следующий аргумент будет + рассматриваться как exp, даже если он начинается с -.
-

subMatchVar, - exp, - , - -1 - , , +

Если в команде указано больше переменных subMatchVar, + чем выражений в скобках в exp, или если для одного из + выражений не удалось найти соответствующую ему часть строки, то + соответствующей переменной будет присвоено значение -1 + или пустая строка, в зависимости от того, была ли задана опция -indices.

-

+

РЕГУЛЯРНЫЕ ВЫРАЖЕНИЯ

-

- (branch), '|'. - , - .

+

Регулярное выражение состоит из ни одной или более + ветвей (branch), разделенных символом '|'. Строка + соответствует выражению, если она соответствует одной из его + ветвей.

-

(piece), - . , - , - , - - .

+

Ветвь состоит из одной или более частей (piece), + соединенных друг с другом. строка соответствует ветви, если ее + можно разбить на подстроки таким образом, что начальная + подстрока соответствует первой части ветви, следующая подстрока + - следующей части ветви и так далее.

-

- '*', '+' '?'. - * - , . - '+' - , - . '?' - , , - .

+

Часть состоит из атома со следующим за ним необязательным + символом '*', '+' или '?'. Атом с последующим + символом * соответствует любой последовательности из нуля + или более подстрок, каждая из которых соответствует атому. Атом + с символом '+' после него соответствует любой + последовательности из одной или более подстрок, каждая из + которых соответствует атому. Атом с символом '?' после + него соответствует подстроке, которая соответствует атому, или + пустой строке.

-

( - , - ), (. ), - '.' ( ), - '^' ( - string), '$' ( - string), '\' - ( ), - - ( ).

+

Атом может быть регулярным выражением в скобках (в этом случае + он соответствует любой строке, которая соответствует этому + регулярному выражению), интервалом (см. ниже), символом + '.' (соответствует ровно одному произвольному символу), + '^' (соответствует нулевой строке в начале + string), '$' (соответствует нулевой строке в конце + string), '\' с последующим одним символом + (соответствует этому символу), или одним символом без + какого-либо иного смысла (соответствует этому символу).

-

, - . - . - '^', , , - . - '-', - ASCII - (, '[0-9]' ). - , ']', - - ( '^'). - '-' - .

+

Интервал есть последовательность символов, заключенная в + квадратные скобки. Он обычно соответствует любому символу из + этого интервала. Если последовательность начинается с символа + '^', то она соответствует любому символу, кроме символов, + стоящих далее в последовательности. Если два символа в + последовательности разделены символом '-', то это краткая + форма для обозначения всех ASCII символов между этими двумя + (например, '[0-9]' соответствует любой десятичной цифре). Для + того, чтобы включить в последовательность символ ']', + следует поставить его на место первого в последовательности + (следом за возможным символом '^'). Для включения в + последовательность символа '-' следует сделать его первым + или последним символом.

-

+

ВЫБОР ИЗ АЛЬТЕРНАТИВНЫХ СОСТОЯНИЙ

-

, - . , -

+

Вообще говоря, регулярное выражение может соответствовать + строке несколькими различными способами. Например, рассмотрим + выражение

       regexp (a*)b* aabaaabb x y
     
-

x - y aabb aa, - aaab aaa, ab a - . - regexp - " - ". , - , - . , - - .

+

В соответствии с описанными выше правилами переменные x + и y могут принять значение aabb и aa, + aaab и aaa, ab и a или одну из еще + нескольких возможных комбинаций. Чтобы избежать этой + потенциальной неопределенности команда regexp выбирает + между возможными вариантами по правилу "первый и самый + длинный". Другими словами, строка и регулярное выражение + просматриваются слева направо, при этом выбирается часть строки + максимально возможной длины. Говоря точнее, при выборе + используются следующие правила в порядке убывания + приоритета.

- - + - + - + - +
[1]

- , , - .

+

Если регулярное выражение соответствует двум разным + частям строки, выбирается та часть, которая раньше + начинается.

-

, - () . - .

+

Если обе начинаются в одном и том же месте, то это + неопределенный (тяжелый) случай. Его можно объяснить + следующим образом.

[2] | ( - ), - , - .Если регулярное выражение содержит символы | (то + есть состоит из нескольких ветвей), то будет выбрана самая + левая ветвь, которой что-либо соответствует.
[3] , '*', '+' - '?', , - .Для выражений, содержащих '*', '+' и + '?', выбираются самые длинные фрагменты строки, + соответствующие им.
[4][4] .Компоненты выражений рассматриваются слева направо.
-

(a*)b* - aab, (a*) - , aa, - b* - b. :

+

В приведенном выше примере (a*)b* соответствует + aab, так как для (a*) выбирается первый + соответствующий ему фрагмент, то есть начальные aa, а + затем для b* выбирается следующий символ + b. Рассмотрим еще один пример:

       regexp (ab|a)(b*)c abc x y z
     
-

x - abc, y - ab - z . [4] , - (ab|a), [2], - ab. b , - (b*) .

+

После выполнения команды переменная x будет содержать + значение abc, переменная y - ab и + переменная z будет содержать пустую строку. Правило [4] определяет, что поиск начнется с выражения + (ab|a), а правило [2], что поиск начнется с подвыражения + ab. Поэтому символ b в строке будет использован, и + выражение (b*) будет соответствовать пустой строке.

+ diff --git a/hlp/ru/tcl/regsub.html b/hlp/ru/tcl/regsub.html index 627db5a..67357ce 100644 --- a/hlp/ru/tcl/regsub.html +++ b/hlp/ru/tcl/regsub.html @@ -1,4 +1,4 @@ - + regsub @@ -7,62 +7,19 @@

regsub

-

, .

+

Команда выполняет подстановки, используя регулярные выражения.

-

+

СИНТАКСИС

       regsub ?switches? exp string subSpec varName
     
-

+

ОПИСАНИЕ

-

exp - string string , - varName. , - string, - exp, subSpec. subSpec - & or \0, - string, - exp. subSpec \n, - n - 1 9, - string, n- - exp. - - , - . - exp, - exp .

- -

- -, . - .

- -
-
-all
- -
string, - exp, . - & \n - string, exp. - .
- -
-nocase
- -
- . , - .
- -
--
- -
. - exp, - -.
-
- -

(, , - ) . - regexp.

- - +

Команда сравнивает регулярное выражение exp и строку + string и копирует string в переменную, заданную + именем varName. Если совпадение найдено, то при + копировании часть строки string, соответствующая + exp, замещается на subSpec. Если subSpec + содержит один из символов & or diff --git a/hlp/ru/tcl/rename.html b/hlp/ru/tcl/rename.html index 04a4bb5..d5e6956 100644 --- a/hlp/ru/tcl/rename.html +++ b/hlp/ru/tcl/rename.html @@ -1,4 +1,4 @@ - + rename @@ -7,25 +7,26 @@

rename

-

rename .

+

Команда rename переименовывает или удаляет команду.

-

+

СИНТАКСИС

       rename oldName newName
     
-

+

ОПИСАНИЕ

-

oldName - newName. newName ( - ), oldName .

+

Данная команда переименовывает команду по имени oldName + в newName. Если newName отсутствует (равно пустой + строке), тогда команда oldName удаляется.

-

oldName newName - ( ). - , - - . rename - .

+

Имена oldName и newName могут содержать + квалификаторы областей имен (указатели на имена областей имен). + Если команда переименовывается в другую область имен, то + последующие вызовы этой команды будут происходить в новой + области имен. Команда rename возвращает пустую + строку.

+ diff --git a/hlp/ru/tcl/return.html b/hlp/ru/tcl/return.html index ca6ddcc..bf0741c 100644 --- a/hlp/ru/tcl/return.html +++ b/hlp/ru/tcl/return.html @@ -1,4 +1,4 @@ - + return @@ -7,91 +7,92 @@

return

-

.

+

Команда осуществляет возврат из процедуры.

-

+

СИНТАКСИС

       return ?-code code? ?-errorinfo info? ?-errorcode code? ?string?
     
-

+

ОПИСАНИЕ

-

- ( , source) , - string. string , - .

+

Команда немедленно осуществляет возврат из текущей процедуры + (или команды верхнего уровня, или команды source) со значением, заданным + string. Если аргумент string не задан, возвращает + пустую строку.

-

-code , - ( TCL_OK). , - . - .

+

Обычно опция -code не используется, и процедура + завершается успешно (с кодом завершения TCL_OK). Однако, ее + можно использовать для генерации других кодов возврата. Ниже + перечислены возможные коды.

ok
-
. , .
+
Успешное завершение. То же самое, что отсутствие кода.
error
-
. , - error - errorInfo errorCode - (. ).
+
Возвращает ошибку. То же самое, что использовать команду + error для прекращения + выполнения процедуры за исключением обработки переменных errorInfo и errorCode + (см. ниже).
return
-
TCL_RETURN, - .
+
Текущая процедура вернет код TCL_RETURN, который вызовет + немедленный возврат также и из вызывающей процедуры.
break
-
TCL_BREAK, - - , .
+
Текущая процедура вернет код TCL_BREAK, который вызовет + немедленное прекращение выполнения самого внутреннего из + вложенных циклов, из которого была вызвана процедура.
continue
-
TCL_CONTINUE, - - , - .
+
Текущая процедура вернет код TCL_CONTINUE, который вызовет + немедленное прекращение выполнения текущей итерации самого + внутреннего из вложенных циклов, из которого была вызвана + процедура.
value
-
value . - .
+
Значение value должно быть целым числом. Оно будет + возвращено как код выполнения процедуры.
-

-code . - , , - , - .

+

Опция -code используется относительно редко. Она + предусмотрена для того, чтобы процедуры, реализующие новые + управляющие команды, могли вернуть вызывающим их процедурам + исключительные условия.

-

-errorinfo -errorcode - code error, - . - .

+

Опции -errorinfo и -errorcode могут + использоваться совместно с code error, чтобы вернуть + дополнительную информацию о сгенерированной ошибке. В остальных + случаях они игнорируются.

-

-errorinfo , - errorInfo. - , errorInfo - , , - , - . - info catch, - .

+

Опция -errorinfo используется для того, чтобы задать + исходное значение переменной errorInfo. Если она не будет + задана, то в переменную errorInfo будет включена + информация о вызове процедуры, вернувшей ошибку, и о более + высоких уровнях стека, но не информация непосредственно об + ошибке внутри процедуры. Чаще всего для формирования переменной + info используется сообщение команды catch, обнаружившей ошибку в + процедуре.

-

-errorcode , - - errorCode. - NONE.

+

Если опция -errorcode указана, она позволяет задать + значение переменной + errorCode. В противном случае ей будет присвоено + значение NONE.

+ diff --git a/hlp/ru/tcl/scan.html b/hlp/ru/tcl/scan.html index 675913d..45429a4 100644 --- a/hlp/ru/tcl/scan.html +++ b/hlp/ru/tcl/scan.html @@ -1,4 +1,4 @@ - + scan @@ -6,143 +6,144 @@

scan

-

sscanf.

+

Производит разбор строки в стиле процедуры sscanf.

-

+

СИНТАКСИС

       scan string format varName ?varName...?
     
-

+

ВВЕДЕНИЕ

-

, ANSI C sscanf, - string, - - format. - +

Данная команда, подобно ANSI C процедуре sscanf, + просматривает строку string, выбирает поля и преобразует + их в соответствии с очередным спецификатором преобразования в + строке format. Выбранные значения преобразуются обратно в + строковый вид и последовательно записываются в переменные varName.

-

+

ПРОЦЕСС СКАНИРОВАНИЯ

-

scan - string format. - format , - ( ) (, , - ) string. - format %, - . - - %: *, - , , - , - , , - , . - .

+

Команда scan просматривает одновременно строки + string и format. Если очередной символ в строке + format пробел или табуляция, то он соответствует любому + числу (включая ноль) пробельных символов (пробел, табуляция, + новая строка) в строке string. Если в строке + format встретился символ %, он означает начало + очередного спецификатора преобразования. Спецификатор + преобразования включает в себя до трех полей после символа + %: первое поле может содержать символ *, + означающий, что преобразуемая величина будет удалена, а не + записана в очередную переменную, второе поле может содержать + число, указывающее максимальную ширину поля, и третье поле + содержит букву, определяющую тип преобразования. Обязательным + является только третье поле.

-

scan - format, - string. - - - , - . , - :

+

Когда команда scan находит спецификатор + преобразования в строке format, она пропускает + пробельные символы в строке string. Затем она выбирает + следующую группу непробельных символов и преобразует их в + соответствии со спецификатором преобразования и записывает + результат в переменную, соответствующую следующему аргументу + команды. Поддерживаются следующие типы преобразований, + задаваемые соответствующими символами:

d
-
. - .
+
Входное поле должно быть десятичным числом. Результат + записывается как десятичная строка.
o
-
. - .
+
Входное поле должно быть восьмеричным числом. Результат + преобразуется в десятичную строку.
x
-
. - .
+
Входное поле должно быть шестнадцатеричным числом. + Результат преобразуется в десятичную строку.
c
-
, - . - . - ANSI C sscanf - , - .
+
Читается один символ, его двоичная величина преобразуется и + записывается в переменную как десятичная строка. Начальные + пробельные символы в этом случае не пропускаются. В отличие от + ANSI C процедуры sscanf входное поле всегда состоит + ровно из одного символа, а ширина поля не может быть + задана.
s
-
- . - .
+
Входное поле состоит из всех непробельных символов до + следующего пробельного. Все символы копируются в + переменную.
-
e f g
+
e или f или g
-
, - ( ), , - ( ), - e E, ( - ) .
+
Входное поле должно быть числом с плавающей точкой, + состоящим из знака (не обязательно), строки десятичных цифр, + возможно с десятичной точкой и порядка (не обязательно), + состоящего из буквы e или E, знака порядка (не + обязательно) и строки десятичных цифр.
[chars]
-
- chars. - . ], - chars, - .
+
Входное поле состоит из произвольного числа символов из + chars. Соответствующая строка записывается в + переменную. Если первый символ в скобках ], то он + рассматривается как часть chars, а не как закрывающая + скобка для множества символов.
[^chars]
-
, - chars. - . - ^ ], - chars, - .
+
Входное поле состоит из произвольного числа символов, не + содержащихся в chars. Соответствующая строка + записывается в переменную. Если первый символ в скобках после + ^ есть ], то он рассматривается как + часть chars, а не как закрывающая скобка для множества + символов.
-

, , - - (, , - %d, , - %o). , - , , string - - ( , - ). - *, - , - scan - .

+

Число символов, которое выбирается для преобразования, это + максимально возможное число символов для соответствующего + преобразования (например, так много десятичных цифр, как это + возможно для %d, или так много восьмеричных цифр, как это + возможно для %o). Поле, выбираемое для очередного + преобразования, закрывается, как только в строке string + встречается пробельный символ или как только поле достигает + указанного максимального размера (в зависимости от того, что + происходит раньше). Если в спецификаторе преобразования для + очередного поля присутствует символ *, то выбранное + значение не присваивает никакой переменной, а очередной аргумент + команды scan по-прежнему считается неиспользованным.

-

ANSI SSCANF

+

ОТЛИЧИЯ ОТ ANSI SSCANF

-

scan ANSI - C sscanf :

+

Поведение команды scan не отличается от поведения ANSI + C процедуры sscanf за исключением следующих моментов:

- + - + - +
[1] %p %n .Спецификаторы %p и %n не поддерживаются.
[2] %c - . - , - .Для спецификатора %c нельзя указывать ширину + поля. Только один символ переводится в десятичную + величину, которая и присваивается соответствующей + переменной.
[3] l, h L . - , - , - - l, - double .Модификаторы l, h и L игнорируются. Целые + числа преобразуются так, как будто никакого модификатора + не было задано, а действительные числа - как при + модификаторе l, то есть с использованием типа + double для внутреннего представления.
+ diff --git a/hlp/ru/tcl/seek.html b/hlp/ru/tcl/seek.html index 358fb12..95b37a5 100644 --- a/hlp/ru/tcl/seek.html +++ b/hlp/ru/tcl/seek.html @@ -1,4 +1,4 @@ - + seek @@ -7,58 +7,59 @@

seek

-

.

+

Команда изменяет позицию доступа открытого канала.

-

+

СИНТАКСИС

       seek channelId offset ?origin?
     
-

+

ОПИСАНИЕ

-

, - channelId. channelId - , - open socket. origin - offset , - . offset - (, ), - origin - .

+

Команда изменяет текущую позицию доступа канала, заданного + параметром channelId. Значение channelId должно + быть идентификатором канала, который вернула предыдущая команда + open или socket. Аргументы origin и + offset задают новую позицию, в которой будет выполняться + следующая операция чтения или записи. Аргумент offset + должен быть целым числом (возможно, отрицательным), а аргумент + origin может принимать одно из перечисленных ниже + значений.

start
-
offset - .
+
Следующая позиция будет на расстоянии offset байтов + от начала соответствующего файла или устройства.
current
-
offset - . offset - .
+
Следующая позиция будет на расстоянии offset байтов + от текущей позиции. Отрицательное значение offset + передвигает позицию назад.
end
-
offset - . - offset , - - .
+
Следующая позиция будет на расстоянии offset байтов + от конца файла или устройства. Отрицательное значение + offset указывает на позицию до конца файла, а + положительное - на позицию после конца файла.
-

origin +

Значение по умолчанию для аргумента origin равно start.

-

- . - , , - . , - - . . - , - , .

+

Выполнение команды влечет немедленную передачу всех данных из + выходного буфера в файл или на выходное устройство. Команда не + будет завершена до тех пор, пока все данные не будут переданы, + даже если канал находится в неблокирующем режиме. Кроме того, + будут удалены все не прочитанные данные из входного + буфера. Команда возвращает пустую строку. Если команда + используется для файла или канала, для которого не + поддерживается произвольный доступ, она вернет ошибку.

+ diff --git a/hlp/ru/tcl/send.html b/hlp/ru/tcl/send.html index 63d5272..641e4ce 100644 --- a/hlp/ru/tcl/send.html +++ b/hlp/ru/tcl/send.html @@ -1,94 +1,95 @@ send

send

- - .
  + Выполнить команду в другом + приложении.
 
  • + href=tk.html#send СИНТАКСИС>Синтаксис
  • + href=tk.html#send ОПИСАНИЕ>Описание
  • - + href=tk.html#send ИМЕНА ПРИЛОЖЕНИЙ>Имена + приложений
  • - + href=tk.html#send БЛОКИРОВКА ПОСЫЛАЕМЫХ КОМАНД>Блокировка + посылаемых команд
  • -
  • - send ?? - ? ...? - , - ( , ), - . . - , - , - ; - . , - . - , , - eval. + href=tk.html#send БЕЗОПАСНОСТЬ>Безопасность + СИНТАКСИС + send ?параметры? прил + кмд ?арг арг ...?ОПИСАНИЕ + Обеспечивает выполнение команды, заданной параметром + кмд (с аргументами, заданными параметрами арг), в приложении + с именем прил. Возвращает результат выполненной команды или ошибку. + Аргумент прил может задавать имя любого из приложений, главное окно + которого расположено на том же дисплее, что и главное окно запрашивающего + приложения; запрошенное приложение не обязано управляться тем же + процессом. Если аргументы отсутствуют, то выполняемая команда полностью + определяется аргументом кмд. Если присутсвует один или несколько + аргументов, то они конкатенируются с кмд в точности так же, как и в + команде eval. -

    - "-", . - : +

    Если первые аргументы команды начинаются + с дефиса -, то они интерепретируются как параметры. В настоящее время + допустимы следующие параметры:

    -async

    - . - send , - , , - -; - . - , , -async - .Запрашивает асинхронный вызов. В этом + случае выполнение команды send завершается немедленно, не дожидаясь + завершения выполнения команды, заданной аргументом кмд, в + приложении-адресате; результат выполнения посланной команды или + возникающие при выполнении ошибки игнорируются. Если адресат управляется + тем же процессом, что и посылающее приложение, то параметр -async + игнорируется.
    -displayof + size=+1>имяПути - , - - , , - , - .Указывает на то, что главное окно + приложения-адресата должно быть на том же дисплее, что и окно, заданное + аргументом имяПути, а не на дисплее посылающего + приложения.-- - - . - - "-". - - - , . - appname + Единственная задача этого параметра + завершить список параметров. Он используется только если значение + аргумента прил может начинаться с дефиса + -.ИМЕНА + ПРИЛОЖЕНИЙ + Первоначально имя приложения + определяется именем программы или скрипта, его создающего. Имя приложения + можно узнать и изменить с помощью команды appname Tk. - send (, - rename send {}), - send . - , + name=send БЛОКИРОВКА ПОСЫЛАЕМЫХ КОМАНД>БЛОКИРОВКА ПОСЫЛАЕМЫХ КОМАНД + Если отменить в приложении команду send (например, выполнив команду + rename send {}), то приложение перестанет реагировать на + поступающие запросы send и само не сможет посылать запросы. + Восстановить взаимодействие приложений можно, выполнив команду appname Tk. - send , - , X , - . Tcl - - . xhost, - , , - ; , - , - . , Tk - , - () xhost- ( - ); () - , , . - , - (, + name=send БЕЗОПАСНОСТЬ>БЕЗОПАСНОСТЬ + Команда send является потенциальным источником серьезных нарушений защиты, + так как любое приложение, способное соединиться с Вашим X сервером, может + посылать скрипты в Ваше приложение. С помощью Tcl присланные скрипты могут + читать Ваши файлы и выполнять запись в них и запускать подпроцессы под + Вашим именем. Особенно уязвимо управление доступом вида xhost, так + как всякий пользователь, заведенный на головном компьютере, может + связаться с Вашим сервером; если же это управление доступом отключить, то + связь становится возможной вообще для любого пользователя, где бы он ни + находился. Чтобы обеспечить хотя бы минимальную защиту, Tk проверяет + систему управления доступом на сервере и отвергает все присланные команды, + если либо (а) xhost-система управления доступом отключена (так что лишь + некоторые головные компьютеры могут устанавливать связь); либо (б) список + головных компьютеров, которым такая связь разрешена, пуст. В результате + никакое приложение не сможет связаться с Вашим сервером, если у него не + будет дополнительных прав (например, предоставленных xauth). + diff --git a/hlp/ru/tcl/set.html b/hlp/ru/tcl/set.html index 773fdbb..e4622f9 100644 --- a/hlp/ru/tcl/set.html +++ b/hlp/ru/tcl/set.html @@ -1,4 +1,4 @@ - + set @@ -7,45 +7,46 @@

    set

    -

    .

    +

    Команда читает и записывает значения переменных.

    -

    +

    СИНТАКСИС

           set varName value
         
    -

    +

    ОПИСАНИЕ

    -

    set - varName. value, - varName value - value. - , .

    +

    Команда set возвращает значение переменной + varName. Если задан параметр value, то команда + присваивает переменной varName значение value и + возвращает значение value. Если такой переменной не + существовало, тогда она создается вновь.

    -

    varName - , . - , - . - - .

    +

    Если varName содержит открывающую скобку и + заканчивается закрывающей скобкой, тогда это элемент массива. + Символы до открывающей скобки являются именем массива, символы + между скобками есть индекс этого элемента в массиве. В + противном случае команда адресуется к скалярной + переменной.

    -

    - , . - - . - , .

    +

    Обычно имя переменной указывается без указания пространства + имен, в котором она содержится. При этом соответствующая + переменная для чтения или записи ищется в текущем пространстве + имен. Если же в имени переменной присутствуют имя пространства + имен, то она ищется в указанном пространстве имен.

    -

    , - varName ( - ) - . varName - , - - - global - variable .

    +

    Если команда используется вне тела процедуры, то + varName есть имя глобальной переменной (если текущее + пространство имен есть глобальное пространство) или переменной + текущего пространства имен. В теле процедуры varName + есть имя параметра или локальной переменной процедуры, если + она не объявлена глобальной переменной или переменной + пространства имен с помощью команды + global или + variable соответственно.

    + diff --git a/hlp/ru/tcl/socket.html b/hlp/ru/tcl/socket.html index 923b054..2b886eb 100644 --- a/hlp/ru/tcl/socket.html +++ b/hlp/ru/tcl/socket.html @@ -1,4 +1,4 @@ - + socket @@ -6,131 +6,132 @@

    socket

    -

    TCP-.

    +

    Команда открывает сетевое TCP-соединение.

    -

    +

    СИНТАКСИС

           socket ?options? host port
           socket -server command ?options? port
         
    -

    +

    ОПИСАНИЕ

    -

    - , - read, - puts - flush. - TCP. - - , .

    +

    Эта команда открывает сетевое соединение и возвращает + идентификатор канала, который может использоваться в + последующих командах read, + puts или + flush. В настоящее время + поддерживается только протокол TCP. Команда может + использоваться для открытия соединения как со стороны + сервера, так и со стороны клиента.

    -

    +

    КЛИЕНТСКОЕ СОЕДИНЕНИЕ

    -

    -server , - , - . port - host . - , . - port , host - - (, www.sunlabs.com) - IP- (, 127.0.0.1). - , , - localhost.

    +

    Если опция -server не указана, то канал открывается со + стороны клиента, и возвращаемый идентификатор канала может быть + использован для операции чтения и записи. Аргументы port + и host задают порт для соединения. По данному порту + должен быть сервер, обслуживающий соединение. Аргумент + port должен быть целым числом, а host - адресом + машины в доменном стиле (например, www.sunlabs.com) или + числовым IP-адресом (например, 127.0.0.1). Для ссылки на + локальную машину, на которой выполняется команда, можно + использовать значение localhost.

    -

    - .

    +

    Для задания дополнительной информации о соединении можно + использовать следующие опции.

    -myaddr addr
    -
    addr - - . , - . - , - .
    +
    Аргумент addr задает доменный или числовой адрес + сетевого интерфейса клиентской стороны для упрощения + соединения. Эта опция может быть полезна, если на клиентской + машине есть несколько сетевых интерфейсов. Если опция не + указана, системный интерфейс будет выбран операционной + системой.
    -myport port
    -
    port - . , - .
    +
    Аргумент port задает номер порта для клиентской + стороны соединения. Если опция не указана, номер порта для + клиента будет определен операционной системой.
    -async
    -
    -async , - . , - , , - . , - gets - flush , - , - . - , , - fblocked - 1.
    +
    Использование опции -async приведет к тому, что + клиент будет подсоединен в асинхронном режиме. Это значит, что + сокет будет создан немедленно, возможно, еще до установления + связи с сервером. Если канал открыт в блокирующем режиме, то + при выполнении команды gets + или flush по такому сокету, + команда завершится только после того, как процесс установления + соединения будет завершен. Если канал открыт в неблокирующем + режиме, то в этой ситуации команда завершится немедленно, а + команда fblocked для + данного канала возвратит 1.
    -

    +

    СЕРВЕРНОЕ СОЕДИНЕНИЕ

    -

    -server, - port. Tcl - . - , - . Tcl - command : - , - .

    +

    Если в команде присутствует опция -server, то новый + сокет будет сервером для порта port. Tcl будет + автоматически устанавливать соединения по данному порту. Для + каждого соединения будет создаваться новый канал, который может + быть использован для связи с клиентом. При этом Tcl выполняет + команду command с тремя дополнительными аргументами: имя + нового канала, адрес клиентской машины в сетевой нотации и номер + порта клиента.

    -

    :

    +

    В команде можно использовать следующие опции:

    -myaddr addr
    -
    addr - - . , - . - , INADDR_ANY, - - .
    +
    Аргумент addr задает доменный или числовой адрес + сетевого интерфейса серверной стороны для упрощения + соединения. Эта опция может быть полезна, если на серверной + машине есть несколько сетевых интерфейсов. Если опция не + указана, сокет связывается со специальным адресом INADDR_ANY, + который позволяет принимать соединения от любого + интерфейса.
    -

    - . - - . , - , . - , - . - .

    +

    Канал сервера не может быть использован для приема или выдачи + данных. Его единственное назначение - принимать новые клиентские + подсоединения. Каналы, открываемые для каждого клиентского + соединения, открываются на чтение и запись. Закрытие серверного + канала вызывает отключение сервера, так что никаких новых + соединений не может быть выполнено. Однако существующие + соединения сохраняются.

    -

    - . - , , vwait.

    +

    Сокет сервера не может обнаружить новое соединение при + незапущенном обработчике событий. Поэтому в приложении должен + быть запущен обработчик событий, например, командой vwait.

    -

    +

    КОНФИГУРАЦИОННЫЕ ОПЦИИ

    -

    fconfigure - : +

    Команда fconfigure может + получить значения нескольких неизменяемых опций для сокетов:

    -sockname
    -
    : , - . - , - .
    +
    Эта опция возвращает список из трех элементов: адреса, имени + хоста и номера порта для сокета. Если имя хоста не может быть + определено, второй элемент списка совпадает с первым + адресом.
    -peername
    -
    . - - : , - . , - - .
    +
    Эта опция не поддерживается для сокетов сервера. Для + сокетов клиента и установленных соединений она выдает список + из трех элементов: адреса, имени хоста и номера порта для + сокета. Если имя хоста не может быть определено, второй + элемент списка совпадает с первым - адресом.
    + diff --git a/hlp/ru/tcl/source.html b/hlp/ru/tcl/source.html index 4735b9c..b25f855 100644 --- a/hlp/ru/tcl/source.html +++ b/hlp/ru/tcl/source.html @@ -1,4 +1,4 @@ - + source @@ -7,29 +7,30 @@

    source

    -

    source , - .

    +

    Команда source исполняет скрипт, содержащийся в + файле.

    -

    +

    СИНТАКСИС

           source fileName
         
    -

    +

    ОПИСАНИЕ

    -

    Tcl - . - - . , - source . - return, - , . - return.

    +

    Данная команда передает интерпретатору Tcl содержимое + названного файла в качестве исполняемого скрипта. Команда + возвращает результат выполнения последней выполненной команды + скрипта. Если при выполнении скрипта возникла ошибка, то команда + source возвратит эту ошибку. Если при выполнении скрипта + была вызвана команда return, то + выполнение скрипта прекращается, и команда завершается. При этом + она возвращает результат выполнения команды return.

    -

    Macintosh- - , .

    +

    Для Macintosh-платформ существуют дополнительные варианты + команды, предназначенные для работы с ресурсами.

    + diff --git a/hlp/ru/tcl/split.html b/hlp/ru/tcl/split.html index 8495aeb..26d8e68 100644 --- a/hlp/ru/tcl/split.html +++ b/hlp/ru/tcl/split.html @@ -1,4 +1,4 @@ - + split @@ -7,39 +7,40 @@

    split

    -

    - Tcl-.

    +

    Команда разделяет строку на части и создает из них правильный + Tcl-список.

    -

    +

    СИНТАКСИС

           split string splitChars
         
    -

    +

    ОПИСАНИЕ

    -

    string , - , splitChars. - , - splitChars - . , - splitChars - string splitChars. - splitChars , - . splitChars - (, , ).

    +

    Команда делит строку string в каждом месте, где есть + символ, содержащийся в splitChars. Каждый элемент списка + образован частью исходной строки, заключенной между двумя + последовательными вхождениями символов из splitChars в + строку. В списке формируется пустой элемент, если два символа из + splitChars встречаются подряд или если первый или + последний символ string содержится в splitChars. + Если splitChars есть пустая строка, то строка разбивается + на отдельные символы. По умолчанию splitChars содержит + пробельные символы (пробел, табуляция, новая строка).

    -

    +

    ПРИМЕР

    -

    +

    Команда

    -      split "comp.unix.misc"
    +      split comp.unix.misc
         
    -

    "comp unix misc",

    +

    вернет comp unix misc, а команда

    -      split "Hello world" {}
    +      split Hello world {}
         
    -

    "H e l l o { } w o r l d".

    +

    вернет H e l l o { } w o r l d.

    + diff --git a/hlp/ru/tcl/string.html b/hlp/ru/tcl/string.html index 1fffe36..1507e64 100644 --- a/hlp/ru/tcl/string.html +++ b/hlp/ru/tcl/string.html @@ -1,4 +1,4 @@ - + string @@ -7,181 +7,182 @@

    string

    -

    .

    +

    Команда для работы со строками.

    -

    +

    СИНТАКСИС

           string option arg ?arg...?
         
    -

    +

    ОПИСАНИЕ

    -

    - option.

    +

    Выполняет одну из перечисленных ниже строковых операций в + зависимости от заданной опции option.

    -
    string compare +
    string compare string1 string2
    -
    string1 - string2 , - strcmp. - -1, 0 1, , - string1 , ( - ) string2. +
    Выполняет посимвольное сравнение строк string1 и + string2 так же, как С-процедура strcmp. Возвращает + -1, 0 или 1, в зависимости от того, будет ли + строка string1 больше, равна или меньше (при + лексикографическом сравнении) строки string2.
    -
    string first +
    string first string1 string2
    -
    string2 , - string1. - , - . - -1. +
    Ищет в строке string2 последовательность символов, в + точности совпадающую со string1. Если такая + последовательность есть, возвращает индекс первой буквы в + первой найденной последовательности. В противном случае + возвращает -1.
    -
    string index string +
    string index string charIndex
    -
    charIndex- - string. charIndex, 0, - . - charIndex 0 - - . +
    Возвращает charIndex-ный символ в строке + string. Значение charIndex, равное 0, + соответствует первому символу в строке. Если значение + charIndex меньше 0 или не меньше длины строки + - возвращает пустую строку.
    -
    string last +
    string last string1 string2
    -
    string2 , - string1. - , - . - -1. +
    Ищет в строке string2 последовательность символов, в + точности совпадающую со string1. Если такая + последовательность есть, возвращает индекс первой буквы в + последней найденной последовательности. В противном случае + возвращает -1.
    -
    string length +
    string length string
    -
    , - . +
    Возвращает десятичную строку, содержащую число символов в + строке.
    -
    string match +
    string match pattern string
    -

    , . - 1, , 0 - - . , - C-shell. , - , - :

    +

    Проверяет, соответствует ли строка образцу. Возвращает + 1, если соответствует, и 0 - в противном + случае. Соответствие проверяется примерно так же, как в + C-shell. Строка соответствует шаблону, если они совпадают + посимвольно, за исключением перечисленных ниже специальных + случаев:

    - + - + - + -
    * - ;Удовлетворяет любой последовательности из нуля + или больше символов;
    ? ;Удовлетворяет любому символу;
    [chars] chars. - chars - a-b, a - b (). Удовлетворяет любому символу из chars. Если + chars включает последовательность символов типа + a-b, то удовлетворяет всем символам от a + до b (включительно).
    \x x. - *, ?, + Удовлетворяет символу x. Обеспечивает возможность + избежать в шаблонах специального смысла символов *, ?, [, ], \.
    -
    string range string +
    string range string first last
    -
    string, - first - last. 0 - . end ( ) - . first - 0, 0. last - , - end. first , - last, . +
    Возвращает подстроку строки string, начиная с символа + с индексом first и кончая символом с индексом + last. Индекс 0 указывает на первый символ + строки. Индекс end (или любое его сокращение) указывает + на последний символ строки. Если значение first меньше + 0, используется значение 0. Если last + больше значения индекса последнего символа в строке, + используется значение end. Если first больше, + чем last, команда возвращает пустую строку.
    -
    string tolower +
    string tolower string
    -
    , string, - , - . +
    Возвращает строку, тождественную string, за + исключением того, что все символы верхнего регистра в ней + переведены в нижний регистр.
    -
    string toupper +
    string toupper string
    -
    , string, - , - . +
    Возвращает строку, тождественную string, за + исключением того, что все символы нижнего регистра в ней + переведены в верхний регистр.
    string trim string ?chars?
    -
    , string, - , , - chars. chars , - (, , - ). +
    Возвращает строку, тождественную string, за исключением + того, что из нее удалены все начальные и конечные символы, + входящие в chars. Если аргумент chars не указан, + удаляются пробельные символы (пробелы, табуляция, символы + новой строки).
    -
    string trimleft +
    string trimleft string ?chars?
    -
    , string, - , , - chars. chars , - (, , - ). +
    Возвращает строку, тождественную string, за + исключением того, что из нее удалены все начальные символы, + входящие в chars. Если аргумент chars не указан, + удаляются пробельные символы (пробелы, табуляция, символы + новой строки).
    -
    string trimright +
    string trimright string ?chars?
    -
    , string, - , , - chars. chars - , (, , - ). +
    Возвращает строку, тождественную string, за + исключением того, что из нее удалены все конечные символы, + входящие в chars. Если аргумент chars не + указан, удаляются пробельные символы (пробелы, табуляция, + символы новой строки).
    -
    string wordend +
    string wordend string index
    -
    , - , index- - string. - , , - . +
    Возвращает индекс символа, идущего сразу после последнего + символа в слове, содержащем index-ный символ строки + string. Словом считается любая непрерывная + последовательность из букв, цифр и символа подчеркивания, + или любой другой одиночный символ.
    -
    string wordstart +
    string wordstart string index
    -
    , - index- string. - , - , . +
    Возвращает индекс первого символа в слове, содержащем + index-ный символ строки string. Словом считается + любая непрерывная последовательность из букв, цифр и символа + подчеркивания, или любой другой одиночный символ.
    + diff --git a/hlp/ru/tcl/switch.html b/hlp/ru/tcl/switch.html index 68b5ddd..75c000d 100644 --- a/hlp/ru/tcl/switch.html +++ b/hlp/ru/tcl/switch.html @@ -1,4 +1,4 @@ - + switch @@ -6,88 +6,88 @@

    switch

    -

    - .

    +

    Команда выполняет один из нескольких скриптов в зависимости + от полученного значения.

    -

    +

    СИНТАКСИС

           switch ?options? string pattern body ?pattern body...?
           switch ?options? string {pattern body ?pattern body...?}
         
    -

    +

    ОПИСАНИЕ

    -

    switch string - , - pattern. string - , - body . - default, - . - ( , , default - ), - .

    +

    Команда switch сравнивает аргумент string по + очереди с каждым из образцов, заданных аргументами + pattern. Если строка string соответствует + очередному образцу, выполняется соответствующий скрипт + body и команда возвращает результат его выполнения. Если + последний из образцов равен default, то ему соответствует + любая строка. Если строка не соответствует ни одному из образцов + (что значит, в частности, что образец default + отсутствует), то никакой скрипт не выполняется и команда + возвращает пустое значение.

    -

    - -, . - .

    +

    Если один или несколько первых аргументов команды начинаются с + -, они считаются опциями команды. Возможные опции + перечислены ниже.

    -exact
    -
    , - . .
    +
    Строка считается соответствующей образцу, только если она в точности + с ним совпадает. Этот режим используется по умолчанию.
    -glob
    -
    , - string match.
    +
    При сравнении строки с образцом используются те же правила, + что и в команде string match.
    -regexp
    -
    , - regexp.
    +
    При сравнении строки с образцом используются те же правила, + что и в команде regexp.
    --
    -
    . - string, +
    Обозначает конец опций. Следующий аргумент считается строкой + string, даже если он начинается с символа -.
    -

    - . - . - / - . , - . - , , . - , , - - . , , - , - - . , - , .

    +

    Команда предполагает использование одной из двух синтаксических + форм для задания образцов и скриптов. Первая использует + отдельные аргументы для каждого образца и скрипта. Эта форма + удобна при необходимости выполнить подстановки в образцах и/или + скриптах. Во второй форме все они помещаются в один аргумент, + который должен быть списком. Элементами этого списка должны + быть, соответственно, образцы и скрипты. Эта форма более удобна + для длинных команд, не размещающихся в одной строке, поскольку + она не требует использовать обратный слэш в конце каждой + строки. Но при ее использовании необходимо учитывать, что, + поскольку список содержится в фигурных скобках, подстановки + команд и переменных в образцах и скриптах не + производятся. Вследствие этого результат выполнения команды, + записанной в различных формах, может различаться.

    -

    body -, - , - body . - -, - ..

    +

    Если один из аргументов body равен -, это + означает, что при совпадении строки с данным образцом будет + выполняться скрипт body для следующего образца. Если для + следующего образца скрипт также равен -, то будет + использован скрипт для следующего за ним образца и т.д.

    -

    +

    Ниже приведены примеры использования команды switch.

    -

    +

    Команда

           switch abc a - b {format 1} abc {format 2} default {format 3}
         
    -

    2.

    +

    вернет значение 2.

    -

    +

    Команда

           switch -regexp aaab {
           	^a.*b$ -
    @@ -96,9 +96,9 @@
             default {format 3}
           }
         
    -

    1.

    +

    вернет значение 1.

    -

    +

    А команда

           switch xyz {
           	a
    @@ -111,6 +111,7 @@
             {format 3}
           }
         
    -

    3.

    +

    вернет значение 3.

    + diff --git a/hlp/ru/tcl/tcl.toc.html b/hlp/ru/tcl/tcl.toc.html index 6d06ecd..019eafa 100644 --- a/hlp/ru/tcl/tcl.toc.html +++ b/hlp/ru/tcl/tcl.toc.html @@ -1,90 +1,91 @@ - Tcl -Http
    -SafeTcl
    -Tcl
    -after
    -append
    -array
    -bgerror
    -binary
    -break
    -case
    -catch
    -cd
    -clock
    -close
    -concat
    -continue
    -eof
    -error
    -eval
    -exec
    -exit
    -expr
    -fblocked
    -fconfigure
    -fcopy
    -file
    -fileevent
    -filename
    -flush
    -for
    -foreach
    -format
    -gets
    -glob
    -global
    -history
    -if
    -incr
    -info
    -interp
    -join
    -lappend
    -library
    -lindex
    -linsert
    -list
    -llength
    -load
    -lrange
    -lreplace
    -lsearch
    -lsort
    -namespace
    -open
    -package
    -pid
    -pkg_mkIndex
    -proc
    -puts
    -pwd
    -read
    -regexp
    -regsub
    -rename
    -resource
    -return
    -scan
    -seek
    -set
    -socket
    -source
    -split
    -string
    -subst
    -switch
    -tclvars
    -tell
    -time
    -trace
    -unknown
    -unset
    -update
    -uplevel
    -upvar
    -variable
    -vwait
    -while
    +Команды Tcl +Http
    +SafeTcl
    +Tcl
    +after
    +append
    +array
    +bgerror
    +binary
    +break
    +case
    +catch
    +cd
    +clock
    +close
    +concat
    +continue
    +eof
    +error
    +eval
    +exec
    +exit
    +expr
    +fblocked
    +fconfigure
    +fcopy
    +file
    +fileevent
    +filename
    +flush
    +for
    +foreach
    +format
    +gets
    +glob
    +global
    +history
    +if
    +incr
    +info
    +interp
    +join
    +lappend
    +library
    +lindex
    +linsert
    +list
    +llength
    +load
    +lrange
    +lreplace
    +lsearch
    +lsort
    +namespace
    +open
    +package
    +pid
    +pkg_mkIndex
    +proc
    +puts
    +pwd
    +read
    +regexp
    +regsub
    +rename
    +resource
    +return
    +scan
    +seek
    +set
    +socket
    +source
    +split
    +string
    +subst
    +switch
    +tclvars
    +tell
    +time
    +trace
    +unknown
    +unset
    +update
    +uplevel
    +upvar
    +variable
    +vwait
    +while
    + diff --git a/hlp/ru/tcl/tclvars.html b/hlp/ru/tcl/tclvars.html index cff7965..bcdfba4 100644 --- a/hlp/ru/tcl/tclvars.html +++ b/hlp/ru/tcl/tclvars.html @@ -1,4 +1,4 @@ - + tclvars @@ -7,37 +7,37 @@

    tclvars

    -

    , Tcl.

    +

    Переменные, используемые Tcl.

    -

    +

    ОПИСАНИЕ

    -

    - . , - .

    +

    Следующие глобальные переменные автоматически создаются при + запуске программ. Как правило, они ведутся автоматически и в + пользовательском приложении их значения не изменяются.

    -
    env
    +
    env
    -

    , - . - ( - ) . - unset - . - - , - exec. +

    Эта переменная представляет собой массив, элементы + которого соответствуют переменным окружения. Присвоение + значения элементу массива приводит к изменению значения (или + созданию) соответствующей переменной окружения. Удаление + элемента массива с помощью команды unset удаляет соответствующую + переменную окружения. Модифицированное состояние массива + используется для процессов - потомков, запущенных командой + exec.

    -

    Windows- PATH, - COMSPEC WINDIR - . , - .

    +

    На Windows-платформах переменные PATH, + COMSPEC и WINDIR всегда пишутся в верхнем + регистре. Все остальные переменные оставляются в том виде, в + каком они заданы в операционной системе.

    -

    Macintosh-, - , env, - , :

    +

    На Macintosh-платформах, на которых нет переменных + окружения, автоматически формируемый массив env, тем + не менее, содержит следующие элементы:

    LOGIN, USER, SYS_FOLDER, APPLE_M_FOLDER, CP_FOLDER, DESK_FOLDER, EXT_FOLDER, PREF_FOLDER, PRINT_MON_FOLDER, @@ -45,243 +45,244 @@

    -
    errorCode
    +
    errorCode
    -

    - , - . - . - . - . - ( - ):

    +

    При возникновении ошибки эта переменная содержит + дополнительную информацию об ошибке в форме, удобной для + автоматической обработки. Эта информация содержится в виде + списка из одного или более элементов. Первый элемент списка + содержит имя класса ошибки. Его значение определяет формат + остальной части списка. Стандартно используются следующие + классы ошибок (в приложении могут определяться и + дополнительные классы):

    ARITH code msg
    -
    - (, expr). code - , msg - . - DIVZERO ( ), DOMAIN - ( , - acos(2)), IOVERFLOW ( - ), OVERFLOW - ( ) - UNKNOWN ( ). +
    Этот класс ошибки формируется при арифметической ошибке + (например, при попытке делить на ноль в команде expr). Код code + определяет конкретный тип ошибки, а msg содержит + текст с описанием ошибки. Возможные значения кода + DIVZERO (попытка делить на нуль), DOMAIN + (аргумент не принадлежит области определения функции, + например acos(2)), IOVERFLOW (переполнение + при целочисленных операциях), OVERFLOW + (переполнение при вычислениях с плавающей запятой) или + UNKNOWN (если не удается определить тип ошибки).
    CHILDKILLED pid sigName msg
    -
    , - - . - (pid) - . sigName - , SIGPIPE, - msg , - "write on pipe with no readers". +
    Этот класс ошибки используется, если выполнение процесса + - потомка прервано сигналом. Второй элемент списка + (pid) содержит в этом случае идентификатор + прерванного процесса. Элемент sigName содержит + символьное имя сигнала, например SIGPIPE, а в + элементе msg содержит текст с описанием сигнала, + например "write on pipe with no readers".
    CHILDSTATUS pid code
    -
    , - - . - (pid) - (code) - - . +
    Этот класс ошибки используется, когда процесс - потомок + завершается с кодом ошибки. Второй элемент списка + (pid) содержит в этом случае идентификатор + прерванного процесса а третий элемент (code) - + значение кода ошибки.
    CHILDSUSP pid sigName msg
    -
    , - - - . - , CHILDKILLED. +
    Этот класс ошибки используется, когда выполнение + процесса-потомка приостановлено из-за сигнала. Элементы + списка имеют тот же смысл, что и для CHILDKILLED.
    NONE
    -
    , - , - . +
    Этот класс используется для тех ошибок, для которых + дополнительная информация не может быть получена, + поскольку при попытке ее выдать произошла ошибка.
    POSIX errName msg
    -
    , - POSIX. - , - , ENOENT, msg - , , "no such file or directory". +
    Этот класс используется для тех ошибок, которые + происходят при выполнении вызовов POSIX. Второй + элемент списка содержит символическое имя ошибки, + например, ENOENT, а в элементе msg содержит текст с + описанием ошибки, например, "no such file or directory".
    -
    errorInfo
    +
    errorInfo
    -
    - , - . , - Tcl-, . +
    При возникновении ошибки эта переменная содержит описание + команды или процедуры, в которой произошла последняя + ошибка. Описание построено в виде описания стека, указывающего + вложенные Tcl-команды, выполнявшиеся при возникновении ошибки.
    tcl_library
    -
    , - Tcl-, , , - . - info - library. - - . - TCL_LIBRARY, - . TCL_LIBRARY - , - , Tcl - . +
    В этой переменной хранится имя каталога, содержащего + системную библиотеку Tcl-скриптов, используемых, в частности, + при автозагрузке. Величина этой переменной возвращается + командой info + library. Начальное значение переменной формируется + в результате просмотра ряда каталогов и поиска в них + соответствующих скриптов. Если задана переменная окружения + TCL_LIBRARY, указанный в ней каталог проверяется + первым. Если переменная TCL_LIBRARY не задана или в ней + не содержатся необходимые файлы, то просматриваются еще + несколько каталогов, зависящих от расположения каталогов Tcl и + текущего каталога.
    tcl_patchLevel
    -
    Tcl, - 7.3p2 7.3. - 7.4b4 7.4. - info patchlevel. +
    В этой переменной хранится информация о текущей версии Tcl, + например 7.3p2 для второй доработки версии 7.3. или + 7.4b4 для четвертого бета релиза версии 7.4. Значение + переменной возвращается командой info patchlevel.
    tcl_pkgPath
    -
    , - . - - - . - . - auto_path - package require. - tcl_pkgPath - auto_path. - ( ) - auto_path. +
    Переменная содержит список каталогов, используемых для + размещения пакетов библиотек. Обычно список состоит из двух + элементов - каталога для бинарных файлов и каталога для + скриптов. Пакеты обычно устанавливаются как подкаталоги этих + каталогов. Исходное значение переменной добавляется к списку + каталогов в auto_path и используются для поиска пакетов + при выполнении команды package require. + Последующие изменения в tcl_pkgPath не отражаются в + переменной auto_path. Поэтому дополнительные каталоги + для поиска пакетов необходимо указывать (если это нужно) + непосредственно в переменной auto_path.
    tcl_platform
    -
    , - . - ( - - ). +
    Эта переменная является ассоциативным массивом, в элементах + которого содержится информация о платформе. Ниже содержится + список элементов массива (расширения и приложения могут + хранить информацию о себе в дополнительных элементах этого + массива).
    byteOrder
    -
    : littleEndian +
    Исходный порядок байтов в слове: littleEndian или bigEndian
    machine
    -
    , , intel, - PPC, 68k sun4m. Unix - - , uname -m. +
    Набор команд, исполняемых на машине, например intel, + PPC, 68k или sun4m. На Unix - платформах + совпадает с величиной, возвращаемой командой uname -m.
    os
    -
    , Win32s, Windows - NT, MacOS SunOS. Unix - - , uname -s. +
    Имя операционной системы, например Win32s, Windows + NT, MacOS или SunOS. На Unix - платформах + совпадает с величиной, возвращаемой командой uname -s.
    osVersion
    -
    . Unix - - , uname -r. +
    Версия операционной системы. На Unix - платформах совпадает + с величиной, возвращаемой командой uname -r.
    platform
    -
    windows, macintosh - unix. +
    Может принимать одно из значений windows, macintosh + или unix.
    tcl_precision
    -

    - . 12. - 17 - . - . +

    Переменная управляет числом цифр при переводе десятичных + чисел в строки. Значение по умолчанию 12. Максимальное + значение 17 позволяет переводить числа из двоичного + представления в строковое и обратно без потери точности. + Однако при этом отключается округление. В результате команда

     	  expr 1.4
     	
    -

    1.3999999999999999, tcl_precision - 17, . 1.4 tcl_precision +

    вернет значение 1.3999999999999999, если tcl_precision + равна 17, и значение. 1.4 если tcl_precision равна 12.

    -

    - tcl_precision. - - . , - .

    +

    Все интерпретаторы в процессе используют одно и тоже + значение tcl_precision. Изменение точности представления + чисел в одном из интерпретаторов ведет к его синхронному + изменению во всех остальных. Однако, в надежных + интерпретаторах изменять точность нельзя.

    tcl_rcFileName
    -
    - , - . wish - ~/.wishrc Unix ~/wishrc.tcl - Windows . , - source. +
    Эта переменная используется при инициализации для + определения имени пользовательского фала, исполняемого при + запуске. Для wish обычно ее значение + ~/.wishrc для Unix платформ и ~/wishrc.tcl для + Windows платформ. Если соответствующий файл найден, он + читается командой source.
    tcl_rcRsrcName
    -
    Macintosh - TEXT . +
    Используется только на Macintosh платформах для задания + TEXT ресурса.
    tcl_traceCompile
    -
    , - Tcl -. - 0 - . tcl_traceCompile 1, - - . - tcl_traceCompile 2, - . - , - , , Tcl8.0. +
    Эта переменная позволяет управлять объемом информации, + формирующейся при компиляции Tcl в байт-код. По умолчанию + значение переменной равно 0 и никакая информация не + выводится. Если присвоить tcl_traceCompile значение 1, + то при компиляции каждой процедуры или команды верхнего уровня + на стандартный выход посылается одна строка комментариев. Если + присвоить tcl_traceCompile значение 2, то при + компиляции в стандартный вывод выдается подробный листинг. Это + бывает полезно при проблемах, возникающих в процессе + компиляции, особенно, при переводе старых программ на Tcl8.0.
    tcl_traceExec
    -
    , - -. - tcl_traceExec 0 - . tcl_traceExec 1, - - . tcl_traceExec 1, - , - tcl_traceExec 3, - -. - , - , , - Tcl8.0. +
    Эта переменная позволяет управлять объемом информации, + выводящейся при исполнении байт-кода. По умолчанию + tcl_traceExec равна 0 и никакая информация не + выводится. Если присвоить tcl_traceExec значение 1, то + при исполнении процедур в стандартный вывод выдается одна + строка текста. Если присвоить tcl_traceExec значение 1, + то строка текста выдается также при выполнении каждой команды, + а если присвоить tcl_traceExec значение 3, то выдается + информация о выполнении каждой инструкции байт-кода. Это + бывает полезно при проблемах, возникающих в процессе + компиляции и исполнения, особенно, при переводе старых + программ на Tcl8.0.
    tcl_version
    -
    Tcl x.y. - x - , y - . - info tclversion. +
    Эта переменная содержит номер версии Tcl в форме x.y. + Обычно изменение x может означать потерю совместимости с + предыдущими версиями, тогда как изменение y означает небольшие + улучшения и исправление ошибок. Значение переменной + возвращается командой info tclversion.
    + diff --git a/hlp/ru/tcl/tell.html b/hlp/ru/tcl/tell.html index f1b3f06..1f11093 100644 --- a/hlp/ru/tcl/tell.html +++ b/hlp/ru/tcl/tell.html @@ -1,4 +1,4 @@ - + tell @@ -7,20 +7,21 @@

    tell

    -

    - .

    +

    Команда возвращает текущую позицию поиска открытого + канала.

    -

    +

    СИНТАКСИС

           tell channelId
         
    -

    +

    ОПИСАНИЕ

    -

    tell , - channelId. - , +

    Команда tell возвращает десятичную строку, указывающую + текущую позицию доступа в канале channelId. Если канал + не поддерживает прямой доступ, то возвращается значение "-1".

    + diff --git a/hlp/ru/tcl/time.html b/hlp/ru/tcl/time.html index cf11698..9ef4774 100644 --- a/hlp/ru/tcl/time.html +++ b/hlp/ru/tcl/time.html @@ -1,4 +1,4 @@ - + time @@ -6,23 +6,24 @@

    time

    -

    .

    +

    Команда выполняет скрипт заданное количество раз.

    -

    +

    СИНТАКСИС

           time script count
         
    -

    +

    ОПИСАНИЕ

    -

    time Tcl count - script , - count .

    +

    Команда time вызовет интерпретатор Tcl count раз + для выполнения скрипта script или только один раз, если + аргумент count не задан. Команда возвратит строку вида

    503 microseconds per iteration
    -

    - , . - , - .

    +

    отображающую среднее + время в микросекундах, израсходованное на одну итерацию. В + строке указывается прошедшее время, а не время работы + процессора.

    + diff --git a/hlp/ru/tcl/trace.html b/hlp/ru/tcl/trace.html index 47df997..f50f347 100644 --- a/hlp/ru/tcl/trace.html +++ b/hlp/ru/tcl/trace.html @@ -1,4 +1,4 @@ - + trace @@ -6,183 +6,184 @@

    trace

    -

    .

    +

    Команда отслеживает работу с переменными.

    -

    +

    СИНТАКСИС

           trace option ?arg arg...?
         
    -

    +

    ОПИСАНИЕ

    -

    Tcl - . - ( ).

    +

    Эта команда вызывает выполнение указанных Tcl команда при + определенных действиях с переменной. Ниже перечислены возможные + опции команды (допускаются сокращения).

    trace variable name ops command
    -

    command - name. - ops - . - name , - . name - , command - .

    -

    ops , - .

    +

    Обеспечивает выполнение команды command при + определенных действиях с переменной name. Ниже + перечислены возможные значения аргумента ops и какие + действия с переменной при этом отслеживаются. Аргумент + name может содержать имя простой переменной, имя + элемента массива или имя массива. Если name содержит + имя массива, то команда command выполняется при + соответствующих действиях с любым элементом массива.

    +

    Аргумент ops состоит из одной или больше букв, + перечисленных ниже.

    - + - + -
    r command .Вызывает команду command при чтении переменной.
    w command - .Вызывает команду command при присвоении значения + переменной.
    u command - . ( - unset), ( - ). - , - . , - , , - . + Вызывает команду command при удалении + переменной. Переменная может удаляться как явно (с + помощью команды unset), так и неявно (при + завершении процедуры). переменная также удаляется + при удалении интерпретатора, в котором она была + создана. Однако, при этом соответствующая команда + не вызывается, так как уже нет интерпретатора, в + котором ее можно было бы выполнить.
    -

    trace, - command , -

    +

    Когда срабатывает команда trace, то исполняемая + команда command дополняется тремя аргументами, как + указано ниже

     	  command name1 name2 op
    -

    name1 , - . , - name1 , name2 - - . - name2 - . trace - , name2 - . name1 - name2 , - trace variable, upvar - . - op - r, w - u . +

    Здесь name1 это имя переменной, действия с которой + вызвали срабатывание команды. Если это элемент массива, то + name1 это имя массива, а name2 - имя + конкретного элемента массива. В противном случае + name2 - пустая строка. Если в команде trace + было указано имя массива и он удаляется, то name2 + также будет пустой строкой. Имена в переменных name1 + и name2 не обязано совпадать с теми, что были заданы + в команде trace variable, поскольку команда upvar позволяет процедуре + обращаться к переменной по различным именам. Аргумент + op указывает какое именно действие выполнялось с + переменной и может принимать значения r, w или + u как указано выше.

    -

    command , - , trace. - , - command - . , - trace. - conmmand ( ), - upvar uplevel - . , - name1 name2 - , trace variable, - upvar - - .

    +

    Команда command исполняется в том же контексте, что + и код, вызвавший срабатывание trace. То есть если + действие с переменной выполнялось в процедуре, то команда + command может обращаться к локальным переменным этой + процедуры. Этот контекст может отличаться от контекста, в + котором выполнялась сама команда trace. Если команда + conmmand есть вызов процедуры (как обычно и бывает), + то в процедуре необходимо использовать команду upvar или uplevel чтобы получить доступ к + контролируемой переменной. Как уже говорилось, имена в + переменных name1 и name2не обязано совпадать с + теми, что были заданы в команде trace variable, + поскольку команда upvar + позволяет процедуре обращаться к переменной по различным + именам.

    -

    trace - , command - . command - , - . , - command, , - . - , - command, - , - . - , - .

    +

    Если команда trace контролирует чтение и запись в + переменную, команда command может изменить результат + отслеживаемой операции. Если команда command изменяет + значение отслеживаемой переменной, то новое значение будет + возвращено как результат отслеживаемой операции. Величина, + возвращаемая командой command, игнорируется, если + только это не ошибка. Тогда отслеживаемая операция также + возвращает ошибку с тем же самым сообщением об ошибке, + которое было сформировано в команде command, не + поясняя, что ошибка произошла в результате отслеживания + переменной. Это может приводить к определенным трудностям в + определении истиной операции, при выполнении которой + возникла ошибка.

    -

    command - , - . - . , - .

    +

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

    -

    command - - . - command command. - , command - , .

    +

    При выполнении команды command при отслеживании + чтения или записи в переменную механизм слежения временно + отключается. То есть выполнение этих операций в + command не приведет к новых вызовам command. + Однако, если в command выполняется удаление + переменной, это приводит к соответствующему вызову.

    -

    trace , - . - , command - , - . - command - . command - trace - , - command. - .

    +

    Когда срабатывает команда trace на удаление переменной, + переменная уже удалена. Если удаление переменной произошло + вследствие завершения процедуры, команда command + вызывается в контексте вызывающей процедуры, поскольку + контекст вызвавшейся процедуры уже не существует. + Отслеживание не отключается при выполнении command в + случае удаления переменной. Поэтому если в command + выполняется новая команда trace и удаляется + соответствующая переменная, выполнится и соответствующая + команда command. Ошибки при отслеживании удаления + игнорируются.

    -

    - trace, - command - trace. - , - command. command - , - . - , - , - , - .

    +

    Если одна и та же переменная отслеживается с помощью + нескольких команда trace, то выполняться все + соответствующие команды command с учетом порядка + выполнения соответствующих команд trace. Чем позднее + она выполнялась, тем раньше будет выполнена соответствующая + команда command. Если одна из команд command + при этом возвратит ошибку, остальные команды выполняться не + будут. Если одна команда используется для отслеживания + элемента массива, а другая - для массива в целом, первой + выполняется команда отслеживания массива в целом, а затем + уже команда отслеживания элемента.

    -

    trace - - trace vdelete, - . - , - .

    +

    Однажды выполненная команда trace остается активной + пока она не удалена с помощью описанной ниже команды + trace vdelete, пока не удалена переменная или + пока не удален интерпретатор. Удаление элемента массива + приведет к прекращению отслеживания этого элемента, но не + отслеживания массива в целом.

    -

    trace variable .

    +

    Команда trace variable возвращает пустую строку.

    trace vdelete name ops command
    -

    name - ops command, - . command - . trace vdelete - .

    +

    Если задано отслеживание переменной name с + перечнем действий ops и командой command, то + оно будет удалено. Соответственно команда command + никогда не будет вызвана. Команда trace vdelete + возвращает пустую строку.

    trace vinfo name
    -

    , - name. - , - ops command trace, - . - name , - .

    +

    Возвращает список, содержащий по одному элементу для + каждого заданного отслеживания для переменной name. Каждый + элемент списка содержит два элемента, содержащие значения + ops и command из команды trace, которой + было задано соответствующее отслеживание. Если переменная + name не существует или для нее не задано отслеживания, + команда возвращает пустую строку.

    + diff --git a/hlp/ru/tcl/unknown.html b/hlp/ru/tcl/unknown.html index cd51fdd..6d486ff 100644 --- a/hlp/ru/tcl/unknown.html +++ b/hlp/ru/tcl/unknown.html @@ -1,4 +1,4 @@ - + unknown @@ -6,82 +6,83 @@

    unknown

    -

    unknown - .

    +

    Команда unknown обрабатывает попытки обратиться к + несуществующей команде.

    -

    +

    СИНТАКСИС

           unknown cmdName ?arg arg?
         
    -

    +

    ОПИСАНИЕ

    -

    Tcl , - . - unknown Tcl; - , , - Tcl. - , .

    +

    Интерпретатор Tcl выполняет эту команду каждый раз, когда + скрипт пытается обратиться к несуществующей команде. Исходный + вариант unknown не является функцией ядра Tcl; + напротив, это библиотечная процедура, определяемая по + умолчанию при запуске Tcl. Разработчик может переопределить + ее функциональность так, как ему нужно.

    -

    Tcl , - , - unknown. unknown , - . , - , - , - .

    +

    Когда Tcl находит имя команды, которому не соответствует ни + одной из существующих команд, тогда он проверяет наличие команды + unknown. Если команды unknown нет, то он + возвращает ошибку. Если такая команда обнаружена, то она будет + вызвана с аргументами, состоящими из имени и аргументов исходной + несуществующей команды, в которых выполнены все необходимые + подстановки.

    -

    unknown - cmdName, - , , - . - unknown - - . unknown - .

    +

    Команда unknown обычно выполняет поиск по библиотечным + каталогам процедуры с именем cmdName, или поиск полного + имени команды, к которой обратились по сокращенному имени, или + автоматический запуск неизвестной команды как подпроцесса. При + успешном поиске полного имени команды команда unknown + заменяет имя на полное и вызывает команду с полным + именем. Результат работы команды unknown используется + вместо результата неопределенной команды.

    -

    unknown - .

    +

    Создаваемая по умолчанию процедура unknown выполняет + следующие действия.

    -

    auto_load - . - , - .

    +

    Сначала она вызывает библиотечную процедуру auto_load + чтобы найти и загрузить соответствующую процедуру. Если это + удалось, то выполняется исходная команда с ее исходными + аргументами.

    -

    auto_execok - cmdName. - , exec - .

    +

    В противном случае вызывается процедура auto_execok + чтобы найти исполняемый файл с именем cmdName. Если файл + удалось найти, выполняется команда exec с именем команды и ее + аргументами в качестве аргументов.

    -

    , - - . - , unknown - : - :!!, !event, - ^old^new?^? , - unknown , +

    В противном случае проверяется, была ли неизвестная команда + вызвана на самом верхнем уровне вне какого-либо скрипта. Если + это было так, процедура unknown выполняет следующие + дополнительные действия: проверяется не имеет ли команда одну из + следующих форм:!!, !event, или + ^old^new?^? и если да, то процедура + unknown выполняет для них подстановки по тем же правилам, что и csh.

    -

    unknown - , cmdName - Tcl . , cmdName - - .

    +

    И при неудаче всех предыдущих попыток процедура unknown + проверяет, не является ли cmdName сокращением для + известной Tcl процедуры. Если так, то cmdName заменяется + на полное имя процедуры и она вызывается с исходными + аргументами.

    -

    , - .

    +

    Если же ни одна из попыток не привела к успеху, процедура + возвращает ошибку.

    -

    auto_noload, - auto_load - .

    +

    Если определена глобальная переменная auto_noload, + попытка загрузить процедуру с помощью auto_load не + производится.

    -

    auto_noexec, - auto_execok - .

    +

    Если определена глобальная переменная auto_noexec, + попытка загрузить процедуру с помощью auto_execok не + производится.

    -

    , unknown - .

    +

    Если команду удалось найти, то процедура unknown + возвращает результат выполнения найденной команды.

    + diff --git a/hlp/ru/tcl/unset.html b/hlp/ru/tcl/unset.html index 4a67f0b..b6e261a 100644 --- a/hlp/ru/tcl/unset.html +++ b/hlp/ru/tcl/unset.html @@ -1,4 +1,4 @@ - + unset @@ -7,25 +7,26 @@

    unset

    -

    .

    +

    Команда удаляет переменные.

    -

    +

    СИНТАКСИС

           unset name name name ...
         
    -

    +

    ОПИСАНИЕ

    -

    unset name. - , set. - , , - . - , .

    +

    Команда unset удаляет переменные name. Правила + именования переменных точно такие же, как для команды set. Если в команде указано имя + элемента массива, то этот элемент будет удален из массива, не + влияя на остальную часть массива. Если указано имя массива без + индекса в скобках, то будет удален весь массив.

    -

    . - , , - .

    +

    Команда возвращает пустую строку. Если одна из переменных не + существует, команда вернет ошибку, а последующие переменные не + будут удалены.

    + diff --git a/hlp/ru/tcl/update.html b/hlp/ru/tcl/update.html index afd2a8a..97bd2d3 100644 --- a/hlp/ru/tcl/update.html +++ b/hlp/ru/tcl/update.html @@ -1,9 +1,10 @@ update

    update

    -

    update , , (idle callbacks). -

    +

    Команда update обрабатывает события, находящиеся в состоянии ожидания, и обратные вызовы (idle callbacks). +

    СИНТАКСИС

    update idletasks -

    -

    , (idle callbacks). -

    idletasks, , . update idletasks , , , , . , . , , . -

    update , , , . update . +

    ОПИСАНИЕ +

    С помощью этой команды обновляется состояние приложения, поскольку при ее вызове обрабатываются все необработанные события и выполняются все асинхронные вызовы (idle callbacks). +

    Если в команде задана опция idletasks, то новые события и ошибки не обрабатываются, но выполняются все асинхронные вызовы. Команду update idletasks удобно использовать тогда, когда нужно выполнить немедленно действия, которые обычно откладываются, например, обновить отображаемые на дисплее данные или окна. Большинство обновлений изображений на дисплее выполняются в виде фоновых вызовов, и эта команда обеспечит их выполнение. Однако, если изменения были вызваны событиями, они не будут выполнены немедленно. +

    Команда update без опций полезна в тех случаях, когда во время долго выполняющихся вычислений необходимо обеспечить оперативную реакцию приложения на события, например, на действия пользователя. Вызов команды update и обеспечивает обработку таких событий. + diff --git a/hlp/ru/tcl/uplevel.html b/hlp/ru/tcl/uplevel.html index 07d6fd1..1262c5c 100644 --- a/hlp/ru/tcl/uplevel.html +++ b/hlp/ru/tcl/uplevel.html @@ -1,4 +1,4 @@ - + uplevel @@ -7,86 +7,87 @@

    uplevel

    -

    , .

    +

    Команда выполняет скрипт в контексте, отличном от текущего.

    -

    +

    СИНТАКСИС

           uplevel ?level? arg ?arg...?
         
    -

    +

    ОПИСАНИЕ

    -

    - concat. - , level. - .

    +

    Все аргументы команды объединяются как при выполнении команды + concat. Получившийся скрипт + выполняется в контексте, указанном level. Команда + возвращает результат выполнения скрипта.

    -

    level , - - . - level # - , - . level , - 1. level - , arg - #.

    +

    Если аргумент level задан как целое число, он указывает + на сколько уровней выше уровня контекста текущей процедуры надо + подняться в стеке вызовов перед выполнением скрипта. Если + аргумент level задан как символ # с последующим + целым числом, то он задает абсолютный уровень контекста в + стеке. Если аргумент level отсутствует, то используется + значение по умолчанию 1. Аргумент level должен + быть указан, если первый из аргументов arg начинается с цифры + или символа #.

    -

    , , - a b, b - c. , c - uplevel. level 1 - #2 , - b. - level 2 #1, - a. - level 3 #0, - ( - ).

    +

    Например, предположим, что на самом верхнем уровне вызвана + процедура a из нее вызвана процедура b, а из b вызвана процедура + c. Предположим также, что в процедуре c есть вызов команды + uplevel. Тогда если аргумент level равен 1 + или #2 или отсутствует, то указанный в команде скрипт + будет выполнен в контексте процедуры b. Если аргумент + level равен 2 или #1, то указанный в + команде скрипт будет выполнен в контексте процедуры a. Если + аргумент level равен 3 или #0, то указанный + в команде скрипт будет выполнен на вернем уровне (уровень + глобальных переменных).

    -

    uplevel - . , - uplevel -

    +

    При выполнении команды uplevel контекст вызывающей + процедуры временно удаляется из стека вызовов процедур. Так, + если в приведенном выше примере команда uplevel имеет + вид

           uplevel 1 {set x 43; d}
         
    -

    d Tcl , set x - b, d - , b. - d

    +

    где d имя другой Tcl процедуры, то команда set изменит переменную x в контексте + процедуры b, а процедура d будет выполняться на третьем уровне + стека, как если бы она была вызвана непосредственно из b. Если в + процедуре d в свою очередь содержится команда

           uplevel {set x 42}
         
    -

    set - x b. - c d - . - info level . +

    то команда set изменит + значение той же переменной x в контексте процедуры b. Процедура + c во время выполнения процедуры d не будет видна в + стеке. Соответственно команда + info level возвратит уровень текущей процедуры. -

    uplevel - Tcl-.

    +

    Команда uplevel позволяет создавать новые управляющие + конструкции как Tcl-процедуры.

    -

    namespace eval - , , , - . , namespace eval - . - namespace eval - . - upvar info level. ,

    +

    Команда namespace eval + так же, как и вызовы процедур, изменяет контекст, в котором + выполняются команды. Соответственно, для каждой команды namespace eval создается + дополнительный уровень в стеке. Поэтому при указании уровня + контекста в стеке каждую вложенную команду namespace eval надо + считать наравне с вызовом процедуры. Это относится также к + командам upvar и info level. Например, команда

           info level 1
         
    -

    , , - , namespace - eval. namespace eval - uplevel #0 - ( - ).

    +

    вернет список, описывающий самую верхнюю выполняемую команду, + которая является либо вызовом процедуры, либо командой namespace + eval. Независимо от использования команда namespace eval команда + uplevel #0 выполнит соответствующий скрипт на + уровне глобальных переменных (в глобальном пространстве + имен).

    + diff --git a/hlp/ru/tcl/upvar.html b/hlp/ru/tcl/upvar.html index f04d609..9c237b5 100644 --- a/hlp/ru/tcl/upvar.html +++ b/hlp/ru/tcl/upvar.html @@ -1,4 +1,4 @@ - + upvar @@ -7,93 +7,94 @@

    upvar

    -

    - .

    +

    Команда создает связи между переменными различных уровней + стека.

    -

    +

    СИНТАКСИС

           upvar ?level? otherVar myVar ?otherVar myVar...?
         
    -

    +

    ОПИСАНИЕ

    -

    - , - , . level - , uplevel, , - otherVar - # ( 1). - otherVar myVar - otherVar - ( - , level #0) - myVar. - otherVar - . - myVar. - myVar. - myVar ( - ). - myVar , , a(b), - . otherVar - , . - upvar .

    +

    Команда позволяет одной или больше локальным переменным текущей + процедуры ссылаться на переменные процедуры, стоящей выше в + стеке, или на глобальные переменные. Аргумент level может + иметь те же формы, что и в команде uplevel, или быть опущен, если + первый символ в первой из otherVar отличен от цифры и от + # (значение по умолчанию 1). Для каждой пары аргументов + otherVar myVar команда позволяет сделать + переменную с именем otherVar из указанного уровня стека + (локальную переменную одной из вызывающих процедур или + глобальную переменную, если level равно #0) видимой в + исполняемой процедуре под именем myVar. Переменная с + именем otherVar не обязана существовать в момент + исполнения команды. При необходимости она будет создана при + первом использовании переменной myVar. В момент + исполнения команды не должно быть доступной переменной myVar. + Переменная myVar всегда считается простой переменной (не + массивом и не переменной массива). Даже если значение + myVar выглядит как имя элемента массива, например, a(b), + создается простая переменная. Значение otherVar может + быть именем простой переменной, массива или элемента массива. + Команда upvar всегда возвращает пустую строку.

    -

    upvar , - - . , :

    +

    Команда upvar позволяет упростить передачу параметра по ссылке, + а также упрощает создание новых управляющий + конструкций. Например, рассмотрим следующую процедуру:

           proc add2 name { 
    -      	upvar $name x
    -        set x [expr $x+2]
    +      	upvar  x
    +        set x [expr +2]
           }
         
    -

    add2 , - . - uplevel, - upvar - .

    +

    Процедура add2 вызывается с аргументом, содержащим имя + переменной и увеличивает значение этой переменной на два. Хотя + тот же результат мог быть получен с помощью команды uplevel, + команда upvar позволяет легче работать с переменными из + стека вызывающей процедуры.

    -

    namespace eval - , , , - . namespace eval - . , - namespace eval - . - uplevel info level. , - info level 1 - , , - , namespace eval. - namespace eval - uplevel #0 - ( ).

    +

    Команда namespace eval + так же, как и вызовы процедур, изменяет контекст, в котором + выполняются команды. Для каждой команды namespace eval создается + дополнительный уровень в стеке. Соответственно, при указании + уровня контекста в стеке каждую вложенную команду namespace eval надо + считать наравне с вызовом процедуры. Это относится также к + командам uplevel и info level. Например, + команда info level 1 + вернет список, описывающий самую верхнюю выполняемую команду, + которая является либо вызовом процедуры, либо командой namespace eval. + Независимо от использования команда namespace eval команда + uplevel #0 выполнит соответствующий скрипт на уровне + глобальных переменных (в глобальном пространстве имен).

    -

    , upvar, - (, add2 - unset x), , - x, x. - , - , . , - - , upvar.

    +

    Если переменная, созданная с помощью команды upvar, + удаляется (например, если добавить в процедуру add2 + строку unset x), то реально будет удалена переменная, + связанная с x, а не сама переменная x. Нет никакого способа + удалить созданные таким образом переменные, кроме как выйти из + процедуры, в которой они были созданы. Тем не менее, возможно + связать переменную верхнего уровня с другой локальной + переменной, выполнив еще одну команду upvar.

    -

    +

    ОШИБКИ

    -

    otherVar , - , trace, - myVar (, - , ). , - , myVar env, - . +

    Если otherVar есть элемент массива, то отслеживание + массива в целом, заданной командой trace, не сработает при действиях с + myVar (однако, если отслеживание было задано на + отдельный элемент массива, оно сработает). В частности, + изменения, сделанные с помощью myVar в массиве env, не будут корректно + переданы подпроцессу.

    + diff --git a/hlp/ru/tcl/variable.html b/hlp/ru/tcl/variable.html index e6c613a..21ec6fa 100644 --- a/hlp/ru/tcl/variable.html +++ b/hlp/ru/tcl/variable.html @@ -1,4 +1,4 @@ - + variable @@ -7,48 +7,49 @@

    variable

    -

    .

    +

    Команда создает и запускает переменные области имен.

    -

    +

    СИНТАКСИС

           variable ?name value? name ?value?
         
    -

    +

    ОПИСАНИЕ

    -

    variable namespace eval - . - name - value. - .

    +

    Обычно команду variable выполняют внутри команды namespace eval для + создания одной или нескольких переменных в области имен. Каждая + переменная name получает начальное значение + value. Значение для последней переменной можно не + указывать.

    -

    name , - . value, - . , - . - , . - - , - . - . , - .

    +

    Если переменная name не существует, она будет + создана. Если указан аргумент value, то переменной + присвоится его значение. Если аргумент не указан, то новая + переменная останется неопределенной. Если же переменная уже + существовала, она сохранит свое значение. Обычно имя создаваемой + переменной - это простое имя, не содержащее имя пространств + имен. Соответственно переменная создается в текущем пространстве + имен. Если имя содержит имена пространств имен, переменная + создается в указанном пространстве имен.

    -

    variable Tcl , - , - . - variable global, , , - . - value , - . - , , - , .

    +

    Если команда variable выполняется внутри Tcl процедуры, + она создает локальную переменную, связанную с соответствующей + переменной пространства имен. В этом случае команда + variable напоминает команду global, которая, однако, + только связывает локальную переменную с глобальной. Если + аргумент value задан, то он используется для изменения + значения соответствующей переменной в пространстве имен. Если + переменная в пространстве имен не существует, она создается и, + при необходимости, инициализируется.

    -

    name . - variable , - set array.

    +

    Параметр name не может указывать на элемент массива. В + команде variable можно указать только массив в целом, а + затем присвоить значения его элементам командами set или array.

    + diff --git a/hlp/ru/tcl/vwait.html b/hlp/ru/tcl/vwait.html index f6a11c7..f983c9b 100644 --- a/hlp/ru/tcl/vwait.html +++ b/hlp/ru/tcl/vwait.html @@ -1,4 +1,4 @@ - + vwait @@ -7,32 +7,33 @@

    vwait

    -

    , - .

    +

    Команда задает обработку событий до тех пор, пока не будет + записано значение переменной.

    -

    +

    СИНТАКСИС

           vwait varName
         
    -

    +

    ОПИСАНИЕ

    -

    vwait (event - loop), , - - - varName. - varName vwait - , .

    +

    Команда vwait активизирует обработчик событий (event + loop), блокируя приложение до тех пор, пока не в результате + какого-либо события не будет присвоено новое значение переменной + varName. После присвоения значения переменной + varName команда vwait завершит работу сразу после + выполнения скрипта, вызванного обработчиком событий.

    -

    - varName. , - , , - varName, . - , - vwait, - . - vwait - .

    +

    В некоторых ситуациях команда не завершается сразу после + присвоения значения переменной varName. Это происходит, + например, если вызванный по события скрипт, присвоивший новое + значение переменной varName, не завершается сразу. + Например, если в нем в свою очередь выполняется команда + vwait, устанавливающая режим ожидания изменения другой + переменной. Во время этого ожидания вышестоящая команда + vwait блокируется как и приложение до выполнения + соответствующего события.

    + diff --git a/hlp/ru/tcl/while.html b/hlp/ru/tcl/while.html index fcabdc4..bd3023a 100644 --- a/hlp/ru/tcl/while.html +++ b/hlp/ru/tcl/while.html @@ -1,4 +1,4 @@ - + while @@ -7,48 +7,49 @@

    while

    -

    , - .

    +

    Команда выполняет скрипт до тех пор, пока не будет выполнено + условие.

    -

    +

    СИНТАКСИС

           while test body
         
    -

    +

    ОПИСАНИЕ

    -

    while test - expr. - . "", - body Tcl - . test - , , - "". body - continue - break - while.

    +

    Команда while вычисляет значение выражения test + подобно команде expr. Значение + должно быть булевого типа. Если результат есть "истина", то + скрипт body передается на выполнение Tcl + интерпретатору. После этого выражение test снова + вычисляется, и процесс повторяется до тех пор, пока его значение + не станет "ложь". В тексте скрипта body можно + использовать команду continue + для завершения текущего цикла и команду break для немедленного + завершения команды while.

    -

    while .

    +

    Команда while всегда возвращает пустую строку.

    -

    test - , - - body - test. - . test , - ( - body). , - $x<10, - .

    +

    Выражение test почти всегда лучше заключать в фигурные + скобки, иначе подстановки команд и переменных в нем будут + выполнены до исполнения команды и никакие изменения значений + переменных в скрипте body не изменят значения выражения + test. Это может привести к возникновению бесконечного + цикла. Если же выражение test помещено в фигурные скобки, + подстановки в нем выполняются при каждом вычислении (перед + каждым выполнением body). Например, если выполнить следующий + скрипт с и без скобок вокруг <10, то без скобок + возникнет бесконечный цикл.

    -

    +

    ПРИМЕР

    -      while {$x < 10} {
    -      	puts "x is $x"
    +      while { < 10} {
    +      	puts x is 
     	incr x
           }
         
    + diff --git a/hlp/ru/tk/SafeTk.html b/hlp/ru/tk/SafeTk.html index 6d5fa53..82e2334 100644 --- a/hlp/ru/tk/SafeTk.html +++ b/hlp/ru/tk/SafeTk.html @@ -1,4 +1,4 @@ - + Safe Tk @@ -6,44 +6,45 @@

    Safe Tk

    -

    Tk .

    +

    Команда загружает Tk в безопасный ИНТЕРПРЕТАТОР.

    -

    +

    СИНТАКСИС

           ::safe::loadTk slave -use windowId
         
    -

    +

    ОПИСАНИЕ

    -

    Safe Tk Safe Tcl, - - - . Safe Tk - Tk - Tk .

    +

    Режим Safe Tk основан на режиме Safe Tcl, + обеспечивающем ограниченный и опосредованный доступ к + автозагрузке и пакетам для безопасных + интерпретаторов. Safe Tk добавляет + способность конфигурирования интерпретатора для безопасных Tk + операций и загрузки Tk в безопасные интерпретаторы.

    -

    ::safe:: - - Tk. .

    +

    Команда ::safe:: запускает необходимые + структуры данных в безопасном интерпретаторе и загружает в него + Tk. Команда возвращает имя безопасного интерпретатора.

    -

    Tk - , - Tk.

    +

    При работе с Tk в безопасном интерпретаторе необходимо + следовать правилам поддержания безопасности, а также специальным + рекомендациям для работы с Tk.

    -

    +

    ПРИМЕР

    -

    .

    +

    СМ. ТАКЖЕ

    -

    safe, - interp, - library, - load, - package, - source, - unknowni +

    safe, + interp, + library, + load, + package, + source, + unknowni

    + diff --git a/hlp/ru/tk/bell.html b/hlp/ru/tk/bell.html index 15eed96..76aec5c 100644 --- a/hlp/ru/tk/bell.html +++ b/hlp/ru/tk/bell.html @@ -1,14 +1,14 @@ Bell

    bell

    - . -

    +Команда подает звуковой сигнал. +

    СИНТАКСИС

    bell -displayof window

    -

    -

    'bell'  - window. - -, . - - (screen-saver), .

    -

    -

    \ No newline at end of file +

    ОПИСАНИЕ +

    Команда 'bell'  +подает сигнал громкоговорителем дисплея для window. +Если этот аргумент не +задан, то по умолчанию используется дисплей главного окна приложения. В +некоторых случаях команда гасит работающий в данный момент хранитель +экрана (screen-saver), и окно снова становится видимым.

    +

    ПРИМЕР +

    diff --git a/hlp/ru/tk/bind.html b/hlp/ru/tk/bind.html index c30528f..225584c 100644 --- a/hlp/ru/tk/bind.html +++ b/hlp/ru/tk/bind.html @@ -8,114 +8,114 @@

    bind

    -

    bind - Tcl X . - "" ( ) +

    Команда bind позволяет привязать выполнение + скриптов Tcl к X событиям. Команда назначает событиям ввода от + "Мыши" и клавиатуры (Х событиям) исполнение скрипта Tcl.

    -

    +

    СИНТАКСИС

    -      bind 
    -      bind  
    -      bind   
    -      bind   +
    +      bind тег
    +      bind тег последовательность
    +      bind тег последовательность скрипт
    +      bind тег последовательность +скрипт
         
    -

    +

    ОПИСАНИЕ

    -

    bind Tcl X - . , - (), - , - ( Tcl). - +, - ; - . , - , - . - , - bind .

    +

    Команда bind привязывает Tcl скрипты к X + событиям. Если заданы все три аргумента команды, то при каждом + наступлении события последовательность в окне (окнах), + описанных тегом, будет выполняться скрипт + (скрипт Tcl). Если аргументу скрипт предшествует знак + +, то скрипт добавляется к уже существующим привязкам к + последовательности; в противном случае он замещает все + имеющиеся привязки. Если аргумент скрипт пуст, то все + имеющиеся привязки к последовательности отменяются, и + последовательность становится несвязанной. Если + аргумент скрипт присутствует, то команда + bind возвращает пустую строку.

    -

    - , , - , , - , . - , - , - , .

    +

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

    -

    , - . , - ".a.b.c", - ; - . , - , - . bindtags - ; , - :

    +

    Аргумент тег перечисляет окна, к которым выполняется + привязка. Если значение аргумента начинается с точки, скажем + ".a.b.c", то оно должно представлять собой путь к + окну; в противном случае оно может быть произвольной + строкой. Каждому окну приписан некоторый список тегов, и + привязка к данному окну осуществляется, если значение аргумента + тег присутствует в этом списке. Команда bindtags позволяет + приписать окну произвольный набор тегов привязки; кроме того, по + умолчанию окнам приписаны следующие теги:

      -
    • , , - ;
    • +
    • тег, являющийся именем внутреннего окна, приписывается этому + окну;
    • -
    • , , - ;
    • +
    • тег, являющийся именем окна верхнего уровня, приписывается + этому окну и всем его внутренним окнам;
    • -
    • , , - Button, - ;
    • +
    • тег, являющийся именем класса примитивов, скажем + Button, приписывается всем примитивам этого + класса;
    • -
    • all - .
    • +
    • тег с именем all приписывается всем окнам + приложения.
    -

    +

    ОБРАЗЦЫ СОБЫТИЙ

    -

    - - . - . ASCII, - a |. - <. - KeyPress - . , , - . - :

    +

    Аргумент последовательность представляет собой + последовательность одного или нескольких образцов + событий. Каждый образец может быть записан в одном из трех + видов. В простейшем случае это символ ASCII, скажем + a или |. Этот символ не может + быть пробелом или знаком <. Этот вид образцов соответствует + событию KeyPress для конкретной + клавиши. Образцы второго вида длиннее, однако, этот вид носит + более общий характер. Его синтаксис выглядит следующим + образом:

    -      <--->
    +      <модификатор-модификатор-тип-детализация>
         
    -

    . - ( - , ), - (), - . - , - . - .

    +

    Образец события целиком заключен в угловые скобки. Внутри + угловых скобок располагаются несколько модификаторов (быть + может, ни одного), тип события и дополнительная порция + информации (детализация), указывающая конкретную кнопку + или комбинацию клавиш. Одно из полей тип или + детализация должно обязательно присутствовать, + остальные могут быть опущены. Поля разделяются пробелами или + дефисами.

    -

    - , . - :

    +

    Третья форма образца используется для задания поименованного + виртуального события, определенного пользователем. У нее + следующий синтаксис:

    -      <<>>
    +      <<имя>>
         
    -

    . - - . - , Shift - Control. - ; - , , - .

    +

    Образец события целиком заключен в двойные угловые скобки. + Внутри этих скобок содержится определенное пользователем имя + виртуального события. С виртуальным событием нельзя + комбинировать модификаторы, такие как Shiftили + Control. Привязки к виртуальному событию можно + создавать до описания самого события; при динамическом изменении + этого описания все окна, привязанные к событию, будут обращаться + к новому описанию.

    -

    +

    МОДИФИКАТОРЫ

    -

    :

    +

    Модификаторы могут быть следующими:

    • Alt
    • Button1, B1
    • @@ -136,53 +136,53 @@
    • Triple
    -

    , - , . - X . , - Button1 1 - . - , - , . - , - . , 1 - Shift Ctrl - <Control-Button-1>, - - <Mod1-Button-1>. - , - .

    +

    Если в строке приведено несколько элементов, разделенных + запятыми, то они взаимозаменяемы. У большинства модификаторов + есть очевидное X значение. Например, модификатор + Button1 требует нажатия кнопки 1 для + наступления события. Чтобы привязка соответствовала данному + событию, среди модификаторов события должны содержаться все + модификаторы, заданные в образце события. Кроме того событие + может содержать и другие модификаторы, не приведенные в описании + привязки. Например, при нажатии кнопки 1 одновременно с нажатием + клавиш Shift и Ctrl событие + подойдет под образец <Control-Button-1>, + но не подойдет под образец + <Mod1-Button-1>. Если ни один из + модификаторов не был задан, то в событии может присутствовать + любая комбинация модификаторов.

    -

    Meta M - M1 - M5, - ( Meta_R - Meta_L). - , , - Meta M - . - Alt , - alt- ( - Alt_L Alt_R).

    +

    Модификаторы Meta и M + заменяют любой из идентификаторов от M1 до + M5, ассоциированный с метаклавишами на + клавиатуре (коды клавиш Meta_R и + Meta_L). При отсутствии метаклавиш или в + случае, если они не ассоциированы ни с каким модификатором, + модификаторы Meta и M не будут + соответствовать никакому событию. Аналогично модификатор + Alt заменяет любой из модификаторов, + ассоциированных с alt-клавишами на клавиатуре (коды клавиш + Alt_L и Alt_R).

    -

    Double Triple - .. - . , - , - : , - Double - Triple, - , "" . , - <Double-Button-1> - <Button-1><Button-1> - - .

    +

    Модификаторы Doubleи Triple + обеспечивают удобную обработку двойного щелчка .Мыши. и других + повторяющихся событий. Они требуют, чтобы данное событие + повторилось дважды или трижды, и накладывают ограничения на + время и место его повторения: для того, чтобы последовательность + событий подходила под образец Double или + Triple, промежуток времени между событиями + должен быть коротким, а "Мышь" не должна сдвигаться. Например, + комбинация <Double-Button-1> эквивалентна + паре <Button-1><Button-1> + с дополнительными временными и пространственными + ограничениями.

    -

    +

    ТИПЫ СОБЫТИЙ

    -

    - X , - . . - , , .

    +

    Значением поля тип может быть любой из стандартных + типов X событий, а также некоторые дополнительные + сокращения. Ниже приведен список всех допустимых значений. Два + имени, составляющие пару, синонимичны.

    • Activate
    • @@ -210,336 +210,336 @@
    • Visibility
    -

    - . ButtonPress - ButtonRelease (1-5). - , - ; , - . : - : - , ; - - - . , - : - ButtonPress. , - <1> +

    Последней частью длинной спецификации события является + детализация. Для типов ButtonPress и + ButtonRelease это номер кнопки (1-5). Если + номер кнопки задан, то под образец подойдет только событие на + указанной кнопке; если номер кнопки не задан, то под образец + подойдет событие на любой из кнопок. Замечание: задание номера + кнопки отличается от задания модификатора кнопки: в первом + случае требуется, чтобы кнопка была нажата или отжата; во втором + чтобы какая-то другая кнопка была отжата при наступлении + события. Если номер кнопки задан, то поле тип можно + опустить: по умолчанию оно будет иметь значение + ButtonPress. Например, спецификатор + <1> эквивалентен спецификатору <ButtonPress-1>. -

    KeyPress - KeyRelease - X . - - ASCII (, a - ASCII "a"), - - ( comma - ) ASCII- - (Shift_L , - F1 - ). . - , X - . - %K, . - , - , - KeyPress. , - <Control-comma> - <Control-KeyPress-comma>.

    +

    Для типов KeyPress и + KeyRelease детализацию можно указать в виде + описателя X клавиши. В их число входят все алфавитно-цифровые + символы ASCII (например, описатель a служит для + описания символа ASCII "a"), а также описатели для + неалфавитно-цифровых символов (описатель comma + для запятой) и описатели для всех не ASCII-клавиш клавиатуры + (Shift_L для левой клавиши верхнего регистра, + F1 для первой функциональной клавиши при ее + наличии). Мы не приводим здесь полный список клавиш. Он меняется + от системы к системе, и его можно найти в других частях X + документации. При необходимости можно получить описатель клавиши + с помощью обозначения %K, описанного ниже. Если + приведена детализация описателя клавиши, то поле + тип может отсутствовать, по умолчанию принимается + значение KeyPress. Например, спецификатор + <Control-comma> эквивалентен + спецификатору <Control-KeyPress-comma>.

    -

    +

    ПОДСТАНОВКИ И СКРИПТЫ ПРИВЯЗКИ

    -

    bind - Tcl; - . - , bind, - ( - ). - %, - . % - , , - , - . - . , - - . - : - .

    +

    Аргумент скрипт команды bind должен + быть скриптом Tcl; при каждом наступлении события происходит + выполнение этого скрипта. Команда выполняется тем же + интерпретатором, что и команда bind, причем + интерпретация происходит на верхнем уровне (доступны только + значения глобальных переменных). Если в скрипте есть + символы %, то его исполнение не будет + осуществляться непосредственно. Каждый символ % + и символ, следующий за ним, заменяются данными о происшедшем + событии, в результате чего генерируется новый + скрипт. Подстановка осуществляется в соответствии с приводимым + ниже списком символов. Если не оговорено противное, то + подставляемая строка представляет собой десятичное содержимое + указанного поля события. Некоторые подстановки допустимы только + для событий определенных типов: при использовании их с событиями + других типов результат подстановки не определен.

    %%
    -
    .
    +
    Заменяется однократным процентом.
    %#
    -
    - ( ). - .
    +
    Номер последнего обработанного сервером запроса клиента + (сериальное поле события). Допустимо для событий всех + типов.
    %a
    -
    , - . - Configure.
    +
    Поле выше события, отформатированное как + шестнадцатеричное число. Допустимо только для событий + Configure.
    %b
    -
    . - ButtonPress - ButtonRelease.
    +
    Номер нажатой или отпущенной кнопки. Допустимо только для + событий ButtonPress и + ButtonRelease.
    %c
    -
    . - Expose.
    +
    Поле счетчик события. Допустимо только для событий + Expose.
    %d
    -
    . - %d . - Enter, Leave, - FocusIn, FocusOut - : - NotifyAncestor, - NotifyNonlinearVirtual - NotifyDetailNone, - NotifyPointer, - NotifyInterior, - NotifyPointerRoot, - NotifyNonlinear, - NotifyVirtual. +
    Поле детализация события. Символы + %d заменяются строкой детализации. Для + событий Enter, Leave, + FocusIn, FocusOut строка + должна быть одной из следующих: + NotifyAncestor, + NotifyNonlinearVirtual + NotifyDetailNone, + NotifyPointer, + NotifyInterior, + NotifyPointerRoot, + NotifyNonlinear, + NotifyVirtual. -

    .

    +

    Для прочих событий подставляемая строка не определена.

    %f
    -
    (0 - 1). - Enter Leave.
    +
    Поле фокус события (0 или + 1). Допустимо только для событий + Enter и Leave.
    %h
    -
    . - Configure Expose.
    +
    Поле высота события. Допустимо только для событий + Configure и Expose.
    %k
    -
    _ . - KeyPress - KeyRelease.
    +
    Поле код_клавиши события. Допустимо только для + событий KeyPress и + KeyRelease.
    %m
    -
    . - NotifyNormal, NotifyGrab, - NotifyUngrab - NotifyWhileGrabbed. - Enter, FocusIn, - FocusOut Leave.
    +
    Поле режим события. Подставляется одна из строк + NotifyNormal, NotifyGrab, + NotifyUngrab или + NotifyWhileGrabbed. Допустимо только для + событий Enter, FocusIn, + FocusOut и Leave.
    %o
    -
    _ . - Map, - Reparent Configure.
    +
    Поле подавить_перенаправление события.Допустимо + только для событий Map, + Reparent и Configure.
    %p
    -
    . - PlaceOnTop - PlaceOnBottom. - Circulate.
    +
    Поле размещать события. Строка подстановки имеет + вид PlaceOnTop или + PlaceOnBottom. Допустимо только для событий + Circulate.
    %s
    -
    . - ButtonPress, ButtonRelease, - Enter, KeyPress, - KeyRelease, Leave - Motion - . Visibility - isibilityUnobscured, - VisibilityPartiallyObscured - VisibilityFullyObscured.
    +
    Поле состояние события. Для событий + ButtonPress, ButtonRelease, + Enter, KeyPress, + KeyRelease, Leave и + Motion происходит подстановка десятичного + числа. Для события Visibility подставляется + одна из строк isibilityUnobscured, + VisibilityPartiallyObscured или + VisibilityFullyObscured.
    %t
    -
    . , - .
    +
    Поле время события. Допустимо только для событий, + содержащих поле время.
    %w
    -
    . - Configure Expose.
    +
    Поле ширина события. Допустимо только для событий + Configure и Expose.
    %x
    -
    x . , - x.
    +
    Поле x события. Допустимо только для событий, + содержащих поле x.
    %y
    -
    y . , - y.
    +
    Поле y события.Допустимо только для событий, + содержащих поле y.
    %A
    -
    ASCII, - , , - ASCII (, - ). ASCII - XLookupString. - KeyPress KeyRelease.
    +
    Заменяется символом ASCII, отвечающим происшедшему + событию,или пустой строкой, если событию не соответствует + никакой символ ASCII (например, нажата клавиша верхнего + регистра). Работу по переводу события в ASCII символ выполняет + XLookupString. Допустимо только для событий + KeyPress и KeyRelease.
    %B
    -
    _ . - Configure.
    +
    Поле ширина_бордюра события.Допустимо только для + событий Configure.
    %E
    -
    _ . - .
    +
    Поле послать_событие события.Допустимо для событий + всех типов.
    %K
    -
    , , - . - KeyPress KeyRelease.
    +
    Код клавиши, соответствующей данному событию, представленный + текстовой строкой. Допустимо только для событий + KeyPress и KeyRelease.
    %N
    -
    , , - . - KeyPress KeyRelease.
    +
    Код клавиши, соответствующей данному событию, представленный + десятичным числом. Допустимо только для событий + KeyPress и KeyRelease.
    %R
    -
    . - .
    +
    Идентификатор корневого окна события.Допустимо только для + событий содержащих поле корень.
    %S
    -
    , - . - .
    +
    Идентификатор подокна события, представленный в виде + шестнадцатиричного числа. Допустимо только для событий + содержащих поле подокно.
    %T
    -
    . - .
    +
    Поле тип события. Допустимо для событий всех + типов.
    %W
    -
    , ( - ). .
    +
    Путь к окну, к которому отнесено событие (поле окно + события). Допустимо для событий всех типов.
    %X
    -
    x_ . - - - x- . - ButtonPress, - ButtonRelease, KeyPress, - KeyRelease Motion.
    +
    Поле x_корень события. При использовании + виртуально-корневого менеджера окон подставляемое значение + равняется x-координате в виртуальном корне. Допустимо только + для событий ButtonPress, + ButtonRelease, KeyPress, + KeyRelease и Motion.
    %Y
    -
    y_ . - - - y- . - ButtonPress, - ButtonRelease, KeyPress, - KeyRelease Motion.
    +
    Поле y_корень события. При использовании + виртуально-корневого менеджера окон подставляемое значение + равняется y-координате в виртуальном корне. Допустимо только + для событий ButtonPress, + ButtonRelease, KeyPress, + KeyRelease и Motion.
    -

    %- - Tcl. , - , - , `$' `{' - . - Tcl . - - , , Above; - - . , - %A. , , -

    +

    Строка подстановки для %-замещения форматируется как обычный + элемент списка Tcl. Это означает, что при наличии в строке + пробелов она заключается в фигурные скобки, а специальным + символам, таким как `$' и `{' может предшествовать обратная + косая черта. Такая строка нормально обрабатывается + синтаксическим анализатором Tcl при выполнении скрипта. Строки + подстановки по большей части являются числами или корректно + определенными строками как, например, Above; + такие строки не нуждаются ни в каком специальном + форматировании. Чаще всего форматирования требуют строки, + замещающие %A. Если, например, скрипт имеет + вид

    insert %A
    -

    , -

    +

    и вводимым символом является открывающая квадратная скобка, то + реально исполняемым скриптом будет

    insert \[
    -

    .. insert - ( - ). , Tcl - .

    +

    т.е. в качестве первого аргумента insert + получит исходную строку подстановки (открывающую квадратную + скобку). Если бы обратная косая черта не была добавлена, Tcl не + смог бы правильно обработать скрипт.

    -

    ,

    +

    НЕСКОЛЬКО ПРИВЯЗОК, ОТВЕЧАЮЩИХ ОБРАЗЦУ

    -

    X . - , - . - , , - all. - bindtags, - .

    +

    Данному X событию может отвечать несколько привязок. Если эти + привязки соответствуют различным тегам, то все они + выполняются по очереди. По умолчанию сначала исполняется + привязка для примитива, затем привязка класса, затем привязка + верхнего уровня и привязка all. Этот порядок + для конкретного окна можно поменять с помощью команды bindtags, которая + позволяет также выполнить дополнительные привязки к окну.

    -

    , , - continue break - . Управление обработкой скриптов, отвечающих образцу, + осуществляется командами continue и break в + привязанном скрипте. При выполнении команды continue - Tk - , - . break - - .

    + выполнение текущего привязанного скрипта прерывается и Tk + переходит к выполнению скриптов, соответствующих остальным + тегам. При выполнении команды break выполнение + текущего привязанного скрипта прерывается и никакие другие + скрипты не выполняются.

    -

    - , - . - :

    +

    Если данному событию соответствует несколько привязок с одним и + тем же тегом, то из них выбирается наиболее конкретная привязка + и выполняется ее скрипт. Выбор наиболее конкретной привязки + осуществляется по следующим критериям:

      -
    1. , , - , , - ;
    2. +
    3. образец события, задающий конкретную кнопку или клавишу, + более конкретен, чем тот, в котором такой спецификации не + задано;
    4. -
    5. ( - ) ;
    6. +
    7. более длинная последовательность (по числу отвечающих + образцу событий) конкретнее более короткой;
    8. -
    9. - , - ;
    10. +
    11. если модификаторы первого образца содержатся среди + модификаторов второго, то образец с большим числом + модификаторов более конкретен;
    12. -
    13. , - , , - , - ;
    14. +
    15. виртуальное событие, физический образец которого + соответствует последовательности, менее конкретно, чем тот же + самый физический образец, не связанный ни с каким виртуальным + событием;
    16. -
    17. - , - - , .

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

      -

      - , 1 - 5 , - - . - , , - .

      +

      Если в подходящей последовательности событий больше одного + события, то критерии 1 - 5 применяются ко всем событиям, + начиная с самого последнего и до самого первого события + последовательности. Если критерии не позволяют определить + победителя, то победителем становится событие, + зарегистрированное последним.

    -

    - ( ) , - , - , - :

    +

    Если одна и та же последовательность осуществляет переключение + к двум (или более) виртуальным событиям, и теги окон этих + виртуальных событий совпадают, то переключение произойдет лишь к + одному из этих виртуальных событий, выбранному случайным + образом:

           event add <<Paste>> <Control-y>
    @@ -549,57 +549,59 @@
           bind Entry <<Scroll>> {puts Scroll}
         
    -

    Control-y - <<Paste>>, 2 - <<Paste>> - <<Scroll>>, - , .

    +

    При нажатии Control-y будет выполнена привязка + <<Paste>>, а при нажатии кнопки 2 + одна из привязок <<Paste>> или + <<Scroll>>, причем определить какой + именно будет эта привязка, невозможно.

    -

    X - , . - .

    +

    Если X событие не подходит ни под одну из существующих + привязок, то событие игнорируется. Наступление не привязанного + события не считается ошибкой.

    -

    +

    ПОСЛЕДОВАТЕЛЬНОСТИ НЕСКОЛЬКИХ СОБЫТИЙ И ИГНОРИРУЕМЫЕ СОБЫТИЯ

    -

    - bind , - , ( - ) . - , , - 1 , - , - <Doudble-ButtonPress-1>. - , - , - KeyPress ButtonPress. - , 1 - <Doudble-ButtonPress-1>, - ButtonRelease - Motion. - KeyPress - KeyPress - , , - . , - aB - a, a, - Shift - b, - Shift . , , - - Motion, - .

    +

    Если аргумент последовательность в команде + bind состоит из нескольких образцов событий, то + скрипт выполняется в случае, если последние события (включая + самое последнее) подходят под данную последовательность. Это + означает, например, что при неоднократном последовательном + нажатии кнопки 1 каждое из нажатий, за исключением самого + первого, отвечает образцу + <Doudble-ButtonPress-1>. Если в + последовательности событий происходят посторонние события, то + они игнорируются, за исключением событий + KeyPress и ButtonPress. + Например, нажатия на кнопку 1 будут соответствовать образцу + <Doudble-ButtonPress-1>, даже если их + перемежают события ButtonRelease или + Motion. Кроме того событию + KeyPressможет предшествовать произвольная + последовательность событий KeyPress для + модификаторов, среди которых нет модификаторов, нарушающих + соответствие образцу. Например, последовательности событий + aB отвечает нажатие на клавишу + a, отпускание клавиши a, + нажатие на клавишу Shift и нажатие на клавишу + b, так как нажатие на клавишу модификатора + Shift игнорируется. И, наконец, если + последовательно происходит несколько событий + Motion, то для установления соответствия + привязке берется последнее из них.

    -

    +

    ОШИБКИ

    -

    - bgerror. +

    При возникновении ошибки в процессе исполнения привязанного + скрипта для выдачи сообщения об ошибке используется механизм bgerror. Команда bgerror - ( + исполняется на верхнем уровне (вне контекста любой из процедур Tcl).

    + + diff --git a/hlp/ru/tk/bindtags.html b/hlp/ru/tk/bindtags.html index 2161032..6c30ed0 100644 --- a/hlp/ru/tk/bindtags.html +++ b/hlp/ru/tk/bindtags.html @@ -1,4 +1,4 @@ - + bindtags @@ -7,32 +7,33 @@

    bindtags

    -

    , - .

    +

    Команда определяет, какие привязки относятся к окну и порядок + обработки.

    -

    +

    СИНТАКСИС

           bindtags window ?tagList?
         
    -

    +

    ОПИСАНИЕ

    -

    bind , - , , - - . - (binding tag). , - , - . , - , - , .

    +

    Когда с помощью команды bind создается привязка, + ей ставятся в соответствие имя окна, имя класса, ключевое слово + или какая-нибудь строка. Все эти формы называются тегами + привязки (binding tag). Каждое окно имеет список тегов привязки, + определяющих, каким образом обрабатываются события для данного + окна. Когда в окне происходит событие, оно по очереди сличается + с каждым из тегов окна, и для каждого тега исполняется та + привязка, которая более всех соответствует событию и тегу.

    -

    - : , - .

    +

    Команда позволяет получать сведения о привязках окна и + модифицировать их: добавлять новые, удалять и замещать + существующие.

    + diff --git a/hlp/ru/tk/bitmap.html b/hlp/ru/tk/bitmap.html index db88088..0bcbc6d 100644 --- a/hlp/ru/tk/bitmap.html +++ b/hlp/ru/tk/bitmap.html @@ -1,4 +1,4 @@ - + bitmap @@ -7,37 +7,38 @@

    bitmap

    -

    Tk, .

    +

    Встроенный тип изображений Tk, имеющих только два цвета.

    -

    +

    СИНТАКСИС

           image create bitmap name options
         
    -

    +

    ОПИСАНИЕ

    -

    Tcl/Tk, bitmap - , - - . : - ( ) , - source () mask - (). "0" - "1" , - . , - "0", ( - ). - , source - "1", .

    +

    В терминах языка Tcl/Tk, bitmap - это двухцветное изображение, + пиксели которого могут отображать один из двух заданных цветов + или быть прозрачными. Такое изображение имеет четыре аргумента: + два цвета (переднего плана и фона) и два двоичных файла, + называемых source (источник) и mask + (маска). Оба файла задают значения "0" или + "1" для пикселей прямоугольной области, оба файла + должны быть одной размерности. Пиксели, для которых в маске + задано значение "0", не отображают ничего (получается + эффект прозрачности). Остальные пиксели имеют либо цвет + переднего плана, если значение в source для пикселя + равно "1", либо фоновый цвет в обратном случае.

    -

    , - image create. - bitmap Tk - . - .

    +

    Подобно всем прочим изображениям, двухцветные изображения + создаются при помощи команды image create. При + создании нового bitmap Tk также создает команду + с именем этого изображения. Команда может использоваться для + выполнения различных операций над данным изображением.

    + diff --git a/hlp/ru/tk/button.html b/hlp/ru/tk/button.html index fad3d7b..bf97b82 100644 --- a/hlp/ru/tk/button.html +++ b/hlp/ru/tk/button.html @@ -1,4 +1,4 @@ - + button @@ -7,15 +7,15 @@

    button

    -

    .

    +

    Создание примитива кнопки и управление им.

    -

    +

    СИНТАКСИС

    -      button  
    +      button имяПути параметры
         
    -

    +

    СТАНДАРТНЫЕ ПАРАМЕТРЫ

    • -activebackground
    • @@ -42,206 +42,207 @@
    • -wraplength
    -

    - options.

    +

    Подробное описание этих параметров приведено в разделе + options.

    -

    +

    ДОПОЛНИТЕЛЬНЫЕ ПАРАМЕТРЫ

    - - - + + +
    :-command
    :command
    :Command
    Имя параметра:-command
    Имя в Базе:command
    Класс в Базе:Command
    -

    Tk. - 1 "".

    +

    Ассоциирует с кнопкой команду Tk. Обычно команда выполняется + при отпускании клавиши 1 "Мыши".

    - - - + + +
    :-default
    :default
    :Default
    Имя параметра:-default
    Имя в Базе:default
    Класс в Базе:Default
    -

    : - normal, active - disabled. - . - , - ; - . - - . - , . - - .

    +

    Задает одно из трех состояний изображения ободка кнопки: + normal, active или + disabled. В активном состоянии кнопка имеет + изображение по умолчанию для данной платформы. В нормальном + состоянии кнопка изображается в виде, предусмотренном данной + платформой для кнопок не по умолчанию; при этом остается + достаточно места для изображения кнопки по умолчанию. Нормальное + и активное состояние приводят к появлению кнопок одинакового + размера. Отключенное состояние приводит к выводу кнопки не по + умолчанию, не оставляя при этом места для кнопки по умолчанию. + Кнопка в отключенном состоянии может быть меньше кнопки в + активном состоянии.

    - - - + + +
    :-height
    :height
    :Height
    Имя параметра:-height
    Имя в Базе:height
    Класс в Базе:Height
    -

    . - , - (.., , - Tk_GetPixels); - . , - .

    +

    Задает желаемую высоту кнопки. Если в кнопке выводится + изображение или двуцветное изображение, то значение параметра + задается в пикселях (т.е., в любом виде, приемлемом для + Tk_GetPixels); высота текстовой кнопки задается числом + строчек текста. Если параметр не задан, то высота кнопки + вычисляется по ее содержимому.

    - - - + + +
    :-state
    :state
    :State
    Имя параметра:-state
    Имя в Базе:state
    Класс в Базе:State
    -

    : normal, - active disabled. - - foreground - background. - , . - - activeForeground - activeBackground. - , : - - "" . - - disabledForeground +

    Задает одно из трех состояний кнопки: normal, + active или disabled. В + нормальном состоянии кнопка изображается с использованием + значений параметров foreground и + background. В активном состоянии кнопка обычно + находится, если на ней расположен курсор. Кнопка в активном + состоянии изображается с использованием значений параметров + activeForeground и + activeBackground. Отключенное состояние + указывает на то, что кнопка должна быть нечувствительной: + привязки по умолчанию не приводят к запуску примитива и нажатия + на кнопку "Мыши" игнорируются. В этом состоянии + изображение кнопки определяется значениями параметров + disabledForeground и background.

    - - - + + +
    :-width
    :width
    :Width
    Имя параметра:-width
    Имя в Базе:width
    Класс в Базе:Width
    -

    . - , - (.., , - Tk_GetPixels); - . , - .

    +

    Задает желаемую ширину кнопки. Если в кнопке выводится + изображение или двуцветное изображение, то значение параметра + задается в пикселях (т.е., в любом виде, приемлемом для + Tk_GetPixels); ширина текстовой кнопки задается + числом символов. Если параметр не задан, то ширина кнопки + вычисляется по ее содержимому.

    -

    +

    ОПИСАНИЕ

    -

    button ( - ) . - , , , , - - . button - . - , - .

    +

    Команда button создает новое окно (задаваемое + аргументом имяПути) и превращает его в примитив кнопки. + Детали изображения кнопки, такие, как ее цвета, шрифт, текст и + объемный вид задаются с помощью описанных выше дополнительных + параметров. Команда button возвращает аргумент + имяПути. В момент выполнения этой команды не должно + существовать окна с именем имяПути, но должен + существовать его предок.

    -

    , - , . - , - ( - - wrapLength). - ( - underline). - button ; - , , , - . ( 1 - "", "" - ) Tcl, +

    Кнопка представляет собой примитив, в котором выводится + текстовая строка, изображение или двуцветное изображение. Весь + выводимый текст должен быть записан одним шрифтом, однако он + может занимать несколько строчек на экране (если в нем есть + символы перевода строки или задан параметр + wrapLength). Один из символов текста может + быть подчеркнут (в соответствии со значением параметра + underline). В зависимости от значения параметра + button кнопка имеет три разных вида; кнопка + может выглядеть выпуклой, вдавленной или плоской, кроме того, + она может мигать. При инициации кнопки (нажатием на клавишу 1 + "Мыши", когда курсор "Мыши" находится на + кнопке) выполняется команда Tcl, указанная в параметре -command.

    -

    +

    КОМАНДА ПРИМИТИВА

    -

    button Tcl - . - . .

    +

    Команда button создает новую команду Tcl с + именем имяПути. С помощью этой команды можно выполнять + различные операции над примитивом. Ее общий вид.

    -          ...
    +      имяПути параметр арг арг ...
         
    -

    . - :

    +

    Параметр и аргументы уточняют поведение команды. + Примитивы кнопки допускают следующие формы команды:

    -       cget 
    +      имяПути cget параметр
         
    -

    - . +

    Возвращает текущее значение параметра конфигурации с именем + параметр. Параметр может быть любым из параметров команды button.

    -       configure     ...
    +      имяПути configure параметр значение параметр значение ...
         
    -

    - . , , - - ( - Tk_ConfigureInfo). - , - , - , . - -, - , - . - button.

    +

    Запрашивает значения параметров конфигурации примитива или + изменяет их. Если параметр не указан, то возвращает список, + содержащий значения всех допустимых в имениПути + параметров (формат списка описан в + Tk_ConfigureInfo). Если параметр + задан, а его новое значение - нет, то команда возвращает часть + полного списка, относящуюся к указанному параметру. Если заданы + одна или несколько пар параметр-значение, то указанным + параметрам примитива присваиваются новые значения, а команда + возвращает пустую строку. Параметр может быть любым из + параметров команды button.

    -       flash
    +      имяПути flash
         
    -

    . - - . - ( ), - . - disabled, - .

    +

    Заставляет кнопку мигать. Этот эффект достигается путем + многократного вывода изображения кнопки поочередно в активном и + нормальном состоянии. По окончании работы команды кнопка + остается в том же состоянии (активном или нормальном), что и + перед началом ее выполнения. Если перед началом выполнения + команды кнопка находится в состоянии disabled, + то команда игнорируется.

    -       invoke
    +      имяПути invoke
         
    -

    Tcl, ( - ). - Tcl ( , - ). - - disabled, .

    +

    Выполняет команду Tcl, ассоциированную с кнопкой (при наличии + такой команды). Возвращаемое значение совпадает с возвращаемым + значением команды Tcl (или является пустой строкой, если с + кнопкой никакой команды не ассоциировано). Если перед началом + выполнения команды кнопка находится в состоянии + disabled, то команда игнорируется.

    -

    Tk, , - , - :

    +

    При создании кнопки Tk, в соответствии с типом кнопки, + автоматически создает привязки к ней, определяющие ее поведение + по умолчанию:

    -

    - "" , . - Windows - "1" "" .

    +

    Кнопка становится активной при появлении над ней курсора + "Мыши" и дезактивируется, когда курсор ее покидает. В + системе Windows привязка активизируется только при нажатии + клавиши "1" "Мыши" на кнопке.

    -

    "1" "" - "", - .

    +

    При нажатии клавиши "1" "Мыши" на кнопке + кнопка "вдавливается", а при отпускании клавиши она + восстанавливает свой первоначальный вид.

    -

    "1" "" - , , , - . , , , - "" "" - .

    +

    Если на кнопке клавиша "1" "Мыши" была + нажата, а затем отпущена, то выполняется команда, привязанная к + данной кнопке. Этого, однако, не происходит, если в момент + отпускания клавиши "Мыши" курсор "Мыши" + находился вне поля кнопки.

    -

    , - , - .

    +

    Если кнопка находится в фокусе ввода, то нажатие на клавишу + пробела приводит к выполнению команды, привязанной к этой + кнопке.

    -

    disabled, - : - .

    +

    Если кнопка находится в состоянии disabled, то + все описанные выше действия не приводят ни к какому результату: + кнопка остается неактивной.

    -

    - - .

    +

    Поведение кнопки можно изменить с помощью новых привязок к + конкретным примитивам или путем переопределения привязок данного + класса.

    + diff --git a/hlp/ru/tk/canvas.html b/hlp/ru/tk/canvas.html index 502952b..8586ae9 100644 --- a/hlp/ru/tk/canvas.html +++ b/hlp/ru/tk/canvas.html @@ -7,15 +7,15 @@

    canvas

    -

    .

    +

    Создание примитивов канвы и работа с ними.

    -

    +

    СИНТАКСИС

    -      canvas  
    +      canvas имяПути параметры
         
    -

    +

    СТАНДАРТНЫЕ ПАРАМЕТРЫ

    @@ -52,1855 +52,1855 @@
    -

    Подробное описание параметров приведено в разделе options.

    -

    ,

    +

    ПАРАМЕТРЫ, СВЯЗАННЫЕ ИСКЛЮЧИТЕЛЬНО С ПРИМИТИВАМИ

    - - - + + +
    :-closeenough
    :closeEnough
    :CloseEnough
    Имя параметра:-closeenough
    Имя в Базе:closeEnough
    Класс в Базе:CloseEnough
    -

    , - , - . 1.0

    +

    Задает значение с плавающей точкой, указывающее расстояние от + курсора до объекта на экране, при котором курсор считается + находящимся внутри объекта. По умолчанию имеет значение 1.0

    - - - + + +
    :-confine
    :confine
    :Confine
    Имя параметра:-confine
    Имя в Базе:confine
    Класс в Базе:Confine
    -

    , , - , - scrollRegion. - , .. .

    +

    Булевское значение, указывающее, допустимо ли устанавливать вид + канвы вне области, заданной аргументом + scrollRegion. По умолчанию имеет значение + истина, т.е. такая установка запрещена.

    - - - + + +
    :-height
    :height
    :Height
    Имя параметра:-height
    Имя в Базе:height
    Класс в Базе:Height
    -

    , - . - (. "").

    +

    Задает желаемую высоту окна, которое примитив канвы должен + запросить у своего графического менеджера. Значение может иметь + любой вид из описанных ниже (см. "Координаты").

    - - - + + +
    :-scrollregion
    :scrollRegion
    :ScrollRegion
    Имя параметра:-scrollregion
    Имя в Базе:scrollRegion
    Класс в Базе:ScrollRegion
    -

    , , - , . - - . - (. "").

    +

    Задает список из четырех величин, описывающих координаты левой, + верхней, правой и нижней границы прямоугольной области. Эта + область используется для прокрутки и считается границей + информации в канве. Каждая из координат может иметь любой вид из + описанных ниже в (см. "Координаты").

    - - - + + +
    :-width
    :width
    :width
    Имя параметра:-width
    Имя в Базе:width
    Класс в Базе:width
    -

    , - . - (. ).

    +

    Задает желаемую ширину окна, которое примитив канвы должен + запросить у своего графического менеджера. Значение может иметь + любой вид из описанных ниже (см. Координаты).

    - - - + + +
    :-xscrollincrement
    :xScrollincrement
    :Scrollincrement
    Имя параметра:-xscrollincrement
    Имя в Базе:xScrollincrement
    Класс в Базе:Scrollincrement
    -

    - . , - x- - xScrollincrement - . , - ( - ) - xScrollincrement. - , .

    +

    Задает шаг горизонтальной прокрутки в любом из принятых видов + для расстояний на экране. Если указанная величина положительна, + то x-координата левой границы будет выбрана + пропорциональной значению xScrollincrement с + четным коэффициентом пропорциональности. Кроме того, шаг + прокрутки (при нажатии на стрелки влево и вправо полосы + прокрутки) также принимает значение + xScrollincrement. Если значение параметра + не положительно, то прокрутка выполняется без ограничений.

    - - - + + +
    :-yscrollincrement
    :yScrollincrement
    :Scrollincrement
    Имя параметра:-yscrollincrement
    Имя в Базе:yScrollincrement
    Класс в Базе:Scrollincrement
    -

    - . , - y- - yScrollincrement - . , - ( ) - yScrollincrement. - , - .

    +

    Задает шаг вертикальной прокрутки в любом из принятых видов для + расстояний на экране. Если указанная величина положительна, то + y-координата верхней границы будет выбрана + пропорциональной значению yScrollincrement с + четным коэффициентом пропорциональности. Кроме того, шаг + прокрутки (при нажатии на стрелки вверх и вниз полосы прокрутки) + также принимает значение yScrollincrement. Если + значение параметра не положительно, то прокрутка выполняется без + ограничений.

    -

    +

    ВВЕДЕНИЕ

    -

    canvas ( - ) - . - - , - . canvas - . - , - . +

    Команда canvas создает новое окно (заданное + аргументом имяПути) и преобразует его в примитив + канвы. С помощью описанных выше дополнительных аргументов в + строке команды или в базе данных параметров можно задать такие + характеристики канвы, как цвета или трехмерное + представление. Команда canvas возвращает свой + аргумент имяПути. В момент исполнения команды окно с + именем имяПути должно отсутствовать, однако его + родительское должно существовать. -

    . - , , - , . - (, - ), , - , bind - . , , - <Button-1>, - 1 - . , - Tcl.

    +

    Примитивы канвы реализуют структурную графику. Канва изображает + некоторый набор элементов, таких как прямоугольники, + окружности, линии или текстовые элементы. Над элементами можно + выполнять различные действия (например, передвигать или + перекрашивать их), и к ним можно приписывать команды способом, + аналогичным тому, как команда bind привязывает команды к + примитивам. Можно, например, приписать некоторую команду + событию <Button-1>, и эта команда будет + выполняться всякий раз при нажатии кнопки 1 на данном + элементе. Таким образом, поведение элементов канвы может + определяться привязанным к ним скриптам Tcl.

    -

    +

    СПИСОК ВЫВОДА

    -

    , - , - . , - ; , - . - , , - . - .

    +

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

    -

    - - . , - . , - ; - Tk raise Элементы-окна представляют собой исключение из приведенного + правила. Базовая система управления окнами предполагает, что + новое окно всегда выводится поверх всех предыдущих. Кроме того, + команды примитивов канвы не влияют на порядок в стеке окон; + вместо них надо использовать команды Tk raise и lower.

    -

    +

    ИДЕНТИФИКАТОРЫ И ТЕГИ ЭЛЕМЕНТОВ

    -

    - . - , - . , - - .

    +

    Есть два способа обращаться к элементам примитивов канвы по + идентификатору и по тегу. У каждого элемента есть свой + уникальный идентификационный номер, присваиваемый при создании + элемента. Идентификатор элемента никогда не изменяется, и ни + один идентификатор не используется дважды на протяжении + существования данного примитива канвы.

    -

    , - . , - . , "x123" - , "123" . - . - - . , - "selected".

    +

    Кроме того, каждому элементу канвы можно приписать несколько + тегов. Тег это просто строка символов, и он может быть + иметь любой вид кроме числового. Например, "x123" + годится, а "123" нет. Один и тот же тег можно + приписывать нескольким элементам. Обычно это свойство + используется для объединения элементов по характерным + признакам. Например, всем выбранным элементам можно приписать + тег "selected".

    -

    all - ; - .

    +

    Тег all приписан по умолчанию всем элементам + канвы; с его помощью выполняются операции на всех элементах + канвы.

    -

    current Tk. - , - , . - .. - , current - .

    +

    Тегом current автоматически управляет Tk. Он + относится к текущему элементу, находящемуся поверх всех + остальных из тех, чья область покрывает положение курсора. Если + курсор .Мыши. расположен вне примитива канвы или если он не + накрывается никаким элементом, то тег current + не приписывается никакому элементу.

    -

    - : , - . - - . - , , - ( , ) , - , - . - ; - , - ( ) - , . - .

    +

    При указании элемента в командах примитивов канвы реализован + следующий подход: если описатель является числом, то это число + интерпретируется как идентификатор элемента. В противном случае + описатель относится ко всем элементам с таким + тегом. Используемый ниже символ тегИлиИд указывает на + то, что соответствующий аргумент может быть тегом, которому + отвечает несколько (быть может, ни одного) элемента, или + идентификатором, которому отвечает единственный + элемент. Некоторые команды примитивов могут работать + одновременно только с одним элементом; если символу + тегИлиИд соответствует несколько элементов, то такая + команда обычно обрабатывает первый (самый нижний) элемент списка + вывода, к которому она применима. Исключения приведены ниже в + описаниях команд примитивов.

    -

    +

    КООРДИНАТЫ

    -

    - . - , - . , - . m - ; c - ; i ; p - (1/72 ). - y- ; x- - .

    +

    Все координаты канвы записываются в форме чисел с плавающей + точкой. Координаты и расстояния на экране задаются в виде чисел + с плавающей точкой, за которыми может следовать одна или + несколько букв. Если буквы нет, то единицей измерения расстояния + является пиксель. Буква m указывает на + измерение расстояний в миллиметрах; буква c в + сантиметрах; i в дюймах; p в + точках принтера (1/72 дюйма). При перемещении по экрану вниз + y-координата увеличивается; x-координата + возрастает при перемещении по экрану вправо.

    -

    +

    ПРЕОБРАЗОВАНИЯ

    -

    - , . - - xview yview. - . - - .

    +

    Обычно начало системы координат канвы расположено в верхнем + левом углу окна, содержащего канву. Положение начала координат + относительно окна можно изменить с помощью команд + xview и yview. Обычно этой + возможностью пользуются при прокрутке. Канва не позволяет + растягивать систему координат или поворачивать ее по отношению к + системе координат окна.

    -

    - ; , - .

    +

    Отдельные элементы канвы можно сдвигать с помощью описываемых + ниже команд примитивов; их можно также растянуть или сжать, но + нельзя повернуть.

    -

    +

    ИНДЕКСЫ

    -

    - . - , , . - ; - . - ; - - . , - , - ; , , - .

    +

    Для указания на отдельные части текста в текстовых элементах + поддерживаются индексы. Индексы используются в командах + вставки текста, удаления части текста, установки курсора ввода. + Индекс можно определить одним из нескольких возможных способов; + различные типы элементов поддерживают индексы различных типов. + Ниже приведено описание видов индексов; при введении новых типов + текстовых элементов имеет смысл обеспечить поддержку разумного + подмножества видов индекса. Отметим, что можно ссылаться на + символ, следующий непосредственно за последним символом + текстового элемента; эта возможность полезна, например, при + вводе нового текста в конец элемента.

    -
    +
    число
    -
    , - . "0" , - 1 .. - 0, , - .
    +
    Десятичное число, указывающее положение нужного символа + внутри текстового элемента. "0" указывает на первый символ, + 1 на второй и т.д. Отрицательные числа интерпретируются как + 0, а числа, большие длины текстового элемента как если бы они + равнялись этой длине.
    end
    -
    , - ( - ).
    +
    Указывает на символ, следующий непосредственно за последним + символом текстового элемента (совпадает с числом символов в + элементе).
    insert
    -
    , - .
    +
    Указывает на символ, непосредственно предшествующий курсору + ввода.
    sel.first
    -
    . - , - .
    +
    Указывает на первый выделенный символ в элементе. Если в + элементе нет выделенных символов, то такая форма + запрещена.
    sel.last
    -
    . - , - .
    +
    Указывает на последний выделенный символ в элементе. Если в + элементе нет выделенных символов, то такая форма + запрещена.
    @x,y
    -
    (x,y), x - y . - , - , , - .
    +
    Указывает на символ в позиции (x,y), где x + и y заданы в координатной системе канвы. Если + значения координат выходят за пределы, занятые текстовым + элементом, то берется первый или последний символ в строке, + ближайшей к указанной позиции.
    -

    +

    КОМАНДА ПРИМИТИВА

    -

    canvas Tcl - . - . - :

    +

    Команда canvas создает новую команду Tcl с + именем имяПути. С помощью этой новой команды можно + выполнять различные операции над примитивами. Она имеет + следующий общий вид:

    -          ...
    +      имяПути параметр аргумент аргумент ...
         
    -

    . - :

    +

    Параметр и аргументы уточняют поведение команды. В примитивах + канвы могут встречаться следующие команды примитивов:

    -
    addtag _ - ...
    +
    имяПути addtag тег спец_поиска + арг арг ...
    -

    , - , , - _ ( - ). - , - . - . _ - :

    +

    Добавляет тег к списку тегов, связанному с + каждым элементом, удовлетворяющим ограничениям, заданным + спец_поиска и аргументами (если такого тега в + списке еще нет). Если ни один элемент не удовлетворяет + наложенным ограничениям, то команда не производит никаких + действий. Результатом выполнения команды является пустая + строка. Спец_поиска и аргументы могут принимать + следующие значения:

    -
    above
    +
    above тегИлиИд
    -
    , - ( ) - . - , - ( ) .
    +
    Выделяет элемент, непосредственно следующий + (расположенный поверх) за элементом тегИлиИд в + списке вывода. Если аргумент тегИлиИд задает + несколько элементов, то команда выполняется по отношению к + последнему (самому верхнему) из них.
    all
    -
    .
    +
    Выделяет все элементы канвы.
    -
    below
    +
    below тегИлиИд
    -
    , - ( ) - . - , - ( ) .
    +
    Выделяет элемент, непосредственно предшествующий + (расположенный ниже) элементу тегИлиИд в списке + вывода. Если аргумент тегИлиИд задает + несколько элементов, то команда выполняется по отношению к + первому (самому нижнему) из них.
    -
    closest x y
    +
    closest x y нимб начало
    -
    , - (x,y). - (, ), - . , - , . , - (x,y) - , , - . - . , - , - ( , , - , ). - , - , - . - , , - .
    +
    Выделяет элемент, ближайший к точке с координатами + (x,y). Если таких элементов несколько + (например, несколько элементов накрывают эту точку), то + выделяется самый верхний из них. Нимб, если он + задан, должен быть неотрицательным числом. Всякий элемент, + расстояние от которого до точки (x,y) + меньше, чем нимб, считается накрывающим эту + точку. Аргумент начало позволяет обходить по + кругу все ближайшие к точке элементы. Начало, + если оно задано, представляет собой идентификатор или тег + элемента (в случае, если это тег, будет выбран первый + элемент списка, соответствующего данному тегу). В этой + форме выделяется не самый верхний элемент из ближайших, а + самый верхний из тех ближайших элементов, которые ниже + элемента начало в списке вывода. В случае если + таких элементов нет, команда выполняется так же, как и в + отсутствие аргумента начало.
    enclosed x1 y1 x2 y2
    -
    , - (x1,y1) - (x2,y2). x1 - , x2, y1 , - y2.
    +
    Выделяет все элементы, заключенные внутри прямоугольника + с углами (x1,y1) и + (x2,y2). Величина x1 должна + быть не меньше, чем x2, а y1 не меньше, + чем y2.
    overlapping x1 y1 x2 y2I
    -
    , - (x1,y1) - (x2,y2). x1 - , x2, y1 , - y2.
    +
    Выделяет все элементы, перекрывающиеся с прямоугольником + с углами (x1,y1) и + (x2,y2). Величина x1 должна + быть не меньше, чем x2, а y1 не меньше, + чем y2.
    -
    withtag
    +
    withtag тегИлиИд
    -
    , .
    +
    Выделяет все элементы, заданные тегИлиИд.
    -
    bbox -
    +
    имяПути bbox тегИлиИд + тегИлиИд тегИлиИд
    -
    - , , - . - x1 y1 x2 y2, - , - x1, - x2, - y1, - y2. - . - - , - .
    +
    Возвращает список из четырех элементов приближенных значений + координат прямоугольника, ограничивающего все элементы, + заданные аргументами тегИлиИд. Список имеет вид + x1 y1 x2 y2, причем экранные представления + элементов находятся в области, ограниченной слева вертикальной + прямой с координатой x1, справа вертикальной прямой с + координатой x2, сверху горизонтальной прямой с + координатой y1, снизу горизонтальной прямой с + координатой y2. Значения координат могут отличаться + от точных на несколько пикселей. Если под описание + тегИлиИд не подходит ни один элемент или если у этих + элементов прямоугольники вывода пусты, то команда возвращает + пустую строку.
    -
    bind -
    +
    имяПути bind + тегИлиИд последовательность команда
    -

    , - , , - , - , . - bind, - , , - . - , , - bind. - , - - ( +, - , - ). . - , , - - ( , ). - , - , - .

    +

    Эта команда привязывает ко всем элементам, заданным + аргументом тегИлиИд, команду, которая выполняется + всякий раз при наступлении события, описываемого + последовательностью, на одном из этих элементов. Эта команда + похожа на команду bind, + за исключением того, что она действует на элементах канвы, а + не на целых примитивах. Синтаксис последовательности и + подстановки, выполняемые в команде перед ее выполнением, + подробно описаны в bind. Если в команде + заданы все аргументы, то создаваемая привязка замещает все + предыдущие привязки для той же последовательности и + тегИлиИд (если первый символ в команде +, то новая + привязка присоединяется к уже существующим, а не замещает + их). В этом случае команда возвращает пустую строку. Если + аргумент команда опущен, то возвращается строка команды, + связанной с тегИлиИд и последовательностью + (если такой команды нет, то возникает ошибка). Если опущены + оба аргумента команда и последовательность, то результатом + выполнения служит список всех последовательностей, для + которых определена привязка к тегИлиИд.

    -

    , - "" ( +

    Привязки можно задавать только для событий, связанных с + клавиатурой или "Мышью" (таких как Enter, Leave, - ButtonPress, Motion - KeyPress), . - , - (. " - "). Enter - Leave , - ; - Enter - Leave . , - "", - ( ; . - focus). - - , - , "" - .

    + ButtonPress, Motion и + KeyPress), а также для виртуальных событий. + При работе с событиями в канве используется текущий элемент, + определенный выше (см. "Идентификаторы и теги + элементов"). События Enter и + Leave наступают, когда элемент становится + или перестает быть текущим; обратите внимание на отличие + этих событий от событий Enter и + Leave для окон. События, связанные с + "Мышью", наступают только для текущего элемента + (если таковой имеется; подробности см. ниже в описании + команды примитива focus). При использовании в + привязке виртуального события привязка может подключиться + только, если в определении этого виртуального события + участвует событие, связанное с "Мышью" или + клавиатурой.

    -

    . - , , - , - . - . , - all, , - ( - ), - . , - . continue - , Данному событию может соответствовать несколько привязок. + Такое может произойти, например, если одна привязка + осуществляется к идентификатору события, а другая к одному + из его тегов. В подобном случае выполняются все привязанные + события. Первым идет скрипт, привязанный к тегу + all, затем поочередно выполняются скрипты, + привязанные к каждому из тегов элемента (в порядке их + следования), последней идет привязка к идентификатору + элемента. Если несколько привязок соответствует одному тегу, + то выполняется лишь самая конкретная из них. Команда continue в + скрипте прекращает его выполнение, команда break - - , bind.

    -

    bind - , - , +

    Если с помощью команды bind к окну канвы были + выполнены дополнительные привязки, то они выполняются после + привязок к элементам канвы, выполненных командой примитива bind.

    -
    canvasx x -
    +
    имяПути canvasx xЭкрана + шагСетки
    -
    x- x - x- , - . , - - .
    +
    По заданной x-координате xЭкрана окна + возвращает x-координату канвы, расположенной на этом + месте. Если задан шагСетки, то координата канвы + округляется к ближайшему кратному единиц + шагаСетки.
    -
    canvasy y -
    +
    имяПути canvasy yЭкрана + шагСетки
    -
    y- y - y- , - . , - - .
    +
    По заданной y-координате yЭкрана окна + возвращает y-координату канвы, расположенной на этом + месте. Если задан шагСетки, то координата канвы + округляется к ближайшему кратному единиц + шагаСетки.
    -
    cget
    +
    имяПути cget параметр
    -
    , - .
    +
    Возвращает текущее значение параметра конфигурации, + заданного аргументом параметр.
    -
    cnfigure - ...
    +
    имяПути cоnfigure параметр + значение параметр значение ...
    -
    - . , - - ( - Tk_ConfigureInfo). - , , - ( - , ). - -, - ; - - . - , +
    Сообщает текущие параметры конфигурации примитива или + модифицирует их. Если параметр не задан, то + возвращает список всех текущих значений параметров + имениПути (формат списка приведен в описании + Tk_ConfigureInfo). Если параметр + задан без указания значения, то команда возвращает список, + описывающий указанный параметр (этот список совпадает с частью + списка, возвращаемого при отсутствии параметра). Если заданы + одна или несколько пар параметр-значение, то команда + присваивает указанным параметрам примитива данные значения; + результатом ее выполнения в этом случае служит пустая + строка. Параметр может принимать любые + значения, воспринимаемые командой canvas.
    -
    coords x0 y0 +
    имяПути coords тегИлиИд x0 y0 ...
    -
    , , - . , - , , - . , - - . - , - .
    +
    Сообщает текущие значения координат, определяющих элемент, + или модифицирует их. Если координаты не заданы, то возвращает + список, составленный из координат элемента, указанного + аргументом тегИлиИд. Если координаты заданы, то их + значения замещают текущие значения координат означенного + элемента. Если тегИлиИд указывает на + несколько элементов, то команда выполняется для идущего первым + в списке вывода.
    -
    create x y x y - ... ...
    +
    имяПути create типx y x y + ... параметр значение ...
    -
    . - , , - , - , - ( , - ). (. - " ").
    +
    Создает в имяПути новый элемент типа тип. Формат + аргументов, следующих за аргументом тип, зависит от значения + типа, однако обычно эти аргументы представляют собой + координаты одной или нескольких точек, за которыми следуют + спецификации нескольких параметров элемента (быть может, ни + одного). Подробнее синтаксис этой команды описан ниже (см. + "Описания различных типов").
    -
    dchars -
    +
    имяПути dchars тегИлиИд первый + последний
    -
    - , - . - - , - . - , - , "". - - . - .
    +
    Удаляет символы с первого по последний + включительно в каждом элементе, подходящем под описание + тегИлиИд. Если какие-либо из этих элементов не + поддерживают текстовых операций, то они + пропускаются. Аргументы первый и последний + должны быть индексами символов в элементе, заданными в + соответствии с описанием, приведенным в разделе "Индексы". При опущенном аргументе + последний его значение принимается по умолчанию + равным значению первый. Команда возвращает пустую + строку.
    -
    delete - ...
    +
    имяПути delete тегИлиИд + тегИлиИд ...
    -
    , , - , .
    +
    Удаляет все элементы, подходящие под описание, заданное + аргументами, и возвращает пустую строку.
    -
    dtag -
    +
    имяПути dtag тегИлиИд + тегДляУдаления
    -
    , - , - . - , - . - , - . .
    +
    Удаляет все теги тегДляУдаления из списка тегов, + ассоциированного с каждым из элементов, описываемых аргументом + тегИлиИд. Если ни один из тегов такого элемента не + входит в тегДляУдаления, то никаких действий не + производится. Если аргумент тегДляУдаления + отсутствует, то его значение по умолчанию совпадает с + тегИлиИд. Команда возвращает пустую строку.
    -
    find - ...
    +
    имяПути find командаПоиска арг + арг ...
    -
    , , - , - . - , - addtag. - , - .
    +
    Команда возвращает список, состоящий из всех элементов, + удовлетворяющих критериям поиска, заданным аргументами + командаПоиска и арг. Аргументы + командаПоиска и арг могут иметь любой вид, + воспринимаемый командой addtag. Список + элементов представлен в виде стека, в котором нижний элемент + идет последним.
    -
    focus
    +
    имяПути focus тегИлиИд
    -

    - , . - , - , - , . - - , - . - , - . , - , - , .

    +

    Устанавливает фокус клавиатуры для примитива канвы на + элементе, заданном аргументом тегИлиИд. Если под + описание подходят несколько элементов, то фокус + устанавливается на тот из них, который идет первым в списке + вывода из элементов, поддерживающих курсор ввода. Если под + описание не подходит ни один из элементов или если ни один + из подходящих элементов не поддерживает курсор ввода, то + фокусировка не меняется. Если тегИлиИд представляет + собой пустую строку, то ни один из элементов не оказывается + в фокусе. Если аргумент тегИлиИд не задан, то + команда возвращает идентификатор элемента, находящегося в + фокусе или пустую строку, если такого элемента нет.

    -

    - - . - ( focus) - : - () () - . - focus - focus, - ( - ).

    +

    После установки фокуса на элемент в этом элементе будет + отображаться курсор ввода и все клавиатурные события будут + направлены на этот элемент. Элемент фокусировки канвы и окно + фокусировки на экране (установленное командой focus) + совершенно независимы: элемент находится в фокусе ввода + только если (а) его канва является окном фокусировки и (б) + сам элемент является элементом фокусировки канвы. В + большинстве случаев полезно вслед за командой focus примитива выполнять + команду focus, чтобы + установить фокус на канве (если такая установка еще не была + произведена).

    -
    gettags
    +
    имяПути gettags тегИлиИд
    -
    , , - , - . - , , - . , - , - .
    +
    Возвращает список, элементами которого служат теги, + ассоциированные с элементом, подходящим под описание + тегИлиИд. Если под это описание подходят несколько + элементов, то список относится к тому из них, который идет + первым в списке вывода. Если элементов, подходящих под + описание нет или если у подходящего элемента нет тегов, то + команда возвращает пустую строку.
    -
    icursor -
    +
    имяПути icursor тегИлиИд + индекс
    -
    (), - , , - , - . ( , ) - , - . - (. ""). : - , - (. - focus), - - . .
    +
    Устанавливает курсор ввода для элемента (элементов), + подходящего под описание тегИлиИд, в положение, + непосредственно предшествующее символу, заданному аргументом + индекс. Если некоторые (быть может, все) подходящие + элементы не поддерживают курсор ввода, то над ними никаких + действий не производится. Допустимые формы аргумента + индекс описаны выше (см. "Индексы"). Замечание: фактическое + высвечивание курсора ввода в элементе производится только, + если этот элемент находится в фокусе (см. описание команды + примитива focus), однако + положение курсора можно установить и в элементе вне + фокуса. Команда возвращает пустую строку.
    -
    insert -
    +
    имяПути insert тегИлиИд + передЭтим строка
    -
    , - , , - - . - (. ). - .
    +
    Вставляет строку перед символом, заданным + аргументом передЭтим, в каждом из элементов, + подходящих под описание тегИлиИд и поддерживающих + курсор ввода. Возможные формы аргумента передЭтим + описаны выше (см. Индексы). Команда + возвращает пустую строку.
    -
    itemcget -
    +
    имяПути itemcget тегИлиИд + параметр
    -
    - . - cget, , - , - . , - create, - . - , .
    +
    Возвращает текущее значение параметра конфигурации с именем + параметр для элемента тегИлиИд. Команда + аналогична команде примитива cget, за исключением того, что + она относится к отдельному элементу, а не к примитиву в + целом. Значение параметра может быть любым, допустимым для + команды примитива create, используемой для создания + элемента. Если тег тегИлиИд описывает несколько + элементов, то команда применяется к первому из них.
    -
    itemconfigure - ...
    +
    имяПути itemconfigure тегИлиИд + параметр значение параметр значение ...
    -
    - configure , - , - . , - , - ( - Tk_ConfigureInfo). - , - , - ( , - ). - -, - - ; - . - , - create, . - (. - ).
    +
    Команда аналогична команде примитива + configure за исключением того, что она + изменяет значения параметров элементов, а не всего примитива + канвы. Если аргумент параметр не задан, то команда + возвращает список значений параметров для первого элемента, + подходящего под описание тегИлиИд (формат списка + описан в Tk_ConfigureInfo). Если аргумент + параметр задан, а аргумент значение + отсутствует, то команда возвращает список значений только + указанного параметра (этот список является подсписком списка, + возвращаемого в отсутствие аргумента параметр). Если + задано несколько пар параметр-значение, то команда + устанавливает новые значения указанных параметров для каждого + из элементов тегИлиИд; в этом случае команда + возвращает пустую строку. Допустимые формы параметров + и значений такие же, как в команде примитива + create, которая создает элементы. Допустимые + параметры и возможные их значения описаны ниже (см. описание + отдельных типов элементов).
    -
    lower -
    +
    имяПути lower + тегИлиИд нижеЭтого
    -
    , - , - , . - , - , . - ; - , - . : - . - - raise - lower, - raise lower - . .
    - +
    Передвигает все элементы, подходящие под описание + тегИлиИд, в списке вывода непосредственно перед + элементом, заданным аргументом нижеЭтого. Если под + описание подходят несколько элементов, то они передвигаются + все, причем их относительный порядок сохраняется. Аргумент + нижеЭтого представляет собой тег или идентификатор; + если он описывает несколько элементов, то для размещения + тегИлиИд используется первый из них. Замечание: на + элементы окон эта команда влияния не оказывает. Элементы окон + перекрывают элементы других типов и на порядок их расположения + влияют команды raise + и lower, а не + команды raise и lower + примитивов канвы. Команда возвращает пустую строку.
    + -
    move - x y
    +
    имяПути move тегИлиИд + xКоличество yКоличество
    -
    , - , - x - y. . +
    Сдвигает каждый из элементов, подходящих под описание + тегИлиИд, прибавляя к координатам каждой точки + элемента координаты xКоличество и + yКоличество. Команда возвращает пустую строку.
    -
    postscript - ...
    +
    имяПути postscript параметр + значение параметр значение ...
    -

    Postscript- - . - -file, Postscript- - , - ; - Postscript-. , - , , - , - . - -channel, , - . Postscript- - ; - . Postscript- - Encapsulated Postscript - Documentation Structuring Conventions, - v. 3.0. : Postscript- - , - . 1x1 , - Postscript . - , - update - , - -width -height. - - - . - :

    +

    Генерирует Postscript-представление для каждой канвы или для + некоторых из них. Если параметр имеет вид + -file, то Postscript-представление + записывается в указанный файл, а команда возвращает пустую + строку; в противном случае возвращается сгенерированное + Postscript-представление. Если интерпретатор, владеющий + канвой, помечен как безопасный, то операция закончится + неудачно, так как безопасным интерпретаторам не разрешается + записывать файлы. Если задан параметр + -channel, то аргументом является имя канала, + открытого на вывод. Postscript-представление записывает в этот + канал; по окончании выполнения команды канал остается открытым + для последующих операций вывода. Postscript-представление + создается в форме Encapsulated Postscript в соответствии с + соглашением Documentation Structuring Conventions, + v. 3.0. Замечание: по умолчанию Postscript-представление + создается только для информации, выводимой в окно канвы на + экране. Только что созданная канва имеет размер 1x1 пиксель, + поэтому в Postscript ничего выведено не будет. Чтобы + преодолеть эту трудность, необходимо либо выполнить команду + update и дождаться пока окно достигнет своего нормального + размера, либо задать размеры канвы для печати параметрами + -width и -height. Пары + аргументов параметр-значения используются для + дополнительного управления характеристиками печати. Команда + поддерживает следующие параметры:

    -
    -colormap
    +
    -colormap имяПеременной
    -
    , - Postscript. - - Postscript , , 1.0 1.0 - 0.0 setrgbcolor.. - Postscript Tk , - . - , Tk - Postscript . - -colormap - , Tk - , X - .
    +
    ИмяПеременной должно быть именем массива, + описывающего палитру в Postscript. Значение каждого + элемента этого массива должно кодировать установку в + Postscript определенного цвета, например, 1.0 1.0 + 0.0 setrgbcolor.. При выводе информации о цвете + в Postscript Tk проверяет, есть ли в массиве + имяПеременной элемент с таким же именем цвета. + Если это так, то Tk использует значение этого элемента как + команду Postscript для установки цвета. Если параметр + -colormap не указан или если данному + цвету не соответствует никакой элемент массива, то Tk + берет интенсивность красного, голубого или зеленого X + цвета.
    -
    -colormode
    +
    -colormode режим
    -
    . - - color ( ), - gray ( - ), mono ( - ).
    +
    Задает способ вывода цветовой информации. + Режим может принимать значения + color (для полноцветного вывода), + gray (преобразует все цвета к их серому + аналогу), mono (переводит каждый цвет в + черный или белый).
    -
    -file
    +
    -file имяФайла
    -
    . , - - Postscript- .
    +
    Задает имя файла вывода. Если этот параметр не указан, + то команда возвращает результирующее + Postscript-представление вместо записи его в файл.
    -
    -fontmap
    +
    -fontmap имяПеременной
    -
    , - . - Tcl - . Postscript - Tk , - - . , Postscript - , . - Tk , - . - , Times, Helvetica Courier, - , X - . , , +
    ИмяПеременной должно быть именем массива, + описывающего преобразование шрифтов. Каждый элемент + массива должен представлять собой Tcl список из двух + элементов имени и размера шрифта. При выводе Postscript + команд для конкретного шрифта Tk проверяет, описан ли в + массиве имяПеременной элемент с соответствующим + именем. Если такой элемент есть, то в Postscript + используется информация, содержащаяся в нем. В противном + случае Tk пытается догадаться о том, какой шрифт + использовать. Обычно эти попытки удаются только для + стандартных шрифтов, таких как Times, Helvetica и Courier, + и только в случае, если в имени X шрифта не пропущено ни + одного дефиса перед размером. Так, например, имя -*_-Courier-Bold-R-Normal--*_-120-*_ - , - *Courier-Bold-R-Normal*120* ; - Tk .
    + будет воспринято нормально, а + *Courier-Bold-R-Normal*120* нет; дефисы + нужны Tk для распознавания имени шрифта.
    -
    -height
    +
    -height размер
    -
    . - .
    +
    Задает высоту печатаемого поля канвы. По умолчанию имеет + значение высоты окна канвы.
    -
    -pageanchor
    +
    -pageanchor якорь
    -
    , - ( - -pagex - -pagey). , - -pageanchor n , - - . - center.
    +
    Указывает, какая из выводимых точек канвы должна попасть + в опорную точку страницы печати (заданную параметрами + -pagex и + -pagey). Например, задание + -pageanchor n означает, что при печати + верхняя центральная точка окна канвы располагается в + опорной точке страницы. По умолчанию параметр имеет + значение center.
    -
    -pageheight
    +
    -pageheight размер
    -
    - , - Postscript - . - , - c, , - i , m - , p - (1/72 ). - . - -pageheight - -pagewidth, - - -pagewidth ( - ).
    +
    Указывает на необходимость растяжения страницы печати в + горизонтальном и вертикальном направлении так, чтобы + напечатанная в Postscript страница имела высоту + размер. Значением параметра должно быть число + с плавающей точкой, за которым следует символ + c, если размер указан в сантиметрах, + i в дюймах, m в + миллиметрах, p или ничего в точках + принтерах (1/72 часть дюйма). По умолчанию имеет + значение высоты выводимой области экрана. Если заданы + оба параметра -pageheight и + -pagewidth, то для растяжения + используется значение параметра + -pagewidth (возможность неравномерного + растяжения в двух направлениях не предусмотрена).
    -
    -pagewidth
    +
    -pagewidth размер
    -
    - , - Postscript - . - , -pageheight. - - . - -pageheight - -pagewidth, - - -pagewidth ( - ).
    +
    Указывает на необходимость растяжения страницы печати в + горизонтальном и вертикальном направлении так, чтобы + напечатанная в Postscript страница имела ширину + размер. Параметр может принимать такие же + значения, что и параметр -pageheight. По + умолчанию имеет значение ширины выводимой области + экрана. Если заданы оба параметра + -pageheight и + -pagewidth, то для растяжения + используется значение параметра + -pagewidth (возможность неравномерного + растяжения в двух направлениях не предусмотрена).
    -
    -pagex
    +
    -pagex координата
    -
    x- - Postscript- , - -pageheight. - -pagey -pageanchor - - Postscript-. - .
    +
    Указывает x-координату опорной точки + Postscript-страницы в любом виде, приемлемом для + -pageheight. В сочетании с параметрами + -pagey и -pageanchor + позволяет задать размещение выводимой области на + Postscript-странице. По умолчанию задает координату центра + страницы.
    -
    -pagey
    +
    -pagey координата
    -
    y- - Postscript- , - -pageheight. - -pagex -pageanchor - - Postscript-. - .
    +
    Указывает y-координату опорной точки + Postscript-страницы в любом виде, приемлемом для + -pageheight. В сочетании с параметрами + -pagex и -pageanchor + позволяет задать размещение выводимой области на + Postscript-странице. По умолчанию задает координату центра + страницы.
    -
    -rotate
    +
    -rotate булевское
    -
    , - 90 . - x ( - ""); - ( ""). - .
    +
    Булевское значение указывает, следует ли при печати + повернуть страницу на 90 градусов. При обычном выводе ось + x идет вдоль короткой стороны страницы (ориентация + "портрет"); после поворота она идет вдоль + длинной стороны (ориентация "пейзаж"). По + умолчанию страница печатается без поворота.
    -
    -width
    +
    -width размер
    -
    . - .
    +
    Задает ширину печатаемого поля канвы. По умолчанию имеет + значение ширины окна канвы.
    -
    -x
    +
    -x координата
    -
    x- - ( , ). - .
    +
    Задает x-координату левого края печатаемой + области канвы (в координатах канвы, а не окна). По + умолчанию совпадает с координатой левого края окна.
    -
    -y
    +
    -y координата
    -
    y- - ( , ). - .
    +
    Задает y-координату верхнего края печатаемой + области канвы (в координатах канвы, а не окна). По + умолчанию совпадает с координатой верхнего края окна.
    -
    raise -
    +
    имяПути raise + тегИлиИд вышеЭтого
    -
    , - , , - . - , , - . - ; - , - ( ) - . : - . - raise lower, - raise lower . - .
    +
    Передвигает все элементы, подходящие под описание + тегИлиИд, в списке вывода непосредственно за элемент, + заданный аргументом вышеЭтого. Если под описание + подходят несколько элементов, то они передвигаются все, причем + их относительный порядок сохраняется. Аргумент + вышеЭтого представляет собой тег или идентификатор; + если он описывает несколько элементов, то для размещения + тегИлиИд используется последний (самый верхний) из + них. Замечание: на элементы окон эта команда влияния не + оказывает. Элементы окон перекрывают элементы других типов и + на порядок их расположения влияют команды raise и lower, а не + команды raise и lower примитивов канвы. Команда возвращает + пустую строку.
    -
    scale x - y x y
    +
    имяПути scale тегИлиИд xЦентр + yЦентр xКоэффициент yКоэффициент
    -
    , - . - x y - , x - y - x y ( - 1.0 ). - x , , - x - . , y , - , - y . - .
    +
    Растягивает или сжимает все элементы, подходящие под + описание тегИлиИд в координатном пространстве канвы. + Аргументы xЦентр и yЦентр задают координаты + центра преобразования, а xКоэффициент и + yКоэффициент коэффициенты растяжения по осям + x и y соответственно (значение + 1.0 указывает на отсутствие растяжения). Расстояние по оси + x каждой точки, задающей положение элемента, от + центра растяжения увеличивается в xКоэффициент + раз. Аналогично, расстояние по оси y каждой точки, + задающей положение элемента, от центра растяжения + увеличивается в yКоэффициент раз. Команда возвращает + пустую строку.
    -
    scan -
    +
    имяПути scan параметр + аргументы
    -
    . - :
    +
    Используется для сканирования канвы. Имеет две формы в + зависимости от значения параметра:
    -
    scanmark x y
    +
    имяПути scanmark x y
    -
    x, y - scan dragto. - - "" , x y - "". - .
    +
    Сохраняет x, y и текущий вид канвы для последующего + использования командами scan dragto. Обычно + эта команда используется в сочетании с нажатием клавиши + "Мыши" в примитиве, а x и y + являются координатами курсора "Мыши". Возвращает + пустую строку.
    -
    scan dragto x y
    +
    имяПути scan dragto x y
    -
    x - y , - scan mark - . - , 10 . - "" - - . .
    +
    Вычисляет разность между значениями координат x и + y и значениями тех же координат, сохраненными + последней командой scan mark на данном + примитиве. Затем переносит изображение примитива на + расстояние, в 10 раз превышающее вычисленную разность. Команда + обычно связана с событиями движения "Мыши" в примитиве и + используется для скоростного перетаскивания канвы в его + окне. Возвращает пустую строку.
    -
    select -
    +
    имяПути select параметр + тегИлиИд аргумент
    -
    - . - . - , - ; - , , - . - - (. "").
    +
    Производит действия над выделенными элементами тем или иным + способом в зависимости от значения параметра. Команда может + иметь одну из описанных ниже форм. В каждой из приведенных + форм тегИлиИд должен описывать элемент, допускающий + индексирование и выделение; если под описание подходит + несколько элементов, то используется первый из них, + допускающий индексирование и выделение. Индекс + представляет собой текстовое указание позиции в + тегИлиИд (см. описание в "Индексы").
    -
    select adjust -
    +
    имяПути select adjust тегИлиИд + индекс
    -
    - - - (.. , - ). - select to. - , - , - select to. .
    +
    Определяет ближайший к указанному аргументом индекс + положению край набора выделенных элементов в тегИлиИд + и устанавливает новое значение этого края в индекс + (т.е. элемент индекс входит в выделение, а соседний с + ним нет). Противоположный край выделения становится опорной + точкой для последующих команд select to. Если + в текущий момент в тегИлиИд выделения отсутствуют, то + команда ведет себя точно так же, как команда примитива + select to. Возвращает пустую строку.
    -
    select clear
    +
    имяПути select clear
    -
    . - , . - .
    +
    Очищает выделенные элементы в данном примитиве. Если таких + элементов нет, то не производит никаких действий. Возвращает + пустую строку.
    -
    select from -
    +
    имяПути select from тегИлиИд + индекс
    -
    - , . - . - select - to. .
    +
    Устанавливает опорную точку выделения непосредственно перед + символом, заданным аргументом индекс. Текущего + выделения команда не меняет. Она лишь фиксирует начало + выделения для последующих команд select + to. Возвращает пустую строку.
    -
    select item
    +
    имяПути select item
    -
    , - . - , - .
    +
    Возвращает идентификатор выделенного элемента, если + выделение представляет собой элемент канвы. Если в данной + канве выделение отсутствует, то команда возвращает пустую + строку.
    -
    select to -
    +
    имяПути select to тегИлиИд + индекс
    -
    - , , - . , - - . - select adjust - select from. - , - , - , . - .
    +
    Выделяет все символы между опорным символом выделения и + символом, указанным аргументом индекс, включая этот + символ. Опорный символ включается в выделение, только если + значение аргумента индекс больше номера опорного + символа. Опорный символ устанавливается последней выполненной + на данном примитиве командой select adjust + или select from. Если опорный символ + выделения в примитиве не входит в элемент, описываемый + аргументом тегИлиИд, то опорная точка устанавливается + на символ, указанный аргументом индекс. Команда возвращает + пустую строку.
    -
    type
    +
    имяПути type тегИлиИд
    -
    , - (, rectangle - text). - , . - , - .
    +
    Возвращает тип элемента, описываемого аргументом + тегИлиИд (например, rectangle или + text). Если тегИлиИд описывает + несколько элементов, то возвращается тип первого из них. Если + ни один элемент не подходит под описание тегИлиИд, + то команда возвращает пустую строку.
    -
    xview -
    +
    имяПути xview + аргументы
    -

    - , , - . :

    +

    Используется для запроса горизонтального положения + информации, выведенной в окне канвы, и изменения этого + положения. Команда может иметь одну из следующих форм:

    -
    xview
    +
    имяПути xview
    -
    , . - , - ; - . , - , .2, .6, - 20% , - 40% , 40% - .
    +
    Возвращает список, состоящий из двух элементов. Каждый + из элементов списка представляет собой вещественное число, + заключенное между нулем и единицей; эта пара чисел + описывает видимый в окне горизонтальный интервал. Так, + например, если первое число равно .2, а второе .6, то + 20% области канвы оказывается невидимой слева от окна, в + окне выводится 40% информации, и еще 40% оказывается + невидимой справа от окна.
    -
    xview moveto -
    +
    имяПути xview moveto + число
    -
    , - , - . 0 1 +
    Передвигает область видимости так, что слева от + окна остается невидимой часть канвы, указанная аргументом + число. Число должно быть заключено между 0 и 1
    -
    xview scroll -
    +
    имяПути xview scroll + количество что
    -
    , - - . , - - units pages - . - units, - , - xScrollIncrement - ( ), - ( ). - pages, - - . , - , - .
    +
    Сдвигает выводимый в окне текст вправо или влево, + выравнивая его границу в соответствии со значениями + аргументов. Количество должно быть целым числом, + аргумент что может принимать значения + units или pages или быть + сокращением одного из этих слов. Если аргумент + что принимает значение units, то + выравнивание происходит относительно единиц, указанных + значением параметра xScrollIncrement + (если это значение положительно), или относительно десятой + части ширины окна (в противном случае). Если значением + аргумента что является pages, то + единицей выравнивания служит величина в девять десятых + ширины окна. Если количество отрицательно, то + видимая информация сдвигается вправо, в противном случае + влево.
    -
    yview -
    +
    имяПути yview + аргументы
    -

    - , , . - :

    +

    Используется для запроса вертикального положения + информации, выведенной в окне канвы, и изменения этого положения. + Команда может иметь одну из следующих форм:

    -
    yview
    +
    имяПути yview
    -
    , . - , - ; - . , - , .6., 1.0, - 40% ( - -scrollregion). - , - -yscrollcommand. +
    Возвращает список, состоящий из двух элементов. Каждый + из элементов списка представляет собой вещественное число, + заключенное между нулем и единицей; эта пара чисел + описывает видимый в окне вертикальный интервал. Так, + например, если первое число равно .6., а второе 1.0, то в + окне выводятся нижние 40% области канвы (заданной + значением параметра -scrollregion). Эти + значения совпадают со значениями, передаваемыми полосам + прокрутки через параметр -yscrollcommand.
    -
    yview moveto -
    +
    имяПути yview moveto + число
    -
    , - , - . 0 +
    Передвигает область видимости так, что сверху от окна + остается невидимой часть канвы, указанная аргументом + число. Число должно быть заключено между 0 и 1.
    -
    yview scroll -
    +
    имяПути yview scroll + количество что
    -
    , - - . , - - units pages - . - units, - , - yScrollIncrement - ( ), - ( ). - pages, - - . , - , - . +
    Сдвигает выводимый в окне текст вверх или вниз, + выравнивая его границу в соответствии со значениями + аргументов. Количество должно быть целым числом, + аргумент что может принимать значения + units или pages или быть + сокращением одного из этих слов. Если аргумент + что принимает значение units, то + выравнивание происходит относительно единиц, указанных + значением параметра yScrollIncrement + (если это значение положительно), или относительно десятой + части высоты окна (в противном случае). Если значением + аргумента что является pages, то + единицей выравнивания служит величина в девять десятых + высоты окна. Если количество отрицательно, то + видимая информация сдвигается вниз, в противном случае + вверх.
    -

    +

    ОБЗОР ТИПОВ ЭЛЕМЕНТОВ

    -

    , - . , -, - create, - , , -, - , - create - itemconfigure. - - , index - insert. , - , ( - ).

    +

    Ниже описываются различные типы элементов, поддерживаемые + примитивами канвы. Каждый тип характеризуется, во-первых, формой + команды create, посредством которой создаются + элементы этого типа, и, во-вторых, набором параметров + конфигурации элементов этого типа, которые можно использовать в + командах примитива create и + itemconfigure. Большинство типов не + поддерживают выделение и индексирование и связанные с этими + операциями команды, такие как index или + insert. Для типов, поддерживающих указанные + возможности, они описаны явно (пока речь идет только о текстовых + элементах).

    -

    +

    ДУГИ

    -

    arc - . , - ( - -start -extent); - - -style. - .

    +

    Элементы типа arc выводятся на экран в виде + отрезка дуги. Дуга представляет собой отрезок овала, + заключенный между двумя радиусами (заданными параметрами + -start и -extent); она + изображается на экране в одном из нескольких возможных видов в + зависимости от значения параметра -style. Дуги + создаются командами примитива.

    -
    create arc x1 y1 x2 y2 - ...
    +
    имяПути create arc x1 y1 x2 y2 + параметр значение параметр значение ...
    -

    x1 y1 x2 y2 - , - . - -, - . - - - itemconfigure - . - :

    +

    Аргументы x1 y1 x2 y2 задают координаты + противоположных углов прямоугольной области, в которую вписан + овал. За координатами следует несколько пар + параметр-значение, каждая из которых устанавливает + значение одного из параметров конфигурации элемента. Такие же + пары параметр-значение используются командами + примитива itemconfigure для изменения + параметров конфигурации. Команда поддерживает следующие + параметры:

    -
    -extent
    +
    -extent угол
    -
    , . - , - , - -start. - . 360 - -360 , - 360.
    +
    Задает величину сектора, содержащего дугу. Дуга + простирается на угол, отсчитываемый от начальной + точки дуги, заданной параметром + -start. Угол может быть и + отрицательным. Если его величина превосходит 360 градусов + или оказывается меньше -360 градусов, то берется его + значение по модулю 360.
    -
    -fill
    +
    -fill цвет
    -
    , - . - , - Tk_GetColor. - , - . - .
    +
    Закрашивает цветом область, ограниченную + дугой. Аргумент цвет может принимать любое + значение, воспринимаемое командой + Tk_GetColor. Если значением + цвета является пустая строка, то закрашивания не + происходит. Пустая строка также принимается значением + параметра по умолчанию.
    -
    -outline
    +
    -outline цвет
    -
    . - , - Tk_GetColor. - black. - , .
    +
    Цвет задает цвет контура дуги. Этот параметр может + принимать любое значение, воспринимаемое командой + Tk_GetColor. По умолчанию параметр имеет + значение black. Если в качестве параметра + задана пустая строка, то контур дуги не изображается.
    -
    -outlinestipple
    +
    -outlinestipple двуцвет
    -
    , - . - , - , - Tk_GetBitmap. -outline - , - -outlinestipple . - , - .
    +
    Указывает, что контур дуги должен изображаться в + соответствии с образцом пунктира. Аргумент + двуцвет указывает этот образец, он может + принимать любое значение, воспринимаемое командой + Tk_GetBitmap. Если параметр -outline не + задан, то задание параметра + -outlinestipple не влияет на вывод. Если + значением данного параметра является пустая строка, то + дуга будет рисоваться сплошной линией.
    -
    -start
    +
    -start угол
    -
    , - . - 3- - . , - .
    +
    Задает положение начала сектора, содержащего + дугу. Угол задается в градусах и отсчитывается + против часовой стрелки от 3-часового положения часовой + стрелки. Он может быть как положительным, так и + отрицательным.
    -
    -stipple
    +
    -stipple двуцвет
    -
    - . - , - Tk_GetBitmap. - -fill , - -stipple - . -stipple - , - .
    +
    Указывает необходимость закрашивания области дуги в + соответствии с образцом пунктира. Допустимы любые + значения, воспринимаемые командой + Tk_GetBitmap. Если параметр + -fill не задан, то параметр + -stipple не оказывает влияния на + вывод. Если значением параметра -stipple + является пустая строка, то выполняется сплошное + закрашивание.
    -
    -style
    +
    -style тип
    -
    . - pieslice ( ), - , - , - . chord , - , - , . arc - , . - -fill - .
    +
    Задает тип изображения дуги. Если тип имеет + значение pieslice (по умолчанию), то + область дуги имеет вид сектора, ограниченного дугой и + двумя радиусами, проведенными из центра овала к ее + концам. Тип chord указывает на то, что + область имеет вид сегмента, ограниченного дугой и + отрезком, соединяющим ее концы. Тип arc + означает, что область дуги состоит из самой этой дуги. В + последнем случае параметр -fill + игнорируется.
    -
    -tags
    +
    -tags списокТегов
    -
    , . - , - . - .
    +
    Задает набор тегов, относящихся к элементу. + СписокТегов представляет собой список имен тегов, + замещающий имеющиеся теги элемента. СписокТегов + может быть пустым.
    -
    -width
    +
    -width ширинаКонтура
    -
    ; - , - (. ""). - -outline - , -width - . , - . - 1.0 .
    +
    Задает ширину контура вокруг области дуги; значением + параметра может быть любое допустимое значение координат, + описанное выше (см. "Координаты"). Если значением + параметра -outline является пустая + строка, то параметр -width не влияет на + характер вывода. Широкий контур центрируется на отрезках, + ограничивающих область дуги. По умолчанию параметр имеет + значение 1.0 .
    -

    +

    ДВУЦВЕТНЫЕ ЭЛЕМЕНТЫ

    -

    bitmap - : , -

    +

    Элементы типа bitmap изображаются на экране с + помощью двух цветов: цвета фона и цвета переднего плана, + Двуцветные изображения создаются командой примитива

    -
    create bitmap x y - ...
    +
    имяПути create bitmap x y + параметр значение параметр значение ...
    -

    x y - ( - - -anchor). - -, - - . - - - itemconfigure. - :

    +

    Аргументы x и y задают координаты опорной + точки двуцветного изображения на экране (подробнее процедура + размещения изображения описана ниже при описании параметра + -anchor). За координатами следует несколько + пар параметр-значение, каждая из которых + устанавливает значение одного из параметров конфигурации + элемента. Такие же пары параметр-значение + используются для изменения значений параметров с помощью + команды примитива itemconfigure. Для + двуцветных изображений допустимы следующие параметры:

    -
    -anchor
    +
    -anchor положениеОпоры
    -
    - . - , - Tk_GetAnchor. , - center, - ; - n , - - .. +
    ПоложениеОпоры указывает способ размещения + изображения по отношению к его опорной точке. Параметр + может принимать произвольное значение, воспринимаемое + командой Tk_GetAnchor. Так, если параметр + имеет значение center, то в опорной точке + располагается центр изображения; значение + n указывает, что в опорной точке + располагается верхняя центральная точка изображения и + т.д. По умолчанию параметр имеет значение center.
    -
    -background
    +
    -background цвет
    -
    , - 0. - , - Tk_GetColor. - , - 0 , - .
    +
    Задает цвет, используемый для отображения пикселей + двуцветного изображения со значением 0. Параметр может + принимать любое значение, воспринимаемое командой + Tk_GetColor. Если параметр не задан или + цвет является пустой строкой, то пиксели со + значением 0 не выводятся, что создает эффект + прозрачности.
    -
    -bitmap
    +
    -bitmap двуцвет
    -
    - . , - +
    Задает двуцветное изображение для вывода в + элементе. Параметр может принимать любое значение, + воспринимаемое командой Tk_GetBitmap.
    -
    -foreground
    +
    -foreground цвет
    -
    , - .1.. , - Tk_GetColor; - black.
    +
    Задает цвет пикселей двуцветного изображения, имеющих + значение .1.. Параметр может принимать любое значение, + воспринимаемое командой Tk_GetColor; по + умолчанию его значение black.
    -
    -tags
    +
    -tags списокТегов
    -
    . - , - . - . +
    Приписывает элементу список тегов. + СписокТегов представляет собой список имен тегов, + замещающий имеющиеся теги элемента. СписокТегов может быть + пустым.
    -

    +

    ЛИНИИ

    -

    line - - . -

    +

    Элементы типа line выводятся на экран в виде + прямо- или криволинейной ломаной. Линии создаются командой + примитива

    -
    create line x1 y1 - ... xn yn ...
    +
    имяПути create line x1 y1 + ... xn yn параметр значение параметр значение ...
    -

    x1 yn - , - . - -, - . - - - - itemconfigure. - :

    +

    Аргументы от x1 до yn задают координаты + последовательности из двух или более точек, соединенных + отрезками. За координатами может следовать произвольный набор + пар параметр-значение, каждая из которых + устанавливает значение одного из параметров элемента. С + помощью тех же пар параметр-значения можно задать + новые значения параметров командами примитива + itemconfigure. Команда поддерживает + следующие параметры:

    -
    -arrow
    +
    -arrow где
    -
    , - . - : none ( - ), first ( - ), last - ( ) - both ( - ).
    +
    Указывает, следует ли изображать стрелки на одном или + обоих концах линии. Значение где может быть одним + из следующих: none (стрелки не + изображаются), first (изображается + стрелка в начале линии), last + (изображается стрелка в конце линии) или + both (стрелка изображается на обоих + концах).
    -
    -arrowshape
    +
    -arrowshape форма
    -
    . - , , - , - (. ""). - - . - - , - . , Tk - "" - .
    +
    Описывает форму стрелки. Значением параметра должен быть + список, содержащий три элемента, каждый из которых + представляет собой расстояние в виде, описанном выше + (см. "Координаты"). + Первый элемент списка задает расстояние вдоль линии от + начала до острия стрелки. Второй элемент задает + расстояние вдоль линии от хвостовых концов стрелки до ее + острия, третий расстояние от внешнего ребра линии до + хвостовых точек. Если параметр не задан, то Tk + самостоятельно выбирает "разумную" форму + стрелки.
    -
    -capstyle
    +
    -capstyle стиль
    -
    - . , - Tk_GetCapstyle - (butt, projecting - round). - butt. - .
    +
    Описывает способ изображения концов линии в отсутствие + стрелок. Параметр может принимать любое значение, + воспринимаемое командой Tk_GetCapstyle + (butt, projecting или + round). По умолчанию имеет значение + butt. При наличии стрелок параметр + игнорируется.
    -
    -fill
    +
    -fill цвет
    -
    . - , - Tk_GetColor. - , . - black.
    +
    Задет цвет изображаемой линии. Параметр может принимать + любое значение, воспринимаемое командой + Tk_GetColor. Если значением параметра + является пустая строка, то линия будет прозрачной. По + умолчанию цвет имеет значение black.
    -
    -joinstyle
    +
    -joinstyle стиль
    -
    - . , - Tk_GetCapstyle - (bevel, miter - round). - miter. - .
    +
    Задает способ соединения отрезков линии в + вершинах. Параметр может принимать любое значение, + воспринимаемое командой Tk_GetCapstyle + (bevel, miter или + round). По умолчанию имеет значение + miter. При наличии всего двух вершин + параметр игнорируется.
    -
    -smooth
    +
    -smooth булевское
    -
    , - Tk_GetBoolean. , - , ( - - : , - ..). - , .
    +
    Параметр может принимать любое значение, воспринимаемое + командой Tk_GetBoolean. Указывает, нужно + ли сглаживать ломаную, превращая ее в кривую (в этом + случае линия изображается в виде набора параболических + сплайнов: для первого и второго отрезка, для второго и + третьего отрезка и т.д.). В кривую можно вставлять + прямолинейные отрезки, удваивая нужные вершины.
    -
    -splinesteps
    +
    -splinesteps число
    -
    : - - . -spline - -splinesteps .
    +
    Задает желаемую степень гладкости кривой: каждый сплайн + будет аппроксимирован числом прямолинейных + отрезков. При опущенном параметре -spline + параметр -splinesteps игнорируется.
    -
    -stipple
    +
    -stipple двуцвет
    -
    - ; , - - Tk_GetBitmap. - (, , ), - .
    +
    Указывает на необходимость пунктирного изображения + линии; двуцвет задает образец изображения в виде, + воспринимаемом командой + Tk_GetBitmap. Если значением параметра + является пустая строка (как, например, по умолчанию), то + линия изображается непрерывной кривой.
    -
    -tags
    +
    -tags списокТегов
    -
    . - , - . - .
    +
    Приписывает к элементу набор тегов. + СписокТегов представляет собой список имен тегов, + замещающих все имеющиеся теги элемента. Он может быть + пустым.
    -
    -width
    +
    -width ширинаЛинии
    -
    , - (. ""). - . - 1.0.
    +
    Задает ширину линии в произвольном виде, описанном выше + (см. "Координаты"). + Центр широкой линии проходит через вершины. По умолчанию + параметр имеет значение 1.0.
    -

    +

    ОВАЛЫ

    -

    oval - . - .

    +

    Элементы типа oval появляются на экране в виде + овальных или круглых областей. Каждый овал может быть + закрашенным и иметь контур. Овалы создаются командой примитива

    -
    create oval x1 y1 x2 - y2 ...
    +
    имяПути create oval x1 y1 x2 + y2 параметр значение параметр значение ...
    -

    x1, y1, x2 - y2 - , . - , - . , - , - . - -, - . - - itemconfigure - . :

    +

    Аргументы x1, y1, x2 и + y2 задают координаты двух диагонально противоположных + углов прямоугольника, заключающего овал. Овал включает в себя + верхнюю и левую стороны прямоугольника, но не его нижнюю и + правую сторону. Если прямоугольник представляет собой квадрат, + то овал будет кругом, в противном случае он вытянут в одном из + направлений. За координатами может следовать произвольный + набор пар параметр-значение, каждая пара + устанавливает значение одного из параметров. Такие же пары + используются командами примитива + itemconfigure для изменения конфигурации + элемента. Команда поддерживает следующие параметры:

    -
    -fill
    +
    -fill цвет
    -
    , - . - , - Tk_GetColor. - , - . - .
    +
    Закрашивает цветом область, ограниченную + овалом. Аргумент цвет может принимать любое + значение, воспринимаемое командой + Tk_GetColor. Если значением + цвета является пустая строка, то закрашивания не + происходит. Пустая строка также принимается значением + параметра по умолчанию.
    -
    -outline
    +
    -outline цвет
    -
    . - , - Tk_GetColor. - black. - , - .
    +
    Цвет задает цвет контура овала. Этот параметр может + принимать любое значение, воспринимаемое + командойTk_GetColor. По умолчанию + параметр имеет значение black. Если в + качестве параметра задана пустая строка, то контур овала + не изображается.
    -
    -stipple
    +
    -stipple двуцвет
    -
    - . - , - Tk_GetBitmap. - -fill , - -stipple - . -stipple - ( ), - .
    +
    Указывает на необходимость закрашивания внутренности + овала в соответствии с образцом пунктира. Допустимы любые + значения, воспринимаемые командой + Tk_GetBitmap. Если параметр + -fill не задан, то параметр + -stipple не оказывает влияния на + вывод. Если значением параметра -stipple + является пустая строка (по умолчанию), то выполняется + сплошное закрашивание.
    -
    -tags
    +
    -tags списокТегов
    -
    , . - , - . - .
    +
    Задает набор тегов, относящихся к элементу. + СписокТегов представляет собой список имен тегов, + замещающий имеющиеся теги элемента. СписокТегов + может быть пустым.
    -
    -width
    +
    -width ширинаКонтура
    -
    ; - , - (. ""). - -outline , - -width - . , - x1, y1, x2, - y2. +
    Задает ширину контура вокруг овала; значением параметра + может быть любое допустимое значение координат, описанное + выше (см. "Координаты"). Если параметр + -outline не задан, то параметр + -width не влияет на характер + вывода. Широкий контур центрируется на овале, заданном + координатами x1, y1, x2, + y2. По умолчанию параметр имеет значение 1.0.
    -

    +

    МНОГОУГОЛЬНИКИ

    -

    polygon - (, ) - .

    +

    Элементы типа polygon выводятся на экран в + виде закрашенных многоугольных (возможно, криволинейных) + областей. Многоугольники задаются командами примитива

    -
    create polygon x1 y1 ... xn yn - ...
    +
    имяПути create polygon x1 y1 ... xn yn + параметр значение параметр значение ...
    -

    x1 yn - , - . ; - , , Tk - . - -, - . - - - itemconfigure - . - :

    +

    Аргументы с x1 до yn задают координаты не + менее чем трех точек, определяющих замкнутый + многоугольник. Первая и последняя точки могут совпадать; вне + зависимости от того, так это или нет, Tk изображает замкнутый + многоугольник. За координатами может следовать несколько пар + параметр-значение, каждая из которых устанавливает + один из параметров конфигурации элемента. Те же пары + параметр-значение могут быть использованы в команде + примитива itemconfigure для изменения + конфигурации элемента. Команда поддерживает следующие + параметры:

    -
    -fill
    +
    -fill цвет
    -
    . - , - Tk_GetColor. - , - . +
    Задет цвет закраски многоугольника. Параметр может + принимать любое значение, воспринимаемое командой + Tk_GetColor. Если значением параметра + является пустая строка, то многоугольник будет + прозрачным. По умолчанию цвет имеет значение black.
    -
    -outline
    +
    -outline цвет
    -
    . - , - Tk_GetColor. - ( ), - .
    +
    Цвет задает цвет контура многоугольника. Этот + параметр может принимать любое значение, воспринимаемое + командой Tk_GetColor. Если в качестве + значения параметра задана пустая строка (по умолчанию), то + контур овала не изображается.
    -
    -smooth
    +
    -smooth булевское
    -
    , - Tk_GetBoolean. , - , ( - - : , - ..). - , - .
    +
    Параметр может принимать любое значение, воспринимаемое + командой Tk_GetBoolean. Указывает, нужно + ли сглаживать многоугольник, превращая его в кривую (в + этом случае кривая изображается в виде набора + параболических сплайнов: для первого и второго отрезка, + для второго и третьего отрезка и т.д.). В кривую можно + вставлять прямолинейные отрезки, удваивая нужные + вершины.
    -
    -splinesteps
    +
    -splinesteps число
    -
    : - - . -smooth - -splinesteps .
    +
    Задает желаемую степень гладкости кривой: каждый сплайн + будет аппроксимирован числом прямолинейных + отрезков. При опущенном параметре -smooth + параметр -splinesteps игнорируется.
    -
    -stipple
    +
    -stipple двуцвет
    -
    - ; - , - Tk_GetBitmap. - (, , ), - .
    +
    Указывает на необходимость пунктирного закрашивания + многоугольника; двуцвет задает образец + изображения в виде, воспринимаемом командой + Tk_GetBitmap. Если значением параметра + является пустая строка (как, например, по умолчанию), то + осуществляется непрерывное закрашивание.
    -
    -tags
    +
    -tags списокТегов
    -
    . - , - . - .
    +
    Приписывает к элементу набор тегов. + СписокТегов представляет собой список имен тегов, + замещающих все имеющиеся теги элемента. Он может быть + пустым.
    -
    -width
    +
    -width ширинаКонтура
    -
    - , (. ""). - -outline , - -width . - 1.0.
    +
    Задает ширину контура вокруг многоугольника в + произвольном виде, описанном выше (см. "Координаты"). Если параметр + -outline не задан, то параметр + -width игнорируется. По умолчанию + параметр имеет значение 1.0.
    -

    , - , - "" (, - find closest - find overlapping), - . - , - . - , - , - line.

    +

    Многоугольные элементы отличаются от других прямоугольников, + овалов и дуг в том отношении, что их внутренние точки считаются + находящимися "внутри" многоугольника (например, в + смысле команд примитива find closest и + find overlapping), даже если он и не + закрашен. Для большинства остальных типов элементов внутренние + точки считаются находящимися внутри элемента, только если + элемент закрашен или если он не закрашен и не имеет контура. + Если Вам нужен незакрашенный многоугольник, внутренние точки + которого не считаются находящимися внутри него, то пользуйтесь + вместо этого элементом line.

    -

    +

    ПРЯМОУГОЛЬНИКИ

    -

    rectangle - . - . -

    +

    Элементы типа rectangle появляются на экране в + виде прямоугольных областей. Каждый прямоугольник может быть + закрашенным и иметь контур. Прямоугольники создаются командой + примитива

    -
    create rectangle x1 y1 - x2 y2 ...
    +
    имяПути create rectangle x1 y1 + x2 y2 параметр значение параметр значение ...
    -

    x1, y1, x2 y2 - - ( - , ). - -, - . - - itemconfigure - . :

    +

    Аргументы x1, y1, x2 и y2 задают + координаты двух диагонально противоположных углов + прямоугольника (верхняя и левая стороны прямоугольника входят + в него, а нижняя и правая сторона нет). За координатами может + следовать произвольный набор пар параметр-значение, + каждая пара устанавливает значение одного из параметров. Такие + же пары используются командами примитива + itemconfigure для изменения конфигурации + элемента. Команда поддерживает следующие параметры:

    -
    -fill
    +
    -fill цвет
    -
    . - , - Tk_GetColor. - , - . - .
    +
    Закрашивает цветом прямоугольную область. + Аргумент цвет может принимать любое значение, + воспринимаемое командой Tk_GetColor. Если + значением цвета является пустая строка, то + закрашивания не происходит. Пустая строка также + принимается значением параметра по умолчанию.
    -
    -outline
    +
    -outline цвет
    -
    . - , - Tk_GetColor. - black. - , - .
    +
    Цвет задает цвет контура прямоугольника. Этот + параметр может принимать любое значение, воспринимаемое + командой Tk_GetColor. По умолчанию + параметр имеет значение black. Если в + качестве параметра задана пустая строка, то контур + прямоугольника не изображается.
    -
    -stipple
    +
    -stipple двуцвет
    -
    - . - , - Tk_GetBitmap. - -fill , - -stipple - . -stipple - ( ), - .
    +
    Указывает на необходимость закрашивания прямоугольника в + соответствии с образцом пунктира. Допустимы любые + значения, воспринимаемые командой + Tk_GetBitmap. Если параметр + -fill не задан, то параметр + -stipple не оказывает влияния на + вывод. Если значением параметра -stipple + является пустая строка (по умолчанию), то выполняется + сплошное закрашивание.
    -
    -tags
    +
    -tags списокТегов
    -
    , . - , - . - .
    +
    Задает набор тегов, относящихся к элементу. + СписокТегов представляет собой список имен тегов, + замещающий имеющиеся теги элемента. СписокТегов + может быть пустым.
    -
    -width
    +
    -width ширинаКонтура
    -
    ; - , - (. """"). - -outline , - -width - . , - x1, y1, - x2, y2. - 1.0.
    +
    Задает ширину контура вокруг прямоугольника; значением + параметра может быть любое допустимое значение координат, + описанное выше (см. ""Координаты""). Если параметр + -outline не задан, то параметр + -width не влияет на характер + вывода. Широкий контур центрируется на прямоугольнике, + заданном координатами x1, y1, + x2, y2. По умолчанию параметр имеет + значение 1.0.
    -

    +

    ТЕКСТОВЫЕ ЭЛЕМЕНТЫ

    -

    - . - , - dchars, +

    Текстовый элемент предназначен для вывода на экран строки + символов в одну или несколько строчек. Текстовые элементы + поддерживают индексы и выделение, и на них могут быть выполнены + команды примитива канвы dchars, focus, icursor, index, insert, - select. -

    + select. Текстовые элементы создаются командой + примитива

    -
    create text x y - ...
    +
    имяПути create text x y + параметр значение параметр значение ...
    -

    x y , - ( - ). - - -, - . - - itemconfigure - . :

    +

    Аргументы x и y задают координаты точки, + используемой для размещения текста на экране (подробнее + размещение текста описано ниже при описании параметров). За + координатами могут следовать несколько пар + параметр-значение, каждая из которых устанавливает + значение одного из параметров конфигурации элемента. Такие же + пары используются командами примитива + itemconfigure для изменения конфигурации + элемента. Команда поддерживает следующие параметры:

    -
    -anchor
    +
    -anchor положениеОпоры
    -
    - . - , - Tk_GetAnchor. , - center, - ; - n - .. - +
    ПоложениеОпоры указывает способ размещения + текста по отношению к его опорной точке. Параметр может + принимать произвольное значение, воспринимаемое командой + Tk_GetAnchor. Так, если параметр + имеет значение center, то в + опорной точке располагается центр текста; значение + n указывает что в опорной точке + располагается верхняя центральная точка текста и т.д. По + умолчанию параметр имеет значение center.
    -
    -fill
    +
    -fill цвет
    -
    . - , - - Tk_GetColor. - black.
    +
    Закрашивает цветом символы текста. Аргумент + цвет может принимать любое значение, + воспринимаемое командой + Tk_GetColor. Значением параметра по + умолчанию является black.
    -
    -font
    +
    -font имяШрифта
    -
    . - , - Tk_GetFontStruct. , - - - .
    +
    Задает шрифт текста в элементе. ИмяШрифта может + быть произвольной строкой, воспринимаемой командой + Tk_GetFontStruct. Если параметр не задан, + то его значением по умолчанию является системно-зависимый + шрифт.
    -
    -justify
    +
    -justify как
    -
    - . - left, right - center. - , - . +
    Задает способ выравнивания текста внутри области + текста. Аргумент как может принимать одно из + значений left, right или + center. Параметр оказывает влияние на + размещение текста, только если выводится несколько + строчек. По умолчанию параметр имеет значение left.
    -
    -stipple
    +
    -stipple двуцвет
    -
    - . , - - Tk_GetBitmap. - -stipple ( - ), .
    +
    Указывает на необходимость вывода текста в соответствии + с образцом пунктира. Допустимы любые значения, + воспринимаемые командой + Tk_GetBitmap. Если значением параметра + -stipple является пустая строка (по + умолчанию), то текст выводится сплошной линией.
    -
    -tags
    +
    -tags списокТегов
    -
    , . - , - . - .
    +
    Задает набор тегов, относящихся к элементу. + СписокТегов представляет собой список имен тегов, + замещающий имеющиеся теги элемента. СписокТегов + может быть пустым.
    -
    -width
    +
    -width длинаСтрочки
    -
    ; - , - (. ""). - ( ), - - . , , , - , - , , - ( ) . - - .
    +
    Задает максимальную длину строчки текста; значением + параметра может быть любое допустимое значение координат, + описанное выше (см. "Координаты"). Если значение + параметра равно нулю (по умолчанию), то перенос строки + происходит только при появлении в тексте символа новой + строчки. Если, однако, значение параметра не равно нулю, + то концом строчки, длина которой превосходит + длинуСтрочки, считается символ пробела с номером, + ближайшим (с недостатком) к длинеСтрочки. Этот + символ пробела рассматривается как символ перехода на + новую строчку.
    -

    +

    ОКНА

    -

    window - .

    +

    Элементы типа window предназначены для вывода + окна в указанное положение на канве. Окна создаются командой

    -
    create window x y - ...
    +
    имяПути create window x y + параметр значение параметр значение ...
    -

    x y , - ( - - -anchor). - -, - - . - - - itemconfigure. - :

    +

    Аргументы x и y задают координаты точки, + используемой для размещения окна на экране (подробнее + размещение текста описано ниже при описании параметра + -anchor). За координатами могут следовать + несколько пар параметр-значение, каждая из которых + устанавливает значение одного из параметров конфигурации + элемента. Такие же наборы параметр-значение + используются для изменения значений параметров с помощью + команды примитива itemconfigure. Окна + поддерживают следующие параметры:

    -
    -anchor
    +
    -anchor положениеОпоры
    -
    - . - , - Tk_GetAnchor. , - center, - ; n - - .. - center.
    +
    ПоложениеОпоры указывает способ размещения окна + по отношению к опорной точке элемента. Параметр может + принимать произвольное значение, воспринимаемое командой + Tk_GetAnchor. Так, если параметр имеет + значение center, то в опорной точке + располагается центр текста; значение n + указывает что в опорной точке располагается верхняя + центральная точка текста и т.д. По умолчанию параметр + имеет значение center.
    -
    -height
    +
    -height пиксели
    -
    . - , (. ""). - - , .
    +
    Задает высоту окна элемента. Аргумент пиксели + может иметь вид, описанный выше (см. "Координаты"). Если + параметр не задан или если его значением является пустая + строка, то высота окна определяется его содержимым.
    -
    -tags
    +
    -tags списокТегов
    -
    , . - , - . - .
    +
    Задает набор тегов, относящихся к элементу. + СписокТегов представляет собой список имен тегов, + замещающий имеющиеся теги элемента. СписокТегов + может быть пустым.
    -
    -width
    +
    -width пиксели
    -
    . - , (. ""). - , - .
    +
    Задает ширину окна элемента. Аргумент пиксели + может иметь вид, описанный выше (см. "Координаты"). Если параметр не + задан или если его значением является пустая строка, то + ширина окна определяется его содержимым.
    -
    -window
    +
    -window имяПути
    -
    . , - , - , - . - .
    +
    Приписывает данному элементу окно. Окно, заданное + аргументом имяПути, должно быть либо потомком + примитива канвы, либо потомком одного из наследников + примитива канвы. ИмяПути может и не указывать + окно верхнего уровня.
    -

    . - (, - ) .

    +

    Замечание. Ограничения на управление окнами не + позволяют выводить графические элементы (такие, как кривые и + двуцветные изображения) поверх окон.

    -

    ,

    +

    ТИПЫ ЭЛЕМЕНТОВ, ОПРЕДЕЛЯЕМЫЕ В ПРИЛОЖЕНИЯХ

    -

    - C . - Tk_CreateItem.

    +

    В конкретных приложениях можно определять новые типы элементов + для примитивов канвы с помощью C кода. Описание этой возможности + приведено в документации для Tk_CreateItem.

    -

    +

    ПРЕДПОЧТЕНИЯ

    -

    - ; - Tcl.

    +

    В текущей реализации новая канва не имеет никакого поведения + по умолчанию; для определения этого поведения необходимо явно + выполнить команды Tcl.

    diff --git a/hlp/ru/tk/checkbutton.html b/hlp/ru/tk/checkbutton.html index 0d529bf..7702ea3 100644 --- a/hlp/ru/tk/checkbutton.html +++ b/hlp/ru/tk/checkbutton.html @@ -1,4 +1,4 @@ - + checkbutton @@ -8,17 +8,17 @@

    checkbutton

    -

    .

    +

    Создание примитива защелкивающейся кнопки и управление им.

    -

    +

    СИНТАКСИС

    -      checkbutton  
    +      checkbutton имяПути параметры
         
    -

    +

    СТАНДАРТНЫЕ ПАРАМЕТРЫ

    • -activebackground
    • @@ -46,306 +46,307 @@
    • -wraplength
    -

    options.

    +

    Подробное описание этих параметров приведено в разделе options.

    -

    +

    ДОПОЛНИТЕЛЬНЫЕ ПАРАМЕТРЫ ПРИМИТИВА

    - - - + + +
    :-command
    :command
    :Command
    Имя параметра:-command
    Имя в Базе:command
    Класс в Базе:Command
    -

    Tk. - 1 "" . - - ( -variable).

    +

    Ассоциирует с кнопкой команду Tk. Обычно команда выполняется + при отпускании клавиши 1 "Мыши" на кнопке. Перед + выполнением этой команды обновляется значение глобальной + переменной (параметр -variable).

    - - - + + +
    :-height
    :height
    :Height
    Имя параметра:-height
    Имя в Базе:height
    Класс в Базе:Height
    -

    . - , - (.., , - Tk_GetPixels); - . , - .

    +

    Задает желаемую высоту кнопки. Если в кнопке выводится + изображение или двуцветное изображение, то значение параметра + задается в пикселях (т.е., в любом виде, приемлемом для + Tk_GetPixels); высота текстовой кнопки задается числом + строчек текста. Если параметр не задан, то высота кнопки + вычисляется по ее содержимому.

    - - - + + +
    :-indicatoron
    :indicatorOn
    :IndicatorOn
    Имя параметра:-indicatoron
    Имя в Базе:indicatorOn
    Класс в Базе:IndicatorOn
    -

    , . - . "", - relief - , , - .

    +

    Указывает, следует ли выводить индикатор. Значение параметра + должно быть булевским. Если значением является "ложь", то + параметр relief игнорируется и примитив всегда + изображается вдавленным, если он выделен, и выпуклым в противном + случае.

    - - - + + +
    :-offvalue
    :offValue
    :OffValue
    Имя параметра:-offvalue
    Имя в Базе:offValue
    Класс в Базе:OffValue
    -

    , - . - 0.

    +

    Задает значение, которое нужно сохранять в переменной кнопки + всякий раз при прекращении выделения кнопки. По умолчанию + сохраняемое значение равно 0.

    - - - + + +
    :-onvalue
    :onValue
    :OnValue
    Имя параметра:-onvalue
    Имя в Базе:onValue
    Класс в Базе:OnValue
    -

    , - . 1.

    +

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

    - - - + + +
    :-selectcolor
    :selectColor
    :SelectColor
    Имя параметра:-selectcolor
    Имя в Базе:selectColor
    Класс в Базе:SelectColor
    -

    . - IndicatorOn , - . Windows - - . IndicatorOn - , - , , - background activeBackground.

    +

    Задает цвет фона для изображения выделенной кнопки. Если параметр + IndicatorOn имеет значение истина, то указанный цвет + применяется для изображения индикатора. В системе Windows тот же цвет + используется в качестве фона изображения индикатора вне зависимости от + состояния выделения. Если значением параметра IndicatorOn + является ложь, то указанный цвет используется в качестве фона для всего + примитива, когда он выделен, вместо значений параметров + background и activeBackground.

    - - - + + +
    :-selectimage
    :selectImage
    :SelectImage
    Имя параметра:-selectimage
    Имя в Базе:selectImage
    Класс в Базе:SelectImage


    - , - ( , -image). - -image , - -selectimage .
    + Задает изображение, выводимое в кнопке при выделении кнопки + проверки (вместо изображения, заданного параметром -image). Если + параметр -image отсутствует, то значение параметра + -selectimage игнорируется.

    - - - + + +
    :-state
    :state
    :State
    Имя параметра:-state
    Имя в Базе:state
    Класс в Базе:State
    -

    : - normal, active - disabled. - - foreground - background. - , - . - activeForeground - activeBackground. , - : - - "" . - disabledForeground +

    Задает одно из трех состояний защелкивающейся кнопки: + normal, active или + disabled. В нормальном состоянии + защелкивающаяся кнопка изображается с использованием значений + параметров foreground и + background. В активном состоянии + защелкивающаяся кнопка обычно находится, если на ней расположен + курсор. Защелкивающаяся кнопка в активном состоянии изображается + с использованием значений параметров activeForeground и + activeBackground. Отключенное состояние указывает на то, + что кнопка должна быть нечувствительной: привязки по умолчанию + не приводят к запуску примитива и нажатия на кнопку + "Мыши" игнорируются. В этом состоянии изображение кнопки + определяется значениями параметров disabledForeground и background.

    - - - + + +
    :-variable
    :variable
    :Variable
    Имя параметра:-variable
    Имя в Базе:variable
    Класс в Базе:Variable
    -

    , - , . - (.. - ).

    +

    Задает имя глобальной переменной, в которой хранится информация + о том, выделена или нет данная кнопка. По умолчанию совпадает с + именем кнопки (т.е. с последним элементом имени пути окна + кнопки).

    - - - + + +
    :-width
    :width
    :Width
    Имя параметра:-width
    Имя в Базе:width
    Класс в Базе:Width
    -

    . - , - (.., , - Tk_GetPixels); - . , - .

    +

    Задает желаемую ширину кнопки. Если в кнопке выводится + изображение или двуцветное изображение, то значение параметра + задается в пикселях (т.е., в любом виде, приемлемом для + Tk_GetPixels); ширина текстовой кнопки задается числом + символов. Если параметр не задан, то ширина кнопки вычисляется по + ее содержимому.

    -

    +

    ОПИСАНИЕ

    -

    checkbutton ( - ) - . - , , , - . - button . - - , .

    +

    Команда checkbutton создает новое окно (задаваемое + аргументом имяПути) и превращает его в примитив + защелкивающейся кнопки. Детали изображения защелкивающейся + кнопки, такие как ее цвета, шрифт, текст и объемный вид задаются + с помощью описанных выше дополнительных параметров. Команда + button возвращает аргумент имяПути. В момент + выполнения этой команды не должно существовать окна с именем + имяПути, но должен существовать его предок.

    -

    , - , - , , . - , - ( - wrapLength). - ( - underline). - , - : button - ; , - , , . - ( 1 "", - "" ) - Tcl, -command.

    +

    Защелкивающаяся кнопка представляет собой примитив, в котором + выводится текстовая строка, изображение или двуцветное + изображение, а также квадратик, называемый индикатором. + Весь выводимый текст должен быть записан одним шрифтом, однако + он может занимать несколько строчек на экране (если в нем есть + символы перевода строки или задан параметр wrapLength). + Один из символов текста может быть подчеркнут (в соответствии со + значением параметра underline). Защелкивающаяся кнопка + обладает всеми характеристиками обычной кнопки, включая + следующие: в зависимости от значения параметра button + кнопка имеет три разных вида; кнопка может выглядеть выпуклой, + вдавленной или плоской, кроме того, она может мигать. При + инициации защелкивающейся кнопки (нажатием на клавишу 1 "Мыши", + когда курсор "Мыши" находится на кнопке) выполняется команда + Tcl, указанная в параметре -command.

    -

    , . - , - , Tcl, - , ( 1). - Unix - . Windows - . , - , - ( 0). Unix - . - Windows . - , - , , - . - / - . - ( - ). - - . , - - .. - .

    +

    Кроме того, защелкивающиеся кнопки можно выделять. Если + защелкивающаяся кнопка выделена, то индикатор обычно + изображается как выделенный, а переменная Tcl, ассоциированная с + данной кнопкой, имеет предписанное значение (обычно 1). В ОС + Unix индикатор изображается вдавленным и имеет специальный + цвет. В системе Windows вместо этого в индикаторе стоит + галочка. Если защелкивающаяся кнопка не выделена, то индикатор + имеет невыделенный вид, а ассоциированная переменная имеет + другое значение (обычно 0). В ОС Unix такой индикатор + изображается выпуклым и не имеет специального цвета. В системе + Windows в невыделенном индикаторе отсутствует галочка. По + умолчанию имя переменной, ассоциированной с защелкивающейся + кнопкой, совпадает с именем, использующимся при создании самой + кнопки. Имя переменной и записываемые в ней значения + выделенная/невыделенная можно поменять с помощью параметров + командной строки или в базе данных параметров. С помощью + параметров конфигурации можно также поменять вид индикатора (или + даже отменить саму необходимость его вывода). По умолчанию + выделение защелкивающейся кнопки меняется при последовательных + щелчках кнопки. Кроме того, каждая защелкивающаяся кнопка + отслеживает значение своей глобальной переменной и изменяет свое + состояние всякий раз при перемене этого значения с .выделенная. + на невыделенная и обратно.

    -

    +

    КОМАНДА ПРИМИТИВА

    -

    checkbutton Tcl - . - . :

    +

    Команда checkbutton создает новую команду Tcl с именем + имяПути. С помощью этой команды можно выполнять различные + операции над примитивом. Ее общий вид:

    -
    ...
    +
    имяПути параметр арг арг ...
    -

    - . - :

    +

    Параметр и аргументы уточняют + поведение команды. Примитивы защелкивающейся кнопки допускают + следующие формы команды:

    -
    cget
    +
    имяПути cget параметр
    -
    - . - checkbutton.
    +
    Возвращает текущее значение параметра конфигурации с + именем параметр. Параметр может быть любым + из параметров команды checkbutton.
    -
    configure - ...
    +
    имяПути configure параметр значение параметр + значение ...
    -
    - . , - , - ( - Tk_ConfigureInfo). , - , - , - . - -, - , - . - checkbutton.
    +
    Запрашивает значения параметров конфигурации + примитива или изменяет их. Если параметр не указан, + то возвращает список, содержащий значения всех допустимых + в имениПути параметров (формат списка описан в + Tk_ConfigureInfo). Если параметр задан, + а его новое значение нет, то команда возвращает + часть полного списка, относящуюся к указанному + параметру. Если заданы одна или несколько пар + параметр-значение, то указанным параметрам примитива + присваиваются новые значения, а команда возвращает пустую + строку. Параметр может быть любым из параметров + команды checkbutton.
    -
    deselect
    +
    имяПути deselect
    -
    - " " - .
    +
    Отменяет выделение защелкивающейся кнопки и + устанавливает значение "не выделена" ассоциированной + переменной.
    -
    flash
    +
    имяПути flash
    -
    . - - . - - ( ), - . - - disabled, .
    +
    Заставляет защелкивающуюся кнопку мигать. Этот эффект + достигается путем многократного вывода изображения кнопки + поочередно в активном и нормальном состоянии. По окончании + работы команды защелкивающаяся кнопка остается в том же + состоянии (активном или нормальном), что и перед началом + ее выполнения. Если перед началом выполнения команды + защелкивающаяся кнопка находится в состоянии + disabled, то команда игнорируется.
    -
    invoke
    +
    имяПути invoke
    -
    , - "" : - Tcl, - ( - ). - Tcl ( , - - ). - - disabled, .
    +
    Приводит в точности к тому же результату, что и нажатие + клавиши "Мыши" на защелкивающейся кнопке: кнопка + становится выделенной и выполняется команда Tcl, + ассоциированная с кнопкой (при наличии такой + команды). Возвращаемое значение совпадает с возвращаемым + значением команды Tcl (или является пустой строкой, если с + защелкивающейся кнопкой никакой команды не + ассоциировано). Если перед началом выполнения команды + защелкивающаяся кнопка находится в состоянии + disabled, то команда игнорируется.
    -
    toggle
    +
    имяПути toggle
    -
    , - .
    +
    Выделяет кнопку, перерисовывая ее в новом состоянии и + изменяя значение ассоциированной переменной.
    -

    +

    ПРЕДПОЧТЕНИЯ

    -

    Tk, - , , - :

    +

    При создании защелкивающейся кнопки Tk, в соответствии с типом + кнопки, автоматически формирует параметры, определяющие ее + поведение по умолчанию:

      -
    • Unix - "" , - . Mac Windows 1 - "" - , "" - , .
    • +
    • В ОС Unix кнопка становится активной при появлении над ней + курсора "Мыши" и дезактивируется, когда курсор ее + покидает. В системах Mac и Windows при нажатии клавиши 1 + "Мыши" на защелкивающейся кнопке кнопка + активизируется, когда курсор "Мыши" находится на + кнопке и становится неактивной, когда курсор ее покидает.
    • -
    • 1 "" - , - .
    • +
    • При нажатии клавиши 1 "Мыши" на защелкивающейся + кнопке кнопка становится выделенной и выполняется команда, + привязанная к ней.
    • -
    • , - , - .
    • +
    • Если защелкивающаяся кнопка находится в фокусе ввода, то + нажатие на клавишу пробела приводит к выполнению команды, + привязанной к этой кнопке.
    • -
    • Windows : - (+) (=) , (-) - .
    • +
    • В системе Windows имеются дополнительные привязки клавиш: плюс + (+) и знак равенства (=) выделяют кнопку, а минус (-) + отменяет выделение.
    • -
    • - disabled, - : - .
    • +
    • Если защелкивающаяся кнопка находится в состоянии + disabled, то все описанные выше действия не + приводят ни к какому результату: кнопка остается + неактивной.
    • -
    • - - .
    • +
    • Поведение защелкивающейся кнопки можно изменить с помощью + новых связей для конкретных примитивов или путем переопределения + связей данного класса.
    + diff --git a/hlp/ru/tk/clipboard.html b/hlp/ru/tk/clipboard.html index eb8a8b6..8d6869a 100644 --- a/hlp/ru/tk/clipboard.html +++ b/hlp/ru/tk/clipboard.html @@ -7,75 +7,75 @@

    clipboard

    -

    Tk.

    +

    Управление буфером временного хранения Tk.

    -

    +

    СИНТАКСИС

    -      clipboard   
    +      clipboard параметр арг арг
         
    -

    "

    +

    ОПИСАНИЕ"

    -

    Tcl - Tk, - . - , - . - , - . - . - :

    +

    Команда обеспечивает Tcl интерфейс с буфером временного + хранения Tk, в котором хранятся данные для последующего + использования с помощью механизма выделения. Для копирования + данных в буфер необходимо вызвать очистку буфера, а затем одну + или несколько команд добавления данных в буфер. Полное + обновление буфера достигается, если все добавления произведены + до завершения события. Первый аргумент определяет формат + последующих аргументов и поведение команды. В настоящее время + поддерживаются следующие формы команды:

    -
    clipboard clear -displayof
    +
    clipboard clear -displayof окно
    -
    - . - ".". .
    +
    Заявляет права на буфер в окне и удаляет текущее + содержимое буфера. Значением параметра окно по + умолчанию является ".". Команда возвращает пустую строку.
    -
    clipboard append -displayof -format - -type --
    +
    clipboard append -displayof окно -format + формат -type тип -- данные
    -

    - , , , - , - .

    +

    Добавляет данные к содержимому буфера окна в + виде, заданном параметром тип, и представлении, + заданном параметром формат, а также заявляет права на + буфер в окне.

    -

    , - ; - , , STRING FILE_NAME; . - (1). - STRING.

    +

    Параметр тип задает вид, в котором должно + возвращаться выделение; его значение должно быть именем + атома, например, STRING или FILE_NAME; детали описания см. в + (1). Параметр тип по умолчанию имеет значение + STRING.

    -

    , - ( (1). - 2); STRING. - STRING - 8- ASCII. ATOM - , ; - , - 32- . - , - , - 32- ; - , . - - , - . - .

    +

    Аргумент формат задает представление, в котором + выделение передается по запросу (см (1). второй столбец в + Таблице 2); по умолчанию его значение STRING. В + формате STRING выделение передается в виде строки + 8-битовых символов ASCII. В формате ATOM данные + разделяются на поля, отделенные друг от друга пробелами; + каждое поле преобразуется в значение своего атома, а вместо + имени атома передается его 32-битовое значение. Во всех + других форматах данные делятся на поля, + отделенные друг от друга пробелами, каждое поле + преобразуется в 32-битовое целое число; затем массив целых + чисел передается тому, кто запросил выделение. При этом + передаваемые в буфер строки объединяются перед + преобразованием, поэтому необходимо позаботиться заранее о + соответствующем обрамлении их пробелами. Все добавки в + буфер одного типа должны иметь одинаковый формат.

    -

    - , - Tk. - CLIPBOARD Tk - , - .

    +

    Аргумент формат необходим исключительно для + обеспечения совместимости пользователям буфера, не + использующим Tk. При выводе результатов поиска в выделении + CLIPBOARD с помощью инструментов Tk значение буфера + переводится в строковый формат, поэтому значение аргумента + формат не играет роли.

    -

    : - - . , , - "-".

    +

    С помощью аргумента указывается конец списка параметров: + следующий за ним аргумент всегда интерпретируется как + данные. Такая возможность полезна, например, если + данные начинаются символом "-".

    @@ -83,3 +83,5 @@ + + diff --git a/hlp/ru/tk/destroy.html b/hlp/ru/tk/destroy.html index 2cba42e..34aadb1 100644 --- a/hlp/ru/tk/destroy.html +++ b/hlp/ru/tk/destroy.html @@ -1,4 +1,4 @@ - + destroy @@ -7,24 +7,25 @@

    destroy

    -

    .

    +

    Команда удаляет окна.

    -

    +

    СИНТАКСИС

           destroy window window
         
    -

    +

    ОПИСАНИЕ

    -

    - window . - , - , - . ".", - .

    +

    Команда удаляет одно или несколько заданных аргументами + window окон и всех их потомков. Окна удаляются в порядке + перечисления, и если при удалении очередного окна произойдет + ошибка, то команда прекращает работу без удаления оставшихся + окон. Если удалить окно ., то будет разрушено все + приложение.

    + diff --git a/hlp/ru/tk/entry.html b/hlp/ru/tk/entry.html index a5c5a6d..41ee05b 100644 --- a/hlp/ru/tk/entry.html +++ b/hlp/ru/tk/entry.html @@ -1,4 +1,4 @@ - + entry @@ -7,17 +7,17 @@

    entry

    -

    .

    +

    Создание примитива поля ввода текста и управление им.

    -

    +

    СИНТАКСИС

    -      entry  
    +      entry имяПути параметры
         
    -

    +

    СТАНДАРТНЫЕ ПАРАМЕТРЫ

    • -background
    • @@ -44,536 +44,537 @@
    • -xscrollcommand
    -

    options.

    +

    Подробное описание этих параметров приведено в options.

    -

    +

    ДОПОЛНИТЕЛЬНЫЕ ПАРАМЕТРЫ ПРИМИТИВА

    - - - + + +
    :-show
    :show
    :Show
    Имя параметра:-show
    Имя в Базе:show
    Класс в Базе:Show
    -

    , - . - - -show, *. , - , . - , - , - .

    +

    Если этот параметр задан, то истинное содержимое поля не + выводится на экране. Вместо этого каждый символ текста + заменяется первым символом значения параметра + -show, скажем *. Такая возможность полезна, + например, при вводе в поле пароля. Если символы поля ввода были + выделены и скопированы в другом месте, то выводиться будет + скопированная информация, а не истинное содержимое поля + ввода.

    - - - + + +
    :-state
    :state
    :State
    Имя параметра:-state
    Имя в Базе:state
    Класс в Базе:State
    -

    : - normal - disabled. - , - . , - .

    +

    Задает одно из двух состояний поля ввода: + normal или + disabled. Отключенное состояние указывает на + то, что значение поля ввода нельзя изменить с помощью команд + примитива. При этом курсор ввода в поле не отображается, даже + если этот примитив оказался в фокусе ввода.

    - - - + + +
    :-width
    :width
    :Width
    Имя параметра:-width
    Имя в Базе:width
    Класс в Базе:Width
    -

    - . , - , - .

    +

    Задает желаемую ширину окна поля ввода в виде целого + числа. Если введенное значение не положительно, то ширина поля + устанавливается такой, чтобы в него в точности помещался текст + его текущего значения.

    -

    +

    ОПИСАНИЕ

    -

    entry ( - ) - . , , - , - . entry - . - , - .

    +

    Команда entry создает новое окно (задаваемое + аргументом имяПути) и превращает его в примитив поля + ввода. Детали изображения кнопки, такие как ее цвета, шрифт и + объемный вид, задаются с помощью описанных выше дополнительных + параметров. Команда entry возвращает аргумент + имяПути. В момент выполнения этой команды не должно + существовать окна с именем имяПути, но должно + существовать его родительское окно.

    -

    , - - , - - "". - . , , - . (. - exportSelection) - X11 ; - STRING. - Tk . - , - , , - .

    +

    Поле ввода представляет собой примитив, предназначенный для + вывода одной строки текста и редактирования ее с помощью + описываемых ниже команд примитива, которые по большей части + сводятся к нажатию клавиш на клавиатуре и действиям с + "Мышью". При создании поля ввода его строка текста + пуста. Часть содержимого поля можно выделить, совершив действия, + описываемые ниже. Экспорт выделенного текста (см. описание + параметра exportSelection) осуществляется по + стандартному протоколу X11 для выделений; выделения в поле ввода + имеют тип STRING. Поля ввода также подчиняются + стандартным правилам Tk обращения с фокусом ввода. Когда поле + ввода находится в фокусе ввода, в нем изображается курсор + ввода , который указывает, где будут вставляться вводимые + символы.

    -

    , - . - . - - xScrollCommand ( - - xScrollCommand). , - (. ).

    +

    Поля ввода могут работать и с длинными строками, которые не + помещаются полностью в окне примитива. С помощью описываемых + ниже команд содержимое окна можно изменить. Поля ввода + взаимодействуют с полосами прокрутки с помощью стандартного + механизма xScrollCommand (подробно механизм + взаимодействия описан при описании параметра + xScrollCommand). Кроме того, они обеспечивают + возможность сканирования (см. описание ниже).

    -

    +

    КОМАНДА ПРИМИТИВА

    -

    entry Tcl - . - .

    +

    Команда entry создает новую команду Tcl с именем + имяПути. С помощью этой команды можно выполнять различные + операции над примитивом. Ее общий вид

    -          ...
    +      имяПути параметр арг арг ...
         
    -

    - .

    +

    Параметр и аргументы уточняют поведение + команды.

    -

    - . - . : +

    Аргументами многих команд примитива поля ввода служат + индексы. Индекс задает положение конкретного символа в строке + поля ввода. Он может иметь один из следующих видов:

    -
    -
    . - "0"
    +
    число
    +
    Задает номер символа в строке. Первый символ строки имеет + номер "0"
    anchor
    -
    , - select from +
    Задает опорную точку выделения, которая используется + командами примитива select from и select adjust.
    end
    -
    - . - .
    +
    Указывает положение символа непосредственно после последнего + символа строки в поле ввода. Указание этого индекса + равносильно указанию длины строки.
    insert
    -
    , - .
    +
    Указывает на символ, находящийся непосредственно за курсором + ввода.
    sel.first
    -
    . - , - .
    +
    Указывает на первый из выделенных символов. Эта форма + индекса недопустима, если выделение не расположено в окне поля + ввода.
    sel.last
    -
    . - , - .
    +
    Указывает на последний из выделенных символов. Эта форма + индекса недопустима, если выделение не расположено в окне поля + ввода.
    -
    @
    +
    @число
    -
    x- - ; x-. - , "@0" - .
    +
    В этом случае число трактуется как x-координата в + окне поля ввода; указывает на символ с этой x-координатой. + Например, "@0" указывает на самый левый + символ в окне ввода.
    -

    - , , "e" - "sel.f". , - , , - .

    +

    Вместо любой из указанных форм можно использовать ее + сокращение, например, "e" или + "sel.f". Как правило, значения + индексов, выходящие за пределы допустимых, заменяются ближайшими + допустимыми значениями.

    -

    :

    +

    Примитивы поля ввода допускают следующие команды:

    -
    bbox
    +
    имяПути bbox индекс
    -
    , , - , - . x- - y- ( - ), - ( ). - .
    +
    Возвращает список из четырех элементов, описывающий клетку, + занимаемую символом, указанным параметром + индекс. Первые два элемента списка задают x- и + y-координаты верхнего левого угла клетки (в пикселях по + отношению к примитиву), последние два элемента ширину и высоту + символа (в пикселях). Клетка может находиться за пределами + видимой части окна.
    -
    cget
    +
    имяПути cget параметр
    -
    - . - entry.
    +
    Возвращает текущее значение параметра конфигурации с именем + параметр. Параметрможет быть любым из + параметров команды entry.
    -
    configure - ...
    +
    имяПути configure параметр + значение параметр значение ...
    -
    - . , - , - ( - Tk_ConfigureInfo). - , , - , . - -, - - . - . +
    Запрашивает значения параметров конфигурации примитива или + изменяет их. Если параметр не указан, то возвращает + список, содержащий значения всех допустимых в имениПути + параметров (формат списка описан в + Tk_ConfigureInfo). Если параметр + задан, а его новое значение нет, то команда возвращает + часть полного списка, относящуюся к указанному параметру. Если + заданы одна или несколько пар параметр-значение, то + указанным параметрам примитива присваиваются новые + значения. В этом случае команда возвращает пустую + строку. Параметр может быть любым из параметров команды entry.
    -
    delete -
    +
    имяПути delete первый + последний
    -
    . - , - , - . - - , .. - . .
    +
    Удаляет один или несколько символов в поле ввода. Аргумент + первый является индексом первого удаляемого символа, а + аргумент последний представляет собой индекс символа, + следующего непосредственно за последним удаляемым символом. По + умолчанию значение аргумента последний на единицу + больше значения аргумента первый, т.е. удаляется один + символ. Команда возвращает пустую строку.
    -
    get
    +
    имяПути get
    -
    .
    +
    Возвращает строку содержимое поля ввода.
    -
    icursor -
    +
    имяПути icursor + индекс
    -
    , - . - .
    +
    Устанавливает курсор ввода непосредственно перед символом, + заданным аргументом индекс. Возвращает пустую + строку.
    -
    index
    +
    имяПути index индекс
    -
    , - .
    +
    Команда возвращает числовое значение индекса, заданного + аргументом индекс.
    -
    insert -
    +
    имяПути insert индекс + строка
    -
    - , . - .
    +
    Вставляет символы строки непосредственно перед + символом, на который указывает аргумент индекс. Команда + возвращает пустую строку.
    -
    scan -
    +
    имяПути scan параметр + аргументы
    -

    . - :

    +

    Осуществляет сканирование поля ввода. В зависимости от + значения параметра может иметь две различные формы:

    -
    scan mark x +
    имяПути scan mark x
    -
    x - ; - scan dragto. - "" - . .
    +
    Запоминает значение координаты x и текущее состояние + окна поля ввода; используется в сочетании с последующими + командами scan dragto. Обычно эта команда + связана с нажатием клавиши "Мыши" на + примитиве. Возвращает пустую строку.
    -
    scan dragto +
    имяПути scan dragto x
    -
    x - x - scan mark. - , 10 - . - "" - - . .
    +
    Вычисляет разность между значением своего аргумента x и + значением аргумента x последней выполненной на данном + примитиве команды scan mark. Затем + переносит изображение примитива на расстояние, в 10 раз + превышающее вычисленную разность. Команда обычно связана с + событиями движения "Мыши" в примитиве и + используется для скоростного перетаскивания поля ввода в + окне. Возвращает пустую строку.
    -
    selection -
    +
    имяПути selection параметр + аргумент
    -

    . - .

    +

    Производит размещение выделения в поле ввода. Команда может + иметь одну из описанных ниже форм.

    -
    selection adjust -
    +
    имяПути selection adjust + индекс
    -
    - - (.. - , - ). - select - to. - , , - - - . .
    +
    Определяет ближайший к указанному аргументом + индекс положению край выделения и устанавливает + новое значение этого края в индекс (т.е. элемент + с индексом индекс входит в выделение, а соседний + с ним нет). Противоположный край выделения становится + опорной точкой для последующих команд select + to. Если в текущий момент выделение в поле + отсутствует, то команда заводит новое выделение, + содержащее символы между указанным аргументом + индекс и последней установленной опорной точкой + выделения. Возвращает пустую строку.
    -
    selection clear
    +
    имяПути selection clear
    -
    . - , . - .
    +
    Очищает выделение в данном примитиве. Если выделение + отсутствует, то не производит никаких действий. Возвращает + пустую строку.
    -
    selection from -
    +
    имяПути selection from + индекс
    -
    - , - . - . .
    +
    Устанавливает опорную точку выделения непосредственно + перед символом, заданным аргументом + индекс. Текущего выделения команда не + меняет. Возвращает пустую строку.
    -
    selection present
    +
    имяПути selection present
    -
    "1", - , +
    Возвращает "1", если в поле ввода имеется + выделение, в противном случае возвращает "0".
    -
    selection range -
    +
    имяПути selection range + начало конец
    -
    , - , , - . - , , - , , - , .
    +
    Выделяет символы между символом, указанным аргументом + начало, и символом, непосредственно + предшествующим указанному аргументом конец. Если + символ, указанный аргументом конец, совпадает с + символом, указанным аргументом начало, или + предшествует ему, то выделение становится пустым.
    -
    selection to -
    +
    имяПутиselection to + индекс
    -
    , , - , - , - , - . , - . , - , - , - , - , . - - select from select - adjust. - , , - - - . .
    +
    Если символ, указанный аргументом индекс, + предшествует опорной точке выделения, то команда выделяет + все символы между опорным символом выделения и символом, + указанным аргументом индекс, не включая опорный + символ. Если аргумент индекс указывает на опорный символ, + то команда ничего не делает. Если символ, указанный + аргументом индекс, следует за опорной точкой + выделения, то команда выделяет все символы между опорным + символом выделения и символом, указанным аргументом + индекс, не включая этот символ. Опорный символ + устанавливается последней выполненной на данном примитиве + командой select from или select + adjust. Если в текущий момент выделение в поле + отсутствует, то команда заводит новое выделение, + содержащее символы между указанным аргументом + индекс и последней установленной опорной точкой + выделения. Команда возвращает пустую строку.
    -
    xview -
    +
    имяПути xview + аргументы
    -

    - , , - . :

    +

    Используется для запроса горизонтального положения + информации, выведенной в поле ввода, и изменения этого + положения. Команда может иметь одну из следующих форм:

    -
    xview
    +
    имяПути xview
    -
    , . - , - ; - . , - , "2", - "6", 20% - , 40% , - 40% . - +
    Возвращает список, состоящий из двух элементов. Каждый + из элементов списка представляет собой вещественное число, + заключенное между нулем и единицей; эта пара чисел + описывает видимый в окне горизонтальный интервал. Так, + например, если первое число равно "2", а второе + "6", то 20% текста в поле ввода оказывается + невидимой слева от окна, в окне выводится 40% информации, + и еще 40% оказывается невидимой справа от окна. Те же + значения передаются полосе прокрутки через параметр -xscrollcommand.
    -
    xview -
    +
    имяПути xview + индекс
    -
    , - , - .
    +
    Переносит строку в поле ввода так, что самым левым + символом в окне становится символ, указанный аргументом + индекс.
    -
    xview moveto -
    +
    имяПути xview moveto + число
    -
    , - , - . - "0" "1".
    +
    Передвигает область видимости так, что слева от окна + остается невидимой часть поля ввода, указанная аргументом + число. Число должно быть заключено между + "0" и "1".
    -
    xview scroll -
    +
    имяПути xview scroll + количество что
    -
    - . - , - units - pages - . - units, - . - - pages, - . - , - , .
    +
    Сдвигает выводимый в окне текст вправо или влево в + соответствии со значениями аргументов. Количество + должно быть целым числом, аргумент что может + принимать значения units или + pages или быть сокращением одного из этих + слов. Если аргумент что принимает значение + units, то сдвиг происходит на + количество символов средней ширины. Если + значением аргумента что является + pages, то сдвиг осуществляется на + количество полных экранов. Если + количество отрицательно, то видимые символы + сдвигаются вправо, в противном случае влево.
    -

    +

    ПРИВЯЗКИ ПО УМОЛЧАНИЮ

    -

    Tk - , . - .. - , "_" - . +

    При создании поля ввода Tk автоматически создает привязки + класса, определяющие поведение примитива по умолчанию. В + приводимом ниже описании .слово. есть произвольная непрерывная + группа букв, цифр и символов "_" или любой другой + одиночный символ. -

    1 "" - , - "", - .

    +

    Щелчок клавишей 1 "Мыши" устанавливает курсор ввода + непосредственно перед символом, расположенным под курсором + "Мыши", устанавливает фокус ввода на данном примитиве + и отменяет выделение в нем.

    -

    "" - - "".

    1 - "" - "" - . "" - , - .

    +

    Перетаскивание курсора "Мыши" приводит к выделению + символов между курсором ввода и конечным положением курсора + "Мыши".

    Двойной щелчок клавишей 1 + "Мыши" приводит к выделению слова под курсором + "Мыши" и устанавливает курсор ввода перед первым + символом этого слова. Перетаскивание "Мыши" после + двойного щелчка приводит к выделению группы, состоящей из целых + слов.

    -

    1 "" - - .

    +

    Тройной щелчок клавишей 1 "Мыши" приводит к выделению + всего текста в поле ввода и устанавливает курсор ввода перед + первым символом текста.

    -

    , .. - 1 Shift; - , - "" 1. - , "", - .

    +

    Края выделения можно выровнять, если тащить .Мышь. с нажатой + клавишей 1 при нажатой клавише Shift; в этом + случае выравнивается край, ближайший к положению курсора + "Мыши" в момент нажатия ее клавиши 1. Если по кнопке + щелкнули дважды перед тем, как тащить "Мышь", то + выделение выравнивается относительно концов полных слов.

    -

    1 "" - Control - .

    +

    Щелчок по клавише 1 "Мыши" при нажатой клавише + Control приводит к установке курсора ввода в поле ввода без + изменения текущего выделения.

    -

    - .

    +

    Обычные печатные символы вводятся в месте расположения курсора + ввода.

    -

    2 - "". 2 "" - - "".

    +

    Содержимое поле ввода можно перемещать с помощью клавиши 2 + "Мыши". Щелчок по клавише 2 "Мыши" и без ее + перемещения приводит к копированию выделения в поле ввода в + место расположения курсора "Мыши".

    -

    .. - 1, - ( - , .. , , - ).

    +

    Если тащить .Мышь. слева или справа от окна поля ввода по + направлению от окна при нажатой клавише 1, то в окне + автоматически появляется невидимый ранее текст (если в поле со + стороны, где .Мышь. покинула окно, есть текст, невидимый в + окне).

    -

    Left - Right - ; - . - Left - Right - Shift, - . - Control-Left Control-Right - , - Control-Shift-Left - Control-Shift-Right - . Control-b - Control-f , - Left Right, - Meta-b Meta-f - , Control-Shift-Left +

    Нажатие на клавиши Left или + Right приводит к перемещению курсора ввода на + один символ влево или вправо; при этом текущее выделение + отменяется и устанавливается новая опорная точка выделения. Если + нажатие на клавиши Left или + Right происходит при нажатой клавише + Shift, то курсор ввода перемещается и + пройденный им символ добавляется к выделению. Нажатие на клавиши + Control-Left и Control-Right + приводит к перемещению курсора ввода на полное слово, сочетания + Control-Shift-Left и + Control-Shift-Right еще и расширяют + выделение. Сочетания Control-b и + Control-f играют ту же роль, что и + Left и Right, а сочетания + Meta-b и Meta-f соответственно + ту же роль, что и Control-Shift-Left и Control-Shift-Right.

    -

    Home ( - Control-a) - - . Shift-Home - .

    +

    Нажатие на клавишу Home (или + Control-a) приводит к перемещению курсора к + началу текста с отменой существующих + выделений. Shift-Home перемещает курсор к + началу текста и доводит до этого места выделение.

    -

    End ( - Control-e) - - . Shift-End - .

    +

    Нажатие на клавишу End (или + Control-e) приводит к перемещению курсора в + конец текста с отменой существующих + выделений. Shift-End перемещает курсор в конец + текста и доводит до этого места выделение.

    -

    Select ( - Control-Space) - . - . t-Select ( - Control-Shift-Space) - ( - - , ).

    +

    Нажатие на клавишу Select (или + Control-Space) устанавливает опорную точку + выделения в положение курсора ввода. Текущее выделение при этом + не изменяется. Нажатие на клавиши t-Select (или + Control-Shift-Space) доводит выделение до + текущего положения курсора ввода (или устанавливает выделение + между опорной точкой выделения и текущим положением курсора + ввода, если текущее выделение отсутствовало).

    -

    Control-/ .

    +

    Control-/ выделяет весь текст в окне.

    -

    {Control-\} - .

    +

    {Control-\} приводит к отмене текущего + выделения.

    -

    F16, Sun - py, ( - Meta-w) - .

    +

    Клавиша F16, на многих станциях Sun + обозначенная py, (или + Meta-w) копирует выделение в примитиве в + карман.

    -

    F20, Sun - Cut, ( - Control-w) - . - , - .

    +

    Клавиша F20, на многих станциях Sun + обозначенная Cut, (или + Control-w) копирует выделение в примитиве в + карман и удаляет выделение. Если выделение в примитиве + отсутствует, то нажатие на эти клавиши не приводит ни к каким + действиям.

    -

    F18, Sun - te, ( - Control-y) - .

    +

    Клавиша F18, на многих станциях Sun + обозначенная te, (или + Control-y) копирует содержимое кармана в место + расположения курсора ввода.

    -

    Delete - . , , - .

    +

    Нажатие на клавишу Delete приводит к удалению + выделения. Если выделение отсутствует, то удаляется символ, + непосредственно примыкающий к курсору ввода справа.

    -

    BackSpace ( - Control-h) . - , , - .

    +

    Нажатие на клавишу BackSpace (или + Control-h) приводит к удалению выделения. Если + выделение отсутствует, то удаляется символ, непосредственно + примыкающий к курсору ввода слева.

    -

    Control-d , - .

    +

    Control-d удаляет символ, непосредственно + примыкающий к курсору ввода справа.

    -

    Meta-d , - .

    +

    Meta-d удаляет слово, непосредственно + примыкающее к курсору ввода справа.

    -

    Control-k - .

    +

    Control-k удаляет все символы справа от + курсора ввода.

    -

    - disabled -state, - - - , - .

    +

    Если поле ввода отключено указанием значения + disabled параметра -state, то + в окне поля по-прежнему можно перемещать текст и производить + выделение, однако курсор ввода в окне не появляется и + редактирование текста невозможно.

    -

    - , - .

    +

    Определяя новые привязки к отдельным примитивам или + переопределяя привязки класса, поведение полей ввода можно + изменить.

    + diff --git a/hlp/ru/tk/event.html b/hlp/ru/tk/event.html index c594000..dbbbf26 100644 --- a/hlp/ru/tk/event.html +++ b/hlp/ru/tk/event.html @@ -1,4 +1,4 @@ - + event @@ -7,144 +7,144 @@

    event

    -

    +

    Определение виртуальных событий и генерация событий

    -

    +

    СИНТАКСИС

    -      event  ?  ...?
    +      event параметр ?арг арг ...?
         
    -

    +

    ОПИСАНИЕ

    -

    event - , - . - , . - :

    +

    Команда event обеспечивает различные + возможности работы с событиями, включая определение виртуальных + событий и синтезирование событий. У команды есть несколько + различных форм, которые задаются первым аргументом. В настоящее + время поддерживаются следующие формы команды:

    -
    event add <<>> - ?...?
    +
    event add <<виртуальное>> + последовательность ?последовательность...?
    -
    - , - ; - - - . - , - , - bind. - , - - .
    +
    Связывает виртуальное событие с + последовательностями физических событий, указываемыми + аргументами последовательность; в результате + выполнение одной из указанных последовательностей + событий приводит к возникновению виртуального + события. Аргумент виртуальное может быть произвольной + строкой, а последовательность может принимать любое + значение, допустимое для аргумента последовательность + команды bind. Если + виртуальное событие уже определено, то новая + последовательность физических событий добавляется к списку уже + имеющихся последовательностей.
    event delete - <<>> ? - ..?
    + <<виртуальное>> ?последовательность + последовательность ..? -
    - . - , - , - - bind. - - , - . - , - - .
    +
    Удаляет все указанные последовательности из списка + связанных с данным виртуальным событием. Аргумент + виртуальное может быть произвольной строкой, а + последовательность может принимать любое значение, + допустимое для аргумента последовательность команды + bind. Если + последовательность не связана с данным + виртуальным событием в текущий момент, то она + игнорируется. Если аргумент последовательность + отсутствует, то из списка удаляются все последовательности + физических событий и данное виртуальное событие не + может быть более осуществлено.
    -
    event generate - ? ...?
    +
    event generate окно событие + ?параметр значение параметр значение ...?
    -
    - , . - , - ; - ( , - winfo id), - . , - , <Shift-Button-2> - <<Paste>>. - , - bind, - , , - . - - , - , "" - (. " "). - -when , - ; - event - generate. - -when.
    +
    Генерирует событие в окне и обеспечивает его обработку таким + образом, как если бы оно поступило из менеджера окон. Аргумент + окно задает имя пути окна, в котором будет + генерироваться событие; его значением может быть и + идентификатор окна (такой же, какой служит результатом команды + winfo id), если он относится к окну в текущем + приложении. Аргумент событие задает описание события, + например, в виде <Shift-Button-2> или + <<Paste>>. Аргумент + событие может принимать любое значение, допустимое + для аргумента последовательность команды bind, за исключением + того, что он должен состоять из одного, а не из нескольких + событий. Пары параметр-значение можно использовать + для установки значений дополнительных параметров события, + например, координат курсора "Мыши" ниже + (см. "ПОЛЯ СОБЫТИЯ"). Если + параметр -when не задан, то событие + обрабатывается немедленно; все программы обработки события + будут выполнены до завершения команды event + generate. В противном случае момент обработки + определяется значением параметра -when.
    event info - ?<<>>?
    + ?<<виртуальное>>? -
    . - <<>> , - , - . <<>> - , , - - , ; - , - .
    +
    Возвращает информацию о виртуальных событиях. Если аргумент + <<виртуальное>> опущен, то возвращается + список всех виртуальных событий, определенных в текущий + момент. Если аргумент <<виртуальное>> + задан, то возвращаемое значение представляет собой список, + элементы которого являются последовательностями физических + событий, связанными с данным виртуальным событием; если + указанное виртуальное событие не определено, то команда + возвращает пустую строку.
    -

    +

    ПОЛЯ СОБЫТИЯ

    -

    event generate - , % - bind.

    +

    Команда event generate поддерживает следующие + параметры, которые соответствуют расширению % в + скриптах привязки для команды bind.

    -
    -above
    +
    -above окно
    -
    - above - - . - Configure. - %a .
    +
    Аргумент окно задает поле + above для события либо в виде имени + пути окна либо в виде целочисленного идентификатора + окна. Параметр имеет смысл для событий + Configure. Параметр соответствует подстановке + %a для скриптов привязки.
    -
    -borderwidth
    +
    -borderwidth размер
    -
    - ; border_width - . - Configure. - %B .
    +
    Параметр размер представляет собой расстояние на + экране; задает значение поля border_width + события. Параметр имеет смысл для событий + Configure. Параметр соответствует подстановке + %B для скриптов привязки.
    -
    -button
    +
    -button число
    -
    ; - detail - ButtonPress - ButtonRelease, , - base. - %b - .
    +
    Значением параметра число должно быть целое число; + задает значение поля detail для события + ButtonPress или + ButtonRelease, подавляя номер кнопки, + задаваемый параметром события base. Параметр + соответствует подстановке %b для скриптов + привязки.
    -
    -count
    +
    -count число
    -
    ; - count - . - Expose. - %c .
    +
    Значением параметра число должно быть целое число; + задает значение поля count для + события. Параметр имеет смысл для событий + Expose. Параметр соответствует подстановке + %c для скриптов привязки.
    -
    -detail
    +
    -detail детальность
    -

    detail - :

    +

    Параметр задает значение поля detail для + события и может принимать следующие значения:

    • NotifyAncestor
    • @@ -157,249 +157,249 @@
    • NotifyVirtual
    -

    Enter, - Leave, FocusIn - FocusOut. - %d .

    +

    Имеет смысл для событий Enter, + Leave, FocusIn и + FocusOut. Параметр соответствует + подстановке %d для скриптов привязки.

    -
    -focus
    +
    -focus булевское
    -
    ; - focus . - Enter - Leave. - %f .
    +
    Параметр булевское принимает булевские значения; он + задает значение поля focus для события. Имеет + смысл для событий Enter и + Leave. Параметр соответствует подстановке + %f для скриптов привязки.
    -
    -height
    +
    -height размер
    -
    - ; height - . - Configure. - %h .
    +
    Параметр размер представляет собой расстояние на + экране; задает значение поля height + события. Параметр имеет смысл для событий + Configure. Параметр соответствует подстановке + %h для скриптов привязки.
    -
    -keycode
    +
    -keycode число
    -
    ; - keycode - . - KeyPress - KeyRelease. - %k .
    +
    Значением параметра число должно быть целое число; + задает значение поля keycode для + события. Параметр имеет смысл для событий + KeyPress и + KeyRelease. Параметр соответствует + подстановке %k для скриптов привязки.
    -
    -keysym
    +
    -keysym имя
    -
    - , , g, - Return; - - keycode , - , base - . KeyPress - KeyRelease. - %K .
    +
    Значением параметра имя должно быть имя допустимого + символа клавиатуры, например, g, + пробел или Return; код этого + символа используется в качестве значения поля + keycode события, подавляя значение + детальности, заданное аргументом base + события. Имеет смысл для событий KeyPress и + KeyRelease. Параметр соответствует + подстановке %K для скриптов привязки.
    -
    -mode
    +
    -mode уведомление
    -
    - mode ; - NotifyNormal, - NotifyGrab, NotifyUngrab - NotifyWhileGrabbed. +
    Параметр уведомление задает значение поля + mode для события; он должен принимать одно из + значений NotifyNormal, + NotifyGrab, NotifyUngrab или + NotifyWhileGrabbed. Имеет смысл для событий Enter, Leave, - FocusIn FocusOut. - %m - .
    + FocusIn и FocusOut. Параметр + соответствует подстановке %m для скриптов + привязки.
    -
    -override
    +
    -override булевское
    -
    ; - override_redirect - . Map, - Reparent - Configure. - %o .
    +
    Значение параметра булевское должно быть булевским; + он задает значение поля override_redirect для + события. Имеет смысл для событий Map, + Reparent и + Configure. Параметр соответствует подстановке + %o для скриптов привязки.
    -
    -place
    +
    -place где
    -
    - place ; - PlaceOnTop - PlaceOnBottom. - Circulate. - %p .
    +
    Параметр где задает значение поля + place для события; может принимать значения + PlaceOnTop или + PlaceOnBottom. Имеет смысл для событий + Circulate. Параметр соответствует подстановке + %p для скриптов привязки.
    -
    -root
    +
    -root окно
    -
    root - , - . +
    Аргумент окно задает поле root для + события либо в виде имени пути окна, либо в виде + целочисленного идентификатора окна. Имеет смысл для событий KeyPress, KeyRelease, ButtonPress, ButtonRelease, - Enter, Leave - Motion. - %R .
    + Enter, Leave и + Motion. Параметр соответствует подстановке + %R для скриптов привязки. -
    -rootx
    +
    -rootx коорд
    -
    - ; x_root - . +
    Параметр коорд представляет собой расстояние на + экране; задает значение поля x_root + события. Параметр имеет смысл для событий KeyPress, KeyRelease, ButtonPress, ButtonRelease, - Enter, Leave - Motion. - %X .
    + Enter, Leave и + Motion. Параметр соответствует подстановке + %X для скриптов привязки. -
    -rooty
    +
    -rooty коорд
    -
    - ; y_root - . +
    Параметр коорд представляет собой расстояние на + экране; задает значение поля y_root + события. Параметр имеет смысл для событий KeyPress, KeyRelease, ButtonPress, ButtonRelease, - Enter, Leave - Motion. - %Y .
    + Enter, Leave и + Motion. Параметр соответствует подстановке + %Y для скриптов привязки. -
    -sendevent
    +
    -sendevent булевское
    -
    ; - send_event - . . - %E .
    +
    Значение параметра булевское должно быть булевским; + он задает значение поля send_event для + события. Имеет смысл для всех событий. Параметр соответствует + подстановке %E для скриптов привязки.
    -
    -serial
    +
    -serial число
    -
    ; - serial . - . - %# .
    +
    Значение параметра должно быть целым числом; задает значение + поля serial для события. Имеет смысл + для всех событий. Параметр соответствует подстановке + %# для скриптов привязки.
    -
    -state
    +
    -state состояние
    -
    state - . KeyPress, +
    Параметр задает значение поля state для + события. Для событий KeyPress, KeyRelease, ButtonPress, ButtonRelease, Enter, - Leave Motion - . - Visibility - VisibilityUnobscured, - VisibilityPartiallyObscured - VisibilityFullyObscured. - , , Meta - Control, - . - %s .
    + Leave и Motion значение + параметра должно быть целым. Для событий + Visibility параметр может принимать одно из + значений VisibilityUnobscured, + VisibilityPartiallyObscured или + VisibilityFullyObscured. Этот параметр + подавляет любые модификаторы, например, Meta + или Control, указанные в основном + событии. Параметр соответствует подстановке + %s для скриптов привязки. -
    -subwindow
    +
    -subwindow окно
    -
    - subwindow - event, - . KeyPress, +
    Аргумент окно задает поле + subwindow для события либо в виде имени пути + примитива event, либо в виде целочисленного идентификатора + окна. Имеет смысл для событий KeyPress, KeyRelease, ButtonPress, ButtonRelease, Enter, - Leave Motion. - %S .
    + Leave и Motion. Аналогичен + подстановке %S для скриптов привязки. -
    -time
    +
    -time целое
    -
    ; - time . +
    Параметр должен иметь целое значение; задает значение поля + time для события. Имеет смысл для событий KeyPress, KeyRelease, ButtonPress, ButtonRelease, Enter, Leave, - Motion Property. - %t - .
    + Motion и Property. Параметр + соответствует подстановке %t для скриптов + привязки. -
    -width
    +
    -width размер
    -
    - ; width - . - Configure. - %w .
    +
    Параметр размер представляет собой расстояние на + экране; задает значение поля width + события. Параметр имеет смысл для событий + Configure. Параметр соответствует подстановке + %w для скриптов привязки.
    -
    -when
    +
    -when когда
    -

    ; - :

    +

    Параметр когда задает момент обработки события; + должен принимать одно из следующих значений:

    now
    -
    , - . , - -when .
    +
    Событие обрабатывается немедленно, до завершения + выполнения команды. То же самое происходит и в случае, + если параметр -when опущен.
    tail
    -
    Tcl - - .
    +
    Устанавливает событие в очередь событий Tcl вслед за + всеми стоящими в этой очереди событиями данного + приложения.
    head
    -
    Tcl; - , - .
    +
    Устанавливает событие в начало очереди событий Tcl; оно + будет обработано перед остальными событиями, уже стоящими + в очереди.
    mark
    -
    Tcl, - , - -when. - - , , - .
    +
    Устанавливает событие в начало очереди событий Tcl, но + вслед за всеми событиями, вставшими в очередь посредством + указания параметра -when. Такая + возможность полезна при генерации последовательности + событий, которые должны быть обработаны одно за другим, но + перед всеми событиями уже стоящими в очереди.
    -
    -x
    +
    -x коорд
    -
    - ; x - . +
    Параметр коорд представляет собой расстояние на + экране; задает значение поля x + события. Параметр имеет смысл для событий KeyPress, KeyRelease, ButtonPress, ButtonRelease, Enter, Leave, Motion, Expose, - Configure, Gravity - Reparent. - %x .
    + Configure, Gravity и + Reparent. Параметр соответствует подстановке + %x для скриптов привязки. -
    -y
    +
    -y коорд
    -
    - ; y - . +
    Параметр коордпредставляет собой расстояние на + экране; задает значение поля y + события. Параметр имеет смысл для событий KeyPress, KeyRelease, ButtonPress, ButtonRelease, Enter, Leave, Motion, Expose, - Configure, Gravity - Reparent. - %y .
    + Configure, Gravity и + Reparent. Параметр соответствует подстановке + %y для скриптов привязки.
    -

    , - , 0, - serial, - X .

    +

    Значением всякого параметра, не указанного при генерации + события, становится 0, за исключением параметра + serial, которому присваивается серийный номер + очередного X события.

    -

    +

    ПРИМЕРЫ ВИРТУАЛЬНЫХ СОБЫТИЙ

    -

    - . -, - event - add. -, - bind.

    +

    Для обращения к привязке к виртуальному событию необходимо + выполнение двух условий. Во-первых, это виртуальное событие + должно быть определено командой event + add. Во-вторых, к этому виртуальному событию должна + быть создана привязка с помощью команды bind.

    -

    :

    +

    Рассмотрим следующие определения виртуальных событий:

           event add <<Paste>> <Control-y>
    @@ -408,118 +408,119 @@
           event add <<Save>> <Shift-F12>
         
    -

    bind - , :

    +

    В команде bind привязка к виртуальным событиям + осуществляется так же, как и ко встроенным типам событий:

           bind Entry <<Paste>> {%W insert[selection get]}
         
    -

    , - . - Control-y 2 .. - - <<Paste>> event - generate +

    Двойные угловые скобки показывают, что выполняется привязка к + виртуальному событию. При нажатии клавиш + Control-y или кнопки 2 .Мыши. или при + синтезировании виртуального события + <<Paste>> командой event + generate будет выполнена привязка <<Paste>>.

    -

    - , - . - :

    +

    Если последовательность в виртуальном событии в точности + совпадает с последовательностью в другом физическом событии, то + преимуществом пользуется физическое событие. Рассмотрим + следующий пример:

    event add <<Paste>> <Control-y> <Meta-Control-y> bind Entry <Control-y> {puts Control-y} bind Entry <<Paste>> {puts Paste} -

    Control-y - <Control-y>, - , , - . - Meta-Control-y - <<Paste>>, - Meta , - , , - <Control-y> .

    +

    При нажатии на клавиши Control-y будет + выполнена привязка <Control-y>, так как + физическое событие считается более конкретным, чем виртуальное, + а в остальном все одинаково. Однако при нажатии клавиш + Meta-Control-y будет выполнена привязка + <<Paste>>, так как модификатор + Meta в физическом образце, связанном с + виртуальной привязкой, более конкретен, чем последовательность + <Control-y> для физического события.

    -

    - . - , , - , - .

    +

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

    -

    - - . , , -

    +

    При изменении определения виртуального события в процессе + выполнения все окна немедленно переключаются на новое + определение. Если, в условиях предыдущего примера, выполнить + команды

           bind <Entry> <Control-y> {}
           event add <<Paste>> <Key-F6>
         
    -

    . -, - - <<Paste>>. - Control-y - <Control-y>, - <<Paste>>. - -, F6 - <<Paste>>. +

    то поведение события изменится в двух направлениях. Во-первых, + всплывет подавленная привязка + <<Paste>>. Нажатие на клавиши + Control-y приведет теперь не к выполнению + привязки <Control-y>, а к выполнению + виртуального события <<Paste>>. + Во-вторых, нажатие на клавишу F6 также приведет + к выполнению привязки <<Paste>>. -

    - , - . - , - - .

    +

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

    -      event generate       ...
    +      event generate окно событие параметр значение параметр значение ...
         
    -

    - , . - , - ; - ( , winfo - id), - . , - , <Shift-Button-2> - <<Paste>>. - , - - bind, , - , . - - - , , - "" (. " "). - -when , - ; - event - generate. - -when. +

    Генерирует событие в окне и обеспечивает его обработку таким + образом, как если бы оно поступило из менеджера окон. Аргумент + окно задает имя пути окна, в котором будет + генерироваться событие; его значением может быть и идентификатор + окна (такой же, какой служит результатом команды winfo + id), если он относится к окну в текущем + приложении. Аргумент событие задает описание события, + например, в виде <Shift-Button-2> или + <<Paste>>. Аргумент + событие может принимать любое значение, допустимое для + аргумента последовательность команды + bind, за исключением того, что он должен + состоять из одного, а не из нескольких событий. Пары + параметр-значение можно использовать для установки + значений дополнительных параметров события, например, координат + курсора "Мыши" ниже (см. "ПОЛЯ СОБЫТИЯ"). Если + параметр -when не задан, то событие + обрабатывается немедленно; все программы обработки события будут + выполнены до завершения команды event + generate. В противном случае момент обработки + определяется значением параметра -when.

    -      event info <<>>
    +      event info <<виртуальное>>
         
    -

    . - <<>> - , , - . - <<>> - , , - - , ; - , - .

    +

    Возвращает информацию о виртуальных событиях. Если аргумент + <<виртуальное>> + опущен, то возвращается список всех виртуальных событий, + определенных в текущий момент. Если аргумент + <<виртуальное>> + задан, то возвращаемое значение представляет собой список, + элементы которого являются последовательностями физических + событий, связанными с данным виртуальным событием; если + указанное виртуальное событие не определено, то команда + возвращает пустую строку.

    + diff --git a/hlp/ru/tk/focus.html b/hlp/ru/tk/focus.html index 8d7fe34..c12fcdc 100644 --- a/hlp/ru/tk/focus.html +++ b/hlp/ru/tk/focus.html @@ -1,4 +1,4 @@ - + focus @@ -6,120 +6,121 @@

    focus

    -

    .

    +

    Управление фокусом ввода.

    -

    +

    СИНТАКСИС

           focus
    -      focus 
    -      focus    ...
    +      focus окно
    +      focus параметр арг арг ...
         
    -

    +

    ОПИСАНИЕ

    -

    focus - Tk. - ; - . - - . , - , - ""; - . - , - - .

    +

    Команда focus используется для управления + фокусом ввода Tk. В любой момент времени одно из окон на каждом + экране находится в фокусе ввода; всякое событие нажатия или + отпускания клавиши интерпретируются в этом окне. Обычно + переключение фокуса между окнами верхнего уровня на экране + осуществляется менеджером окон. Например, некоторые менеджеры + окон автоматически переключают фокус на окно верхнего уровня, + как только на него попадает курсор Мыши; другие устанавливают + фокус только при щелчке на окне. Обычно менеджер окон + устанавливает фокус только на окнах верхнего уровня, а + переключением фокуса между подчиненными окнами занимается + конкретное приложение.

    -

    Tk - ( , - ); - , Tk - . Tk - . - "" - ; , - (, "" ) - , , Tab. +

    Для каждого верхнего уровня Tk запоминает одно окно в фокусе + (последнего наследника данного верхнего уровня, в которое попал + фокус); когда менеджер окон переключает фокус на данный верхний + уровень, Tk автоматически устанавливает его на запомненное + окно. Внутри конкретного верхнего уровня Tk использует явное + моделирование фокуса по умолчанию. Обычно перемещение курсора + "Мыши" без изменения верхнего уровня не приводит к переключению + фокуса; переключение происходит, лишь если его запросил примитив + (например, в результате щелчка по кнопке "Мыши" ) или если + пользователь нажал, например, клавишу Tab.

    -

    Tcl - tk_focusFollowsMouse; - Tk , - "". - Tcl tk_focusNext - tk_focusPrev - . , - , Tab +

    Неявная модель фокусировки создается процедурой Tcl + tk_focusFollowsMouse; она меняет параметры конфигурации + Tk таким образом, чтобы фокус устанавливался на окно при + попадании на него курсора "Мыши".Процедуры + Tcl tk_focusNext и + tk_focusPrev устанавливают порядок переключения фокуса + между окнами верхнего уровня. Эти процедуры определяют, помимо + прочего, привязки по умолчанию к клавишам Tab и Shift-Tab.

    -

    focus - :

    +

    Команда focus может принимать одну из + следующих форм:

    focus
    -
    , - , , - . : - - -displayof (.); - , - .
    +
    Возвращает имя пути окна в фокусе на дисплее, содержащем + главное окно приложения, или пустую строку, если никакое окно + данного приложения не находится в фокусе. Замечание: дисплей + лучше указать явно с помощью параметра + -displayof (см.ниже); в этом случае команда + сможет работать и в приложениях, использующих несколько + дисплеев.
    -
    focus
    +
    focus окно
    -
    - , - . - , - . - Tk - . , - .
    +
    Если одно из окон данного приложения находится в фокусе на + дисплее окна, то команда устанавливает фокус ввода на + окно и возвращает пустую строку. Если же у приложения + не было фокуса ввода на дисплее окна, то окно будет запомнено + как окно в фокусе для данного верхнего уровня. При попадании + фокуса на данный верхний уровень в очередной раз Tk установит + его на окно. Если аргументом является пустая строка, то + команда не выполняет никаких действий.
    -
    focus -displayof
    +
    focus -displayof окно
    -
    , - . - , - .
    +
    Возвращает имя окна в фокусе на дисплее, содержащем + окно. Если окно в фокусе на дисплее окна не + принадлежит данному приложению, то команда возвращает пустую + строку.
    -
    focus -force
    +
    focus -force окно
    -
    , - . - - . - , - . - , .
    +
    Устанавливает окно в фокус на дисплее окна, даже + если у приложения нет фокуса ввода на этом дисплее. Эту + команду следует использовать экономно или отказаться от его + использования совсем. Обычно приложение не должно запрашивать + для себя фокус самостоятельно, дожидаясь пока на него не + переключит фокус менеджер окон. Если аргументом является + пустая строка, то команда не выполняет никаких действий.
    -
    focus -lastfor
    +
    focus -lastfor окно
    -
    , - , - . - , - , , - . , - - .
    +
    Возвращает имя окна , последним получившим фокус + ввода среди всех окон того же верхнего уровня, что и + окно. Если ни на какое из окон данного верхнего уровня фокус + не устанавливался или если окно, на которое фокус + устанавливался последним, удалено, то команда возвращает имя + верхнего уровня. Возвращаемое значение является именем окна, + на котором будет установлен фокус ввода при следующей передаче + фокуса на данный верхний уровень менеджером окна.
    -

    +

    ОСОБЕННОСТИ РЕАЛИЗАЦИИ

    -

    Tk - X . X , - , - . Tk FocusIn - FocusOut , X - . - X ; , X - , , X - C . +

    При получении фокуса ввода внутренним окном Tk фактически не + устанавливает X фокус на это окно. X ведет себя таким образом, + что фокус сохранится на окне верхнего уровня, которому + подчиняется окно с фокусом. Однако Tk создает события FocusIn и + FocusOut в точности, как если бы X фокус был на внутреннем + окне. Такой подход порождает ряд трудностей при фактическом + переключении X фокуса; то, что X фокус установлен на данный + верхний уровень, незаметно, если не запрашивать X сервер + непосредственно из C программы.

    + diff --git a/hlp/ru/tk/font.html b/hlp/ru/tk/font.html index 78857b1..e4ecba3 100644 --- a/hlp/ru/tk/font.html +++ b/hlp/ru/tk/font.html @@ -1,4 +1,4 @@ - + font @@ -7,340 +7,340 @@

    font

    -

    .

    +

    Создание шрифтов и контроль за ними.

    -

    +

    СИНТАКСИС

    -      font    ...
    +      font параметр арг арг ...
         
    -

    +

    ОПИСАНИЕ

    -

    font : - - . , - . - :

    +

    Команда font обеспечивает работу со шрифтами: + определение поименованных шрифтов и запрос фактических + параметров шрифтов. У команды несколько различных форм, которые + задаются первым аргументом. В настоящее время поддерживаются + следующие формы команды:

    -
    font actual - -displayof
    +
    font actual шрифт + -displayof окно параметр
    -
    - , . - , - (, - ). - - (. " - "). , - . - , - . , - - . - (. " - ").
    +
    Возвращает информацию о фактических значениях параметров + шрифта, выводимого на экран. Фактические параметры + могут отличаться от запрошенных благодаря ограничениям, + накладываемым платформами (например, доступность различных + семейств шрифтов или различных кеглей). Аргумент + шрифт представляет собой описатель шрифта ниже + (см. "Описание + шрифта"). Если аргумент окно опущен, то по + умолчанию команда относится к главному окну. Если задан + аргумент параметр, то команда возвращает значение + указанного параметра. Если этот аргумент опущен, то + возвращаемое значение представляет собой список всех атрибутов + и их значений. Список возможных атрибутов приведен ниже + (см. "Параметры + шрифтов").
    -
    font configure - ...
    +
    font configure имяшрифта параметр + значение параметр значение ...
    -
    - . , - , - . , - , - . - -, - , , - - . - (. " - ").
    +
    Запрашивает значения параметров конфигурации примитива или + изменяет их. Если параметр не указан, то возвращает + список, содержащий значения всех параметров шрифта имя + шрифта . Если параметр задан, а его новое + значение нет, то команда возвращает текущее значение + указанного параметра . Если заданы одна или несколько + пар параметр-значение, то указанным параметрам шрифта + присваиваются новые значения, а содержимое всех примитивов, + использующих данный шрифт меняется в соответствии с новыми + значениями параметров. Список возможных атрибутов приведен + ниже (см. "Параметры + шрифтов").
    -
    font create +
    font createимяшрифта параметр значение ...
    -
    . - ; - , Tk - fontx, x - . - , - - . - (. " - ").
    +
    Создает новый поименованный шрифт и возвращает его имя. + Аргумент имяшрифта задает имя шрифта; если этот + аргумент опущен, то Tk генерирует новое имя вида + fontx, где x целое + число. Число пар параметр-значение может быть произвольным, + они задают значения соответствующих параметров нового + поименованного шрифта. Список возможных атрибутов приведен + ниже (см. "Параметры + шрифтов").
    -
    font delete _ _ ...
    +
    font delete имя_шрифта имя_шрифта ...
    -
    . , - , - - . - - font create, - - .
    +
    Удаляет указанные поименованные шрифты. В случае, если + удаляемый шрифт используется в одном из примитивов, + фактическое удаление не происходит пока не будет вычеркнуто + последнее вхождение шрифта в примитив. Если удаленный + поименованный шрифт впоследствии создается вновь повторным + вызовом команды font create, то в примитивах + будет использоваться новый поименованный шрифт с новыми + значениями параметров.
    -
    font families -displayof
    +
    font families -displayof окно
    -
    ( - ), - . , - .
    +
    Возвращает список имен всех семейств шрифтов (без различения + верхнего и нижнего регистров), существующих на дисплее + заданного окна. Если аргумент окно опущен, то его значением по + умолчанию является главное окно.
    -
    font measure - -displayof
    +
    font measure шрифт + -displayof окно текст
    -
    - . - (. " "). - - (, , " f " ). - , - .
    +
    Подсчитывает протяженность текстовой строки при выводе ее на + экран в данном шрифте. Аргумент шрифт задает + описатель текста (см. "Описание шрифта"). Возвращает + общую ширину текста в пикселах без учета сильно искаженных + символов (как, например, " f " курсивного). Если в + строке есть символы табуляции или перевода строки, то они не + влияют на результат подсчета.
    -
    font metrics - -displayof
    +
    font metrics шрифт + -displayof окно параметр
    -
    - . - , (. " "). - , - . , - ; - , - . - (. - ").
    +
    Возвращает информацию о метрических характеристиках + шрифта при его выводе на экран. Аргумент шрифт задает + описатель шрифта, (см. "Описание шрифта"). Если аргумент + окно опущен, то его значением по умолчанию является главное + окно. Если задан аргумент параметр, то команда возвращает + значение указанной метрической характеристики; если этот + аргумент опущен, то возвращается список значений всех + метрических характеристик шрифта. Список метрических + характеристик приведен ниже (см. Метрические + характеристики шрифтов").
    font names
    -
    - .
    +
    Возвращает список всех поименованных на текущий момент + шрифтов.
    -

    +

    ОПИСАНИЕ ШРИФТА

    -

    - ; - -font - .

    +

    В качестве описателя шрифта в любой из приведенных выше команд + принимаются следующие данные; те же самые форматы допустимы и в + качестве значения параметра -font в описателе + примитива.

    -
    [1] _
    +
    [1] имя_шрифта
    -
    , font - create. - , - - . - , - .
    +
    Имя поименованного шрифта, созданного командой font + create. Использование поименованного шрифта не + может привести к ошибке вне зависимости от того, насколько + потенциально ошибочны или бессмысленны значения параметров + этого шрифта. Если вывод символов в поименованном шрифте + невозможен, то для их вывода используется автоматически + подбираемый шрифт с близкими значениями параметров.
    -
    [2] _
    +
    [2] сист_шрифт
    -
    ( ) , - . ( - X) XLFD (. [4]), - - . - , - .
    +
    Имя (зависящее от используемой платформы) шрифта, + интерпретируемого графическим сервером. Сюда входит также (под + X) шрифтXLFD (см. [4]), в котором + используется единственный символ предназначенный для забивки + нескольких полей в середине имени. Список системных шрифтов + приведен в части текста, описывающей особенности данной + платформы.
    -
    [3] ...
    +
    [3] семейство размер стиль стиль ...
    -
    , - , , , - . - , -size (. " "). - , - , . - : normal, +
    Список, первым элементом которого является требуемое + семейство шрифтов, а вторым, необязательным, элементом + требуемый размер. Параметр размер интерпретируется по тем же + правилам, что и параметр -size (см. "Параметры шрифтов"). Все + остальные необязательные аргументы, следующие за параметром + размер, представляют собой стили шрифтов. Они могут иметь + следующие значения: normal, bold, roman, italic, underline, overstrike.
    -
    [4] X- (XLFD)
    +
    [4] X-шрифт имена (XLFD)
    -

    Unix-, :

    +

    Имя шрифта для Unix-машин, представленное в виде:

    -

    ---------x-y----

    +

    -заливка-семейство-шрифт-наклон-устширина-добстиль-пиксель-точка-разрешx-разрешy-промежуток-ширина-наборсимволов-кодирование

    -foundry-family-weight-slant-setwidth-addstyle-pixel-point-resx-resy-spacing-width-charset-encoding.

    -

    , , - , " * ". - - " * ", " * " XLFD - ; - " * ", , - . - . - XLFD ( - ). - , , XLFD, - , "" - , - - ( ).

    +

    Поля, содержимое которых пользователю безразлично, можно + пропустить, заменив символом " * ". Каждому + пропущенному полю должен соответствовать ровно один символ + " * ", а символ " * " в конце XLFD + приводит к пропуску всех оставшихся полей; кратчайшая форма + имеет вид просто " * ", что означает, что значения + всех полей берутся по умолчанию. Всем пропущенным полям + присваиваются значения по умолчанию. В целях совместимости + XLFD всегда выбирает шрифт заданного размера в пикселах (а + не в точках). Несмотря на некоторую некорректность + выбранного подхода, все приложения, использующие XLFD, + предполагают, что "точка" в действительности + совпадает с одним пикселем, и при использовании корректного + размера шрифта могут привести к неправильному выводу шрифта + (обычно с более крупными символами).

    -
    [5] ...
    +
    [5] параметр значение параметр значение ...
    -
    -, - , , - (. " "). - - - . [1] [2] - - . [3], [4] [5] - - , . - - (, ); - - - . - , .
    +
    Правильно сформированный список пар параметр-значение, + задающих атрибуты шрифта, в том же формате, что и при + определении поименованного шрифта (см. "Параметры шрифтов"). При + использовании описателя шрифта система пытается + проанализировать описание в соответствии с приведенными выше + пятью правилами в указанном порядке. В случаях [1] и [2] имя + шрифта должно соответствовать существующему поименованному + шрифту или системному шрифту. Случаи [3], [4] и [5] + принимаются на всех платформах и в них будет использоваться + шрифт, по параметрам ближайший к требуемому. В некоторых + ситуациях оказывается невозможно найти близкий шрифт + (например, имя семейства оказалось испорченным); в этом случае + выбирается один из системно-зависимых шрифтов по + умолчанию. Если описатель шрифта не подходит ни под один из + приведенных выше образцов, то возникает ошибка.
    -

    +

    МЕТРИЧЕСКИЕ ХАРАКТЕРИСТИКИ ШРИФТОВ

    -

    font metrics - , - . , - . " " - , - , , , " g " - .

    +

    Команда font metrics использует следующие + параметры для запроса данных, определяемых при создании + шрифта. Это характеристики шрифта в целом, а не отдельных его + символов. В нижеследующих определениях "основа шрифта" + это горизонтальная прямая, на которой располагается нижняя часть + большинства букв, некоторые буквы, например, " g " + опускаются ниже основы.

    -ascent
    -
    - , -
    +
    Высота в пикселах самой высокой буквы шрифта над основой + плюс дополнительное пустое пространство, добавленное + разработчиком шрифта
    -descent
    -
    - , - .
    +
    Наибольшая протяженность в пикселях буквы шрифта под основой + плюс дополнительное пустое пространство, добавленное + разработчиком шрифта.
    -linespace
    -
    , - , , - . - .
    +
    Возвращает расстояние между строками текста, использующими + один и тот же шрифт, необходимое для того, чтобы символы + верхней строки не перекрывались с символами нижней. Обычно это + сумма зазора под верхней и над нижней строкой.
    -fixed
    -
    , " 1 " - , - , " 0 " - , - . , - - .
    +
    Возвращает булевское значение, равное " 1 " для + шрифта постоянной ширины, в котором ширина всех обычных + символов одинакова, и равное " 0 " для + пропорционального шрифта, разные буквы которого имеют + различную ширину. Ширина управляющих символов, символов + табуляции и других непечатаемых символов при вычислении этого + значения не учитывается.
    -

    +

    ПАРАМЕТРЫ ШРИФТОВ

    -

    - - [5] :

    +

    Следующие параметры поддерживаются на всех платформах и + используются для конструирования поименованного шрифта или при + задании шрифта с помощью стиля [5] выше:

    -
    -family
    +
    -family имя
    -
    ( ). Tk - - Courier ( " - "), Times ("" - ) Helvetica ( - "" ). - - "" . - "" , - ; - , , - . - , - .
    +
    Имя семейства шрифтов (нечувствительное к регистру). Tk + обязательно поддерживает семейства с именами + Courier (моноширинный шрифт "пишущей + машинки"), Times ("газетный" + шрифт с засечками) и Helvetica (рубленый + "европейский" шрифт). При использовании одного из + этих семейств шрифтов оно автоматически заменяется наиболее + подходящим "родным" шрифтом. Имя семейства также + может быть именем одного из "родных" шрифтов, + зависящих от платформы; в этом случае семейство будет работать + на своей платформе, как положено, однако при переходе к другой + платформе могут возникнуть неприятности. Если имя семейства не + задано или не опознано, то будет выбран шрифт по умолчанию для + данной платформы.
    -
    -size
    +
    -size размер
    -
    () . - , - . , - - . , - . - , - . , - ; - - . - , , , - - . - - , - Tk scaling.
    +
    Требуемый кегль (размер) шрифта. Если значением аргумента + является положительное число, то оно интерпретируется как + размер символов в точках. Если значение отрицательно, то его + абсолютная величина интерпретируется как размер в + пикселах. Если шрифт указанного кегля нельзя вывести, то + берется ближайший доступный размер. Если размер не задан или + его значение равно нулю, то будет выбран размер по умолчанию + для данной платформы. Как правило, размер шрифта следует + указывать в точках; тогда приложение будет иметь один и тот же + размер на экране даже на мониторах различного разрешения или + при переносе скриптов на другие платформы. Однако использование + пикселей оправдано, например, в ситуациях, когда строчка + текста должна соответствовать по длине двуцветному изображению + фиксированного размера. Коэффициент перехода от точек к + пикселам и обратно устанавливается при запуске приложения на + основе параметров используемого монитора, однако его можно + изменить при помощи команды Tk scaling.
    -
    -weight
    +
    -weight вес
    -
    . - normal , - bold . - , . - normal.
    +
    Условная толщина символов в шрифте. Значение + normal задает шрифт нормальной толщины, + bold жирный шрифт. Выбирается доступная + толщина, ближайшая к заданной. По умолчанию параметр имеет + значение normal.
    -
    -slant
    +
    -slant наклон
    -
    , - . roman - italic. - roman , - italic - . , - . +
    Величина, на которую символы шрифта отклоняются по + вертикали. Допустимы значения roman и + italic. Шрифт с наклоном + roman это обычный прямой шрифт, а символы + шрифта с наклоном italic отклоняются от + вертикали на несколько градусов. Выбирается доступный наклон, + ближайший к заданному. По умолчанию параметр имеет значение roman.
    -
    -underline
    +
    -underline булевское
    -
    , , - . - .
    +
    Значением параметра является булевский флажок, указывающий, + следует ли подчеркивать символы шрифта. По умолчанию параметр + имеет значение ложь.
    -
    -overstrike
    +
    -overstrike булевское
    -
    , , - ( - ). - .
    +
    Значением параметра является булевский флажок, указывающий, + следует ли перечеркивать символы шрифта (горизонтальной прямой + посреди символа). По умолчанию параметр имеет значение + ложь.
    -

    +

    ОСОБЕННОСТИ РЕАЛИЗАЦИИ НА РАЗЛИЧНЫХ ПЛАТФОРМАХ

    -

    - :

    +

    Различные платформы поддерживают следующие поименованные + системные шрифты:

    X-Windows:
    -
    X , - xlsfonts(1).
    +
    Все допустимые имена X шрифтов, включая перечисляемые + выводятся командой xlsfonts(1).
    MS Windows:
    @@ -351,8 +351,9 @@
    system, application
    -

    . options.

    +

    См. также options.

    + diff --git a/hlp/ru/tk/frame.html b/hlp/ru/tk/frame.html index 2343772..676e328 100644 --- a/hlp/ru/tk/frame.html +++ b/hlp/ru/tk/frame.html @@ -1,4 +1,4 @@ - + frame @@ -7,15 +7,15 @@

    frame

    -

    (frames).

    +

    Команда создает и управляет примитивами рамок (frames).

    -

    +

    СИНТАКСИС

    -      frame _ ??
    +      frame имя_Пути ?параметры?
         
    -

    +

    СТАНДАРТНЫЕ ПАРАМЕТРЫ

    • -borderwidth
    • @@ -27,153 +27,154 @@
    • -relief
    -

    options.

    +

    Описание этих параметров приведено в разделе options.

    -

    +

    ДОПОЛНИТЕЛЬНЫЕ ПАРАМЕТРЫ ПРИМИТИВА

    - - - + + +
    :-background
    :background
    :Background
    Имя параметра:-background
    Имя в Базе:background
    Класс в Базе:Background
    -

    , - background, - . - , ( - ).

    +

    Этот параметр играет ту же роль, что и стандартный параметр + background, однако его значение может быть и + пустой строкой. В последнем случае в примитиве не выводится ни + фон, ни бордюр (и никакие цвета из цветовой схемы примитива не + задействованы на фон или бордюр).

    - - - + + +
    :-class
    :class
    :Class
    Имя параметра:-class
    Имя в Базе:class
    Класс в Базе:Class
    -

    . - , - (, ). - class - configure.

    +

    Параметр задает класс окна. Этот класс используется при запросе + значений других параметров окна в базе параметров, а также для + других целей (например, при задании привязок). Значение + параметра class нельзя поменять с помощью + команды примитива configure.

    - - - + + +
    :-colormap
    :colormap
    :Colormap
    Имя параметра:-colormap
    Имя в Базе:colormap
    Класс в Базе:Colormap
    -

    . - new ( - ), - ( - ). - colormap , - . - colormap - configure.

    +

    Задает цветовую схему окна. Может либо принимать значение + new (в этом случае для окна и его потомков + создается новая цветовая схема), либо быть именем другого окна + на том же экране с тем же именемПути (в этом случае + новое окно берет цветовую схему указанного окна). Если параметр + colormap не задан, то новое окно наследует + цветовую схему своего предка. Значение параметра + colormap нельзя поменять с помощью команды + примитива configure.

    - - - + + +
    :-container
    :container
    :Container
    Имя параметра:-container
    Имя в Базе:container
    Класс в Базе:Container
    -

    . , - - - ( Tk - -use). - - (, - ). - . container - +

    Значение параметра должно быть булевским. Если оно истинно, то + окно предназначено для включения какого-то другого приложения + (например приложение Tk верхнего уровня может быть включено с + помощью параметра -use). В этом случае окно + способно поддерживать соответствующие протоколы управления + окнами (например, обеспечивать исполнение геометрических + запросов). В данном приложении не должно быть собственных + потомков окна. Значение параметра container + нельзя поменять с помощью команды примитива configure.

    - - - + + +
    :-visual
    :visual
    :Visual
    Имя параметра:-visual
    Имя в Базе:visual
    Класс в Базе:Visual
    -

    , - Tk_GetVisual. - , , - . - visual - configure.

    +

    Задает визуальную информацию для нового окна в любой из форм, + поддерживаемых Tk_GetVisual. Если параметр не + задан, то окно будет использовать ту же визуальную информацию, + что и его непосредственный предок. Значение параметра + visual нельзя поменять с помощью команды + примитива configure.

    - - - + + +
    :-width
    :width
    :Width
    Имя параметра:-width
    Имя в Базе:width
    Класс в Базе:Width
    -

    , - Tk_GetPixels. - , - .

    +

    Задает желаемую ширину окна в любой из форм, + поддерживаемыхTk_GetPixels. Если значение + параметра не положительно, то окно вообще не запрашивает + места.

    -

    +

    ОПИСАНИЕ

    -

    frame ( - ) . - , , - - . frame .

    +

    Команда frame создает новое окно (заданное аргументом + имяПути) и превращает его в примитив рамки. Детали + изображения рамки, такие как ее цвет фона и объемный вид, + задаются с помощью описанных выше дополнительных + параметров. Команда frame возвращает имя пути нового окна.

    -

    . - - . - () - .

    +

    Рамка представляет собой простой примитив. Она предназначена в + первую очередь для размещения внутри нее окон сложным + образом. Единственными характеристиками рамки являются цвет ее + фона и (необязательно) способ изображения трехмерного бордюра + выпуклым или вдавленным.

    -

    +

    КОМАНДА ПРИМИТИВА

    -

    frame Tcl - . - . .

    +

    Команда frame создает новую команду Tcl с + именем пути окна рамки. С помощью этой команды можно выполнять + различные операции над примитивом. Ее общий вид.

    -      frame     ...
    +      frame имяПути параметр арг арг ...
         
    -

    , - . - . :

    +

    ИмяПути это имя команды, совпадающее с именем пути + примитива. Параметр и аргументы уточняют поведение + команды. Примитивы кнопки допускают следующие формы команды:

    -
    cget
    +
    имяПути cget параметр
    -
    - . - frame.
    +
    Возвращает текущее значение параметра конфигурации с именем + параметр. Параметр может быть любым из параметров + команды frame.
    -
    configure - ?? ? +
    имяПути configure + ?параметр? ?значение параметр значение ...?
    -
    - . - , , - ( - Tk_ConfigureInfo). - , , - , - . - -, - , - . +
    Запрашивает значения параметров + конфигурации примитива или изменяет их. Если параметр + не указан, то возвращает список, содержащий значения всех + допустимых в имениПути параметров (формат списка + описан в Tk_ConfigureInfo). Если + параметр задан, а его новое значение нет, то команда + возвращает часть полного списка, относящуюся к указанному + параметру. Если заданы одна или несколько пар + параметр-значение, то указанным параметрам примитива + присваиваются новые значения, а команда возвращает пустую + строку. Параметр может быть любым из параметров команды frame.
    -

    +

    ПРИВЯЗКИ

    -

    : - .

    +

    При создании новой рамки она не имеет привязок по умолчанию: + рамки не предполагаются интерактивными.

    + diff --git a/hlp/ru/tk/grab.html b/hlp/ru/tk/grab.html index 0e6c5ca..179f892 100644 --- a/hlp/ru/tk/grab.html +++ b/hlp/ru/tk/grab.html @@ -1,4 +1,4 @@ - + grab @@ -7,131 +7,132 @@

    grab

    -

    , - "" .

    +

    Направляет события, исходящие из клавиатуры и указателя + "Мыши" в модальное окно и его поддерево.

    -

    +

    СИНТАКСИС

    -      grab ?-global? 
    -      grab  ? ...?
    +      grab ?-global? окно
    +      grab параметр ?арг арг...?
         
    -

    +

    ОПИСАНИЕ

    -

    - "". Tk - , Xlib. - , Tk , - , - Tk. - , , - . - , - "" , - - . "" - : , - "" , - . - ; - - "" .

    +

    Команда реализует простые перехватчики событий ввода с + клавиатуры и "Мыши". Перехватчики Tk отличаются от + перехватчиков, описанных в документации Xlib. Когда для + некоторого окна задан перехватчик, Tk ограничивает все события, + исходящие от курсора, границами модального окна и его потомков в + иерархии окон Tk. Если курсор находится в пределах поддерева + модального окна, то курсор будет вести себя так, будто нет + никакого перехватчика вообще. Если курсор находится вне + поддерева модального окна, то события нажатия и освобождения + кнопок "Мыши" будут передаваться в окно, а + события входа в окно и выхода из окна будут + игнорироваться. Поддерево окон перехватчика "владеет" + курсором: прочие окна будут видны на экране, но будут + нечувствительны к нажатиям кнопок "Мыши" до тех пор, + пока не будет прекращен перехват. В поддерево модального окна + могут входить окна верхнего уровня; в этом случае все эти окна + верхнего уровня и их потомки обрабатывают события курсора + "Мыши" при перехвате обычным образом.

    -

    grab - - .

    +

    С помощью команды grab можно запустить или + прекратить перехват для указанного окна и получить сведения об + установленном для указанного окна перехватчике.

    -

    : . - , - , - . . - ; - ( "", - , ) - . - - .

    +

    Есть два типа перехватчиков: локальные и глобальные. Локальный + перехватчик влияет только на перехватывающее приложение, остальные + приложения ведут себя таким образом, как если бы никакого перехвата + не было. По умолчанию перехватчики локальные. Глобальный + перехватчик блокирует все приложения на экране; чувствительность к + событиям указателя (нажатия и отпускания клавиши "Мыши", + движения указателя, входы в окно и выходы из него) сохраняют только + окна поддерева модального окна. При действии глобального + перехватчика менеджер окон также нечувствителен к событиям + указателя.

    -

    - ( ) : - , - , , - , - . Tk - . - , - - focus. - .

    +

    При действии локальных перехватчиков события клавиатуры + (нажатие и отпускание клавиш) передаются обычным образом: + менеджер окон следит за тем, какое из приложений получает + событие клавиатуры, и всякое такое событие, относящееся к + перехватывающему приложению, перенаправляется в окно в + фокусе. При действии глобального перехватчика Tk перенаправляет + все события клавиатуры в перехватывающее приложение. Какое окно + приложения получает событие клавиатуры, по-прежнему определяется + командой focus. Перехват событий + клавиатуры отменяется при прекращении действия перехватчика.

    -

    . - , - . - . - , - .

    +

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

    -

    grab - :

    +

    Команда grab может иметь одну из следующих + форм:

    -
    grab ?-global?
    +
    grab ?-global? окно
    -
    grab +
    Совпадает с описанной ниже командой grab set.
    grab current window
    -
    window, - ; - , . - window , , - , - ; , - .
    +
    Если задан параметр window, то команда возвращает + имя текущего модального окна в данном приложении; если такого + окна нет, то команда возвращает пустую строку. Если параметр + window опущен, то команда возвращает список, + элементами которого являются все окна, захваченные данным + приложением на всех дисплеях; если таких окон нет, то команда + возвращает пустую строку.
    -
    grab release
    +
    grab release окно
    -
    ; - , - . .
    +
    Отменяет перехватчика на указанном окне; если в окне нет + перехватчика, то команда не выполняет никаких + действий. Команда возвращает пустую строку.
    -
    grab set -global
    +
    grab set -global окно
    -
    . - -global, ; - . - , - . - ( ), , - . - .
    +
    Устанавливает перехватчик на окно. Если задан параметр + -global, то перехватчик будет глобальным; в + противном случае он будет локальным. Если на дисплее окна у + приложения уже был перехватчик, то он автоматически + отменяется. Если на данном окне уже установлен перехватчик + того же вида (глобальный или локальный), что и запрошенный, то + команда не выполняет никаких действий. Команда возвращает + пустую строку.
    -
    grab status
    +
    grab status окно
    -
    none, - , local, - , global, - .
    +
    Возвращает none, если в окне нет + перехватчика, local, если в окне + установлен глобальный перехватчик, global, + если в окне установлен глобальный перехватчик.
    -

    +

    ОШИБКИ

    -

    - . - Xlib ; - Tk.

    +

    Реализация описанного выше эффекта простого перехватчика + оказалась чрезвычайно сложной и громоздкой. В текущей реализации + прямое использование приложениями перехватчиков Xlib небезопасно; + это нужно делать через процедуры Tk.

    -

    Tk , - - . - , - .

    +

    Если несколько приложений Tk управляются одним процессом, то на + данном дисплее только одно из этих приложений может иметь + локального перехватчика в каждый конкретный момент. Этого + ограничения нет для приложений, управляемых различными + процессами.

    + diff --git a/hlp/ru/tk/grid.html b/hlp/ru/tk/grid.html index 37542b8..00d2558 100644 --- a/hlp/ru/tk/grid.html +++ b/hlp/ru/tk/grid.html @@ -1,4 +1,4 @@ - + grid @@ -6,413 +6,414 @@

    grid

    -

    , - .

    +

    Геометрический менеджер, который размещает виджеты в ячейках + сетки.

    -

    +

    СИНТАКСИС

           grid option arg ?arg ...?
         
    -

    +

    ОПИСАНИЕ

    -

    grid - , - , . - - option.

    +

    Команда grid используется для управления + соответствующим геометрическим менеджером, размещающим виджеты по + ячейкам сетки, и для получения от него справочной информации. + Команда может иметь перечисленные ниже формы в зависимости от + значения аргумента option.

    grid slave ?slave ...? ?options?
    -
    ( - , ".", - , grid configure.
    +
    Если первый аргумент команды является именем окна (любая + величина, начинающаяся с ".", команда выполняется точно + также, как команда grid configure.
    grid bbox master ?column row? ?column2 row2?
    -
    - ( ). - . - - . - . , - - ( , ). - , - , - .
    +
    Без аргументов команда возвращает размер ограничивающего + прямоугольника для сетки (в пикселях). Возвращаемая величина + состоит из четырех чисел. Первые два представляют собой + расстояние от границы окна до левого верхнего угла + сетки. Следующие два числа представляют ширину и высоту + сетки. Если указана единственная колонка и строка, + возвращается ограничивающий прямоугольник для соответствующей + ячейки сетки (счет слева сверху, начиная с нуля). Если + указаны два набора колонок и строк, то возвращается размер + прямоугольника, ограничивающего соответствующую область + сетки.
    grid configure master index ?-option value...?
    -

    - index. - -minsize, -weight - -pad. , - index , - .

    +

    Запрашивает или устанавливает свойства колонки для колонки + сетки номер index. Допустимые опции + -minsize, -weight и + -pad. Если одна или более опций указаны, + index может быть списком номеров колонок, для которых + соответствующие значения опций должны быть установлены.

    -

    -minsize - .

    +

    Опция -minsize устанавливает минимальный + размер колонки на экране.

    -

    -weight ( - ) , - - . , - . 2 , - 1.

    +

    Опция -weight (допустимые значения целые + числа) устанавливает относительный вес, используемый при + распределении свободного пространства между + колонками. Нулевой вес указывает, что колонка не будет + расширяться. Колонка с весом 2 будет расти вдвое быстрее, + чем колонка с весом 1.

    -

    -pad , - - .

    +

    Опция -pad определяет размер полей, + которые будут добавлены к размерам максимального окна в + колонке при определении необходимой ширины колонки.

    -

    , , - . - , - , .

    +

    Если в команде указана опция, а ее величина отсутствует, + команда возвращает установленное значение данной опции. Если + не указана ни одна опция, команда возвращает список опций и + их значений в той же форме, в какой они задаются.

    grid configure slave ?slave ...? ?options?
    -

    () slave - , . - , , - . "-", - "x" "^" - , ( - (. " - "). :

    +

    Аргумент(ы) slave представляют собой имена + виджетов, которые размещаются в ячейках сетки. За ними следуют + пары аргументов, состоящие из имен опций и их значений, + которые управляют размещением виджетов. Символы "-", + "x" и "^" могут использоваться вместо имен + виджетов, чтобы изменить их типовое размещение (детально + правила использования этих символов описано ниже (см. "Относительное + размещение"). Допустимые имена опций:

    -column n
    -
    n- . - . , - , - grid, - "0", . - "x" - 1. - "x" - .
    +
    Вставляет виджет в n-ую колонку сетки. Номера + колонок начинаются с нуля. Если опция не указана, виджет + вставляется правее предыдущего виджета, вставленного той + же командой grid, или в колонку + "0", если это первый виджет в команде. Для + каждого символа "x" непосредственно перед + именем виджета номер колонки увеличивается на 1. То есть + "x" представляет пустую колонку в текущем ряду + сетки.
    -columnspan n
    -
    , - n . - , - "-". - "-" +
    Вставляет виджет таким образом, что он занимает + n колонок сетки. По умолчанию виджет занимает + одну колонку, если только после имени виджета не идет + символ "-". В этом случае каждый последующий + символ "-" увеличивает на единицу величину columnspan.
    -in other
    -
    () - other. - - .
    +
    Вставляет виджет(ы) в мастер-окно other. По + умолчанию виджет вставляется в непосредственного + предка.
    -ipadx amount
    -
    amount - , (). - . - , - , , 2 (2 ) - .5c (0.5 ). - "0".
    +
    Аргумент amount определяет горизонтальные + внутренние поля, которые вставляются в виджет(ы). Эти поля + вставляются внутри границы виджета. Размер должен быть + указан в одной из форм, в которой можно задавать размеры + на экране, например, 2 (2 пикселя) или + .5c (0.5 сантиметра). Значение по + умолчанию "0".
    -ipady amount
    -
    amount - , (). - . - , - , , 2 (2 ) - .5c (0.5 ). - "0".
    +
    Аргумент amount определяет вертикальные + внутренние поля, которые вставляются в виджет(ы). Эти поля + вставляются внутри границы виджета. Размер должен быть + указан в одной из форм, в которой можно задавать размеры + на экране, например, 2 (2 пикселя) или + .5c (0.5 сантиметра). Значение по + умолчанию "0".
    -padx amount
    -
    amount - , (). - . - , - , , 2 (2 ) - .5c (0.5 ). - "0".
    +
    Аргумент amount определяет горизонтальные + внешние поля, которые вставляются в виджет(ы). Эти поля + вставляются вне границы виджета. Размер должен быть указан + в одной из форм, в которой можно задавать размеры на + экране, например, 2 (2 пикселя) или + .5c (0.5 сантиметра). Значение по + умолчанию "0".
    -pady amount
    -
    amount - , (). - . - , - , , 2 (2 ) - .5c (0.5 ). - "0".
    +
    Аргумент amount определяет вертикальные внешние + поля, которые вставляются в виджет(ы). Эти поля + вставляются вне границы виджета. Размер должен быть указан + в одной из форм, в которой можно задавать размеры на + экране, например, 2 (2 пикселя) или + .5c (0.5 сантиметра). Значение по + умолчанию "0".
    -row n
    -
    n- . - . , - , - grid, - , .
    +
    Вставляет виджет в n-ную строку сетки. Номера + строк считаются с нуля. Если опция не указана, виджет + вставляется в ту же строку, что и предыдущий виджет в + данной команде grid, или в первую + свободную строку, если это правый виджет в команде.
    -rowspan n
    -
    , - n . - "1". grid - "^", , , - , - .
    +
    Вставляет виджет таким образом, чтобы он занимал + n строк. Значение по умолчанию + "1". Если в следующей команде grid содержится + символ "^", то он означает, что виджет, + находящийся в этом же столбце в предыдущей строке, должен + быть расширен еще на одну строку вниз.
    -sticky style
    -
    , - ( ) - . style , - n, - s, e - w. - , . - , - "". - , , n - s ( e - w), , - ( ) . - -sticky - -anchor -fill - pack. - , , - - .
    +
    Если виджет меньше размеров ячейки сетки, опция + позволяет разместить (или растянуть) виджет внутри + ячейки. Аргумент style является строкой, + содержащей одну или несколько из букв n, + s, e или + w. Строка может содержать пробелы или + запятые, но они игнорируются. Каждая из букв означает + одну из сторон ячейки, к которой виджет будет + "приклеен". Если в строке содержатся символы для + двух противоположных сторон, например, n + и s (или e и + w), виджет будет увеличен таким образом, + чтобы заполнить всю высоту (или ширину) ячейки. Таким + образом опция -sticky заменяет сразу + опции -anchor и -fill + для менеджера pack. Значение по умолчанию + пустая строка, которая означает, что виджет будет размещен + в центре ячейки и будет иметь свой естественный + размер.
    -

    - , , - , - , - , .

    +

    Если какой-либо из виджетов, перечисленных в команде, уже + размещен в сетке, а в команде для него указаны не все + возможные опции, для остальных опций используются предыдущие + значения, а не значения по умолчанию.

    grid forget slave ?slave ...?
    -
    () . - grid. - , - , - .
    +
    Удаляет виджет(ы) из сетки и с экрана. Они больше не + управляются менеджером grid. Значения опций + для удаляемых виджетов не сохраняются, так что если виджет + будет через некоторое время помещен в сетку, для него будут + использоваться значения опций по умолчанию.
    grid info slave
    -
    slave - , grid - configure. - "-in master", - "master" , +
    Возвращает список опций и их значений для окна slave в той + же форме, в какой они задаются в команде grid + configure. Первые два элемента списка + "-in master", где + "master" имя окна, в котором размещается slave.
    grid location master x y
    -
    x y - . - , - x y. - , "-1".
    +
    Аргументы x и y должны быть координатами в + системе координат мастер окна. Команда возвращает номер + колонки и строки, в которой находится точка с координатами + x и y. Если она расположена выше или левее + сетки, возвращается "-1".
    grid propagate master ?boolean?
    -
    boolean, , , - master - ( . " - "). - . , - (0 1). - .
    +
    Аргумент boolean, если он задан, определяет, будет + ли окно master расширяться при необходимости + (подробное описание опции см. "Распространение + размеров"). Команда при этом возвращает пустую + строку. Если аргумент не задан, команда возвращает текущее + значение опции (0 или 1). По + умолчанию расширение разрешено.
    grid rowconfigure master index ?-option value...?
    -

    - index. - -minsize, -weight - -pad. , - index , - .

    +

    Запрашивает или устанавливает свойства строки для строки + сетки номер index. Допустимые опции + -minsize, -weight и + -pad. Если одна или более опций указаны, + index может быть списком номеров строк, для которых + соответствующие значения опций должны быть установлены.

    -

    -minsize - .

    +

    Опция -minsize устанавливает минимальный + размер строки на экране.

    -

    -weight ( - ) , - - . , - . 2 , - 1.

    +

    Опция -weight (допустимые значения целые + числа) устанавливает относительный вес, используемый при + распределении свободного пространства между + строками. Нулевой вес указывает, что строка не будет + расширяться. Строка с весом 2 будет расти вдвое быстрее, чем + строка с весом 1.

    -

    -pad , - - .

    +

    Опция -pad определяет размер полей, + которые будут добавлены к размерам максимального окна в + строке при определении необходимой ширины колонки.

    -

    , , - . - , - , .

    +

    Если в команде указана опция, а ее величина отсутствует, + команда возвращает установленное значение данной опции. Если + не указана ни одна опция, команда возвращает список опций и + их значений в той же форме, в какой они задаются.

    grid remove slave ?slave ...?
    -
    () . - grid. , - , - , - .
    +
    Удаляет виджет(ы) из сетки и с экрана. Они больше не + управляются менеджером grid. Однако, значения + опций для них сохраняются, так что если виджет будет через + некоторое время помещен в сетку, для него будут использоваться + прежние значения опций.
    grid size master
    -
    ( ) - master. - , - -minsize, - -weight -pad.
    +
    Возвращает размер сетки (в колонках и строках) для окна + master. Размер определяется наибольшим номером строки + или столбца, в которых размещен виджет или задано ненулевое + значение одной из опций -minsize, + -weight или -pad.
    grid slaves master ?-option value?
    -
    , , - ( ). - -row - -column. , - , - .
    +
    Если опции не заданы, возвращает список всех виджетов, + размещенных в сетке (размещенные позже в списке стоят раньше). + Допустимые опции -row и + -column. Если они указаны, команда + возвращает список виджетов, размещенных в соответствующей + строке или столбце.
    -

    +

    ОТНОСИТЕЛЬНОЕ РАЗМЕЩЕНИЕ

    -

    grid - - . - , - , - "-", - "x" "^" .

    +

    Команда grid содержит ограниченный набор + возможностей для размещения виджетов без явного указания строк и + колонок для каждого. Если номер строки или колонки не указан + явно, он рассчитывается в момент размещения виджета исходя из + текущего заполнения сетки, позиции виджета относительно других + виджетов и наличия в команде специальных символов "-", + "x" и "^" вместо имен виджетов.

    -
    -
    - -columnspan . - "-" - -columnspan. - "-" "^" +
    Этот символ увеличивает значение опции + -columnspan для виджета слева. Несколько + символов "-" подряд означают последовательное + увеличение значения опции -columnspan. Символ + "-" не может стоять после "^" или "x".
    x
    -
    - .
    +
    Этот символ оставляет пустую колонку между виджетом слева и + виджетом справа.
    ^
    -
    - -rowspan - . - ^ - .
    +
    Этот символ увеличивает значение опции + -rowspan для виджета в соответствующей + колонке предыдущей строки. Число и расположение символов + ^ в строке должно соответствовать числу и + расположению расширяемых виджетов в предыдущей строке.
    -

    grid

    +

    АЛГОРИТМ РАЗМЕЩЕНИЯ grid

    -

    grid - . - , ( - ) - -. - -. - , - . - () () - -sticky.

    +

    Геометрический менеджер grid размещает виджеты + в окне в три шага. На первом шаге определяются минимальные + размеры, необходимые для размещения всех виджетов и (если + распространение размеров разрешено) формируется запрос на + изменение размеров мастер-окна. На втором шаге необходимые + размеры сравниваются с реальными размерами мастер-окна. Если они + не совпадают, то размеры виджетов пересчитываются + соответствующим образом. На третьем шаге каждый виджет + размещается в своей колонке (колонках) и строке (строках) в + соответствии со значением опции -sticky.

    -

    , - , , - -columnspan - -rowspan "1", - - - ( ) - -minsize. - -columnspan - -rowspan . - , - - -weight. - , - .

    +

    Чтобы определить минимальные размеры, необходимые для колонок и + строк, геометрический менеджер сначала рассматривает те виджеты, + у которых значения обеих опций -columnspan и + -rowspan равны "1", рассчитывает их + размер и определяет минимальный размер колонок и строк как + максимум из соответствующих размеров размещаемых в них виджетов + (включая поля) и значения соответствующей опции + -minsize. После этого рассматриваются виджеты + со значением опции -columnspan или + -rowspan больше единицы. Если отведенная группа + колонок или строк мала для такого виджета, тогда дополнительный + размер распределяется между членами группы пропорционально + значениям их опций -weight. Если все члены + группы имеют нулевой вес, они получают одинаковое приращение + размеров.

    -

    , , - - . , - -. - - , - . , - - -minsize, . - , - -minsize, - , - .

    +

    Для мастер окон, размер которых оказался больше необходимого, + дополнительное пространство распределяется пропорционально весам + колонок и строк соответственно. Если все веса нулевые, виджеты + размещаются в центре мастер-окна. Если размер мастер-окна меньше + необходимого, то размеры колонок и строк уменьшаются + пропорционально их весам. Однако, если размер колонки или строки + уменьшился до значения соответствующей опции + -minsize, ее вес считается равным нулю. Если + все строки или колонки уменьшены до размеров, равных значениям + опций -minsize, и требуется дальнейшее + уменьшение размеров, группа виджетов обрезается справа и + снизу.

    -

    +

    РАСПРОСТРАНЕНИЕ РАЗМЕРОВ

    -

    -, - , , , - , - . , - - , - - . , grid - propagate - -. - , - -. - , , - - , .

    +

    Обычно менеджер рассчитывает размеры мастер-окна, необходимые + для размещения виджетов, и, при необходимости, устанавливает + размеры мастер окна таким образом, чтобы в нем в точности + поместились все необходимые виджеты. Это приводит к тому, что + информация о размерах виджетов распространяется по + иерархическому дереву виджетов, в результате чего целое + поддерево изменяет свои размеры при изменении одного из + листьевых элементов. Однако, команда grid + propagate может быть использована для отключения этого + механизма для одного или нескольких мастер-окон. Если + распространение размеров отключено, информация о необходимых + размерах не передается мастер-окну. Это может оказаться + полезным, если вы хотите, чтобы мастер-окно сохраняло те + размеры, которые вы определили.

    -

    -

    +

    ОГРАНИЧЕНИЯ НА МАСТЕР-ОКНА

    -

    - - ( ) - . - toplevel-.

    +

    Мастер-окно для каждого размещаемого виджета должно быть его + непосредственным предком (по умолчанию) или одним из потомков + его предка. Это ограничение гарантирует разумное поведение + виджетов при удалении toplevel-окон.

    -

    +

    ПОРЯДОК РАЗМЕЩЕНИЯ

    -

    - - , , - , -. - - , - . - , - , - : , . - - , raise lower - .

    +

    Если мастер-окно для виджета не является его непосредственным + предком, необходимо быть уверенным, что виджет лежит в стеке + окон выше, чем мастер-окно. В противном случае мастер-окно + закроет собой виджет и создастся впечатление, что виджет не + упакован правильным образом. Простейший способ избежать подобных + проблем следить, чтобы мастер-окно было создано раньше, чем + виджет: чем позже создано окно, тем выше оно в стеке. Если это + почему-либо неудобно, можно использовать команды raise и lower для изменения + порядка окон в стеке.

    + diff --git a/hlp/ru/tk/image.html b/hlp/ru/tk/image.html index 54dfae8..628b9a9 100644 --- a/hlp/ru/tk/image.html +++ b/hlp/ru/tk/image.html @@ -1,4 +1,4 @@ - + image @@ -6,101 +6,102 @@

    image

    -

    .

    +

    Создание изображений и манипулирование ими.

    -

    +

    СИНТАКСИС

    -      image  ?  ...?
    +      image параметр ?арг арг ...?
         
    -

    +

    ОПИСАНИЕ

    -

    image - , . - - . : +

    Команда image предназначена для создания и + удаления изображений, а также для получения информации о них. В + зависимости от значения параметра она может иметь различные + формы. Допустимы следующие формы команды:

    -
    image create ?? - ? ...?
    +
    image create тип ?имя? + ?параметр значение...?
    -
    . - , - , (, - bitmap). - ; , Tk - imagex, x . - - -, - . - ; - . - , - , - .
    +
    Создает новое изображение и возвращает его имя. Аргумент + тип задает тип изображения, который должен быть одним + из типов, определенных на момент выполнения команды (например, + bitmap). Аргумент имя задает имя + изображения; если он опущен, то Tk генерирует имя вида + imagex, где x целое число. В команде может + присутствовать произвольное число пар + параметр-значение, задающих значения параметров + конфигурации для нового изображения. Для каждого типа + изображения набор допустимых параметров свой; параметры для + встроенных типов изображений подробно описаны ниже. Если + изображение с указанным именем уже существует, то новое + изображение подменит его, а каждая его реализация заменится на + реализацию нового изображения.
    -
    image delete ? ...?
    +
    image delete ?имя имя...?
    -
    ; - . - , - . - . - , . - image - create, - .
    +
    Удаляет каждое из названных изображений; возвращает пустую + строку. Если в примитивах имеются реализации удаляемого + изображения, то фактическое удаление не будет произведено до + удаления всех реализаций. Однако связь между реализациями + изображения и менеджером изображений разрывается. Существующие + реализации сохранят свои размеры, однако станут пустыми. Если + удаленное изображение будет воссоздано командой image + create, то его реализации заполнятся новым + содержимым.
    -
    image height
    +
    image height имя
    -
    , - .
    +
    Возвращает десятичную строку, представляющую собой высоту в + пикселах изображения с именем имя.
    image names
    -
    .
    +
    Возвращает список имен всех существующих изображений.
    -
    image type
    +
    image type имя
    -
    - (.. +
    Возвращает тип изображения с именем имя + (т.е. значение аргумента тип при создании изображения командой image create).
    image types
    -
    - (.. +
    Возвращает список всех допустимых типов изображений + (т.е. всех возможных значений параметра тип команды image create).
    -
    image width
    +
    image width имя
    -
    , - .
    +
    Возвращает десятичную строку, представляющую собой ширину в + пикселах изображения с именем имя.
    -

    +

    ВСТРОЕННЫЕ ТИПЫ ИЗОБРАЖЕНИЙ

    -

    Tk - . - .

    +

    Следующие типы изображений определены непосредственно в Tk они + будут доступны в любом приложении. Отдельные приложения или + расширения могут определять дополнительные типы.

    bitmap
    -
    - , , . - bitmap
    +
    Каждый пиксель такого изображения имеет либо цвет переднего + плана, либо цвет фона, либо не имеет никакого цвета. Подробнее + такие изображения описаны в разделе bitmap
    photo
    -
    - - . - photo.
    +
    Предназначен для вывода полноцветных изображений с + использованием поправок для приближения цветов на мониторах с + ограниченными цветовыми возможностями. Подробнее такие + изображения описаны в разделе photo.
    + diff --git a/hlp/ru/tk/index-tk.html b/hlp/ru/tk/index-tk.html index f0606c4..423e262 100644 --- a/hlp/ru/tk/index-tk.html +++ b/hlp/ru/tk/index-tk.html @@ -1,4 +1,4 @@ - + Tk commands @@ -6,62 +6,63 @@

    Table of contents

    + diff --git a/hlp/ru/tk/label.html b/hlp/ru/tk/label.html index cbce244..e588698 100644 --- a/hlp/ru/tk/label.html +++ b/hlp/ru/tk/label.html @@ -1,4 +1,4 @@ - + label @@ -6,15 +6,15 @@

    label

    -

    .

    +

    Команда создает и управляет примитивами ярлыков.

    -

    +

    СИНТАКСИС

    -      label  ??
    +      label имяПути ?параметры?
         
    -

    +

    СТАНДАРТНЫЕ ПАРАМЕТРЫ

    • -anchor
    • @@ -39,103 +39,104 @@
    • -wraplength
    -

    otions.

    +

    Подробное описание этих параметров приведено в разделе oрtions.

    -

    +

    ДОПОЛНИТЕЛЬНЫЕ ПАРАМЕТРЫ ПРИМИТИВА

    - - - + + +
    :-height
    :height
    :Height
    Имя параметра:-height
    Имя в Базе:height
    Класс в Базе:Height
    -

    . - , - (.., , - Tk_GetPixels); - . , - .

    +

    Задает желаемую высоту ярлыка. Если в ярлыке выводится + изображение или двуцветное изображение, то значение параметра + задается в пикселях (т.е., в любом виде, приемлемом для + Tk_GetPixels); высота текстового ярлыка + задается числом строчек текста. Если параметр не задан, то + высота ярлыка вычисляется по его содержимому.

    - - - + + +
    :-width
    :width
    :Width
    Имя параметра:-width
    Имя в Базе:width
    Класс в Базе:Width
    -

    . - , - (.., , - Tk_GetPixels); - . , - .

    +

    Задает желаемую ширину ярлыка. Если в ярлыке выводится + изображение или двуцветное изображение, то значение параметра + задается в пикселях (т.е., в любом виде, приемлемом для + Tk_GetPixels); ширина текстового ярлыка + задается числом символов. Если параметр не задан, то ширина + ярлыка вычисляется по его содержимому.

    -

    +

    ОПИСАНИЕ

    -

    label ( - ) - . , , , - - . label - . - , - .

    +

    Команда label создает новое окно (задаваемое + аргументом имяПути) и превращает его в примитив + ярлыка. Детали изображения ярлыка, такие как его цвета, шрифт, + текст и исходный объемный вид задаются с помощью описанных выше + дополнительных параметров. Команда label + возвращает аргумент имяПути. В момент выполнения этой + команды не должно существовать окна с именем имяПути, + но должен существовать его предок.

    -

    , - , . - , - ( - - wrapLength). - ( - underline). - (, - ), .

    +

    Ярлык представляет собой примитив, в котором выводится + текстовая строка, изображение или двуцветное изображение. Весь + выводимый текст должен быть записан одним шрифтом, однако он + может занимать несколько строчек на экране (если в нем есть + символы перевода строки или задан параметр + wrapLength). Один из символов текста может быть + подчеркнут (в соответствии со значением параметра + underline). Есть несколько простых способов + управления ярлыком (например, изменения его формы или + редактирования текста в нем), они описаны ниже.

    -

    +

    КОМАНДА ПРИМИТИВА

    -

    label Tcl - . - .

    +

    Команда label создает новую команду Tcl с + именем имяПути. С помощью этой команды можно выполнять + различные операции над примитивом. Ее общий вид

    -        ?  ...?
    +      имяПути параметр ?арг арг ...?
         
    -

    - . :

    +

    Параметр и аргументы уточняют поведение + команды. Примитивы ярлыка допускают следующие формы команды:

    -
    cget
    +
    имяПути cget параметр
    -
    - . - label.
    +
    Возвращает текущее значение параметра конфигурации с именем + параметр. Параметрможет быть любым из + параметров команды label.
    -
    configure - ?? ? ...?
    +
    имяПути configure + ?параметр? ?значение параметр значение ...?
    -
    - . , - , - ( - Tk_ConfigureInfo). - , , - , - . - -, - , - . - button.
    +
    Запрашивает значения параметров конфигурации примитива или + изменяет их. Если параметр не указан, то возвращает + список, содержащий значения всех допустимых в + имениПути параметров (формат списка описан + вTk_ConfigureInfo). Если параметр + задан, а его новое значение нет, то команда + возвращает часть полного списка, относящуюся к указанному + параметру. Если заданы одна или несколько пар + параметр-значение, то указанным параметрам примитива + присваиваются новые значения, а команда возвращает + пустую строку. Параметр может быть любым из + параметров команды button.
    -

    +

    ПРИВЯЗКИ

    -

    : - .

    +

    При создании нового ярлыка он не имеет привязок по умолчанию: + ярлыки не предполагаются интерактивными.

    + diff --git a/hlp/ru/tk/listbox.html b/hlp/ru/tk/listbox.html index 7f8d125..c0eaa03 100644 --- a/hlp/ru/tk/listbox.html +++ b/hlp/ru/tk/listbox.html @@ -1,4 +1,4 @@ - + listbox @@ -7,18 +7,18 @@

    listbox

    -

    .

    +

    Команда создает и управляет примитивами окон со списками.

    -

    +

    СИНТАКСИС

    -      listbox  ??
    +      listbox имяПути ?параметры?
         
    -

    +

    СТАНДАРТНЫЕ ПАРАМЕТРЫ

    • -background
    • @@ -38,560 +38,561 @@
    • -xscrollcommand
    -

    options.

    +

    Подробное описание этих параметров приведено в разделе options.

    -

    +

    ДОПОЛНИТЕЛЬНЫЕ ПАРАМЕТРЫ ПРИМИТИВА

    - - - + + +
    :-height
    :height
    :Height
    Имя параметра:-height
    Имя в Базе:height
    Класс в Базе:Height
    -

    ( ). - , - , .

    +

    Задает желаемую высоту окна (число строчек текста в нем). Если + значение параметра неположительно, то высота окна выбирается + таким образом, чтобы в нем помещались все элементы списка.

    - - - + + +
    :-selectmode
    :selectMode
    :SelectMode
    Имя параметра:-selectmode
    Имя в Базе:selectMode
    Класс в Базе:SelectMode
    -

    . , , : single, browse, multiple listbox. browse.

    +

    Задает один из нескольких стилей управления выделением. Параметр может принимать произвольное значение, однако привязки по умолчанию предполагают, что его значение является одним из следующих: single, browse, multiple или listbox. По умолчанию параметр имеет значение browse.

    - - - + + +
    :-width
    :width
    :Width
    Имя параметра:-width
    Имя в Базе:width
    Класс в Базе:Width
    -

    ( - ). , - - "0". , - , - .

    +

    Задает желаемую ширину окна (число символов в строчке текста в + нем). Если ширина символа в данном шрифте непостоянна, то для + перевода числа символов в единицы экрана используется ширина + символа "0". Если значение параметра неположительно, то ширина + окна выбирается таким образом, чтобы в нем помещались все + элементы списка.

    -

    +

    ОПИСАНИЕ

    -

    listbox ( - ) - . , , , - , - . listbox - . - , - .

    +

    Команда listbox создает новое окно (задаваемое + аргументом имяПути) и превращает его в примитив окна со + списком. Детали изображения кнопки, такие как ее цвет, шрифт, + текст и объемный вид, задаются с помощью описанных выше + дополнительных параметров. Команда listbox + возвращает аргумент имяПути. В момент выполнения этой + команды не должно существовать окна с именем имяПути, + но должен существовать его предок.

    -

    , - . - - . - , , - . (. - exportSelection) - X11 ; - STRING. - , - .

    +

    Окно со списком представляет собой примитив, в котором + выводятся строки элементы списка по одному на строчку окна. С + помощью описываемых ниже команд примитива в список можно + добавлять новые элементы или удалять элементы оттуда. Кроме + того, можно выделить один или несколько элементов, как описано + ниже. Экспорт выделенного текста (см. описание параметра + exportSelection) осуществляется по стандартному + протоколу X11 для выделений; выделения в поле ввода имеют тип + STRING. Значение строки выделения составляется + из выделенных элементов, разделенных символами перехода на новую + строчку.

    -

    - . - . - - xScrollCommand - yScrollCommand. , - (. ).

    +

    Все элементы списка не обязательно выводятся в окне со списком + одновременно. Содержимое окна можно поменять с помощью + описываемых ниже команд. Окна со списком поддерживают прокрутку + в обоих направлениях с помощью стандартных параметров + xScrollCommand и + yScrollCommand. Кроме того, возможно + сканирование окон (см. описание ниже).

    -

    +

    ИНДЕКСЫ

    -

    - . - . :

    +

    Аргументами многих команд примитива окна со списком служат + индексы. Индекс задает положение конкретного элемента в окне со + списком. Он может иметь один из следующих видов:

    -
    +
    число
    -
    . +
    Задает номер элемента в списке. Первый элемент имеет номер 0.
    active
    -
    , . - , - . +
    Задает элемент, на котором расположен курсор списка. Если + примитив находится в фокусе клавиатуры, то этот элемент + подчеркивается. Он устанавливается командой примитива activate.
    anchor
    -
    , - selection anchor.
    +
    Задает опорную точку выделения, которую устанавливает + команда примитива selection anchor.
    end
    -
    . - , , - index insert , - .
    +
    Указывает конец списка. Для большинства команд это последний + элемент списка, однако некоторые команды, такие как + index и insert считают его элементом, + следующим непосредственно за последним элементом списка.
    @x,y
    -
    , - (x,y) ( ). - , - , .
    +
    Указывает элемент, накрывающий точку в окне со списком с + координатами (x,y) (заданными в пикселях). Если + заданная точка не накрывается ни одним элементом, то указывает + элемент, ближайший к этой точке.
    -

    , - - .

    +

    Аргументы с именами индекс, первый и + последний в описываемых ниже командах примитива + представляют собой индексы в одной из описанных выше форм.

    -

    +

    КОМАНДА ПРИМИТИВА

    -

    listbox Tcl - . - .

    +

    Команда listbox создает новую команду Tcl с + именем имяПути. С помощью этой команды можно выполнять + различные операции над примитивом. Ее общий вид

    -        ?  ...?
    +      имяПути параметр ?арг арг ...?
         
    -

    - . - :

    +

    Параметр и аргументы уточняют поведение + команды. Примитивы окна со списком допускает следующие формы + команды:

    -
    activate
    +
    имяПути activate индекс
    -
    , - . - , , - . - , - , +
    Делает активным элемент, указанный аргументом + индекс. Если значение аргумента индекс + выходит за пределы списка, то активным становится элемент, + ближайший к указанному. Если окно со списком находится в + фокусе ввода, то активный элемент в нем выделен + подчеркиванием, а доступ к нему осуществляется через индекс active.
    -
    bbox
    +
    имяПути bbox индекс
    -
    , , - , - . x- - y- ( - ), - ( ). - , - . - , - , ( - ).
    +
    Возвращает список из четырех элементов, описывающий клетку, + занимаемую текстом в элементе, указанном параметром + индекс. Первые два элемента списка задают x- и + y-координаты верхнего левого угла клетки (в пикселях по + отношению к примитиву), последние два элемента ширину и высоту + области (в пикселях). Если на экране не видна никакая часть + элемента или если индекс указывает на несуществующий элемент, + то команда возвращает пустую строку. Если же на экране видна + хотя бы часть элемента, то результатом выполнения команды + служит описание всей области, занимаемой элементом (в том + числе и его невидимой частью).
    -
    cget
    +
    имяПути cget параметр
    -
    - . +
    Возвращает текущее значение параметра конфигурации с именем + параметр. Параметр может быть любым из параметров команды listbox.
    -
    configure - ?? ? ...?
    +
    имяПути configure + ?параметр? ?значение параметр значение ...?
    -
    - . , - , - ( - Tk_ConfigureInfo). - , , - , - . - -, - . - . +
    Запрашивает значения параметров конфигурации примитива или + изменяет их. Если параметр не указан, то возвращает + список, содержащий значения всех допустимых в + имениПути параметров (формат списка описан в + Tk_ConfigureInfo). Если параметр + задан, а его новое значение нет, то команда + возвращает часть полного списка, относящуюся к указанному + параметру. Если заданы одна или несколько пар + параметр-значение, то указанным параметрам примитива + присваиваются новые значения. В этом случае команда возвращает + пустую строку. Параметр может быть любым из параметров команды listbox.
    -
    curselection
    +
    имяПути curselection
    -
    , - . , - .
    +
    Возвращает список, состоящий из числовых значений индекса + всех выделенных элементов. Если ни один из элементов не выделен, + то возвращает пустую строку.
    -
    delete - ??
    +
    имяПути delete первый + ?последний?
    -
    . - , - . - - , .. .
    +
    Удаляет один или несколько элементов списка. Аргумент + первый является индексом первого, а аргумент + последний индексом последнего удаляемого элемента. По + умолчанию значение аргумента последний совпадает со значением + аргумента первый, т.е. удаляется один элемент.
    -
    get - ??
    +
    имяПути get первый + ?последний?
    -
    , - , - ( , - ). , - , - - ( ). - - .
    +
    Если аргумент последний не задан, то возвращает + содержимое элемента списка, заданного аргументом + первый (или пустую строку, если первый указывает на + несуществующий элемент). Если аргумент последний задан, то + команда возвращает список, элементами которого являются все + элементы окна между первым и последним + (включая оба эти элемента). Значением каждого из аргументов + первый и последний может быть любое допустимое значение + индекса.
    -
    index
    +
    имяПути index индекс
    -
    , - . - end, - ( - ).
    +
    Команда возвращает числовое значение индекса, заданного + аргументом индекс. Если аргумент индекс + имеет значение end, то возвращаемое значение + равно числу элементов в списке (а не индексу последнего + элемента).
    -
    insert - ? ...
    +
    имяПути insert индекс + ?элемент элемент ...
    -
    , - . - end, - . - .
    +
    Вставляет элементы непосредственно перед элементом, на + который указывает аргумент индекс. Если аргумент + индекс имеет значение end, + то новые элементы вставляются в конец списка. Команда + возвращает пустую строку.
    -
    nearest y
    +
    имяПути nearest y
    -
    y- - () - .
    +
    По заданному значению y-координаты в окне со списком + возвращает индекс ближайшего к этому значению (видимого) + элемента списка.
    -
    scan -
    +
    имяПути scan параметр + аргументы
    -

    . - :

    +

    Осуществляет сканирование окна со списком. В зависимости от + значения параметра может иметь две различные формы:

    -
    scan mark x y
    +
    имяПути scan mark x y
    -
    x - ; - scan dragto. - "" - . .
    +
    Запоминает значение координаты x и текущее состояние + окна со списком; используется в сочетании с последующими + командами scan dragto. Обычно эта команда + связана с нажатием клавиши "Мыши" на + примитиве. Возвращает пустую строку.
    -
    scan dragto x y
    +
    имяПути scan dragto x y
    -
    - x y x - y - scan mark. - , 10 - . - "" - . - .
    +
    Вычисляет разность между значением своих аргумента + x и y и значениями аргументов x + и y последней выполненной на данном примитиве + команды scan mark. Затем переносит + изображение примитива на расстояние, в 10 раз превышающее + вычисленную разность. Команда обычно связана с событиями + движения "Мыши" в примитиве и используется для + скоростного перетаскивания списка в окне. Возвращает + пустую строку.
    -
    see
    +
    имяПути see индекс
    -
    , - . - , - . , - ; - - .
    +
    Выравнивает список в окне так, чтобы элемент с индексом + индекс оказался видимым. Если этот элемент уже + является видимым, то команда не производит никаких + действий. Если указанный элемент находится возле края окна, то + при прокрутке списка элемент оказывается возле того же края; в + противном случае указанный элемент выводится в центре + окна.
    -
    selection -
    +
    имяПути selection параметр + аргумент
    -

    - . - .

    +

    Производит размещение выделения в окне со + списком. Команда может иметь одну из описанных ниже + форм.

    -
    selection anchor -
    +
    имяПути selection anchor + индекс
    -
    , - . - , - , . - - "" . - anchor.
    +
    Устанавливает опорную точку выделения на элемент, + указанный аргументом индекс. Если индекс + указывает на несуществующий элемент, то опорным становится + элемент, ближайший к указанному. Опорная точка выделения + является фиксированным концом выделения при движении + "Мыши" с нажатой клавишей. На опорную точку выделения + указывает индекс anchor.
    -
    selection clear - ??
    +
    имяПути selection clear + первый ?последний?
    -
    - . - .
    +
    Отменяет выделение элементов между первым и + последним. Вне этого интервала выделение не + изменяется.
    -
    selection includes -
    +
    имяПути selection includes + индекс
    -
    "1", , - , , "0" - .
    +
    Возвращает "1", если элемент, указанный + аргументом индекс, выделен, и "0" в противном + случае.
    -
    selection set - ??
    +
    имяПути selection set + первый ?последний?
    -
    - ; - .
    +
    Выделяет все элементы в промежутке между первым и + последним; на выделение вне указанного интервала команда + влияния не оказывает.
    -
    xview
    +
    имяПути xview аргументы
    -

    - , , - . :

    +

    Используется для запроса горизонтального положения + информации, выведенной в окне примитива, и изменения этого + положения. Команда может иметь одну из следующих форм:

    -
    xview
    +
    имяПути xview
    -
    , . - , - ; - . , - , "2", - "6", 20% - , 40% , - 40% . - +
    Возвращает список, состоящий из двух элементов. Каждый + из элементов списка представляет собой вещественное число, + заключенное между нулем и единицей; эта пара чисел + описывает видимый в окне горизонтальный интервал. Так, + например, если первое число равно "2", а второе + "6", то 20% текста в окне со списком оказывается + невидимой слева от окна, в окне выводится 40% информации, + и еще 40% оказывается невидимой справа от окна. Те же + значения передаются полосе прокрутки через параметр -xscrollcommand.
    -
    xview
    +
    имяПути xview индекс
    -
    , - , - . - 0.
    +
    Переносит строку в поле ввода так, что самым левым + символом в окне становится символ, положение которого + указано аргументом индекс. Положения символов определяются + исходя из ширины символа 0.
    -
    xview moveto -
    +
    имяПути xview moveto + число
    -
    , - , - . - "0" "1".
    +
    Передвигает область видимости так, что слева от окна + остается невидимой часть текста списка, указанная + аргументом число. Число должно быть + заключено между "0" и "1".
    -
    xview scroll -
    +
    имяПути xview scroll + количество что
    -
    - . - , - units - pages - . - units, - ( - 0). - pages, - . - , - , .
    +
    Сдвигает выводимый в окне текст вправо или влево в + соответствии со значениями аргументов. Количество + должно быть целым числом, аргумент что может + принимать значения units или + pages или быть сокращением одного из этих + слов. Если аргумент что принимает значение + units, то сдвиг происходит на + количество символов средней ширины (ширины + символов 0). Если значением аргумента + что является pages, то сдвиг + осуществляется на количество полных экранов. Если + количество отрицательно, то видимые символы + сдвигаются вправо, в противном случае влево.
    -
    yview
    +
    имяПути yview аргументы
    -

    - , , - . :

    +

    Используется для запроса вертикального положения + информации, выведенной в окне примитива, и изменения этого + положения. Команда может иметь одну из следующих форм:

    -
    yview
    +
    имяПути yview
    -
    , . - , - . - - (, "0.5" - ). - , - . - -xscrollcommand.
    +
    Возвращает список, состоящий из двух элементов. Каждый + из элементов списка представляет собой вещественное число, + заключенное между нулем и единицей. Первый элемент списка + задает положение в списке первого видимого в окне элемента + (например, значение "0.5" указывает на середину + списка). Второй элемент указывает положение в списке + элемента, следующего непосредственно за последним видимым + в окне. Те же значения передаются полосе прокрутки через + параметр -xscrollcommand.
    -
    yview
    +
    имяПути yview индекс
    -
    , - , , - .
    +
    Переносит содержимое окна со списком таким образом, + чтобы элемент, заданный аргументом индекс, оказался в + первой строчке окна.
    -
    yview moveto -
    +
    имяПути yview moveto + число
    -
    , - , , - . - 0 1. 0 - , 0.33 , - , ..
    +
    Переносит содержимое окна со списком таким образом, + чтобы элемент, заданный аргументом число, + оказался в первой строчке окна. Число должно быть + заключено между 0 и 1. 0 указывает на первый + элемент в списке, 0.33 указывает на элемент, отстоящий от + начала списка на одну треть, и т.д.
    -
    yview scroll -
    +
    имяПути yview scroll + количество что
    -
    - . - , - units - pages - . - units, - . - pages, - . - , - , .
    +
    Сдвигает выводимый в окне текст вверх или вниз в + соответствии со значениями аргументов. Количество + должно быть целым числом, аргумент что может + принимать значения units или + pages или быть сокращением одного из этих + слов. Если аргумент что принимает значение + units, то сдвиг происходит на + количество строчек. Если значением аргумента + что является pages, то сдвиг + осуществляется на количество полных экранов. Если + количество отрицательно, то видимые символы + сдвигаются вниз, в противном случае вверх.
    -

    +

    ПАРАМЕТРЫ ПО УМОЛЧАНИЮ

    -

    Tk - , . - - selectMode, - .

    +

    При создании окна со списком Tk автоматически создает параметры + класса, определяющие его поведение по умолчанию. Поведение окна + со списком в значительной степени определяется значением + параметра selectMode, задающим один из четырех + режимов работы с выделением.

    -

    single - browse - . 1 "" - - . browse - 1 "".

    +

    В режиме выделения single или + browse допустимо выделение не более одного + элемента. В обоих режимах щелчок клавишей 1 "Мыши" на + элементе приводит к его выделению и отмене всех остальных + выделений. В режиме browse выделенный элемент + можно также перетащить с помощью клавиши 1 "Мыши".

    -

    multiple extended - , - . multiple 1 "" - , - . extended - , - - ""; "" - 1, - , - "".

    +

    В режимах выделения multiple или extended можно одновременно + выделить несколько элементов, не обязательно идущих в списке + подряд. В режиме multiple щелчок клавиши 1 "Мыши" на + элементе переключает состояние его выделенности, не влияя на + выделение остальных элементов. В режиме extended нажатие клавиши + на элементе выделяет его, отменяет выделение всех остальных + элементов и устанавливает опорную точку выделения на элемент под + курсором "Мыши"; если при этом тащить "Мышь" + с нажатой клавишей 1, то выделение + распространится на все элементы между опорным и элементом, + находящимся под сдвинувшимся курсором "Мыши".

    -

    browse, extended; .

    -

    :

    +

    В большинстве случаев для одиночных выделений используется режим browse, а для кратных режим extended; остальные режимы оказываются полезными в некоторых особых ситуациях.

    +

    Помимо описанного выше поведения привязки по умолчанию задают следующие дополнительные характеристики поведения примитива:

    -

    extended - 1 - Shift; - - "".

    +

    В режиме extended выделенную область можно + изменить нажатием клавиши 1 при нажатой клавише + Shift; при этом выделенной становится вся + область между опорной точкой и элементом под курсором + "Мыши".

    -

    extended 1 - Control - : - "", - . - . "" 1, - - "" - ; - .

    +

    В режиме extended нажатие клавиши 1 при + нажатой клавише Control начинает выполнение + операции переключения: опорная точка устанавливается на элемент + под курсором "Мыши", а состояние его выделения + меняется на противоположное. Выделение остальных элементов не + изменяется. Если тащить "Мышь" с нажатой клавишей 1, + то состояние выделения всех элементов между опорной точкой и + курсором "Мыши" меняется на состояние выделения + опорного элемента; выделение остальных элементов не + изменяется.

    -

    "" - 1, - . , - "" , - .

    +

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

    -

    2 - "". "" - , - "".

    +

    Для прокрутки можно использовать клавишу 2 + "Мыши". Если ее нажать и протащить "Мышь" по + списку, то содержимое списка будет прокручиваться в направлении + движения "Мыши".

    -

    Up - Down ( ) - . - browse extended - , - . - extended - .

    +

    При нажатии на клавиши Up или + Down курсор окна (активный элемент) + передвигается на одну строчку вверх или вниз. В режиме + browse или extended новый + активный элемент оказывается выделенным, а выделение всех + остальных элементов отменяется. В режиме + extended новый активный элемент становится + опорной точкой выделения.

    -

    extended - Shift-Up Shift-Down - - - , 1 "".

    +

    В режиме extended клавиши + Shift-Up и Shift-Down + передвигают курсор окна на одну строчку вверх или вниз и + расширяют область выделения новым активным элементом подобно + тому, как это делает клавиша 1 "Мыши".

    -

    Left - Right - 0 .

    +

    Нажатие на клавиши Left или + Right приводит к перемещению курсора ввода на + ширину символа 0 влево или вправо.

    -

    Control-Left - Control-Right - , , - Control-Prior - Control-Next.

    - Prior Next - ( ) - .

    +

    Нажатие на клавиши Control-Left и + Control-Right приводит к прокрутке списка на + ширину окна, также, как и нажатие на клавиши + Control-Prior и + Control-Next.

    Нажатие + на клавиши Prior и Next + приводит к прокрутке списка на одну страницу (на высоту окна) + вверх или вниз.

    -

    Home End - - .

    +

    Нажатие на клавиши Home и End + прокручивает список горизонтально до его левого или правого края + соответственно.

    -

    Control-Home - , - .

    +

    Нажатие на клавиши Control-Home устанавливает + курсор окна на первый элемент списка, выделяет этот элемент и + отменяет выделение всех остальных элементов.

    -

    Control-End - , - .

    +

    Нажатие на клавиши Control-End устанавливает + курсор окна на последний элемент списка, выделяет этот элемент и + отменяет выделение всех остальных элементов.

    -

    extended - Control-Shift-Home - , - Control-Shift-End - .

    +

    В режиме extended нажатие на клавиши + Control-Shift-Home расширяет выделение до + первого элемента в списке, а на клавиши + Control-Shift-End до последнего элемента в + списке.

    -

    multiple - Control-Shift-Home - , - Control-Shift-End - .

    +

    В режиме multiple нажатие на клавиши + Control-Shift-Home устанавливает курсор окна на + первый элемента в списке, а на клавиши + Control-Shift-End на последний элемент в + списке.

    -

    Select - ( ), - 1 "".

    - extended - Control-Shift- - Shift-Select - , - 1 "" +

    Клавиши пробела и Select + выделяют активный элемент (курсор окна), как если бы на этом + элементе была нажата клавиша1 "Мыши".

    В режиме + extended нажатие на клавиши + Control-Shift-пробел и + Shift-Select расширяет выделение до активного + элемента, как если бы на этом элементе была нажата клавиша + 1 "Мыши" при нажатой клавише Shift.

    -

    extended - Escape - - .

    +

    В режиме extended нажатие на клавиши + Escape отменяет самое последнее выделение и + восстанавливает предыдущее состояние выделение всех элементов в + области выделения.

    -

    Control-/ .

    +

    Control-/ выделяет все элементы окна.

    -

    Control-\ - ( browse, - ).

    +

    Control-\ приводит к отмене текущего + выделения (за исключением режима browse, где + эта команда не приводит ни к какому результату).

    -

    F16, Sun - Copy, ( - Meta-w) - .

    +

    Клавиша F16, на многих станциях Sun + обозначенная Copy, (или + Meta-w) копирует выделение в примитиве в + карман.

    -

    - , - .

    +

    Определяя новые параметры для отдельных примитивов или + переопределяя параметры класса, поведение окна со списком можно + изменить.

    + diff --git a/hlp/ru/tk/lower.html b/hlp/ru/tk/lower.html index 437f513..02dbebf 100644 --- a/hlp/ru/tk/lower.html +++ b/hlp/ru/tk/lower.html @@ -1,4 +1,4 @@ - + lower @@ -6,22 +6,22 @@

    lower

    -

    .

    +

    Команда изменяет положение окна в очереди стека.

    -

    +

    СИНТАКСИС

           lower ?window belowThis?
         
    -

    +

    ОПИСАНИЕ

    -

    lower window - , - window , , - belowThis. , - , .

    +

    Команда lower перемещает окно window + в очереди стека либо ниже всех окон, имеющих одинаковый с + window уровень иерархии, либо после одного из них, + заданного аргументом belowThis. Окна, оказавшиеся выше + данного окна, заслоняют его.

    @@ -31,3 +31,4 @@ + diff --git a/hlp/ru/tk/menu.html b/hlp/ru/tk/menu.html index 06a60a7..cd5d084 100644 --- a/hlp/ru/tk/menu.html +++ b/hlp/ru/tk/menu.html @@ -1,4 +1,4 @@ - + menu @@ -7,15 +7,15 @@

    menu

    -

    .

    +

    Создание примитива меню и управление им.

    -

    +

    СИНТАКСИС

    -      menu  ??
    +      menu имяПути ?параметры?
         
    -

    +

    СТАНДАРТНЫЕ ПАРАМЕТРЫ

    • -activebackground
    • @@ -31,899 +31,900 @@
    • -takefocus
    -

    options.

    +

    Подробное описание этих параметров приведено в разделе options.

    -

    +

    ДОПОЛНИТЕЛЬНЫЕ ПАРАМЕТРЫ ПРИМИТИВА

    - - - + + +
    :-postcommand
    :postCommand
    :PostCommand
    Имя параметра:-postcommand
    Имя в Базе:postCommand
    Класс в Базе:PostCommand
    -

    Tcl, - . - post . - 8.0 Macintosh Windows - . - , - .

    +

    Задает команду Tcl, которая должна выполняться при каждом + выводе меню. Эта команда выполняется командой примитива + post непосредственно перед выводом меню. В + версии 8.0 операционной системы Macintosh и в Windows все + команды системы меню выполняются перед выводом меню. Это + объясняется ограничениями, накладываемыми конкретными системами + управления меню данных платформ.

    - - - + + +
    :-selectcolor
    :selectColor
    :Background
    Имя параметра:-selectcolor
    Имя в Базе:selectColor
    Класс в Базе:Background
    -

    , - - .

    +

    Задает цвет индикатора при выделении входа меню, + представляющего собой защелкивающуюся кнопку или + переключатель.

    - - - + + +
    :-tearoff
    :tearOff
    :TearOff
    Имя параметра:-tearoff
    Имя в Базе:tearOff
    Класс в Базе:TearOff
    -

    , , - . , - , - .

    +

    Принимает булевское значение, указывающее, должен ли вверху + меню быть ключ отрыва. Если значение параметра истина, то ключ + отрыва имеет номер ноль, а нумерация последующих входов в меню + начинается с единицы.

    - - - + + +
    :-tearoffcommand
    :tearOffCommand
    :TearOffCommand
    Имя параметра:-tearoffcommand
    Имя в Базе:tearOffCommand
    Класс в Базе:TearOffCommand
    -

    , - , . - - , - ( ). , - , "a - b" - .x.y - .x.tearoff1, +

    Если значение этого параметра не пустая строка, то оно задает + команду, которая должна выполняться при каждом отрыве от меню. В + действительности выполняемая команда состоит из указанной + строки, за которой следуют имя меню и имя окна меню отрыва + (отделенные от строки команды и друг от друга пробелами). Если, + например, параметр имеет значение "a + b" и в результате отрыва от меню + .x.y должно быть создано новое меню + .x.tearoff1, то будет выполнена команда ".a b .x.y .x.tearoff1".

    - - - + + +
    :-title
    :title
    :Title
    Имя параметра:-title
    Имя в Базе:title
    Класс в Базе:Title
    -

    , - . NULL, - , - , .
    +

    Строка значение параметра задает имя окна, создаваемого при + отрыве от данного меню. Если значением параметра служит NULL, то + именем окна станет либо имя кнопки меню, либо содержимое + элемента каскада, из которого выполняется данное меню.
    - - - + + +
    :-type
    :type
    :Type
    Имя параметра:-type
    Имя в Базе:type
    Класс в Базе:Type
    -

    - menubar, tearoff - normal; - . , - , - . - - Tk.

    +

    Параметр может принимать одно из значений + menubar, tearoff или + normal; это значение устанавливается при + создании меню. При изменении значения меняется строка, + возвращаемая конфигурационной базой данных, однако это не + оказывает влияния на поведение примитива меню. Это свойство + используется механизмом клонирования и обычно не применяется за + пределами библиотеки Tk.

    -

    +

    ВВЕДЕНИЕ

    -

    menu ( - ) - . , , - - . - menu . - - , - . +

    Команда menu создает новое окно (заданное + аргументом имяПути) и превращает его в примитив + меню. Детали изображения меню, такие как его цвета и шрифты, + задаются с помощью описанных выше дополнительных параметров в + командной строке или в базе данных параметров. Команда + menu возвращает имя пути нового окна. В момент + выполнения команды не должно быть окна с именем + имяПути, однако его непосредственный предок должен + существовать. -

    , - , - ( , ). - . - . (menu entry) - , (entry). , - - .

    +

    Меню представляет собой примитив, предназначенный для вывода + совокупности однострочных входов, разбитых на несколько колонок + (быть может, одну). Входы бывают различных типов и имеют + соответственно различные свойства. Входы различных типов могут + содержаться в одном и том же меню. Вход меню (menu entry) совсем + не то же самое, что примитив поля ввода (entry). Более того, + вход меню не является отдельным примитивом все вместе они + образуют примитив меню.

    -

    - . ; - , - - -label, -bitmap - -image. - -accelerator, - . - , - , . - . - . - , , - .

    +

    При выводе вход меню может содержать до трех различных + полей. Главное поле представляет собой метку входа; оно содержит + строку текста, изображение или двуцветное изображение в + зависимости от значения параметров входа + -label, -bitmap и + -image. Если для данного входа задан параметр + -accelerator, то справа от метки появляется + второе текстовое поле. Этот параметр обычно описывает + совокупность клавиш, нажатие на которые приводит к тому же + результату, что и выбор данного входа в меню. Третье поле + представляет собой индикатор. Индикатор применяется + только для защелкивающихся входов или переключателей. Он + указывает, выделен или нет данный вход, и располагается слева от + строки входа.

    -

    ( - ), "". - .. , - . . - - .

    +

    При обычном использовании вход становится активным (при этом + меняется вид строки), если на нем расположен курсор Мыши. Если + клавишу .Мыши. в таком положении отпустить, то вход будет + выполнен. Результат выполнения зависит от типа входа. Подробное + описание результатов приведено ниже при описании конкретных + типов входов.

    -

    (disabled); - . - . - , - .

    +

    Входы могут быть отключены (disabled); изображение такого входа + тускнеет. Привязки меню по умолчанию блокируют активизацию и + выполнение команды для отключенного входа. Отключенный вход + может быть снова подключен, после чего его вновь можно + активизировать и выполнять соответствующую команду.

    -

    - - <<MenuSelect>>. - - - (, - - ).

    +

    При изменении активного входа в меню в нем происходит + виртуальное событие + <<MenuSelect>>. В результате из + меню можно запросить активный вход и предпринять какие-либо + действия (например, вывести соответствующую контекстно-зависимую + подсказку).

    -

    +

    КОМАНДНЫЕ ВХОДЫ

    -

    - , . - Tcl, +

    Наиболее распространенным типом входа в меню является командный + вход, который ведет себя подобно примитиву кнопки. При запуске + командного входа выполняется команда Tcl, заданная параметром -command.

    -

    -

    +

    ВХОДЫ-РАЗДЕЛИТЕЛИ

    -

    , - . - , , - .

    +

    Разделитель представляет собой вход, предназначенный для вывода + горизонтальной разделительной черты. Разделитель нельзя сделать + активным или выполнить, никакого поведения разделителя, + отличного от вывода черты не предусмотрено.

    -

    +

    ЗАЩЕЛКИВАЮЩИЕСЯ ВХОДЫ

    -

    - . - . - ( - -variable) , - -onvalue; - , - -offvalue. - - -. , - , - -selectcolor ; - . - -command, - Tcl - .

    +

    Защелкивающийся вход ведет себя подобно защелкивающейся + кнопке. При щелчке на таком входе происходит переключение из + выделенного состояния в невыделенное и обратно. В выделенном + состоянии в некоторую глобальную переменную (указанную + параметром -variable) заносится значение, + фиксированное параметром -onvalue; при отмене + выделения в эту глобальную переменную заносится другое значение, + фиксированное параметром -offvalue. Слева от + метки защелкивающегося входа изображается + квадратик-индикатор. Если вход выделен, то центральная часть + индикатора окрашивается в цвет, указанный параметром + -selectcolor для входа; в противном случае цвет + индикатора совпадает с цветом фона меню. Если для данного входа + задано значение параметра -command, то это + значение интерпретируется как команда Tcl всякий раз при + выделении входа.

    -

    -

    +

    ВХОДЫ-ПЕРЕКЛЮЧАТЕЛИ

    -

    - - . , - . - - ( -variable) - , -value. - - . , - , - . - - : - - . - - . , - , - -selectcolor ; - . - -command, - Tcl - .

    +

    Вход-переключатель ведет себя подобно примитиву + переключателя. Входы переключателя разбиты на группы, причем в + каждой группе выделенным может оказаться только один вход. При + выделении конкретного входа в некоторую глобальную переменную + (указанную параметром -variable) заносится + значение, фиксированное параметром -value. В + результате этого действия автоматически отменяется предыдущее + выделение в той же группе. Любое изменение значения переменной, + связанной с входом, автоматически приводит к отмене + существующего выделения. Разбиение входов-переключателей на + группы задается значениями связанных с ними переменных: два + входа с одинаковыми значениями переменной принадлежат одной + группе. Слева от метки входа-переключателя изображается ромб + индикатора. Если вход выделен, то центральная часть индикатора + окрашивается в цвет, указанный параметром + -selectcolor для входа; в противном случае цвет + индикатора совпадает с цветом фона меню. Если для данного входа + задано значение параметра -command, то это + значение интерпретируется как команда Tcl всякий раз при + выделении входа.

    -

    +

    КАСКАДНЫЕ ВХОДЫ

    -

    ( - -menu). - . postcascade - - . - , , - , - , .

    +

    Каскадному входу отвечает новое меню (заданное параметром + -menu). Каскадные входы позволяют строить + ниспадающие меню. Команда примитива postcascade + позволяет изобразить ассоциированное меню непосредственно рядом + с каскадным входом или удалить выведенное меню. Для обеспечения + корректности переключения меню необходимо, чтобы меню, + ассоциированное с входом, было непосредственным потомком того + меню, элементом которого данный вход является.

    -

    - Tcl :

    +

    Каскадный вход выводит ассоциированное меню с помощью команды + Tcl вида:

    -
    post x y
    +
    меню post x y
    -
    - , x y - - . Unix - Tcl.
    +
    где меню представляет собой имя пути + ассоциированного меню, а x и y это + координаты верхнего правого угла окна каскадного входа + относительно корневого окна. В системе Unix меню нижнего + уровня стирается с помощью команды Tcl.
    -
    unpost
    +
    меню unpost
    -
    - . - .
    +
    где меню представляет собой имя пути + ассоциированного меню. На других платформах стирание меню + осуществляется их собственными средствами.
    -

    - -command, - Tcl . Windows - .

    +

    Если для данного входа задано значение параметра + -command, то это значение интерпретируется как + команда Tcl всякий раз при выделении входа. В системе Windows + данная возможность не поддерживается.

    -

    +

    ВХОДЫ КЛЮЧИ ОТРЫВА

    -

    , - tearOff . - - add - delete. - - . - .

    +

    Ключ отрыва появляется в верхней части меню, если параметр + tearOff имеет значение истина. В отличие от + входов других типов его нельзя создать командой примитива + add или удалить командой примитива + delete. При создании ключа отрыва он + изображается в виде пунктирной горизонтальной черты в верхней + части окна. Привязки по умолчанию создают при щелчке на ключе + отрыва оторванную копию меню и всех подчиненных ему меню.

    -

    +

    ЛИНЕЙКА МЕНЮ

    -

    - ( . - toplevel ). Macintosh - , - - . Windows Unix - . - . - , , - (clone menu). (. - "").

    +

    Любое меню можно использовать в качестве полосы меню для окна + верхнего уровня (синтаксис см. в описании команды + toplevel ). В системе Macintosh каскадные + элементы меню появляются в полосе меню в верхней части окна, как + только соответствующее окно верхнего уровня оказывается поверх + остальных окон. В системах Windows и Unix эти элементы меню + изображаются в полосе меню в верхней части окна. Поведение меню + определяется особенностями интерфейса каждой из платформ. Для + каждого меню, используемого в качестве полосы меню, создается + его копия (clone menu). Подробное описание приведено ниже (см. + "Клоны").

    -

    +

    СПЕЦИАЛЬНЫЕ МЕНЮ В ЛИНЕЙКЕ

    -

    - . Macintosh - Apple Help. Windows - Windows System. X Windows - , . - , - , - . , .menubar - Macintosh - .menubar.apple - .menubar.help; Windows - .menubar.system; X Windows - .menubar.help.

    +

    Некоторые меню в полосе меню будут обрабатываться особым + образом. В системе Macintosh обеспечен доступ к специальным меню + Apple и Help. В каждом окне системы Windows обеспечен доступ к + меню Windows System. В системе X Windows предоставляется + специальное меню подсказки, выравненное вправо. Во всех случаях + эти меню создаются посредством команды, имя которой состоит из + имени команды меню в полосе меню, к которому приписывается имя + специального меню. Так, для полосы меню с именем .menubar на + Macintosh именами специальных меню будут + .menubar.apple и + .menubar.help; в Windows + .menubar.system; в X Windows именем меню + подсказки будет .menubar.help.

    -

    Apple Macintosh, Tk - , , - . , - , - Apple. Tk- , - Apple Menu - Items. System - Tk API - Tk, - . , , - . , - "TearOff".

    +

    Встречая меню Apple в системе Macintosh, Tk выводит его первые + элементы на экран всякий раз, когда окно, содержащее полосу меню + оказывается поверх остальных окон. Это меню является первым, + которое видит пользователь, а его заголовком служит логотип + Apple. После всех Tk-определенных элементов следует разделитель, + за которым идут все элементы из папки пользователя Apple Menu + Items. Так как используемая System процедура определения меню + отлична от используемой в Tk и API системы не поддерживают всех + возможностей меню Tk, в заголовке меню выводится только текст + заголовка. Никаких дополнительных сведений, изображений, + двуцветных изображений или цветов не выводится. Кроме того, ключ + отрыва имеет вид "TearOff".

    -

    Help Macintosh, Tk - - , - . - Apple. Apple - .

    +

    Встречая меню Help в системе Macintosh, Tk добавляет содержимое + этого меню к стандартному меню подсказки в правой части + пользовательской полосы меню всякий раз, когда пользовательская + полоса меню оказывается поверх остальных окон. Первые элементы + меню берутся из Apple. Аналогично меню Apple возможности вывода + элементов меню ограничены системой.

    -

    System Windows, Tk - , - . , - ; "" - Alt+Spacebar. Windows API - , , - , - .

    +

    Встречая меню System в системе Windows, Tk добавляет содержимое + этого меню к системному меню, к которому привязана данная полоса + меню. В этом меню имеется картинка, изображающая клавишу + пробела; ее можно запустить с помощью "Мыши" или нажав + клавиши Alt+Spacebar. Ограничения Windows API + не позволяют вывести в системном меню различные шрифты, цвета, + изображения или двуцветные изображения, а также ключи + отрыва.

    -

    Help X Windows, Tk - .

    +

    Встречая меню Help в системе X Windows, Tk делает его последним + в полосе меню и выравнивает по правому краю.

    -

    +

    КЛОНЫ

    -

    - , . - , - . - . , , - , , - . , - , .

    +

    При использовании меню в качестве полосы меню в окне верхнего + уровня, а также при отрыве меню создается его копия. Копия сама + является примитивом меню, но она непосредственный потомок + исходного меню. Изменения конфигурации исходного меню + распространяются и на копию. Кроме того, все каскады, на которые + есть указатели, также копируются, что обеспечивает корректное + переключение меню. Копии уничтожаются, если удаляется ключ + отрыва или полоса меню, а также при уничтожении оригинала.

    -

    +

    КОМАНДА ПРИМИТИВА

    -

    menu Tcl - . - . :

    +

    Команда menu создает новую команду Tcl с + именем имяПути. С помощью этой команды можно выполнять + различные операции над примитивом. Ее общий вид:

    -        ?  ...?
    +      имяПути параметр ?арг арг ...?
         
    -

    .

    +

    Параметр и аргументы уточняют поведение команды.

    -

    - , - . ; - :

    +

    Одним из аргументов многих команд примитива меню служит + указатель входа в меню, над которым следует произвести данную + операцию. Такие указатели называются индексами; они + могут иметь один из следующих видов:

    -
    +
    число
    -
    . 0, - 1 ..
    +
    Задает номер входа. Самый верхний вход имеет номер 0, + следующий за ним номер 1 и т.д.
    active
    -
    , . - , - none. active - .
    +
    Задает вход, который активен в настоящий момент. Если + активного входа нет, то это значение параметра эквивалентно + значению none. Слово active + нельзя сокращать.
    end
    -
    . - , - none. end - .
    +
    Указывает самый нижний вход в меню. Если в меню нет ни + одного входа, то это значение параметра эквивалентно значению + none. Слово end нельзя + сокращать.
    last
    -
    end.
    +
    Совпадает с end.
    none
    -
    "" . - activate - . - none .
    +
    Указывает на "никакой" вход. Чаще всего + используется совместно с параметром activate + для дезактивации всех активных входов в меню. Слово + none нельзя сокращать.
    -
    @
    +
    @число
    -
    - y- ; , - y-. , , - "@0" - .
    +
    В этом случае число интерпретируется как значение + y-координаты в окне меню; указывает на вход, ближайший к + данной y-координате. Так, например, + "@0" указывает на самый верхний + вход в окне.
    -
    +
    образец
    -
    , - . - , - . - Tcl_StringMatch.
    +
    Если индекс не подходит ни под один из указанных видов, то + используется поиск индекса по образцу. Сравнение метки входа с + образцом выполняется последовательно сверху вниз, + пока не встретится подходящая метка. При сравнении + используются правила Tcl_StringMatch.
    -

    :

    +

    Примитивы меню допускают следующие команды:

    -
    activate
    +
    имяПути activate индекс
    -
    , - . , - , - . - none - , - . .
    +
    Делает активным вход, указанный параметром индекс и + соответственно меняет вид строки входа на экране. Всякий вход, + бывший активным в момент выполнения команды, + деактивизируется. Если индекс имеет + значениеnone или если указанный этим + параметром вход отключен, то по окончании работы команды в + меню не будет активных входов. Возвращает пустую строку.
    -
    add - ? ?
    +
    имяПути add тип + ?параметр значение параметр значение?
    -

    . - ; - cascade, +

    Добавляет новый вход на верхушку меню. Аргумент + тип задает вид нового входа; он может + принимать значения cascade, checkbutton, command, - radiobutton ( - ). - :

    + radiobutton (эти значения допускают + однозначные сокращения). Дополнительные аргументы могут + задавать значения следующих параметров:

    -
    -activebackground
    +
    -activebackground значение
    -
    - . - (, , ), - - activeBackground . - tk_strictMotif - Motif, - - - -background. - - .
    +
    Задает цвет фона для вывода данного входа в активном + состоянии. Если значением служит пустая строка + (как, например, по умолчанию), то в качестве цвета фона + берется значение параметра + activeBackground для всего меню. Если + значение переменной tk_strictMotif + требует проверки согласования со стандартом Motif, то + значение данного параметра игнорируется и вместо него + используется значение параметра + -background. Для входа-разделителя и + ключа отрыва данный параметр недоступен.
    -
    -activeforeground
    +
    -activeforeground значение
    -
    - . - (, , ), - - activeForeground . - - - .
    +
    Задает цвет переднего плана для вывода данного входа в + активном состоянии. Если значением служит пустая + строка (как, например, по умолчанию), то в качестве цвета + фона берется значение параметра + activeForeground для всего меню.Для + входа-разделителя и ключа отрыва данный параметр + недоступен.
    -
    -accelerator
    +
    -accelerator значение
    -
    , - . , - , , - . - - .
    +
    Задает строку, которую следует выводить в правой части + входа. Обычно описывает комбинацию клавиш, на + которые следует нажать, чтобы выполнить те же действия, + что и при обращении к данному входу. Для входа-разделителя + и ключа отрыва данный параметр недоступен.
    -
    -background
    +
    -background значение
    -
    - ( ) . - (, , - ), - background . - - - .
    +
    Задает цвет фона для вывода данного входа в нормальном + (не активном и не отключенном) состоянии. Если + значением служит пустая строка (как, например, по + умолчанию), то в качестве цвета фона берется значение + параметра background для всего меню. Для + входа-разделителя и ключа отрыва данный параметр + недоступен.
    -
    -bitmap
    +
    -bitmap значение
    -
    , - . , - - Tk_GetBitmap. - -label, - , - . -image, - , -bitmap. - - - .
    +
    Задает двуцветное изображение, выводимое в меню вместо + текстовой метки. Может принимать любое значение, + воспринимаемое командой + Tk_GetBitmap. Данный параметр подавляет + параметр -label, однако если его + значением является пустая строка, то в окне выводится + текстовая метка. Параметр -image, если он + задан, подавляет параметр -bitmap. Для + входа-разделителя и ключа отрыва данный параметр + недоступен.
    -
    -columnbreak
    +
    -columnbreak значение
    -
    "0", - . - "1", - .
    +
    Если значение параметра равно "0", то новый + вход выводится после предыдущего входа. Если значение + равно "1", то новый вход выводится вверху нового столбца + меню.
    -
    -command
    +
    -command значение
    -
    Tcl, - . - - .
    +
    Задает команду Tcl, которую следует выполнить при вызове + данного входа. Для входа-разделителя и ключа отрыва данный + параметр недоступен.
    -
    -font
    +
    -font значение
    -
    , - . - (, , ), - font - . - - .
    +
    Задает шрифт, используемый при выводе метки входа и + строки горячих клавиш. Если значением параметра является + пустая строка (как, например, по умолчанию), то + используется значение параметра fontдля + всего меню. Для входа-разделителя и ключа отрыва данный + параметр недоступен.
    -
    -foreground
    +
    -foreground значение
    -
    - ( ) . - (, , - ), - foreground . - - - .
    +
    Задает цвет переднего плана для вывода данного входа в + нормальном (не активном и не отключенном) состоянии. Если + значением служит пустая строка (как, например, по + умолчанию), то в качестве цвета фона берется значение + параметра foreground для всего меню. Для + входа-разделителя и ключа отрыва данный параметр + недоступен.
    -
    -hidemargin
    +
    -hidemargin значение
    -
    , - . - ( , - ..). "1" - , , - .
    +
    Указывает, следует ли при выводе данного входа выводить + стандартные боковые поля. Такая возможность полезна при + создании различных палитр с картинками (цветовые палитры, + палитры образцов и т.д.). Значение "1" + указывает на то, что поля должны быть спрятаны, при + нулевом значении параметра они используются.
    -
    -image
    +
    -image значение
    -
    , - . - image create. - - -label, -bitmap, - , - - . - - .
    +
    Задает изображение, выводимое в меню вместо текстовой + метки или двуцветного изображения. Изображение должно быть + создано ранее командой image create. + Данный параметр подавляет параметры + -label, и -bitmap, + однако если его значением является пустая строка, то в + окне выводится текстовая метка или двуцветное + изображение. Для входа-разделителя и ключа отрыва данный + параметр недоступен.
    -
    -indicatoron
    +
    -indicatoron значение
    -
    - -. - , - .
    +
    Доступно только для защелкивающихся входов и + входов-переключателей. Значение является + булевским и указывает, следует или нет выводить индикатор + входа.
    -
    -label
    +
    -label значение
    -
    , - - . - - .
    +
    Задает текстовую строку, которая служит + меткой-идентификатором входа. Для входа-разделителя и + ключа отрыва данный параметр недоступен.
    -
    -menu
    +
    -menu значение
    -
    - . , - . - .
    +
    Данный параметр доступен только для каскадных + входов. Задает имя пути подменю, ассоциированного с данным + входом. Подменю должно быть непосредственным потомком + данного меню.
    -
    -offvalue
    +
    -offvalue значение
    -
    . - , - .
    +
    Доступен только для защелкивающихся входов. Задает + значение, которое следует записать в переменную входа при + отмене его выделения.
    -
    -onvalue
    +
    -onvalue значение
    -
    . - , - .
    +
    Доступен только для защелкивающихся входов. Задает + значение, которое следует записать в переменную входа при + его выделении.
    -
    -selectcolor
    +
    -selectcolor значение
    -
    - -. , - - .
    +
    Доступен только для защелкивающихся входов и + входов-переключателей. Задает значение, которое + следует записать в переменную входа при его + выделении.
    -
    -selectimage
    +
    -selectimage значение
    -
    - -. , - ( - -image). - image create. - -image , - .
    +
    Доступен только для защелкивающихся входов и + входов-переключателей. Задает изображение, которое следует + выводить в поле входа при его выделении (замещает параметр + -image). Изображение должно быть создано + ранее командойimage create. Если параметр + -image не задан, то данный параметр + игнорируется.
    -
    -state
    +
    -state значение
    -
    : - normal, active - disabled. - - foreground - background - . - . - - activeForeground - activebackground . - (disabled) - : - - Tcl. - disabledForeground - background . - - .
    +
    Задает одно из трех состояний входа: + normal, active или + disabled. В нормальном состоянии при + выводе входа используются значения параметров + foreground для всего меню и + background для входа или для всего + меню. Обычно вход становится активным при попадании на + него курсора. В активном состоянии при выводе входа + используются значения параметров + activeForeground для всего меню и + activebackground для входа. В отключенном + (disabled) состоянии вход становится + безответным: привязки по умолчанию не позволяют + активизировать его или вызвать соответствующую ему команду + Tcl. При выводе входа в этом случае используются значения + параметров disabledForeground для всего + меню и background для входа. Для + входа-разделителя данный параметр недоступен.
    -
    -underline
    +
    -underline значение
    -
    , - . , - , - . "0" - , "1" - .. - , - . - - .
    +
    Задает целочисленный индекс символа в метке, который + следует подчеркнуть. Значение этого индекса используется, + в том числе, привязками по умолчанию для осуществления + переключения с помощью клавиатуры. Значение "0" + указывает на первый символ в строке, "1" на + второй и т.д. Если в поле входа выводится изображение или + двуцветное изображение, то данный параметр + игнорируется. Для входа-разделителя и ключа отрыва данный + параметр недоступен.
    -
    -value
    +
    -value значение
    -
    -. - , - . - , - -label.
    +
    Доступен только для входа-переключателя. Задает + значение, которое следует записать в переменную входа при + его выделении. Если значением параметра является + пустая строка, то в переменную заносится значение + параметра -label.
    -
    -variable
    +
    -variable значение
    -
    - -. , - . - - . - - - .
    +
    Доступен только для защелкивающегося входа и + входа-переключателя. Задает имя глобальной переменной, + которую следует установить при выделении входа. Для + защелкивающегося входа значение переменной устанавливается + также при отмене его выделения. Для входа-переключателя + изменение значения переменной приводит к отмене текущего + выделения.
    -

    add - .

    +

    Команда примитива add возвращает + пустую строку.

    -
    cget
    +
    имяПути cget параметр
    -
    - . - menu.
    +
    Возвращает текущее значение параметра конфигурации с именем + параметр. Параметрможет быть любым из + параметров команды menu.
    -
    clone - ??
    +
    имяПути clone новоеИмяПути + ?типКопии?
    -
    - . - , - . - normal, - menubar tearoff. - Tk. - . "".
    +
    Создает копию текущего меню с именем + новоеИмяПути. Копия является отдельным + самостоятельным меню, однако любые изменения в ней приводят к + таким же изменениям оригинала и наоборот. Аргумент + типКопии может принимать значения normal, + menubar и tearoff. Команду не + следует исполнять вне библиотеки Tk. Подробную информацию + см. "Клоны".
    -
    configure ?? - ? ...?
    +
    имяПути configure ?параметр? + ?значение параметр значение ...?
    -
    - . , - , - ( - Tk_ConfigureInfo). - , , - , - . - -, - . - . - menu.
    +
    Запрашивает значения параметров конфигурации примитива или + изменяет их. Если параметр не указан, то возвращает + список, содержащий значения всех допустимых в + имениПути параметров (формат списка описан в + Tk_ConfigureInfo). Если параметр + задан, а его новое значение нет, то команда + возвращает часть полного списка, относящуюся к указанному + параметру. Если заданы одна или несколько пар + параметр-значение, то указанным параметрам примитива + присваиваются новые значения. В этом случае команда + возвращает пустую строку. Параметр может быть любым + из параметров команды menu.
    -
    delete 1 - ?2?
    +
    имяПути delete индекс1 + ?индекс2?
    -
    , - 1 2, . - - tearOff.
    +
    Удаляет все входы между входами, указанными аргументами + индекс1 и индекс2, включая оба эти входа. Ключи + отрыва при этом не удаляются для их удаления следует поменять + значение параметра tearOff.
    -
    entrycget -
    +
    имяПути entrycget индекс + параметр
    -
    - , - . - , +
    Возвращает текущее значение параметра конфигурации для + входа, заданного аргументом + индекс. Параметрможет принимать любые + значения, воспринимаемые командой примитива add.
    -
    entryconfigure - ??
    +
    имяПути entryconfigure + индекс ?параметры?
    -
    configure; - , - , configure - . - , - add. , - - . , - - , ( - Tk_ConfigureInfo).
    +
    Команда аналогична команде configure; + отличие состоит в том, что она относится к параметрам + отдельного входа, тогда как команда configure + применима к параметрам меню в целом. Параметры могут + принимать любые значения, воспринимаемые командой примитива + add. Если параметры заданы, то им + присваиваются вновь заданные и команда возвращает пустую + строку. Если параметры не заданы, то команда + возвращает список текущих значений всех параметров для каждого + из входов, указанных аргументом индекс (формат списка + приведен в Tk_ConfigureInfo).
    -
    index -
    +
    имяПути index + индекс
    -
    , - none, - +
    Команда возвращает числовое значение индекса, заданного + аргументом индекс или значение none, + если значением аргумента было none.
    -
    insert - ? ?
    +
    имяПути insert индекс тип + ?параметр значение параметр значение?
    -
    add; - , insert - , - , . - , - .
    +
    Команда аналогична команде примитива add; + отличие состоит в том, что команда insert + вставляет новый вход непосредственно перед входом, на который + указывает аргумент индекс, а не в конец меню. Если в + меню есть ключ отрыва, то вставка входов перед ним + невозможна.
    -
    invoke
    +
    имяПути invoke индекс
    -
    , - . - . - - Tcl, - invoke - Tcl. - . : - - +
    Выполняет действие, ассоциированное с данным входом + меню. Подробное описание выполняемых действий приведено выше + при описании конкретных типов входов. Если с данным входом + ассоциирована какая-нибудь команда Tcl, то команда + invoke возвращает результат выполнения этой + команды Tcl. В противном случае результатом служит пустая + строка. Замечание: при исполнении данной команды меню не + пропадает автоматически это результат действия привязок по + умолчанию перед исполнением команды invoke.
    -
    post x y
    +
    имяПути post x y
    -
    - x y . - , - . - . postCommand, - Tcl , - post; - post - Tcl. - , post - .
    +
    Обеспечивает вывод меню на экран в месте с координатами + x и y относительно корневого окна. При + необходимости эти координаты корректируются так, чтобы меню на + экране было видно. Обычно команда возвращает пустую + строку. Если задан параметр postCommand, то + его значение интерпретируется как Tcl скрипт, который и + исполняется перед выполнением команды post; в + этом случае команда примитива post возвращает + результат данного скрипта Tcl. Если при выполнении скрипта + возникла ошибка, то post возвращает сообщение + об этой ошибке и меню не выводится.
    -
    postcascade -
    +
    имяПути postcascade + индекс
    -
    , , - , - . - - , postcascade - - .
    +
    Выводит подменю, вызываемое каскадным входом, указанным + аргументом индекс, и стирает ранее выведенное + подменю. Если аргумент индекс не указывает на + каскадный вход или если меню с именем имяПути не + выведено, то командаpostcascade не производит + никаких действий за исключением стирания ранее выведенных + подменю.
    -
    type
    +
    имяПути type индекс
    -
    , . - - add (, - command, separator - tearoff ).
    +
    Возвращает тип входа, указанного аргументом индекс. + Этот тип задается аргументом тип при создании входа + командой примитива add (например, + command, separator или + tearoff для ключа отрыва).
    -
    unpost
    +
    имяПути unpost
    -
    . - , . - . Windows Macintosh - , - .
    +
    Стирает окно с экрана. Если было выведено каскадное меню + нижнего уровня, то стирает это меню. Возвращает пустую + строку. На платформах Windows и Macintosh эта команда не + работает, так как там имеются собственные системы управления + окнами.
    -
    yposition +
    имяПути yposition индекс
    -
    y- - , - .
    +
    Возвращает десятичное значение y-координаты в окне меню + верхнего пиксела поля входа, заданного аргументом + индекс.
    -

    +

    КОНФИГУРАЦИИ МЕНЮ

    -

    - :

    +

    Привязки по умолчанию обеспечивают четыре различных способа + использования меню:

    -
    +
    Ниспадающие меню в полосе меню
    -
    . - , . - , - . . - , - -menu - . toplevel.
    +
    Наиболее часто встречающийся случай. Сначала создается + примитив меню, который станет полосой меню. Затем к этому меню + добавляются каскадные входы, описывающие нужные ниспадающие + меню. Затем создаются все ниспадающие меню. Когда все это + проделано, нужно задать значение параметра + -menu в команде примитива верхнего + уровня. Подробное описание toplevel.
    -
    +
    Ниспадающие меню в кнопках меню
    -
    . - - ( - ). - - -menu - . - , - , - . , , - - .
    +
    Это альтернативный способ создания полосы меню. Сначала + создается примитив кнопки меню для каждого меню верхнего + уровня (обычно цепочка кнопок располагается последовательно в + полосе меню окна). Кроме того следует создать все меню + верхнего уровня и подчиненные им меню и связать их вместе с + помощью параметра -menu в кнопках меню и + каскадных входах меню. Меню верхнего уровня должно быть + непосредственным потомком кнопки меню, а каждое подменю должно + быть непосредственным потомком меню, которое на него + ссылается. После того, как это сделано, привязки по умолчанию + позволяют пользователю переходить от одного меню к другому и + обращаться к дереву меню через кнопку меню.
    -
    +
    Всплывающие меню
    -
    - "" . - , - - tk_popup, - .
    +
    Всплывающие меню обычно выводятся при нажатии кнопки + "Мыши" или клавиши на клавиатуре. Сначала создаются + всплывающие меню и все каскадные подменю, затем в нужный + момент времени следует вызвать процедуру + tk_popup, в результате чего будет выведено + меню верхнего уровня.
    -
    -
    +
    Меню-переключатели с кнопкой
    -
    - - , - . - - . - - tk_optionMenu.
    +
    Меню-переключатель состоит из кнопки и связанного с ней + меню, которое позволяет выбрать одну из нескольких + возможностей. Описатель выбранной возможности выводится в + кнопке и в глобальной переменной запоминается соответствующее + значение. Для создания меню-переключателей используется + процедура tk_optionMenu.
    -
    +
    Отрывные меню
    -
    - . - - . , - .
    +
    Отрывное меню создается при исполнении входа ключа отрыва в + верхней части имеющегося меню. Привязки по умолчанию создают + копию исходного меню и выводят ее в виде окна верхнего + уровня. Оторванное меню ведет себя точно так же, как и + исходное.
    -

    +

    ПАРАМЕТРЫ ПО УМОЛЧАНИЮ

    -

    Tk , - :

    +

    При создании меню Tk автоматически создает параметры класса, + определяющие следующее поведение примитива по умолчанию:

    -

    "" , - , ; - .

    +

    При попадании курсора "Мыши" в меню вход, на котором + находится курсор, становится активным; при перемещении курсора + по меню соответственно меняется и активный вход.

    -

    "" , - , - .

    +

    Если курсор "Мыши" покидает меню, то все входы в нем + деактивизируются за исключением случая, когда курсор + перемещается в каскадное подменю.

    -

    "" - ( ) . - , .

    +

    При отпускании клавиши "Мыши" на меню активный вход + (если таковой имеется) исполняется. При этом меню стирается за + исключением случая, когда это оторванное меню.

    -

    Space - Return - .

    +

    Нажатие на клавиши Space или + Return приводят к исполнению активного входа и + стиранию меню.

    -

    - -underline, ( - ) - .

    +

    Если одна из букв в поле входа подчеркнута с помощью параметра + -underline, то нажатие на эту букву (или ее + эквивалент на верхнем или нижнем регистре) приводит к исполнению + входа и стиранию меню.

    -

    Escape - . , - .

    +

    Нажатие на клавишу Escape приводит к отмене + текущего выделения. Меню при этом стирается, если только это не + оторванное меню.

    -

    Up - Down , - . - , - .

    +

    Нажатие на клавиши Up или + Down приводит к активизации входа, примыкающего + к текущему активному входу сверху или снизу. Если достигнут + конец меню, то происходит перескок на противоположный его + конец.

    -

    Left - . - , - - . - , , - . - - . - : Tk ( - ) .

    +

    Нажатие на клавишу Left приводит к переходу на + соседнее слева меню. Если текущее меню представляет собой + каскадное подменю, то это каскадное подменю стирается и текущим + входом в меню становится каскадный вход в его непосредственном + предке. Если текущее меню представляет собой меню верхнего + уровня, выведенное кнопкой меню, то текущая кнопка меню + стирается и выводится соседняя слева кнопка меню. В остальных + случаях нажатие на эту клавишу не приводит ни к какому + результату. Порядок кнопок меню слева направо определяется их + порядком в стеке: Tk считает нижнюю кнопку меню (первой попавшую + в стек) самой левой.

    -

    Right - . , - - . , - , - , - .

    +

    Нажатие на клавишу Right приводит к переходу + на соседнее справа меню. Если текущим является каскадный вход, + то выводится соответствующее каскадное подменю и текущий вход + становится первым в этом подменю. В противном случае, если + текущее меню было выведено кнопкой меню, то текущая кнопка меню + стирается, а вместо нее выводится соседняя с ней справа кнопка + меню.

    -

    : - - "".

    +

    Отключенные входы меню остаются безответными: их нельзя сделать + активными и они не реагируют на нажатие и отпускание клавиш + "Мыши".

    -

    - , - .

    +

    Определяя новые привязки к отдельным примитивам или + переопределяя привязки класса, поведение меню можно + изменить.

    -

    - .

    +

    В настоящее время использование базы данных параметров для + задания значений параметров входов не допускается.

    + diff --git a/hlp/ru/tk/menubutton.htm b/hlp/ru/tk/menubutton.htm index 8b8175e..ba2b273 100644 --- a/hlp/ru/tk/menubutton.htm +++ b/hlp/ru/tk/menubutton.htm @@ -1,107 +1,107 @@ Tk Built-In Commands - menubutton manual page
    -
    NAME +
    NAME
    menubutton - Create and manipulate menubutton widgets
    -
    SYNOPSIS +
    SYNOPSIS
    menubutton pathName ?options?
    -
    STANDARD OPTIONS +
    STANDARD OPTIONS
    -
    -activebackground, activeBackground, Foreground -
    -activeforeground, activeForeground, Background -
    -anchor, anchor, Anchor -
    -background or -bg, background, Background -
    -bitmap, bitmap, Bitmap -
    -borderwidth or -bd, borderWidth, BorderWidth -
    -cursor, cursor, Cursor -
    -disabledforeground, disabledForeground, DisabledForeground -
    -font, font, Font -
    -foreground or -fg, foreground, Foreground -
    -highlightbackground, highlightBackground, HighlightBackground -
    -highlightcolor, highlightColor, HighlightColor -
    -highlightthickness, highlightThickness, HighlightThickness -
    -image, image, Image -
    -justify, justify, Justify -
    -padx, padX, Pad -
    -pady, padY, Pad -
    -relief, relief, Relief -
    -takefocus, takeFocus, TakeFocus -
    -text, text, Text -
    -textvariable, textVariable, Variable -
    -underline, underline, Underline -
    -wraplength, wrapLength, WrapLength +
    -activebackground, activeBackground, Foreground +
    -activeforeground, activeForeground, Background +
    -anchor, anchor, Anchor +
    -background or -bg, background, Background +
    -bitmap, bitmap, Bitmap +
    -borderwidth or -bd, borderWidth, BorderWidth +
    -cursor, cursor, Cursor +
    -disabledforeground, disabledForeground, DisabledForeground +
    -font, font, Font +
    -foreground or -fg, foreground, Foreground +
    -highlightbackground, highlightBackground, HighlightBackground +
    -highlightcolor, highlightColor, HighlightColor +
    -highlightthickness, highlightThickness, HighlightThickness +
    -image, image, Image +
    -justify, justify, Justify +
    -padx, padX, Pad +
    -pady, padY, Pad +
    -relief, relief, Relief +
    -takefocus, takeFocus, TakeFocus +
    -text, text, Text +
    -textvariable, textVariable, Variable +
    -underline, underline, Underline +
    -wraplength, wrapLength, WrapLength
    -
    WIDGET-SPECIFIC OPTIONS +
    WIDGET-SPECIFIC OPTIONS
    -
    -direction, direction, Height -
    -height, height, Height -
    -indicatoron, indicatorOn, IndicatorOn -
    -menu, menu, MenuName -
    -state, state, State -
    -width, width, Width +
    -direction, direction, Height +
    -height, height, Height +
    -indicatoron, indicatorOn, IndicatorOn +
    -menu, menu, MenuName +
    -state, state, State +
    -width, width, Width
    -
    INTRODUCTION -
    WIDGET COMMAND +
    INTRODUCTION +
    WIDGET COMMAND
    -
    pathName cget option -
    pathName configure ?option? ?value option value ...? +
    pathName cget option +
    pathName configure ?option? ?value option value ...?
    -
    DEFAULT BINDINGS +
    DEFAULT BINDINGS
    -
    KEYWORDS +
    KEYWORDS

    -

    NAME

    +

    NAME

    menubutton - Create and manipulate menubutton widgets -

    SYNOPSIS

    +

    SYNOPSIS

    menubutton pathName ?options?
    -

    STANDARD OPTIONS

    +

    STANDARD OPTIONS

    -
    -activebackground, activeBackground, Foreground -
    -activeforeground, activeForeground, Background -
    -anchor, anchor, Anchor -
    -background or -bg, background, Background -
    -bitmap, bitmap, Bitmap -
    -borderwidth or -bd, borderWidth, BorderWidth -
    -cursor, cursor, Cursor -
    -disabledforeground, disabledForeground, DisabledForeground -
    -font, font, Font -
    -foreground or -fg, foreground, Foreground -
    -highlightbackground, highlightBackground, HighlightBackground -
    -highlightcolor, highlightColor, HighlightColor -
    -highlightthickness, highlightThickness, HighlightThickness -
    -image, image, Image -
    -justify, justify, Justify -
    -padx, padX, Pad -
    -pady, padY, Pad -
    -relief, relief, Relief -
    -takefocus, takeFocus, TakeFocus -
    -text, text, Text -
    -textvariable, textVariable, Variable -
    -underline, underline, Underline -
    -wraplength, wrapLength, WrapLength +
    -activebackground, activeBackground, Foreground +
    -activeforeground, activeForeground, Background +
    -anchor, anchor, Anchor +
    -background or -bg, background, Background +
    -bitmap, bitmap, Bitmap +
    -borderwidth or -bd, borderWidth, BorderWidth +
    -cursor, cursor, Cursor +
    -disabledforeground, disabledForeground, DisabledForeground +
    -font, font, Font +
    -foreground or -fg, foreground, Foreground +
    -highlightbackground, highlightBackground, HighlightBackground +
    -highlightcolor, highlightColor, HighlightColor +
    -highlightthickness, highlightThickness, HighlightThickness +
    -image, image, Image +
    -justify, justify, Justify +
    -padx, padX, Pad +
    -pady, padY, Pad +
    -relief, relief, Relief +
    -takefocus, takeFocus, TakeFocus +
    -text, text, Text +
    -textvariable, textVariable, Variable +
    -underline, underline, Underline +
    -wraplength, wrapLength, WrapLength
    -

    WIDGET-SPECIFIC OPTIONS

    +

    WIDGET-SPECIFIC OPTIONS

    -
    Command-Line Name: -direction +
    Command-Line Name: -direction
    Database Name: direction
    Database Class: Height
    Specifies where the menu is going to be popup up. above tries to pop the menu above the menubutton. below tries to pop the menu below the menubutton. left tries to pop the menu to the left of the menubutton. right tries to pop the menu to the right of the -menu button. flush pops the menu directly over the menubutton. -

    Command-Line Name: -height +menu button. flush pops the menu directly over the menubutton. +

    Command-Line Name: -height
    Database Name: height
    Database Class: Height
    Specifies a desired height for the menubutton. If an image or bitmap is being displayed in the menubutton then the value is in -screen units (i.e. any of the forms acceptable to Tk_GetPixels); +screen units (i.e. any of the forms acceptable to Tk_GetPixels); for text it is in lines of text. If this option isn't specified, the menubutton's desired height is computed from the size of the image or bitmap or text being displayed in it. -

    Command-Line Name: -indicatoron +

    Command-Line Name: -indicatoron
    Database Name: indicatorOn
    Database Class: IndicatorOn
    The value must be a proper boolean value. If it is true then @@ -109,12 +109,12 @@ a small indicator rectangle will be displayed on the right side of the menubutton and the default menu bindings will treat this as an option menubutton. If false then no indicator will be displayed. -

    Command-Line Name: -menu -
    Database Name: menu +

    Command-Line Name: -menu +
    Database Name: menu
    Database Class: MenuName
    Specifies the path name of the menu associated with this menubutton. The menu must be a child of the menubutton. -

    Command-Line Name: -state +

    Command-Line Name: -state
    Database Name: state
    Database Class: State
    Specifies one of three states for the menubutton: normal, active, @@ -127,17 +127,17 @@ should be insensitive: the default bindings will refuse to activate the widget and will ignore mouse button presses. In this state the disabledForeground and background options determine how the button is displayed. -

    Command-Line Name: -width +

    Command-Line Name: -width
    Database Name: width
    Database Class: Width
    Specifies a desired width for the menubutton. If an image or bitmap is being displayed in the menubutton then the value is in -screen units (i.e. any of the forms acceptable to Tk_GetPixels); +screen units (i.e. any of the forms acceptable to Tk_GetPixels); for text it is in characters. If this option isn't specified, the menubutton's desired width is computed from the size of the image or bitmap or text being displayed in it.
    -

    INTRODUCTION

    +

    INTRODUCTION

    The menubutton command creates a new window (given by the pathName argument) and makes it into a menubutton widget. Additional @@ -171,10 +171,10 @@ menu of the first menubutton is unposted and the menu of the new menubutton is posted instead.

    There are several interactions between menubuttons and menus; see -the menu manual entry for information on various menu configurations, +the menu manual entry for information on various menu configurations, such as pulldown menus and option menus. -

    WIDGET COMMAND

    +

    WIDGET COMMAND

    The menubutton command creates a new Tcl command whose name is pathName. This command may be used to invoke various @@ -185,15 +185,15 @@ determine the exact behavior of the command. The following commands are possible for menubutton widgets:

    -

    pathName cget option
    +

    pathName cget option
    Returns the current value of the configuration option given by option. Option may have any of the values accepted by the menubutton command. -

    pathName configure ?option? ?value option value ...?
    +

    pathName configure ?option? ?value option value ...?
    Query or modify the configuration options of the widget. If no option is specified, returns a list describing all of -the available options for pathName (see Tk_ConfigureInfo for +the available options for pathName (see Tk_ConfigureInfo for information on the format of this list). If option is specified with no value, then the command returns a list describing the one named option (this list will be identical to the corresponding @@ -205,7 +205,7 @@ this case the command returns an empty string. command.

    -

    DEFAULT BINDINGS

    +

    DEFAULT BINDINGS

    Tk automatically creates class bindings for menubuttons that give them the following default behavior:

    @@ -236,7 +236,7 @@ any menu entry.

    [6]
    When a menubutton is posted, its associated menu claims the input focus to allow keyboard traversal of the menu and its submenus. -See the menu manual entry for details on these bindings. +See the menu manual entry for details on these bindings.

    [7]
    If the underline option has been specified for a menubutton then keyboard traversal may be used to post the menubutton: @@ -257,10 +257,11 @@ actions occur: the menubutton is completely non-responsive. The behavior of menubuttons can be changed by defining new bindings for individual widgets or by redefining the class bindings. -

    KEYWORDS

    -menubutton, widget +

    KEYWORDS

    +menubutton, widget
    -Copyright © 1990-1994 The Regents of the University of California.
    -Copyright © 1994-1997 Sun Microsystems, Inc.
    -Copyright © 1995-1997 Roger E. Critchlow Jr.
    +Copyright © 1990-1994 The Regents of the University of California. +Copyright © 1994-1997 Sun Microsystems, Inc. +Copyright © 1995-1997 Roger E. Critchlow Jr.
    + diff --git a/hlp/ru/tk/menubutton.html b/hlp/ru/tk/menubutton.html index 8b8175e..ba2b273 100644 --- a/hlp/ru/tk/menubutton.html +++ b/hlp/ru/tk/menubutton.html @@ -1,107 +1,107 @@ Tk Built-In Commands - menubutton manual page
    -
    NAME +
    NAME
    menubutton - Create and manipulate menubutton widgets
    -
    SYNOPSIS +
    SYNOPSIS
    menubutton pathName ?options?
    -
    STANDARD OPTIONS +
    STANDARD OPTIONS
    -
    -activebackground, activeBackground, Foreground -
    -activeforeground, activeForeground, Background -
    -anchor, anchor, Anchor -
    -background or -bg, background, Background -
    -bitmap, bitmap, Bitmap -
    -borderwidth or -bd, borderWidth, BorderWidth -
    -cursor, cursor, Cursor -
    -disabledforeground, disabledForeground, DisabledForeground -
    -font, font, Font -
    -foreground or -fg, foreground, Foreground -
    -highlightbackground, highlightBackground, HighlightBackground -
    -highlightcolor, highlightColor, HighlightColor -
    -highlightthickness, highlightThickness, HighlightThickness -
    -image, image, Image -
    -justify, justify, Justify -
    -padx, padX, Pad -
    -pady, padY, Pad -
    -relief, relief, Relief -
    -takefocus, takeFocus, TakeFocus -
    -text, text, Text -
    -textvariable, textVariable, Variable -
    -underline, underline, Underline -
    -wraplength, wrapLength, WrapLength +
    -activebackground, activeBackground, Foreground +
    -activeforeground, activeForeground, Background +
    -anchor, anchor, Anchor +
    -background or -bg, background, Background +
    -bitmap, bitmap, Bitmap +
    -borderwidth or -bd, borderWidth, BorderWidth +
    -cursor, cursor, Cursor +
    -disabledforeground, disabledForeground, DisabledForeground +
    -font, font, Font +
    -foreground or -fg, foreground, Foreground +
    -highlightbackground, highlightBackground, HighlightBackground +
    -highlightcolor, highlightColor, HighlightColor +
    -highlightthickness, highlightThickness, HighlightThickness +
    -image, image, Image +
    -justify, justify, Justify +
    -padx, padX, Pad +
    -pady, padY, Pad +
    -relief, relief, Relief +
    -takefocus, takeFocus, TakeFocus +
    -text, text, Text +
    -textvariable, textVariable, Variable +
    -underline, underline, Underline +
    -wraplength, wrapLength, WrapLength
    -
    WIDGET-SPECIFIC OPTIONS +
    WIDGET-SPECIFIC OPTIONS
    -
    -direction, direction, Height -
    -height, height, Height -
    -indicatoron, indicatorOn, IndicatorOn -
    -menu, menu, MenuName -
    -state, state, State -
    -width, width, Width +
    -direction, direction, Height +
    -height, height, Height +
    -indicatoron, indicatorOn, IndicatorOn +
    -menu, menu, MenuName +
    -state, state, State +
    -width, width, Width
    -
    INTRODUCTION -
    WIDGET COMMAND +
    INTRODUCTION +
    WIDGET COMMAND
    -
    pathName cget option -
    pathName configure ?option? ?value option value ...? +
    pathName cget option +
    pathName configure ?option? ?value option value ...?
    -
    DEFAULT BINDINGS +
    DEFAULT BINDINGS
    -
    KEYWORDS +
    KEYWORDS

    -

    NAME

    +

    NAME

    menubutton - Create and manipulate menubutton widgets -

    SYNOPSIS

    +

    SYNOPSIS

    menubutton pathName ?options?
    -

    STANDARD OPTIONS

    +

    STANDARD OPTIONS

    -
    -activebackground, activeBackground, Foreground -
    -activeforeground, activeForeground, Background -
    -anchor, anchor, Anchor -
    -background or -bg, background, Background -
    -bitmap, bitmap, Bitmap -
    -borderwidth or -bd, borderWidth, BorderWidth -
    -cursor, cursor, Cursor -
    -disabledforeground, disabledForeground, DisabledForeground -
    -font, font, Font -
    -foreground or -fg, foreground, Foreground -
    -highlightbackground, highlightBackground, HighlightBackground -
    -highlightcolor, highlightColor, HighlightColor -
    -highlightthickness, highlightThickness, HighlightThickness -
    -image, image, Image -
    -justify, justify, Justify -
    -padx, padX, Pad -
    -pady, padY, Pad -
    -relief, relief, Relief -
    -takefocus, takeFocus, TakeFocus -
    -text, text, Text -
    -textvariable, textVariable, Variable -
    -underline, underline, Underline -
    -wraplength, wrapLength, WrapLength +
    -activebackground, activeBackground, Foreground +
    -activeforeground, activeForeground, Background +
    -anchor, anchor, Anchor +
    -background or -bg, background, Background +
    -bitmap, bitmap, Bitmap +
    -borderwidth or -bd, borderWidth, BorderWidth +
    -cursor, cursor, Cursor +
    -disabledforeground, disabledForeground, DisabledForeground +
    -font, font, Font +
    -foreground or -fg, foreground, Foreground +
    -highlightbackground, highlightBackground, HighlightBackground +
    -highlightcolor, highlightColor, HighlightColor +
    -highlightthickness, highlightThickness, HighlightThickness +
    -image, image, Image +
    -justify, justify, Justify +
    -padx, padX, Pad +
    -pady, padY, Pad +
    -relief, relief, Relief +
    -takefocus, takeFocus, TakeFocus +
    -text, text, Text +
    -textvariable, textVariable, Variable +
    -underline, underline, Underline +
    -wraplength, wrapLength, WrapLength
    -

    WIDGET-SPECIFIC OPTIONS

    +

    WIDGET-SPECIFIC OPTIONS

    -
    Command-Line Name: -direction +
    Command-Line Name: -direction
    Database Name: direction
    Database Class: Height
    Specifies where the menu is going to be popup up. above tries to pop the menu above the menubutton. below tries to pop the menu below the menubutton. left tries to pop the menu to the left of the menubutton. right tries to pop the menu to the right of the -menu button. flush pops the menu directly over the menubutton. -

    Command-Line Name: -height +menu button. flush pops the menu directly over the menubutton. +

    Command-Line Name: -height
    Database Name: height
    Database Class: Height
    Specifies a desired height for the menubutton. If an image or bitmap is being displayed in the menubutton then the value is in -screen units (i.e. any of the forms acceptable to Tk_GetPixels); +screen units (i.e. any of the forms acceptable to Tk_GetPixels); for text it is in lines of text. If this option isn't specified, the menubutton's desired height is computed from the size of the image or bitmap or text being displayed in it. -

    Command-Line Name: -indicatoron +

    Command-Line Name: -indicatoron
    Database Name: indicatorOn
    Database Class: IndicatorOn
    The value must be a proper boolean value. If it is true then @@ -109,12 +109,12 @@ a small indicator rectangle will be displayed on the right side of the menubutton and the default menu bindings will treat this as an option menubutton. If false then no indicator will be displayed. -

    Command-Line Name: -menu -
    Database Name: menu +

    Command-Line Name: -menu +
    Database Name: menu
    Database Class: MenuName
    Specifies the path name of the menu associated with this menubutton. The menu must be a child of the menubutton. -

    Command-Line Name: -state +

    Command-Line Name: -state
    Database Name: state
    Database Class: State
    Specifies one of three states for the menubutton: normal, active, @@ -127,17 +127,17 @@ should be insensitive: the default bindings will refuse to activate the widget and will ignore mouse button presses. In this state the disabledForeground and background options determine how the button is displayed. -

    Command-Line Name: -width +

    Command-Line Name: -width
    Database Name: width
    Database Class: Width
    Specifies a desired width for the menubutton. If an image or bitmap is being displayed in the menubutton then the value is in -screen units (i.e. any of the forms acceptable to Tk_GetPixels); +screen units (i.e. any of the forms acceptable to Tk_GetPixels); for text it is in characters. If this option isn't specified, the menubutton's desired width is computed from the size of the image or bitmap or text being displayed in it.
    -

    INTRODUCTION

    +

    INTRODUCTION

    The menubutton command creates a new window (given by the pathName argument) and makes it into a menubutton widget. Additional @@ -171,10 +171,10 @@ menu of the first menubutton is unposted and the menu of the new menubutton is posted instead.

    There are several interactions between menubuttons and menus; see -the menu manual entry for information on various menu configurations, +the menu manual entry for information on various menu configurations, such as pulldown menus and option menus. -

    WIDGET COMMAND

    +

    WIDGET COMMAND

    The menubutton command creates a new Tcl command whose name is pathName. This command may be used to invoke various @@ -185,15 +185,15 @@ determine the exact behavior of the command. The following commands are possible for menubutton widgets:

    -

    pathName cget option
    +

    pathName cget option
    Returns the current value of the configuration option given by option. Option may have any of the values accepted by the menubutton command. -

    pathName configure ?option? ?value option value ...?
    +

    pathName configure ?option? ?value option value ...?
    Query or modify the configuration options of the widget. If no option is specified, returns a list describing all of -the available options for pathName (see Tk_ConfigureInfo for +the available options for pathName (see Tk_ConfigureInfo for information on the format of this list). If option is specified with no value, then the command returns a list describing the one named option (this list will be identical to the corresponding @@ -205,7 +205,7 @@ this case the command returns an empty string. command.

    -

    DEFAULT BINDINGS

    +

    DEFAULT BINDINGS

    Tk automatically creates class bindings for menubuttons that give them the following default behavior:

    @@ -236,7 +236,7 @@ any menu entry.

    [6]
    When a menubutton is posted, its associated menu claims the input focus to allow keyboard traversal of the menu and its submenus. -See the menu manual entry for details on these bindings. +See the menu manual entry for details on these bindings.

    [7]
    If the underline option has been specified for a menubutton then keyboard traversal may be used to post the menubutton: @@ -257,10 +257,11 @@ actions occur: the menubutton is completely non-responsive. The behavior of menubuttons can be changed by defining new bindings for individual widgets or by redefining the class bindings. -

    KEYWORDS

    -menubutton, widget +

    KEYWORDS

    +menubutton, widget
    -Copyright © 1990-1994 The Regents of the University of California.
    -Copyright © 1994-1997 Sun Microsystems, Inc.
    -Copyright © 1995-1997 Roger E. Critchlow Jr.
    +Copyright © 1990-1994 The Regents of the University of California. +Copyright © 1994-1997 Sun Microsystems, Inc. +Copyright © 1995-1997 Roger E. Critchlow Jr. + diff --git a/hlp/ru/tk/message.html b/hlp/ru/tk/message.html index 1f47460..f71e0e9 100644 --- a/hlp/ru/tk/message.html +++ b/hlp/ru/tk/message.html @@ -1,4 +1,4 @@ - + message @@ -7,16 +7,16 @@

    message

    -

    .

    +

    Создание примитива сообщения и управление им.

    -

    +

    СИНТАКСИС

    -      message  ??
    +      message имяПути ?параметры?
         
    -

    +

    СТАНДАРТНЫЕ ПАРАМЕТРЫ

    • -anchor
    • @@ -37,126 +37,127 @@
    • -width
    -

    options.

    +

    Подробное описание этих параметров приведено в разделе options.

    -

    +

    ДОПОЛНИТЕЛЬНЫЕ ПАРАМЕТРЫ ПРИМИТИВА

    - - - + + +
    :-aspect
    :aspect
    :Aspect
    Имя параметра:-aspect
    Имя в Базе:aspect
    Класс в Базе:Aspect
    -

    , . - 100*/. "100" - - , , - "200" - - , "50" - - .. - , width. - "150".

    +

    Целое число, указывающее желаемые пропорции текста. Его + значение равно 100*ширина/высота. Значение "100" - + означает, что ширина текста должна равняться его высоте, + значение "200" - что текст должен быть вдвое шире по + сравнению с высотой, значение "50" - что его высота + должна быть вдвое больше ширины и т.д. Используется для + определения длины строки, если не задан параметр width. Значение + по умолчанию равно "150".

    - - - + + +
    :-justify
    :justify
    :Justify
    Имя параметра:-justify
    Имя в Базе:justify
    Класс в Базе:Justify
    - - - + + +
    : -width
    :width
    :Width
    Имя параметра: -width
    Имя в Базе:width
    Класс в Базе:Width
    -

    ( , - Tk_GetPixels). - , aspect , - width . - , - aspect.

    +

    Задает желаемую ширину окна (в любом виде, приемлемом для + Tk_GetPixels). Если значение параметра + положительно, то параметр aspect игнорируется, + а параметр width задает длину строки. Если + значение параметра неположительно, то длина строки определяется + параметром aspect.

    -

    +

    ОПИСАНИЕ

    -

    message ( - ) - . , , - , - . message - . - - , .

    +

    Команда messageсозадает новое окно (задаваемое + аргументом имяПути) и превращает его в примитив + сообщения. Детали изображения сообщения, такие как его цвета, + шрифт, текст и объемный вид задаются с помощью описанных выше + дополнительных параметров. Команда message + возвращает аргумент имяПути. В момент + выполнения этой команды не должно существовать окна с именем + имяПути, но должен существовать его предок.

    -

    , - . - . -, , - . - , , ( - , - ). - ; , , - .

    +

    Сообщение представляет собой примитив, предназначенный для + вывода строки текста. У примитива сообщения есть три специальных + свойства. Во-первых, он разбивает строку сообщения на строчки, + чтобы обеспечить заданные пропорции окна. Перевод строки + осуществляется, по возможности, на границах слов (если в строку + не помещается ни одного целого слова, то слово разбивается на + несколько строк). Для переноса строки в нее вставляются символы + перевода строки; их можно использовать, например, для вывода + пустых строчек на экран.

    -

    - . - ( ), - ( ).

    +

    Вторым свойством примитива сообщения является возможность + выравнивания. Строчки сообщения могут быть выровнены влево + (каждая строка начинается от левого края окна), по центру или + вправо (каждая строка кончается у правого края окна).

    -

    , - - . , - 8- - . - . ( ASCII - 0x20) , , - \xhh, hh - , ASCII - . , - "0123456789abcdef\x" - .

    +

    Третье свойство примитива сообщения состоит в том, что он + специальным образом обрабатывает управляющие символы и + непечатные символы. Символы табуляции заменяются пробелами, + число которых равно расстоянию до ближайшего кратного 8-ми + символам. Символы перевода строки вызывают переход на новую + строку. Другие управляющие символы (код ASCII которых меньше + 0x20) и символы, не определенные в шрифте сообщения, выводятся в + виде последовательности из четырех символов \xhh, где hh это две + шестнадцатиричные цифры, представляющие собой ASCII код данного + символа. В том редком случае, когда в шрифте отсутствуют + некоторые из символов "0123456789abcdef\x" управляющие + символы и неопределенные символы вообще не выводятся.

    -

    +

    КОМАНДА ПРИМИТИВА

    -

    message Tcl - . - .

    +

    Команда message создает новую команду Tcl с + именем имяПути. С помощью этой команды можно выполнять + различные операции над примитивом. Ее общий вид

    -        ?  ...?
    +      имяПути параметр ?арг арг ...?
         
    -

    - .

    +

    Параметр и аргументы уточняют поведение + команды. Примитивы сообщения допускают следующие формы команды

    -
    cget
    +
    имяПути cget параметр
    -
    - . - message.
    +
    Возвращает текущее значение параметра конфигурации с именем + параметр.Параметр может быть любым из + параметров команды message.
    -
    configure - ? +
    имяПути configure + параметр ?значение параметр значение ...?
    -
    - . , - , - ( - Tk_ConfigureInfo). - , , - , - . - -, - , - . - message .
    +
    Запрашивает значения параметров конфигурации примитива или + изменяет их. Если параметр не указан, то возвращает + список, содержащий значения всех допустимых + вимениПути параметров (формат списка описан в + Tk_ConfigureInfo). Если параметр + задан, а его новое значение нет, то команда + возвращает часть полного списка, относящуюся к указанному + параметру. Если заданы одна или несколько пар + параметр-значение, то указанным параметрам + примитива присваиваются новые значения, а команда + возвращает пустую строку. Параметр может быть любым + из параметров команды message .
    -

    +

    ПАРАМЕТРЫ ПО УМОЛЧАНИЮ

    -

    : - .

    +

    При создании сообщения параметры по умолчанию отсутствуют: + сообщения предназначены только для вывода текста.

    + diff --git a/hlp/ru/tk/option.html b/hlp/ru/tk/option.html index 88b7274..f0cf332 100644 --- a/hlp/ru/tk/option.html +++ b/hlp/ru/tk/option.html @@ -1,4 +1,4 @@ - + option @@ -7,10 +7,10 @@

    option

    -

    / / - .

    +

    Команда добавляет/получает параметры окон в/из базы данных + параметров окон.

    -

    +

    СИНТАКСИС

           option add pattern value ?priority?
    @@ -19,19 +19,20 @@
           option readfile fileName ?priority?
         
    -

    +

    ОПИСАНИЕ

    -

    - , , - - . pattern - / . - value . - fileName - . priority - .

    +

    Команда позволяет добавить в базу данных параметров окон новые + значения, считать из нее значения указанных параметров, очистить + базу или добавить в базу данные из указанного файла стандартного + формата. Аргумент patternзадает конкретный параметр и + состоит из имен параметров и/или классов. Аргумент + value содержит значение параметра. Аргумент + fileName задает файл со значениями + параметров. Необязательный аргумент priority указывает + уровень приоритета для ввода параметра.

    + diff --git a/hlp/ru/tk/options.html b/hlp/ru/tk/options.html index 8abf4a9..7d93fdb 100644 --- a/hlp/ru/tk/options.html +++ b/hlp/ru/tk/options.html @@ -1,4 +1,4 @@ - + options @@ -7,601 +7,602 @@

    options

    -

    .

    +

    Приведено описание стандартных параметров примитивов.

    -

    - . , - , - , .

    +

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

    -

    +

    ОПИСАНИЕ

    -

    options , - .

    +

    options стандартные параметры, поддерживаемые + примитивами.

    -

    - , () - Tk. ( - - ), , - , - .

    +

    В этом разделе руководства описываются общие параметры + конфигурации, поддерживаемые примитивами (виджетами) языка + Tk. Не каждый примитив поддерживает все параметры (список + стандартных параметров примитива приведен в описании этого + примитива), однако если примитив поддерживает параметр, имя + которого приведено в нижеследующем списке, то результат его + указания совпадает с описанным ниже.

    -

    . . - configure, - . , - , . . - -foreground .a.b.c, -

    +

    В приводимом ниже описании строка .Имя Параметра. указывает имя + переключателя в командах класса и командах примитивов configure, + предназначенных для установки значения параметра. Если, + например, в строке. Имя параметра. указано имя + -foreground и имеется примитив .a.b.c, то с + помощью команды

           .a.b.c configure -foreground black
         
    -

    black - -foreground .a.b.c. - , - . " - " X- (, - .Xdefaults). " " - X- (, .Xdefaults).

    +

    можно присвоить значение black параметру + -foreground примитива .a.b.c. + Для имен параметров можно использовать сокращения, сохраняющие + однозначность интерпретации имени. В поле "Имя в + Базе" приводится имя параметра в базе X-ресурсов (например, в + файле .Xdefaults). В поле "Класс в Базе" приводится имя класса + базы в файле X-ресурсов (например, в файле .Xdefaults).

    - - - + + +
    :-activebackground
    :activeBackground
    :Foreground
    Имя параметра:-activebackground
    Имя в Базе:activeBackground
    Класс в Базе:Foreground
    -

    . - ( ) , - "" "" - . - tk_strictMotif, - . - Windows Macintosh - 1 .

    +

    Задает цвет фона при изображении активных элементов. Элемент + (примитив или его часть) активен, если на нем находится курсор + "Мыши" и нажатие на клавишу "Мыши" вызывает + некоторое действие. Если установлено значение переменной + tk_strictMotif, то значение указанного + параметра игнорируется и используется обычный цвет фона. Для + некоторых элементов в системах Windows и Macintosh установленный + цвет активизируется только при щелчке клавиши 1 на элементе.

    - - - + + +
    :-activedorderwidth
    :activeBorderWidth
    :BorderWidth
    Имя параметра:-activedorderwidth
    Имя в Базе:activeBorderWidth
    Класс в Базе:BorderWidth
    -

    , - . - . - , Tk - GetPixels. - , - (, ).

    +

    Задает неотрицательное значение ширины трехмерного бордюра, + окружающего активные элементы. Определение активных элементов + приведено выше. Значение может быть задано в любом + виде,воспринимаемом командой Tk + GetPixels. Обычно этот параметр доступен только для + примитивов, отображающих более одного элемента одновременно + (меню, а не кнопки).

    - - - + + +
    :-activeforeground
    :activeForeground
    :Background
    Имя параметра:-activeforeground
    Имя в Базе:activeForeground
    Класс в Базе:Background
    -

    . - .

    +

    Задает цвет изображения активного элемента. Определение + активных элементов приведено выше.

    - - - + + +
    :-anchor
    :anchor
    :Anchor
    Имя параметра:-anchor
    Имя в Базе:anchor
    Класс в Базе:Anchor
    -

    ( bitmap) - . +

    Задает способ отображения информации (типа текст или bitmap) в + примитиве. Должен принимать одно из значений n, ne, e, se, s, sw, w, nw - center, - . , nw - , - .

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

    - - - + + +
    :-background or -bg
    :background
    :Background
    Имя параметра:-background or -bg
    Имя в Базе:background
    Класс в Базе:Background
    -

    .

    +

    Задает нормальный цвет фона при отображении примитива.

    - - - + + +
    :-bitmap
    :bitmap
    :Bitmap
    Имя параметра:-bitmap
    Имя в Базе:bitmap
    Класс в Базе:Bitmap
    -

    bitmap , - TkGetBitMap - . , anchor - justify, - bitmap. - , - , - . - - bitmap . image bitmap , - .

    +

    Задает информацию типа bitmap в любом виде, + приемлемом для TkGetBitMap для отображения в + примитиве. Другие параметры, вроде anchor и + justify, уточняют способ отображения + информации типа bitmap. Обычно при + задании этого параметра значения остальных параметров, + задающих способ отображения текстовой информации, + игнорируются. Для восстановления возможности вывода текстовой + информации в примитиве следует задать значение параметра + bitmap в виде пустой строки. Задание параметра image подавляет параметр bitmap в примитивах, + использующих оба эти параметра.

    - - - + + +
    :-borderwidth or -bd
    :borderWidth
    :BorderWidth
    Имя параметра:-borderwidth or -bd
    Имя в Базе:borderWidth
    Класс в Базе:BorderWidth
    -

    , - ( ; - - relief). - . - , +

    Задает неотрицательное значение ширины трехмерного бордюра, + окружающего изображение примитива (при выводе такого бордюра; + необходимость его вывода обычно указывается параметром + relief). То же значение может быть использовано + при имитации трехмерной графики внутри примитива. Значение + параметра может быть любым из тех, что приемлемы для TkGetPixels.

    - - - + + +
    :-cursor
    :cursor
    :Cursor
    Имя параметра:-cursor
    Имя в Базе:cursor
    Класс в Базе:Cursor
    -

    .. . - , - /usr/X11R6/unclude/X11/cursorfont.h, , +

    Задает форму курсора .Мыши. на примитиве. Значение параметра + должно быть одним из значений, которые перечислены в файле + /usr/X11R6/unclude/X11/cursorfont.h, например, X_cursor, arrow, boat, clock, - cross, - , + cross, то есть можно указывать любое значение + их данного файла, в котором нужно опустить первые три символа XC_.

    - - - + + +
    :-disabledforeground
    :disabledForeground
    :DisabledForeground
    Имя параметра:-disabledforeground
    Имя в Базе:disabledForeground
    Класс в Базе:DisabledForeground
    -

    - . ( - ) - , - .

    +

    Задает цвет переднего плана для изображения недоступного + элемента. При вводе пустой строки (типичная ситуация для + монохромного дисплея) недоступные элементы изображаются обычным + цветом, однако их изображение делается более тусклым за счет + штриховки.

    - - - + + +
    :-exportselection
    :exportSelection
    :ExportSelection
    Имя параметра:-exportselection
    Имя в Базе:exportSelection
    Класс в Базе:ExportSelection
    -

    , - X-. - TclGetBoolean, +

    Указывает, должен ли выбранный элемент в примитиве входить + также и в X-выборку. Значение параметра должно быть допустимым + аргументом функции TclGetBoolean, скажем true, false, - 0, 1, yes - no. - X-; - . - - . - .

    + 0, 1, yes или + no. При экспорте выбранного элемента выборка в + примитиве отменяет текущую X-выборку; выборка за пределами + примитива отменяет текущую выборку в примитиве. При наличии в + примитиве выбранного элемента примитив отзывается на запросы + поиска выбранных элементов. По умолчанию примитивы обычно + экспортируют выбранные элементы.

    - - - + + +
    :-font
    :font
    :Font
    Имя параметра:-font
    Имя в Базе:font
    Класс в Базе:Font
    -

    . - font. - xlsfonts.

    +

    Задает шрифт для отображения текста внутри примитива. Синтаксис + имени шрифта описан в команде font. Список доступных + шрифтов можно получить командой xlsfonts.

    - - - + + +
    :-fg
    :foreground
    :Foreground
    Имя параметра:-fg
    Имя в Базе:foreground
    Класс в Базе:Foreground
    -

    .

    +

    Задает нормальный цвет переднего плана примитива.

    - - - + + +
    :-highlightbackground
    :highlightBackground
    :HighlightBackground
    Имя параметра:-highlightbackground
    Имя в Базе:highlightBackground
    Класс в Базе:HighlightBackground
    -

    , - .

    +

    Задает цвет яркого прямоугольника обрамляющего примитив, + находящийся вне фокуса ввода.

    - - - + + +
    :-highlightcolor
    :highlightColor
    :HighlightColor
    Имя параметра:-highlightcolor
    Имя в Базе:highlightColor
    Класс в Базе:HighlightColor
    -

    , - .

    +

    Задает цвет яркого прямоугольника обрамляющего примитив, + находящийся в фокусе ввода.

    - - - + + +
    :-highlightthickness
    :highlightThickness
    :HighlightThickness
    Имя параметра:-highlightthickness
    Имя в Базе:highlightThickness
    Класс в Базе:HighlightThickness
    -

    - , . - - Tk_GetPixels. , , - .

    +

    Задает неотрицательное значение ширины яркого прямоугольника + вокруг примитива, находящегося в фокусе ввода. Значение + параметра должно быть допустимым аргументом функции + Tk_GetPixels. При значении, равном нулю, яркая + рамочка вокруг примитива не выводится.

    - - - + + +
    :-image
    :image
    :Image
    Имя параметра:-image
    Имя в Базе:image
    Класс в Базе:Image
    -

    , , - image - create. image - , bitmap - , . - bitmap - image.

    +

    Задает изображение, которое должно быть выведено в примитиве, + созданном командой image + create. Обычно при задании параметра image значения других + параметров, задающих текстовые или bitmap данные для вывода + в примитиве, подавляются. Для восстановления возможности вывода + текстовых или bitmap данных следует задать пустое значение + параметра image.

    - - - + + +
    :-insertbackground
    :insertBackground
    :Foreground
    Имя параметра:-insertbackground
    Имя в Базе:insertBackground
    Класс в Базе:Foreground
    -

    , . - ( - , - ).

    +

    Задает цвет фона поля, на котором установлен курсор ввода. Этот + параметр подавляет цвет нормального фона примитива (или фона + выбранного элемента, если курсор ввода оказался на выбранном + элементе).

    - - - + + +
    :-insertborderwidth
    :insertBorderWidth
    :BorderWidth
    Имя параметра:-insertborderwidth
    Имя в Базе:insertBorderWidth
    Класс в Базе:BorderWidth
    -

    - . - Tk_GetPixels.

    +

    Задает неотрицательное значение ширины трехмерного бордюра + вокруг курсора ввода. Значение параметра должно быть допустимым + аргументом функции Tk_GetPixels.

    - - - + + +
    :-insertofftime
    :insertOffTime
    :OffTime
    Имя параметра:-insertofftime
    Имя в Базе:insertOffTime
    Класс в Базе:OffTime
    -

    , - "off" - ( ) - . , - : +

    Задает длину промежутка времени, в течение которого курсор + ввода находится в режиме "off" + (неотрицательное целое значение в миллисекундах) на протяжении + одного цикла мигания. Если введенное значение равно нулю, то + курсор не мигает: он всегда находится в режиме "on".

    - - - + + +
    :-inserontime
    :insertOnTime
    :OnTime
    Имя параметра:-inserontime
    Имя в Базе:insertOnTime
    Класс в Базе:OnTime
    -

    , - "on" ( - ) .

    +

    Задает длину промежутка времени, в течение которого курсор + ввода находится в режиме "on" (неотрицательное целое + значение в миллисекундах) на протяжении одного цикла мигания.

    - - - + + +
    :-insertwidth
    :insertWidth
    :InsertWidth
    Имя параметра:-insertwidth
    Имя в Базе:insertWidth
    Класс в Базе:InsertWidth
    -

    . - - Tk_GetPixels. ( - insertBorderWidth) , - .

    +

    Задает полную ширину курсора ввода. Значение параметра должно + быть допустимым аргументом функции + Tk_GetPixels. Если (с помощью параметра + insertBorderWidth) задана ширина бордюра, то + бордюр будет располагаться внутри отведенной ширины курсора.

    - - - + + +
    :-jump
    :jump
    :Jump
    Имя параметра:-jump
    Имя в Базе:jump
    Класс в Базе:Jump
    -

    , - . - - Tk_GetBoolean. - false - . true - - "". - ("", - ).

    +

    Задает тип изменения значения примитива для примитивов, + поддерживающих полосу прокрутки. Значение параметра должно быть + допустимым булевским аргументом функции + Tk_GetBoolean. При значении параметра + false значения примитива изменяются + непрерывно. При значении параметра true значение примитива не + меняется до окончания движения бегунка и отпускания клавиши + "Мыши". В этот момент происходит установка нового + значения ("скачок", в отличие от непрерывного + изменения).

    - - - + + +
    :-justify
    :justify
    :Justify
    Имя параметра:-justify
    Имя в Базе:justify
    Класс в Базе:Justify
    -

    , - , . - left, center - right. Left, - , center - , right .

    +

    Описывает способ выравнивания текста, состоящего из нескольких + строк, в окне примитива. Может принимать значения + left, center или + right. Leftозначает, что + выравниваются левые концы строк, center их + середины, right правые концы.

    - - - + + +
    :-orient
    :orient
    :Orient
    Имя параметра:-orient
    Имя в Базе:orient
    Класс в Базе:Orient
    -

    , - (, - ). - horizontal vertical, - .

    +

    Указывает ориентацию примитива, допускающего различные + ориентации (так, полоса прокрутки может быть расположена + горизонтально или вертикально). Может принимать значения + horizontal или vertical, а + также их сокращения.

    - - - + + +
    :padx
    :padX
    :Pad
    Имя параметра:padx
    Имя в Базе:padX
    Класс в Базе:Pad
    -

    , - - X-. - Tk_GetPixels. - - , - . - , / - . - - ; bitmap- - .

    +

    Неотрицательное значение, указывающее размер запрашиваемого + дополнительного пространства для примитива в + X-направлении. Значение параметра должно быть допустимым + аргументом функции Tk_GetPixels. При подсчете + необходимого размера окна эта величина добавляется к обычному + размеру, определяемому суммированием всех размеров всех его + деталей. Если программа вывода в состоянии удовлетворить + выданный запрос, то в правой и/или левой части окна примитива + появляется дополнительное пространство. В большинстве случаев + это пространство используется только для расположения там + текста; при выводе bitmap-данных или изображений оно + игнорируется.

    - - - + + +
    :-pady
    :padY
    :Pad
    Имя параметра:-pady
    Имя в Базе:padY
    Класс в Базе:Pad
    -

    , - - Y-. - Tk_GetPixels. - - , - . - , / - . - - ; bitmap- - .

    +

    Неотрицательное значение, указывающее размер запрашиваемого + дополнительного пространства для примитива в + Y-направлении. Значение параметра должно быть допустимым + аргументом функции Tk_GetPixels. При подсчете + необходимого размера окна эта величина добавляется к обычному + размеру, определяемому суммированием всех размеров всех его + деталей. Если программа вывода в состоянии удовлетворить + выданный запрос, то в правой и/или левой части окна примитива + появляется дополнительное пространство. В большинстве случаев + это пространство используется только для расположения там + текста; при выводе bitmap-данных или изображений оно + игнорируется.

    - - - + + +
    :-relief
    :relief
    :Relief
    Имя параметра:-relief
    Имя в Базе:relief
    Класс в Базе:Relief
    -

    . +

    Задает тип трехмерной графики в примитиве. Допустимы значения raised, sunken, flat, ridge, - solid groove. - - . , raised - , - .

    + solid или groove. Значение + указывает на способ размещения внутренней части окна по + отношению к фону. Например, значение raised + указывает, что внутренняя часть окна должна выступать из + экрана.

    - - - + + +
    :-repeatdelay
    :repeatDelay
    :RepeatDelay
    Имя параметра:-repeatdelay
    Имя в Базе:repeatDelay
    Класс в Базе:RepeatDelay
    -

    ( - ), - . , , - .

    +

    Указывает продолжительность нажатия на кнопку или клавишу (в + миллисекундах), необходимую для установления режима + автоматического повторения. Используется, например, при работе + со стрелками полосы прокрутки.

    - - - + + +
    :-repeatinterval
    :repeatInterval
    :RepeatInterval
    Имя параметра:-repeatinterval
    Имя в Базе:repeatInterval
    Класс в Базе:RepeatInterval
    -

    repeatDelay: - - - .

    +

    Используется в паре с repeatDelay: при + установлении режима автоматического повторения этот параметр + задает длину промежутка времени между автоматическими + повторениями.

    - - - + + +
    :-selectbackground
    :selectBackground
    :Foreground
    Имя параметра:-selectbackground
    Имя в Базе:selectBackground
    Класс в Базе:Foreground
    -

    .

    +

    Задает цвет фона при отображении выбранных элементов.

    - - - + + +
    :-selectborderwidth
    :selectBorderWidth
    :BorderWidth
    Имя параметра:-selectborderwidth
    Имя в Базе:selectBorderWidth
    Класс в Базе:BorderWidth
    -

    - . , +

    Задает ширину трехмерного бордюра вокруг выбранных + элементов. Допустимы любые значения, воспринимаемые командой Tk_GetPixels.

    - - - + + +
    :-selectforeground
    :selectForeground
    :Background
    Имя параметра:-selectforeground
    Имя в Базе:selectForeground
    Класс в Базе:Background
    -

    .

    +

    Задает цвет переднего плана для изображения выбранных элементов.

    - - - + + +
    :-setgrid
    :setGrid
    :SetGrid
    Имя параметра:-setgrid
    Имя в Базе:setGrid
    Класс в Базе:SetGrid
    -

    , , - - . - ( - ) - . - . true - setGrid, - . - , - , - , - . - (. " - " wm). +

    Задает булевское значение, определяющее, управляет ли данный + примитив масштабирующей сеткой своего окна верхнего + уровня. Обычно этот параметр используется в текстовых примитивах + с естественным размером отображаемой информации (размером + символа) и размеры окна осмысленно выбирать пропорциональными + этому стандартному размеру. Эти разумные размеры окон образуют + сетку. Если задано значение true параметра + setGrid, то примитив установит связь с + менеджером окон. В этом случае при интерактивном запросе + пользователя на изменение размеров окна верхнего уровня, + содержащего примитив, возможный список размеров окна будет + передан пользователю в единицах сетки, и значения его длины и + ширины должны быть пропорциональны сторонам ячейки сетки. Более + подробно этот процесс описан ниже (см. "УПРАВЛЕНИЕ + ГЕОМЕТРИЕЙ СЕТОК" в описании команды wm). - - - + + +
    :-takefocus
    :takeFocus
    :TakeFocus
    Имя параметра:-takefocus
    Имя в Базе:takeFocus
    Класс в Базе:TakeFocus
    -

    , - ( Tab - Shift-Tab). - - takeFocus. "0" - - . "1" , - ( ) - . , - , - : , - , . - - ( ) - Tcl. - "0", "1" - . "0" "1" , - , - , . : - - Tcl; - .

    +

    Указывает, допустима ли установка фокуса на окне с помощью + клавиатуры (клавишами Tab и + Shift-Tab). Перед установкой фокуса на окне + скрипты перевода фокуса проверяют значение параметра + takeFocus. Значение "0" указывает на + необходимость пропускать окно при клавиатурном переключении + фокуса. Значение "1" указывает на то, что при видимом + окне (и всех его наследниках) фокус должен устанавливаться на + нем. Пустое значение указывает на то, что скрипт переключения + сам принимает решение, следует ли устанавливать фокус на данном + окне: в текущем варианте окно пропускается, если оно отключено + или в нем нет ключевых связок, или оно невидимо. При любом + другом значении параметра скрипт переключения добавляет к этому + значению имя окна (через разделяющий пробел) и интерпретирует + получившуюся строку как скрипт Tcl. Скрипт должен возвращать + значение "0", "1" или пустую + строку. Значения "0" и "1" указывают, должен + ли фокус ввода установиться на окно, пустая строка вызывает + обработку по умолчанию, описанную выше. Замечание: подобная + обработка параметра целиком определяется скриптами переключения + Tcl; реализация примитивов полностью игнорирует рассматриваемый + параметр.

    - - - + + +
    :-text
    :text
    :Text
    Имя параметра:-text
    Имя в Базе:text
    Класс в Базе:Text
    -

    , . - - , anchor +

    Задает строку, выводимую в примитиве. Способ вывода строки + зависит от конкретного примитива и определяется значениями + других параметров, таких как anchor или justify.

    - - - + + +
    :-textvariable
    :textVariable
    :Variable
    Имя параметра:-textvariable
    Имя в Базе:textVariable
    Класс в Базе:Variable
    -

    . - , . - . - - , anchor - justify.

    +

    Задает имя переменной. Значением переменной является текстовая + строка, которая должна быть выведена в примитиве. При изменении + значения переменной выведенная строка тут же изменяется. Способ + вывода строки зависит от конкретного примитива и определяется + значениями других параметров, таких как anchor + или justify.

    - - - + + +
    :-troughcolor
    :troughColor
    :Background
    Имя параметра:-troughcolor
    Имя в Базе:troughColor
    Класс в Базе:Background
    -

    , - ..

    +

    Задает цвет обрамляющих прямоугольников полосы прокрутки, поля + масштабов и т.д. в примитиве

    - - - + + +
    :-underline
    :underline
    :Underline
    Имя параметра:-underline
    Имя в Базе:underline
    Класс в Базе:Underline
    -

    . - - . "0" - , "1" , ..

    +

    Задает номер подчеркиваемого символа в примитиве. Этот параметр + используется связками по умолчанию для клавиатурного + переключения кнопок меню и полей меню. "0" + соответствует первому символу, "1" второму, и т.д.

    - - - + + +
    :-wraplength
    :wrapLength
    :WrapLength
    Имя параметра:-wraplength
    Имя в Базе:wrapLength
    Класс в Базе:WrapLength
    -

    , - . , - , . - , - . - , : - .

    +

    Для примитивов, способных выполнять перенос строк этот + параметр задает максимальную длину строки. Строки, длина которых + превосходит установленную, переносятся на следующую строку. Это + значение может быть задано в любом виде, в котором могут + задаваться экранные расстояния. Если это значение + неположительно, то переноса не происходит: он выполняется только + при появлении символа переноса строки.

    - - - + + +
    :-xscrollcommand
    :xScrollCommand
    :ScrollCommand
    Имя параметра:-xscrollcommand
    Имя в Базе:xScrollCommand
    Класс в Базе:ScrollCommand
    -

    , - . ( - , - , - ) Tcl - , - . - . "0" , - "1" , ".333" - .. - , , - . - Tcl . - xScrollCommand - , - "set", , .x.scrollbar - set: - . - , .

    +

    Задает префикс команды, используемой для связи с горизонтальной + полосой прокрутки. При изменении содержимого окна примитива (или + любом другом событии, которое может повлечь за собой изменение + вида полосы прокрутки, скажем изменении размера содержимого + примитива) примитив генерирует команду Tcl путем конкатенации + значения параметра и двух чисел, каждое из которых представляет + собой дробь между нулем и единицей. Числа указывают положение + текста в документе. "0" указывает на начало документа, + "1" на его конец, ".333" на одну треть от + начала документа и т.д. Первое число обозначает начало видимой + части документа, второе на позицию, непосредственно следующую за + концом видимой части. Затем команда передается интерпретатору + Tcl для выполнения. Обычно значение параметра + xScrollCommand состоит из имени пути к + примитиву полосы прокрутки, за которым следует слово + "set", например, .x.scrollbar + set: в результате состояние полосы будет изменяться + всякий раз при изменении содержимого окна. Если параметр не + задан, то никакая команда не будет исполняться.

    - - - + + +
    :-yscrollcommand
    :yScrollCommand
    :ScrollCommand
    Имя параметра:-yscrollcommand
    Имя в Базе:yScrollCommand
    Класс в Базе:ScrollCommand
    -

    , - . , - xScrollCommand, , - - , . - . .

    +

    Задает префикс команды, используемой для связи с вертикальной + полосой прокрутки. Этот параметр интерпретируется так же, как и + параметр xScrollCommand, за исключением того, + что он относится к вертикальной полосе прокрутки и используется + в примитивах, которые такую полосу поддерживают. Подробное + описание см. выше.

    + diff --git a/hlp/ru/tk/pack-old.html b/hlp/ru/tk/pack-old.html index e61096e..a1c10cd 100644 --- a/hlp/ru/tk/pack-old.html +++ b/hlp/ru/tk/pack-old.html @@ -1,4 +1,4 @@ - + pack-old @@ -6,230 +6,231 @@

    pack-old

    -

    - .

    +

    Устаревшая команда для геометрического менеджера упаковки + окон.

    -

    +

    СИНТАКСИС

    -      pack after sibling   ? ...?
    -      pack append parent   ? ...?
    -      pack before sibling   ? ...?
    -      pack unpack 
    +      pack after sibling окно параметры ?окно параметры...?
    +      pack append parent окно параметры ?окно параметры...?
    +      pack before sibling окно параметры ?окно параметры...?
    +      pack unpack окно
         
    -

    +

    ОПИСАНИЕ

    -

    . - pack, Tk 3.3. - , - - . , - .

    +

    Замечание. Ниже описан синтаксис команды + pack, употреблявшейся в версиях Tk до 3.3. Хотя + в целях совместимости поддержка команды в системе сохранена, + команда является устаревшей и использовать ее не + следует. Возможно, в будущем ее поддержка + прекратится.

    -

    , - - . - , - . , - , - - . - , , - .

    +

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

    -

    before, after - append pack - - . - before - - ; - . after - , append - - . , - , - - . - .

    +

    Формы before, after и + append команды pack + используются для вставки одного или нескольких непосредственных + потомков в очередь упаковки их родителя. В форме + before команда вставляет окно-потомка перед + родственными узлами; все остальные окна должны быть узлами + одного уровня. В форме after окна вставляются + после родственных узлов, а в форме append + добавляет одно или несколько окон к очереди упаковки их + родителя. Если окно, указанное в любой из этих + команд уже упаковано в родительское окно, то оно удаляется со + своего текущего положения в порядке упаковки и перемещается в + соответствии с командой. Все эти команды возвращают в качестве + результата пустую строку.

    -

    unpack pack - command - . - .

    +

    Форма unpack команды pack + command удаляет окно из очереди упаковки его + родителя и стирает его с экрана. После выполнения этой команды + упаковщик более не управляет геометрией окна.

    -

    , - ; , - , - , . - (cavity) - -, - (.. , - ). - (parcel) , - ; - -.

    +

    На самом деле, размещение каждого потомка представляет собой + четырехступенчатую процедуру; значение параметра, + следующего за окном, представляет собой список из + одного или нескольких полей, управляющих размещением окна. В + нижеследующем обсуждении термин полость (cavity) + обозначает место в окне-родителе, оставшееся после размещения + конкретного потомка (т.е. все то место, которое не было + запрошено при размещении предыдущих потомков в очереди). Термин + доля (parcel) обозначает количество места, + отведенного конкретному потомку; это количество не обязательно + соответствует окончательной геометрии окна-потомка.

    -

    - , . - :

    +

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

    top
    -
    - .
    +
    Отводит долю потомка у верхней стороны полости на всю ширину + полости.
    bottom
    -
    - .
    +
    Отводит долю потомка у нижней стороны полости на всю ширину + полости.
    left
    -
    - .
    +
    Отводит долю потомка у левой стороны полости на всю высоту + полости.
    right
    -
    - .
    +
    Отводит долю потомка у правой стороны полости на всю высоту + полости.
    -

    - . - top. - . - - , - , - Tk_GeometryRequest. - - , - . - - :

    +

    Для каждого окна следует задать ровно один из этих + параметров. Значением стороны по умолчанию является + top. Второй шаг состоит в определении доли + потомка. Для верхнего и + нижнего окон желательная ширина доли обычно + совпадает с шириной полости, а желательная высота совпадает с + запрошенной высотой доли, которая передается команде + Tk_GeometryRequest. Для левого и + правого окон желательная высота доли обычно + совпадает с высотой полости, а желательная ширина совпадает с + запрошенной шириной доли. Однако с помощью каждого из описанных + ниже параметров для окна можно запросить дополнительное + место:

    -
    padx
    +
    padx число
    -
    - , - .
    +
    Добавляет число пикселей к запрошенной + ширине окна перед вычислением размера доли, как это было описано + выше.
    -
    pady
    +
    pady число
    -
    - , - .
    +
    Добавляет число пикселей к запрошенной высоте окна + перед вычислением размера доли, как это было описано + выше.
    expand
    -
    , - , - - . - , - ; . - (expand) - , - - , , - - , - .
    +
    Этот параметр указывает на то, что доля окна захватывает все + свободное пространство, оставшееся в полости окна-родителя + после упаковки всех его потомков. Размер оставшегося + пространства зависит от размеров, запрошенных для всех + потомков; он может равняться нулю. Если + расширения (expand) затребовали несколько + окон, то вся дополнительная ширина будет поделена поровну + между всеми левыми и правыми + окнами, запросившими расширение, а вся + дополнительная высота будет поделена поровну между всеми + верхними и нижними окнами, + запросившими расширение.
    -

    - , - .

    +

    Если желаемая ширина или высота превосходит соответствующую + протяженность полости, то вместо нее используется эта размер + этой протяженности.

    -

    - . - , - , . , - , , - , :

    +

    На третьем шаге размещения окна следует принять решение о его + ширине и высоте. По умолчанию окно получает либо запрошенные + ширину и высоту, либо ширину и высоту доли в зависимости от + того, что из них меньше. Если доля больше, чем запрошенный + размер окна, то окно можно расширить так, чтобы оно полностью + или частично покрывало долю, с помощью следующих параметров:

    fill
    -
    .
    +
    Делает размеры окна равными размерам доли.
    fillx
    -
    , - .
    +
    Увеличивает ширину окна до ширины доли, сохраняя высоту + окна.
    filly
    -
    , - .
    +
    Увеличивает высоту окна до высоты доли, сохраняя ширину + окна.
    -

    - . , - . , - :

    +

    На последнем этапе происходит размещение окна внутри его + доли. Если размеры окна и доли совпадают, то окно просто целиком + заполняет долю. Если доля больше окна, то положение окна + определяется с помощью одного из следующих параметров:

    frame center
    -
    . - , - .
    +
    Размещает окно по центру доли. Если параметр размещения + опущен, то центральное размещение принимается по + умолчанию.
    frame n
    -
    , - .
    +
    Размещает окно так, что его верхняя сторона располагается по + центру верхней стороны доли.
    frame ne
    -
    , - .
    +
    Размещает окно так, что его правый верхний угол + располагается в правом верхнем углу доли.
    frame e
    -
    , - .
    +
    Размещает окно так, что его правая сторона располагается по + центру правой стороны доли.
    frame se
    -
    , - .
    +
    Размещает окно так, что его правый нижний угол располагается + в правом нижнем углу доли.
    frame s
    -
    , - .
    +
    Размещает окно так, что его нижняя сторона располагается по + центру нижней стороны доли.
    frame sw
    -
    , - .
    +
    Размещает окно так, что его левый нижний угол располагается + в левом нижнем углу доли.
    frame w
    -
    , - .
    +
    Размещает окно так, что его левая сторона располагается по + центру левой стороны доли.
    frame nw
    -
    , - .
    +
    Размещает окно так, что его левый верхний угол располагается + в левом верхнем углу доли.
    -

    / - -. - ; , - , - .

    +

    Упаковщик управляет состоянием размещенный/неразмещенный всех + упакованных непосредственных окон-потомков. При упаковке окон + упаковщик автоматически выводит их на экран; кроме того, он + стирает окна, для которых в полости остается недостаточно + места.

    -

    - . - - , - , - .

    +

    Упаковщик посылает геометрические запросы от имени родителя + размещаемых окон. Для каждого окна-родителя он запрашивает + размер, достаточный для размещения всех упакованных потомков в + соответствии с указанными параметрами, так что на расширение + остается нулевой остаток.

    + diff --git a/hlp/ru/tk/pack.html b/hlp/ru/tk/pack.html index 6a1e040..07ce0af 100644 --- a/hlp/ru/tk/pack.html +++ b/hlp/ru/tk/pack.html @@ -1,4 +1,4 @@ - + pack @@ -7,327 +7,328 @@

    pack

    -

    , - .

    +

    Геометрический менеджер, который упаковывает виджеты по + сторонам внутреннего пространства окна.

    -

    +

    СИНТАКСИС

           pack option arg ?arg ...?
         
    -

    +

    ОПИСАНИЕ

    -

    pack - , - , - . - +

    Команда pack используется для управления + соответствующим геометрическим менеджером, размещающим виджеты + по различным сторонам родительского окна, и для получения от + него справочной информации. Команда может иметь перечисленные + ниже формы в зависимости от значения аргумента option.

    pack slave ?slave ...? ?options?
    -
    ( - , "."), - , pack configure.
    +
    Если первый аргумент команды является именем окна (любая + величина, начинающаяся с "."), команда выполняется + точно также, как команда pack configure.
    pack configure slave ?slave ...? ?options?
    -

    - , , - . - , - (. " - pack"). - .

    +

    Аргумент команды состоит из имени одного или нескольких + размещаемых виджетов, после которых идут пары аргументов, + состоящих из имени опции и ее значения. Подробное описание + действий, выполняемых при размещении виджетов приведено ниже + (см. "Алгоритм + упаковки pack"). Ниже перечислены + возможные опции команды.

    -after other
    -
    Other - . - other - slave. slave slave ... - other.
    +
    Other должно быть именем другого + окна. Мастер-окна other используется как мастер + для slave. Список slave slave ... вставляется в + список размещаемых окон сразу после other.
    -anchor anchor
    -
    Anchor - , , n - sw. slave - . +
    Anchor должен быть одной из возможных позиций + якоря, например, n или + sw. Он определяет как размещается slave в + отведенном ему пространстве. Значение по умолчанию c.
    -before other
    -
    Other - . - other - - slave. slave slave - ... - other.
    +
    Other должно быть именем другого + окна. Мастер-окно окна other используется как + мастер-окно для slave. Список slave slave + ... вставляется в список размещаемых окон + непосредственно перед other.
    -expand boolean
    -
    , - - -. Boolean - , , 1 - no. +
    Определяет, будут ли перечисленные виджеты расширяться + при наличии свободного пространства в + мастер-окне. Boolean должно иметь булево + значение, например, 1 или + no. Значение по умолчанию "0".
    -fill style
    -

    - slave - , slave.

    +

    Если в мастер-окне для slave имеется свободное + пространство, управляет растяжением виджета slave.

    -

    style - :

    +

    Аргумент style может иметь одно из следующих + значений:

    none
    -
    slave - ( , - -ipadx - -ipady). - .
    +
    Предоставляет виджету slave требуемый + размер (включая поля, запрошенные с помощью опций + -ipadx или + -ipady). Это значение по + умолчанию.
    x
    -
    slave - , - ( , - -padx).
    +
    Расширяет виджет slave в горизонтальном + направлении так, чтобы он заполнил все свободное + пространство (за исключением внешних полей, заданных с + помощью опции -padx).
    y
    -
    slave - , - ( , - -pady.)
    +
    Расширяет виджет slave в вертикальном + направлении так, чтобы он заполнил все свободное + пространство (за исключением внешних полей, заданных с + помощью опции -pady.)
    both
    -
    slave - .
    +
    Расширяет виджет slave в обоих + направлениях.
    -in other
    -
    slave(s) - other.
    +
    Включает slave(s) в конец списка размещаемых окон для + окна other.
    -ipadx amount
    -
    amount - , - slave. , - , , - 2 (2 ) .5c - (0.5 ). 0.
    +
    Аргумент amount указывает размер горизонтальных + внутренних полей, которые должны быть с обеих сторон + виджета slave. Размер должен быть указан в одной из форм, + в которой можно задавать размеры на экране, например, + 2 (2 пикселя) или .5c + (0.5 сантиметра). Значение по умолчанию 0.
    -ipady amount
    -
    amount - , - slave. , - , , - 2 (2 ) .5c - (0.5 ). 0.
    +
    Аргумент amount указывает размер вертикальных + внутренних полей, которые должны быть с обеих сторон + виджета slave. Размер должен быть указан в одной из форм, + в которой можно задавать размеры на экране, например, + 2 (2 пикселя) или .5c + (0.5 сантиметра). Значение по умолчанию 0.
    -padx amount
    -
    amount - , - slave. , - , , - 2 (2 ) .5c - (0.5 ). 0.
    +
    Аргумент amount указывает размер горизонтальных + внешних полей, которые должны быть с обеих сторон виджета + slave. Размер должен быть указан в одной из форм, в + которой можно задавать размеры на экране, например, + 2 (2 пикселя) или .5c + (0.5 сантиметра). Значение по умолчанию 0.
    -pady amount
    -
    amount - , - slave. , - , , - 2 (2 ) .5c - (0.5 ). 0.
    +
    Аргумент amount указывает размер вертикальных + внешних полей, которые должны быть с обеих сторон виджета + slave. Размер должен быть указан в одной из форм, в + которой можно задавать размеры на экране, например, + 2 (2 пикселя) или .5c + (0.5 сантиметра). Значение по умолчанию 0.
    -side side
    -
    , - - slave. side: +
    Определяет, к какой стороне мастер-окна будут помещены + виджеты slave. Возможные значения аргумента side: left, right, - top bottom. - top.
    + top или bottom. Значение + по умолчанию top.
    -

    -in, - -after -before - , slave - ( - , - ). - , slave - .

    +

    Если никакая из опций -in, + -after или -before не + указана, каждый из slave будет внесен в конец + списка размещения своего непосредственного родителя (если + только он не был внесен туда ранее, в этом случае он + останется на своем прежнем месте). Если же одна из + перечисленных опций указана, все slave будут + внесены в соответствующий список в указанное место.

    -

    - slave - , - - , .

    +

    Если какие-либо из slave окон ранее уже + обрабатывались геометрическим менеджером, то для не + определенных в команде опций будут использоваться старые + значения, а не значения по умолчанию.

    pack forget slave ?slave ...?
    -
    - . - .
    +
    Перечисленные окна удаляются из списка упаковки и с + экрана. Эти окна больше не управляются геометрическим + менеджером.
    pack info slave
    -
    - slave , - pack configure. - "-in master", - "master" - , +
    Возвращает список опций и их значений для окна + slave в той же форме, в какой они задаются в команде + pack configure. Первые два элемента списка + "-in master", где + "master" - имя окна, в котором размещается slave.
    pack propagate master ?boolean?
    -
    boolean, , , - master - ( , . " "). - . , - (0 - 1). - .
    +
    Аргумент boolean, если он задан, определяет, будет + ли окно master расширяться при необходимости + (подробности приведены ниже, см. "Расширение виджетов"). Команда + при этом возвращает пустую строку. Если аргумент не задан, + команда возвращает текущее значение опции (0 + или 1). По умолчанию расширение + разрешено.
    pack slaves master
    -
    - master. master - , .
    +
    Возвращает список всех размещаемых окон для + master. Если в окне master нет размещаемых + окон, возвращается пустой список.
    -

    pack

    +

    АЛГОРИТМ УПАКОВКИ pack

    -

    - pack - . - -in, -after - -before. , - - .

    +

    Для каждого мастер-окна менеджер pack формирует список + упаковки. Место каждого виджета в нем может задаваться с помощью + опций -in, -after и + -before. Если эти опции не использовались, + каждый новый виджет добавляется в конец списка своего + непосредственного предка.

    -

    , - . - - . "". - "" - -.

    +

    Менеджер размещает виджеты в окне, последовательно просматривая + список упаковки. В момент обработки каждого из размещаемых + виджетов внутри мастера есть прямоугольная незаполненная + область. Эта область называется "полость". Для первого + обрабатываемого виджета "полость" совпадает со всей + внутренностью мастер-окна.

    -

    - :

    +

    Для каждого из размещаемых виджетов выполняются следующие + действия:

      -
    • - , - -side. - top bottom, - , - , - -ipady -pady. - left - right, , - , - -ipadx - -padx. - - -expand (. " - ").
    • +
    • менеджер размещает прямоугольную область для очередного + виджета у стороны полости, заданной опцией + -side. Если значение опции + top или bottom, то ширина + области равна ширине полости, а высота равна требуемой для + виджета высоте плюс внешние и внутренние поля, заданные + опциями -ipady и -pady. Если + значение опции равно left или + right, высота области равна высоте полости, а + ширина определяется размером виджета плюс полями, заданными + опциями -ipadx и + -padx. Область может быть расширена в одном + или обоих направлениях в зависимости от значения опции + -expand (см. ниже "Расширение + виджетов").
    • -
    • . - , , - , ( - ) - -fill.
    • +
    • менеджер определяет размеры виджета. Обычно они равны + размерам, необходимым для виджета, плюс удвоенные внутренние + поля, но могут быть расширены до размеров области (минус + удвоенные внешние поля) по одному или обоим направлениям в + зависимости от значения опции -fill.
    • -
    • - . , - -anchor. - , - , .
    • +
    • менеджер размещает виджет в отведенном ему + пространстве. Если виджет меньше свободного пространства, + используется значение опции -anchor. Если + определены внешние поля, то они всегда сохраняются между + виджетом и границами области, в которой он помещается.
    -

    , , - (. 1)) . - , - . , - - . - , , - . , - . - , .

    +

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

    -

    +

    РАСШИРЕНИЕ ВИДЖЕТОВ

    -

    - , - , - , - -expand. - , - -side left - right. - , -side - top bottom.

    +

    Если мастер-окно оказалось больше, чем необходимо для + размещения всех виджетов, оставшееся пространство распределяется + равномерно между теми виджетами, для которых установлена опция + -expand. Дополнительное горизонтальное + пространство распределяется между теми виджетами, у которых + опция -side равна left или + right. Вертикальное пространство распределяется + между виджетами, у которых опция -side равна + top или bottom.

    -

    +

    РАСПРОСТРАНЕНИЕ РАЗМЕРОВ

    -

    -, - , , , - - , - . , - - , - - . pack - propagate - -. - , - -. - , , - - , .

    +

    Обычно менеджер рассчитывает размеры мастер-окна, необходимые + для размещения виджетов, и, при необходимости, устанавливает + размеры мастер-окна таким образом, чтобы в нем в точности + поместились все виджеты из списка. Это приводит к тому, что + информация о размерах виджетов распространяется по + иерархическому дереву виджетов, в результате чего целое + поддерево изменяет свои размеры при изменении одного из + листьевых элементов. Однако команда pack + propagate может быть использована для отключения этого + механизма для одного или нескольких мастер-окон. Если + распространение размеров отключено, информация о необходимых + размерах не передается мастер-окну. Это может оказаться + полезным, если вы хотите, чтобы мастер-окно сохраняло те + размеры, которые вы определили.

    -

    -

    +

    ОГРАНИЧЕНИЯ НА МАСТЕР-ОКНА

    -

    - - ( ) - . - toplevel-.

    +

    Мастер-окно для каждого размещаемого виджета должно быть его + непосредственным предком (по умолчанию) или одним из потомков + его предка. Это ограничение гарантирует разумное поведение + виджетов при удалении toplevel-окон.

    -

    +

    ПОРЯДОК РАЗМЕЩЕНИЯ

    -

    - - , , - , -. - - , - . - , - , - ( , ). - - , - raise lower - .

    +

    Если мастер-окно для виджета не является его непосредственным + предком, необходимо быть уверенным, что виджет лежит в стеке + окон выше, чем мастер-окно. В противном случае мастер-окно + закроет собой виджет и создастся впечатление, что виджет не + упакован правильным образом. Простейший способ избежать подобных + проблем следить, чтобы -окно было создано раньше, чем виджет + (чем позже создано окно, тем выше оно в стеке). Если это + почему-либо неудобно, можно использовать команды + raise и lower для изменения + порядка окон в стеке.

    + diff --git a/hlp/ru/tk/photo.html b/hlp/ru/tk/photo.html index 0133db9..c4ad894 100644 --- a/hlp/ru/tk/photo.html +++ b/hlp/ru/tk/photo.html @@ -1,4 +1,4 @@ - + photo @@ -7,437 +7,438 @@

    photo

    -

    Tk.

    +

    Встроенный тип полноцветных изображений Tk.

    -

    +

    СИНТАКСИС

    -      image create photo ?? ??
    +      image create photo ?имя? ?параметры?
         
    -

    +

    ОПИСАНИЕ

    -

    photo - , . - 24 ; - - (dithering). - , C - . GIF - PPM/PGM; , - . , - , - .

    +

    Пиксели изображения типа photo могут быть + любого цвета, а также могут быть прозрачными. При сохранении + изображений этого типа каждый пиксель кодируется 24 битами; при + выводе пиксела при необходимости используется приближение + (dithering). Закодированные данные могут быть представлены в + виде файла или строки, а также в виде C кода через процедурный + интерфейс. В настоящее время поддерживаются только форматы GIF и + PPM/PGM; однако в системе имеется интерфейс, облегчающий + добавление новых форматов изображений. Области, данные для + которых не представлены, при выводе изображения оказываются + прозрачными.

    -

    photo

    +

    СОЗДАНИЕ ИЗОБРАЖЕНИЙ ТИПА photo

    -

    , photo - image - create. : +

    Как и все остальные изображения, изображения типа photo + создаются командой image + create. Команда поддерживает следующие параметры:

    -
    -channel
    +
    -channel идКанала
    -
    , , - photo. - , - - .
    +
    Параметр задает имя канала, открытого для чтения, по + которому должно поступить изображение типа photo. Формат + данных в канале должен быть таким, для которого существует + соответствующая программа чтения данных из файла или + канала.
    -
    -data
    +
    -data строка
    -
    . - , - . - -data - -file, -file - +
    Задает содержимое изображения в виде строки. Формат данных в + строке должен быть таким, для которого существует + соответствующая программа чтения данных из строки. Если заданы + оба параметра -data и + -file, то параметр -file + подавляет значение параметра -data.
    -
    -format -
    +
    -format имя-формата
    -
    , , - -data +
    Задает имя файла, содержащего описание формата данных, + указанных параметрами -data или -file.
    -
    -file
    +
    -file имя
    -
    , - photo. , - - .
    +
    Задает имя файла, содержащего данные для изображения типа + photo. Формат файла должен быть таким, для которого существует + соответствующая программа чтения данных из файла или + канала.
    -
    -gamma
    +
    -gamma значение
    -
    , - - - gamma. ( CRT - , - ; - gamma , - "2"). - . - "1" ( ). , - , , - .
    +
    Указывает на то, что распределение цветов для вывода данного + изображения в окне должно быть исправлено для нелинейного + дисплея с помощью показателя экспоненты + gamma. (В большинстве CRT интенсивность + вывода является показательной функцией введенного значения, + что обеспечивает качественное приближение; + gamma это показатель экспоненты, его значение + обычно близко к "2"). Указанное значение должно быть + положительным. По умолчанию параметр имеет значение + "1" (коррекция не производится). Значения, большие + единицы, осветляют изображение, меньшие единицы делают его + темнее.
    -
    -height
    +
    -height число
    -
    . - , , , - . - ( ) - - .
    +
    Задает высоту изображения в пикселах. Этот параметр + оказывается полезным, в первую очередь, в ситуациях, когда + пользователь строит изображение по частям. Значение ноль + (принятое по умолчанию) обеспечивает возможность вертикального + растяжения или сжатия изображения в соответствии с его + содержимым.
    -
    -palette -
    +
    -palette спец-палитры
    -
    - - . - - , - , , - (/), - , . - , - ( ).
    +
    Задает разрешение цветов выделенного изображению и + число используемых цветов из палитр окон размещения + изображения. Строка параметра спец-палитры может представлять + собой либо одно десятичное число, задающее число используемых + оттенков серого цвета, либо три десятичных числа, разделенных + наклонными косыми чертами (/), задающих число используемых + оттенков красного, зеленого и голубого цветов. Если строка + состоит из одного десятичного числа, то будет выводиться + монохромное изображение (оттенками серого цвета).
    -
    -width
    +
    -width число
    -
    . - , , , - . - ( ) - - .
    +
    Задает ширину изображения в пикселах. Этот параметр + оказывается полезным, в первую очередь, в ситуациях, когда + пользователь строит изображение по частям. Значение ноль + (принятое по умолчанию) обеспечивает возможность + горизонтального растяжения или сжатия изображения в + соответствии с его содержимым.
    -

    IMAGE

    +

    КОМАНДА IMAGE

    -

    photo - Tk , - . - . - :

    +

    При создании изображения типа photo + Tk создает также новую команду, имя которой совпадает с именем + вновь созданного изображения. С помощью этой команды можно + выполнять различные операции над изображением. Она имеет + следующий общий вид:

    -      imageName  ?  ...?
    +      imageName параметр ?арг арг ...?
         
    -

    - .

    +

    Параметр и аргументы уточняют поведение + команды.

    -

    , , - , - , - -width / - -height; / - .

    +

    Параметры, приводящие к дописыванию данных в изображение, + обычно приводят к увеличению размеров изображения, за + исключением случаев, когда пользователь задал ненулевые значения + параметров конфигурации -width и/или + -height; в последнем случае ширина и/или высота + изображения не изменяются.

    -

    photo :

    +

    Изображения типа photo поддерживают следующие команды:

    -
    blank
    +
    имяИзображения blank
    -
    , .. , - , , - .
    +
    Очищает изображение, т.е. устанавливает, что в изображении + нет данных, поэтому при выводе оно оказывается прозрачным, и + на его месте видно содержимое содержащего его окна.
    -
    cget -
    +
    имяИзображения cget + параметр
    -
    - . - image create photo.
    +
    Возвращает текущее значение параметра конфигурации с именем + параметр. Параметр может быть любым из + параметров команды image create photo.
    -
    configure - ?? ? +
    имяИзображения configure + ?параметр? ?значение параметр значение ...?
    -
    - . , - , - ( - Tk_ConfigureInfo). , - - , - , . - -, - , - . +
    Запрашивает значения параметров конфигурации изображения или + изменяет их. Если параметр не указан, то возвращает + список, содержащий значения всех допустимых в + имениПути параметров (формат списка описан в + Tk_ConfigureInfo). Если параметр задан, а его + новое значение - нет, то команда возвращает часть полного + списка, относящуюся к указанному параметру. Если заданы одна + или несколько пар параметр-значение, то указанным параметрам + примитива присваиваются новые значения, а команда возвращает + пустую строку. Параметр может быть любым из параметров команды image create photo.
    -
    copy - ? () ...?
    +
    имяИзображения copy + исхИзобр ?параметр значение(я) ...?
    -

    - ( photo) - , - / subsampling. - , - , (0,0) - . - :

    +

    Копирует область изображения с именем исхИзобр + (которое должно быть изображением типа photo) в + изображение с именем имяИзображения, возможно с + растяжением пикселей и/или subsampling. Если параметры не + заданы, то команда копирует в имяИзображения все + исходное изображение, начиная с точки с координатами (0,0) в + изображении имяИзображения. В команде могут быть + заданы следующие параметры:

    -from x1 y1 x2 y2
    -
    - . - (x1,y1) (x2,y2) - . - x2 y2 , - - . - , - . -from - .
    +
    Задает предназначенную для копирования прямоугольную + область в исходном изображении. Точки с координатами + (x1,y1) и (x2,y2) + задают противоположные углы прямоугольника. Если параметры + x2 иy2 не заданы, то их значениями по + умолчанию являются координаты нижнего правого угла + исходного изображения. В копируемую область включаются + левая и верхняя стороны прямоугольника, но не его нижняя и + правая стороны. Значением параметра -from + по умолчанию является все исходное изображение.
    -to x1 y1 x2 y2
    -
    - . - (x1,y1) (x2,y2) - . - x2 y2 , - - (x1,y1), - ( subsampling??? , - ). x2 y2 - , - - .
    +
    Задает прямоугольную подобласть в изображении + имяИзображения. Точки с координатами + (x1,y1) и (x2,y2) + задают противоположные углы прямоугольника. Если + координаты x2 и y2 не заданы, то их + значениями по умолчанию являются значения координат + (x1,y1), к которым прибавлены размеры + исходной области (после subsampling??? и увеличения, если + они требуются). Если координаты x2 и y2 + заданы, то копируемая область будет при необходимости + воспроизведена несколько раз для замещения всего + отведенного прямоугольника.
    -shrink
    -
    , - , - - . - -width - -height , - -shrink - .
    +
    Указывает на то, что размер отведенной области должен + быть при необходимости уменьшен таким образом, чтобы + копируемый прямоугольник оказался в ее правом нижнем + углу. Если пользователь задал ненулевые значения + параметров конфигурации -width или + -height , то параметр + -shrink не окажет влияния на ширину или + высоту соответственно.
    -zoom x y
    -
    - x X- - y Y-. - - x * y - . x y .
    +
    Задает необходимость растяжения копируемой области с + коэффициентом x в X-направлении и с коэффициентом + y в Y-направлении. При задании этого параметра + каждый пиксел исходного изображения при копировании будет + представлен в виде прямоугольника x * y пикселей одного + цвета. Оба числа x и y должны быть положительными.
    -subsample x y
    -
    - x- - X- y- - Y-. - . - y , - x.
    +
    Указывает на необходимость уменьшения исходного + изображения за счет использования только каждого x-го + пикселя в X-направлении и каждого y-го пикселя в + Y-направлении. Отрицательные значения параметров приводят + к отражению в соответствующем направлении. Если параметр + y не задан, то его значение по умолчанию + совпадает со значением параметра x.
    -
    get x y
    +
    имяИзображения get x y
    -
    (x,y) - - 0 255, - , .
    +
    Возвращает цвет пиксела с координатами (x,y) в + указанном изображении в виде списка из трех целых чисел в + промежутке от 0 до 255, описывающих соответственно его + красную, зеленую и голубую составляющие.
    -
    put +
    имяИзображения put данные ?-to x1 y1 x2 y2?
    -
    , - . - , - . - , , - , . - (, blue) - (, #2376af). - -to - . - x1 y1, - - (x1,y1), - . , - , - X- - Y- - .
    +
    Устанавливает цвета пикселей, заданные параметром + данные. Этот параметр используется для формирования + двумерного массива пикселей, который затем копируется в + изображение имяИзображения. Данные представляют собой + список строк, идущих сверху вниз, каждая из которых является + списком цветов, идущих слева направо. Каждый цвет задается + именем (например, blue) или в + шестнадцатеричном виде (например, #2376af). С + помощью параметра -to можно отвести область + для размещения массива. Если заданы только координаты + x1 и y1, то верхним левым углом отведенной + области является точка с координатами + (x1,y1), а размеры области совпадают с + размерами массива. Если указаны все четыре координаты, то они + задают противоположные углы отведенного прямоугольника, и + содержимое массива будет при необходимости повторено в X- и + Y-направлениях для замещения всего отведенного + прямоугольника.
    -
    read - ? () ...?
    +
    имяИзображения read имяфайла + ?параметр значение(я) ...?
    -

    - . - - , - ; - - . - :

    +

    Читает данные из файла с именем имяфайла в + изображение с именем имяИзображения. Выполнение + команды начинается с просмотра списка программ обработки + форматов файлов изображений в поисках программы, способной + интерпретировать данные в указанном файле; затем эти данные + читаются из файла в изображение с именем + имяИзображения. Команда может иметь следующие + параметры:

    -
    -format -
    +
    -format имя-формата
    -
    . - , - , - -.
    +
    Задает формат данных в файле с именем имяфайла. + Точнее говоря, при поиске в списке программ обработки + будут просматриваться только те программы, имена которых + начинаются с имени-формата.
    -from x1 y1 x2 y2
    -
    , - , - . - x1 y1, - , - - . , - . - , - .
    +
    Задает прямоугольную подобласть в изображении, + описываемом данными файла, которую необходимо скопировать + в изображение с именем имяИзображения. Если + заданы только параметры x1 и y1, то они + задают координаты левого верхнего угла подобласти, а ее + правый нижний угол совпадает с правым нижним углом всего + изображения в файле. Если заданы все четыре координаты, то + они задают два противоположных угла подобласти. Если этот + параметр не задан, то по умолчанию копируется все + изображение.
    -shrink
    -
    , - - , , - , - - . - -width - -height, - -shrink - .
    +
    Если присутствует этот параметр, то размер изображения с + именем имяИзображения при необходимости + уменьшается таким образом, чтобы прямоугольник, отведенный + под содержимое файла изображения, находился в правом + нижнем углу изображения с именем + имяИзображения. Если пользователь задал ненулевые + значения параметров конфигурации -width + или -height, то параметр + -shrink не будет оказывать влияния + соответственно на ширину или высоту изображения.
    -to x y
    -
    - , - . +
    Задает координаты верхнего левого угла прямоугольника в + изображении с именем имяИзображения, отводимого + под данные из файла. По умолчанию параметр имеет значение (0,0).
    -
    redither
    +
    имяИзображения redither
    -
    photo - (dithering) , - . - , - . - , - - , - .
    +
    При выводе изображений типа photo используется алгоритм + приближения (dithering) , который распространяет дискретные + ошибки с пиксела на его соседей. Если данные для изображения + имяИзображения поставляются частями, то результат + приближения может быть не вполне корректным. Обычно эта + некорректность на взгляд незаметна, однако при серьезных + нарушениях с помощью данной команды можно пересчитать + необходимые приближения в каждом окне, в котором выводится + данное изображение.
    -
    write - ? () ...?
    +
    имяИзображения write имяфайла + ?параметр значение(я) ...?
    -

    - . :

    +

    Записывает изображение имяИзображения в файл с + именем имяфайла. Может иметь следующие параметры:

    -
    -format -
    +
    -format имя-формата
    -
    , - . - , - , - - - . , - , - .
    +
    Задает имя программы обработки файла изображения, которую + следует использовать при записи данных в файл. Точнее + говоря, данная подкоманда ищет первую программу обработки + в списке, начало имени которой совпадает с началом + имени-формата и которая способна записывать данные в + файл. Если этот параметр не задан, то эта подкоманда + использует первую программу обработки, способную + записывать данные в файл изображения.
    -from x1 y1 x2 y2
    -
    - , - . x1 - y1, - , - . - , - . , - .
    +
    Задает прямоугольную область в изображении с именем + имяИзображения, которую следует переписать в файл + изображения. Если заданы только значения x1 и + y1, то они задают верхний левый угол + прямоугольника, а его нижний правый угол совпадает с + нижним правым углом изображения. Если заданы все четыре + координаты, то они задают противоположные углы + прямоугольника. Если параметр не задан, то по умолчанию + копируется все изображение.
    -

    +

    ФОРМАТЫ ИЗОБРАЖЕНИЙ

    -

    photo - - . . - - Tk_CreatePhotoImageFormat. - Tk - PPM/PGM GIF, - .

    +

    При создании программ обработки изображений типа photo + предусмотрена возможность легкого добавления новых форматов + файлов изображений. Все программы занесены в список. Добавление + программы в список происходит в результате выполнения команды + Tk_CreatePhotoImageFormat. В стандартном + дистрибутиве Tk содержатся программы обработки для форматов + PPM/PGM и GIF, которые автоматически заносятся в список при + инициализации.

    -

    , - -data, - photo image - , , - , - . - . - +

    При чтении файла изображения или обработке строки данных, + заданной в параметре конфигурации -data, + команда photo image просматривает программы + обработки одну за другой, пока не найдется такая, которая + утверждает, что она способна читать данные из файла или + строки. Результатом поиска обычно бывает правильная программа + обработки. В противном случае пользователь может задать имя + программы обработки с помощью параметра -format.

    -

    photo image - , - , - -format ( - ). , , - -format gif, - GIF87 GIF89, JPEG ( - ).

    +

    На самом деле команда photo image + просматривает только те программы обработки, имена которых + начинаются со строки, заданной параметром + -format (при сравнении регистр не + учитывается). Если, например, пользователь указал + -format gif, то могут выполняться программы + обработки GIF87 или GIF89, но не программа JPEG (если такие + программы были внесены в список).

    -

    -format - : , - , - , - . , , - , - .

    +

    При записи изображения в файл параметр -format + обрабатывается несколько другим способом: строка, являющаяся его + значением, должна начинаться с полного имени запрашиваемой + программы обработки, за которым может следовать дополнительная + информация. Эта дополнительная информация может, например, + сообщать программе, какую из версий формата следует + использовать.

    -

    +

    РАСПРЕДЕЛЕНИЕ ЦВЕТОВ

    -

    photo - photo image , - , , - . : - - , .

    +

    При выводе изображения типа photo в окно команда + photo image отводит цвета и, + при необходимости, возмущает изображение, заменяя отсутствующие + цвета доступными. Выделяемые цвета образуют куб: число возможных + составных цветов представляет собой произведение чисел оттенков + красного, зеленого и голубого цветов.

    -

    . , - 8- PseudoColor photo - image , - , 198 - . 1- StaticGray () - , . 24- - DirectColor TrueColor 256 - . , - photo image - - .

    +

    Обычно выбор числа цветов определяется глубиной окна. Например, + в 8-битовом окне PseudoColor команда photo + image пытается отвести семь оттенков красного, семь + оттенков зеленого и четыре оттенка голубого, всего 198 составных + цветов. Для 1-битового окна StaticGray (монохромного) команда + отводит два цвета, белый и черный. Для 24-битовых окон + DirectColor или TrueColor команда отводит по 256 оттенков + каждого из трех цветов. Если не удается отвести все цвета, то + команда photo image уменьшает число оттенков + каждого простого цвета и производит новую попытку + размещения.

    -

    - -palette. - - . - - , - , .

    +

    Пользователь может частично управлять выбором числа цветов с + помощью параметра конфигурации -palette. При + использовании этого параметра в нем задается максимальное число + используемых оттенков каждого из простых цветов. Кроме того с + помощью этого параметра можно потребовать представления + изображения оттенками серого цвета даже в цветном окне, задав + одно число вместо трех, разделенных наклонными чертами.

    + diff --git a/hlp/ru/tk/pkg_mkIndex.html b/hlp/ru/tk/pkg_mkIndex.html index 3efcf08..f631104 100644 --- a/hlp/ru/tk/pkg_mkIndex.html +++ b/hlp/ru/tk/pkg_mkIndex.html @@ -1,4 +1,4 @@ - + pkg_mkIndex @@ -7,61 +7,61 @@

    pkg_mkIndex

    -

    .

    +

    Создает индексный файл для автоматической загрузки пакета.

    -

    +

    СИНТАКСИС

           pkg_mkIndex dir pattern ?pattern pattern...?
         
    -

    +

    ОПИСАНИЕ

    -

    pkg_mkIndex - Tcl-. - , - , package require. - - :

    +

    Процедура pkg_mkIndex представляет собой + утилиту для работы с Tcl-библиотеками. Она обеспечивает создание + индексных файлов, необходимых для автоматической загрузки + пакетов, когда в приложении встречается команда package require. Для + создания автоматически загружаемых пакетов необходимо выполнить + следующие действия:

    - - @@ -69,118 +69,119 @@ - -
    [1] . - Tcl- - . - load - - . , - test.so, - load test.so. - Tcl- package - provide . - + Создать один или несколько пакетов. Каждый пакет может + состоять из одного или больше файлов с Tcl-скриптами или + из бинарных файлов. Бинарные файлы должны быть пригодны + для их загрузки с помощью команды load с единственным + аргументом -именем файла. Например, если в пакет входит + файл test.so, он должен загружаться + командой load test.so. Каждый файл + Tcl-скриптов должен содержать команду package + provide с именем пакета и версией. Каждый + бинарный файл должен содержать вызов процедуры Tcl_PkgProvide.
    [2] - pkg_mkIndex. dir - , , - pattern, - , glob, - . pkg_mkIndex - dir - pkgIndex.tcl, - , - pattern. , - , - ( - package - provide + Создать индексные файлы с помощью команды + pkg_mkIndex. Аргумент dir + указывает имя каталога, в котором лежат файлы пакета, а + шаблоны pattern, которые могут содержать + специальные символы, как в команде glob, указывают на файлы + в этом каталоге. Команда pkg_mkIndex + создаст в каталоге dir файл + pkgIndex.tcl, содержащий информацию обо + всех файлах пакета, заданных с помощью аргументов + pattern. Для этого загружаются все файлы пакета, + и определяется, какие новые пакеты и какие новые процедуры + появились (поэтому в каждом файле пакета и должна быть + команда package + provide или вызов Tcl_PkgProvide).
    [3] , - - tcl_pkgPath. - $tcl_pkgPath , - - , - Tcl- . . - pkgIndex.tcl. - , - tcl_pkgPath, - - package + Установить пакет как подкаталог одного из каталогов, + перечисленных в переменной + tcl_pkgPath. Если в списке + больше одного каталога, то + бинарные файлы с разделяемыми библиотеками обычно + устанавливаются в первом каталоге, а библиотеки + Tcl-скриптов . во втором. В этих каталогах должны также + находиться файлы pkgIndex.tcl. Пока + пакеты будут размещаться в подкаталогах каталогов, + перечисленных в переменной tcl_pkgPath, + этого будет достаточно для их автоматической загрузки при + выполнении команды package require.
    [4] - , - , - auto_path - - . auto_path - , - , . - $tcl_pkgPath. - , - auto_path. - - auto_path. - - TCLLIBPATH. , - - auto_path . + Если вы установили пакеты в каких-либо других каталогах, + то необходимо, чтобы эти каталоги содержались в переменной + auto_path или были бы непосредственными + подкаталогами одного из содержащихся там + каталогов. Переменная auto_path содержит + список каталогов, которые просматриваются как + автозагрузчиком, так и загрузчиком пакетов. По умолчанию + он включает . Загрузчик + пакетов также просматривает и подкаталоги каталогов, + включенных в auto_path. Пользователь + может в явном виде включить в приложении необходимые + каталоги в auto_path. А можно включить + эти каталоги в переменную окружения + TCLLIBPATH. Если она существует, то + используется для инициализации переменной + auto_path при запуске приложения.
    -

    , - package - require. , , 2.1, 2.3 3.1 - Test - ,

    +

    Если перечисленные выше шаги выполнены, то для использования + необходимого пакета достаточно выполнить в приложении команду package + require. Если, например, версии 2.1, 2.3 и 3.1 + пакета Test проиндексированы и хранятся в + соответствующих каталогах, то команда

           package require Test
         
    -

    3.1.

    +

    загрузит версию 3.1. А команда

           package require -exact Test 2.1
         
    -

    2.1. - , - . , - . , - - .

    +

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

    -

    +

    ЗАГРУЗЧИК ПАКЕТОВ И АВТОЗАГРУЗЧИК

    -

    - , , - . - , - - . , - pkg_mkIndex, - auto_mkindex, - . - , , - . , - auto_mkindex - . , - pkg_mkIndex, auto_mkindex, - , - , , , - .

    +

    Автозагрузчик и загрузчик пакетов во многом имеют сходные + возможности, поскольку и тот, и другой предназначены для + загрузки файлов по требованию. Однако загрузчик файлов + представляет собой механизм более высокого уровня, который + использует автозагрузчик на последнем шаге процесса + загрузки. Как правило, предпочтительнее индексировать пакеты с + помощью команды pkg_mkIndex, чем с + помощью команды auto_mkindex, поскольку это + обеспечивает подключение механизма версий. Вы можете иметь + несколько версий одного и того же пакета и, более того, + использовать в различных приложениях различные версии. Напротив, + auto_mkindex позволяет работать с единственной + версией пакета. Скорее всего, не стоит создавать индексы для + пакета с помощью и pkg_mkIndex, и auto_mkindex, поскольку в этом + случае трудно контролировать, какой из механизмов загрузки + пакета сработает первым, и, соответственно, какая версия пакета + будет загружена.

    -

    ?

    +

    КАК ЖЕ ЭТО РАБОТАЕТ?

    -

    package require - package - unknown. Tcl- package unknown - , - pkgIndex.tcl auto_path. - package - ifneeded - . - package - provide, - . , - . - , - . , - package require - , , , - - .

    +

    При первом вызове команды package require + исполняется скрипт package + unknown. При инициализации Tcl-скрипт package unknown + задается таким образом, что он выполняет все файлы + pkgIndex.tcl в каталогах auto_path. Эти файлы содержат + команды package + ifneeded для каждой доступной версии каждого + доступного пакета. Эти команды в свою очередь вызывают команды + package + provide, которые объявляют данные версии + доступными. Кроме того, они формируют необходимую исходную + информацию для автозагрузчика. Данный файл данной версии + данного пакета реально загружается только тогда, когда + вызывается первая из содержащихся в нем команд. Таким образом, + после выполнения команды package require вы + не увидите команд пакета в интерпретаторе, но, тем не менее, + вы сможете их вызвать и при этом они загрузятся + автоматически.

    + diff --git a/hlp/ru/tk/place.html b/hlp/ru/tk/place.html index 57008a1..142c5de 100644 --- a/hlp/ru/tk/place.html +++ b/hlp/ru/tk/place.html @@ -1,4 +1,4 @@ - + place @@ -7,10 +7,10 @@

    place

    -

    , - .

    +

    Геометрический менеджер, обеспечивающий размещение виджетов в + абсолютных или относительных координатах.

    -

    +

    СИНТАКСИС

           place window option value ?option value ...?
    @@ -21,275 +21,276 @@
         
    -

    +

    ОПИСАНИЕ

    -

    place - -, - . , - " ", - -. - . , - , place , - , , - -.

    +

    Геометрический менеджер place позволяет + размещать виджеты в их мастер-окнах, используя прямые указания о + размерах и размещении виджета. Кроме того, с его помощью можно + добиваться режима "резинового листа", указывая размеры и + размещение виджета в долях размера мастер-окна. При этом виджеты + изменяют свои размеры при изменении размеров мастер окна. И, + наконец, менеджер place позволяет сочетать оба этих метода, + размещая, например, виджет определенного размера в центре + мастер-окна.

    -

    place - - . - .

    +

    Команда place используется для управления + соответствующим геометрическим менеджером и для получения от + него справочной информации. Команда может иметь перечисленные + ниже формы.

    place window option value ?option value ...
    -
    ( - , "."), - , place +
    Если первый аргумент команды является именем окна (любая + величина, начинающаяся с "."), команда выполняется + точно так же, как команда place configure.
    place configure window option value ?option value ...
    -

    , - , - . - place, - , - .

    +

    Аргумент команды состоит из имени размещаемого виджета, + после которого идут пары аргументов, состоящих из имени + опции и ее значения. Если виджет уже обрабатывался с помощью + команды place, то для не определенных в + команде опций будут использоваться старые значения, а не + значения по умолчанию. Команда возвращает пустую строку

    -

    .

    +

    Ниже перечислены возможные опции.

    -in master
    -
    master - (-), - window. - - , . - - toplevel-. , - , , - -. - .
    +
    Аргумент master определяет полное имя виджета + (мастер-окна), относительно которого будет размещаться + виджет window. Мастер-окно должно быть непосредственным + предком виджета, или потомком этого предка. При этом они + оба должны быть потомками одного и того же + toplevel-окна. Эти ограничения необходимы, чтобы + гарантировать, что виджет будет виден, когда видно + мастер-окно. По умолчанию виджет размещается в своем + непосредственном предке.
    -x location
    -

    location - x- - - . - :

    +

    Аргумент location определяет + x-координату в мастер-окне для якорной точки + виджета. Координата указывается на экране в одной из + следующих форм:

      -
    • (),
    • +
    • в пикселях (число),
    • -
    • ( c - ),
    • +
    • в сантиметрах (число с буквой c на + конце),
    • -
    • ( m - ),
    • +
    • в миллиметрах (число с буквой m на + конце),
    • -
    • ( i - )
    • +
    • в дюймах (число с буквой i на + конце)
    • -
    • ( p , - 1/72 ).
    • +
    • в точках (число с буквой pна конце, + точка равна 1/72 дюйма).
    -

    -.

    +

    Якорная точка не обязана находиться внутри мастер-окна.

    -relx location
    -
    location - x- - . - - -. "0.0" - , "1.0" . - , -x - -relx, - . , -relx 0.5 -x -2 - - -.
    +
    Аргумент location определяет + x-координату в мастер окне для якорной точки + виджета. Координата указывается на экране в виде + десятичного числа в долях соответствующего размера + мастер-окна. Так "0.0" соответствует левому краю + мастер окна, "1.0" правому краю. Если указаны + обе опции, -x и + -relx, то соответствующие величины + складываются. Например, -relx 0.5 -x -2 + помещает якорную точку на два пикселя левее центра + мастер-окна.
    -y location
    -

    location y- - - . - :

    +

    Аргумент location определяет y-координату в + мастер-окне для якорной точки виджета. Координата + указывается на экране в одной из следующих форм:

      -
    • (),
    • +
    • в пикселях (число),
    • -
    • ( c - ),
    • +
    • в сантиметрах (число с буквой c на + конце),
    • -
    • ( m - ),
    • +
    • в миллиметрах (число с буквой m на + конце),
    • -
    • ( i - ),
    • +
    • в дюймах (число с буквой i на + конце),
    • -
    • ( i - , 1/72 ).
    • +
    • в точках (число с буквой i на + конце, точка равна 1/72 дюйма).
    -

    - -.

    +

    Якорная точка не обязана находиться + внутри мастер-окна.

    -rely location
    -
    location - y- - - . - - -. "0.0" - -, "1.0" . - , -y - -rely, - . , -rely 0.5 -y -3 - - -.
    +
    Аргумент location определяет + y-координату в мастер-окне для якорной точки + виджета. Координата указывается на экране в виде + десятичного числа в долях соответствующего размера + мастер-окна. Так "0.0" соответствует верхнему + краю мастер-окна, "1.0" нижнему краю. Если + указаны обе опции, -y и + -rely, то соответствующие величины + складываются. Например, -rely 0.5 -y -3 + помещает якорную точку на три пикселя ниже центра + мастер-окна.
    -anchor where
    -
    where , - , +
    Аргумент where определяет, какая точка виджета + будет помещена в якорной точке, заданной с помощью опций -x, -y, - -relx -rely. - ( , - ). se - , - . + -relx и -rely. В якорную + точку помещается крайняя точка виджета (включая границу, + если она задана). Так значение se + означает, что в якорную точку будет помещен нижний правый + угол виджета. Значение по умолчанию nw.
    -width size
    -
    size - ( , - -x -y). - , ( - ). - -width, - -relwidth , - .
    +
    Аргумент size определяет ширину виджета на + экране (допустимы те же формы, что и для опций + -xи -y). Ширина это + внешняя ширина виджета, включая его границу (если она + задана). Если аргумент представляет собой пустую строку + или если ни опция -width, ни опция + -relwidth не определены, ширина виджета + определяется исходя из его собственных запросов.
    -relwidth size
    -
    size - . - -. 0.5 - -. - , -width - -relwidth, - . , -relwidth 1.0 -width - 5 5 - -.
    +
    Аргумент size определяет ширину виджета на + экране. Ширина указывается в виде десятичного числа в + долях соответствующего размера мастер-окна. Так 0.5 + соответствует ширине в половину ширины мастер-окна. Если + указаны обе опции, -width и + -relwidth, то соответствующие величины + складываются. Например, -relwidth 1.0 -width + 5 делает виджет на 5 пикселей шире + мастер-окна.
    -height size
    -
    size - ( , - -x -y). - , ( - ). - -height, - -relheight , - .
    +
    Аргумент size определяет высоту виджета на + экране (допустимы те же формы, что и для опций + -xи -y). Высота это + внешняя высота виджета, включая его границу (если она + задана). Если аргумент представляет собой пустую строку + или если ни опция -height, ни опция + -relheight не определены, высота виджета + определяется исходя из его собственных запросов.
    -relheight size
    -
    size - . - -. - "0.5" - -. , - -height -relheight, - . , - -relheight 1.0 -height -2 - 2 -.
    +
    Аргумент size определяет высоту виджета на + экране. Высота указывается в виде десятичного числа в + долях соответствующего размера мастер-окна. Так + "0.5" соответствует высоте в половину высоты + мастер-окна. Если указаны обе опции, + -height и -relheight, то + соответствующие величины складываются. Например, + -relheight 1.0 -height -2 делает виджет + на 2 пикселя ниже мастер-окна.
    -bordermode mode
    -

    mode , - - - .

    +

    Аргумент mode определяет, используются ли + границы мастер-окна при определении положения + размещаемого виджета.

    -

    , - , inside. , - - - . -x - 0 - -. -relwidth 1.0 - , - -.

    +

    Значение по умолчанию, которое используется наиболее + часто, inside. Оно означает, что + менеджер рассматривает в качестве мастер-окна его + внутреннюю часть без границы. Опция -x + 0 означает при этом точку внутри границы + мастер-окна. А опция -relwidth 1.0 + означает, что виджет будет размещен внутри + соответствующих границ мастер-окна.

    -

    outside , - - . - , - - ( - -), , -x 0 -y 0 +

    Значение outside означает, что + менеджер включает границу мастер-окна в его состав. Это + значение используется обычно, когда нужно разместить + виджет вне его мастер-окна (но в пределах границы + мастер-окна), например, как при опциях -x 0 -y 0 -anchor ne.

    -

    ignore , - , - ( X-). - , , .

    +

    Значение ignore означает, что менеджер + включает в состав окна все внутренние границы, но не + внешние границы (его официальное X-определение). Это + значение используется, вероятно, реже остальных.

    -

    +

    ЗАМЕЧАНИЕ

    -

    - , , x- - - -x, - -relx, - .

    +

    Если значение одной и той же величины определено дважды с + использованием различных опций, например, если x-координата + виджета определена сначала с использованием опции + -x, а позднее повторно определена с + использованием опции -relx, то используется + только более позднее определение.

           place slaves window
         
    -

    , - -. , - .

    +

    Эта команда возвращает список всех виджетов, + размещенных в мастер-окне. Если в нем не размещены виджеты, + команда возвращает пустой список.

           place forget window 
         
    -

    window - place. , - . - place, .

    +

    Окно window больше не управляется менеджером + place. Как следствие, оно удаляется с + экрана. Если окно не управлялось менеджером + place, команда не имеет никакого эффекта.

    -

    .

    +

    Команда возвращает пустую строку.

           place info window
         
    -

    window - , place - configure. , - , , - - place forget, - , place configure - .

    +

    Возвращает список опций и их значений для окна window + в той же форме, в какой они задаются в команде place + configure. Если конфигурацию виджета, полученную с + помощью этой команды, предполагается впоследствии восстановить, + то перед этим необходимо будет использовать команду + place forget, чтобы удалить текущую + конфигурацию, а затем place configure с + сохраненной конфигурацией.

    -

    - place - - (, " - "). , - , frame canvas.

    +

    В отличие от многих других геометрических менеджеров + place не пытается манипулировать геометрией + мастер-окна (например, переустанавливать их размер "по + потребности"). Чтобы управлять размерами этих окон, для них + желательно использовать такие виджеты, как frame или canvas.

    + diff --git a/hlp/ru/tk/radiobutton.html b/hlp/ru/tk/radiobutton.html index 697b370..de350cd 100644 --- a/hlp/ru/tk/radiobutton.html +++ b/hlp/ru/tk/radiobutton.html @@ -1,4 +1,4 @@ - + radiobutton @@ -6,15 +6,15 @@

    radiobutton

    -

    - .

    +

    Создание примитива кнопки-переключателя и управление им.

    -

    +

    СИНТАКСИС

    -      radiobutton  ??
    +      radiobutton имяПути ?параметры?
         
    -

    +

    СТАНДАРТНЫЕ ПАРАМЕТРЫ

    • -activeBackground
    • @@ -43,302 +43,303 @@
    -

    options.

    +

    Подробное описание этих параметров приведено в разделе options.

    -

    +

    ДОПОЛНИТЕЛЬНЫЕ ПАРАМЕТРЫ ПРИМИТИВА

    - - - + + +
    :-command
    :command
    :Command
    Имя параметра:-command
    Имя в Базе:command
    Класс в Базе:Command
    -

    Tk. - 1 "" - -. - ( +

    Ассоциирует с кнопкой команду Tk. Обычно команда выполняется + при отпускании клавиши 1 "Мыши" на окне + кнопки-переключателя. Перед выполнением команды обновляется + значение глобальной переменной переключателя (параметр -variable).

    - - - + + +
    :-height
    :height
    :Height
    Имя параметра:-height
    Имя в Базе:height
    Класс в Базе:Height
    -

    . - , - (.., , - Tk_GetPixels); - . , - .

    +

    Задает желаемую высоту кнопки. Если в кнопке выводится + изображение или двуцветное изображение, то значение параметра + задается в пикселах (т.е., в любом виде, приемлемом для + Tk_GetPixels); высота текстовой кнопки задается + числом строчек текста. Если параметр не задан, то высота кнопки + вычисляется по ее содержимому.

    - - - + + +
    :-indicatoron
    :indicatorOn
    :IndicatorOn
    Имя параметра:-indicatoron
    Имя в Базе:indicatorOn
    Класс в Базе:IndicatorOn
    -

    , . - . , - relief - , , - .

    +

    Указывает, следует ли выводить индикатор. Значение параметра + должно быть булевским. Если значением является ложь, то параметр + relief игнорируется и примитив всегда + изображается вдавленным, если он выделен, и выпуклым в противном + случае.

    - - - + + +
    :-selectcolor
    :selectColor
    :Background
    Имя параметра:-selectcolor
    Имя в Базе:selectColor
    Класс в Базе:Background
    -

    . - IndicatorOn , - . - Windows - . - IndicatorOn , - - , , - background +

    Задает цвет фона для изображения выделенной кнопки. Если + параметр IndicatorOn имеет значение истина, то + указанный цвет применяется для изображения индикатора. В системе + Windows тот же цвет используется в качестве фона изображения + индикатора вне зависимости от состояния выделения. Если + значением параметра IndicatorOn является ложь, + то указанный цвет используется в качестве фона для всего + примитива, когда он выделен, вместо значений параметров + background и activeBackground.

    - - - + + +
    :-selectimage
    :selectImage
    :SelectImage
    Имя параметра:-selectimage
    Имя в Базе:selectImage
    Класс в Базе:SelectImage
    -

    , - - ( , - -image). -image - , -selectimage - .

    +

    Задает изображение, выводимое в кнопке при выделении + кнопки-переключателя (вместо изображения, заданного параметром + -image). Если параметр -image + отсутствует, то значение параметра -selectimage + игнорируется.

    - - - + + +
    :-state
    :state
    :State
    Имя параметра:-state
    Имя в Базе:state
    Класс в Базе:State
    -

    -: - normal, active - disabled. - - - foreground - background. - - , - . - - - activeForeground - activeBackground. - , : - - ":" . - - - disabledForeground +

    Задает одно из трех состояний кнопки-переключателя: + normal, active или + disabled. В нормальном состоянии + кнопка-переключатель изображается с использованием значений + параметров foreground и + background. В активном состоянии + кнопка-переключатель обычно находится, если на ней расположен + курсор. Кнопка-переключатель в активном состоянии изображается с + использованием значений параметров + activeForeground и + activeBackground. Недоступное состояние + указывает на то, что кнопка должна быть нечувствительной: + привязки по умолчанию не приводят к запуску примитива и нажатия + на кнопку "Мыши:" игнорируются. В этом состоянии + изображение кнопки-переключателя определяется значениями + параметров disabledForeground и background.

    - - - + + +
    :-value
    :value
    :Value
    Имя параметра:-value
    Имя в Базе:value
    Класс в Базе:Value
    -

    , - - .

    +

    Задает значение, которое следует заносить в переменную + кнопки-переключателя при выделении этой кнопки.

    - - - + + +
    :-variable
    :variable
    :Variable
    Имя параметра:-variable
    Имя в Базе:variable
    Класс в Базе:Variable
    -

    , - . - - . +

    Задает имя глобальной переменной, значение которой нужно + устанавливать при выделении кнопки. Изменение значения этой + переменной также приводит к изменению состояния выделения + кнопки. По умолчанию параметр имеет значение selectedButton.

    - - - + + +
    :-width
    :width
    :Width
    Имя параметра:-width
    Имя в Базе:width
    Класс в Базе:Width
    -

    -. - , - (.., , - Tk_GetPixels); - . , - .

    +

    Задает желаемую ширину кнопки-переключателя. Если в кнопке + выводится изображение или двуцветное изображение, то значение + параметра задается в пикселах (т.е., в любом виде, приемлемом + для Tk_GetPixels); ширина текстовой кнопки задается числом + символов. Если параметр не задан, то ширина кнопки вычисляется + по ее содержимому.

    -

    +

    ОПИСАНИЕ

    -

    radiobutton - ( ) - -. - -, , , - - . radiobutton - . - , - .

    +

    Команда radiobutton создает новое окно + (задаваемое аргументом имяПути) и превращает его в + примитив кнопки-переключателя. Детали изображения + кнопки-переключателя, такие как ее цвета, шрифт, текст и + исходный объемный вид задаются с помощью описанных выше + дополнительных параметров. Команда radiobutton + возвращает аргумент имяПути. В момент выполнения этой + команды не должно существовать окна с именем имяПути, + но должен существовать его предок.

    -

    - , - , - , , - . - , - ( - wrapLength). - ( - underline). - - , : - state - ; , - , , . - - ( 1 - "", "" - ) Tcl.

    +

    Кнопка-переключатель представляет собой примитив, в котором + выводится текстовая строка, изображение или двуцветное + изображение, а также ромб или кружок, называемый + индикатором. Весь выводимый текст должен быть записан + одним шрифтом, однако он может занимать несколько строчек на + экране (если в нем есть символы перевода строки или задан + параметр wrapLength). Один из символов текста + может быть подчеркнут (в соответствии со значением параметра + underline). Кнопка-переключатель обладает всеми + характеристиками обычной кнопки, включая следующие: в + зависимости от значения параметра state кнопка + имеет три разных вида; кнопка может выглядеть выпуклой, + вдавленной или плоской, кроме того, она может мигать. При + инициации кнопки-переключателя (нажатием на клавишу 1 + "Мыши", когда курсор "Мыши" находится на + кнопке) выполняется команда Tcl.

    -

    , - . - , - , Tcl, , - ( 1). Unix - . - Windows . - - , - , - ( "0"). Unix - . - Windows - . - -, , - . - . , - - - - . - selectedButton; - , , - , . - - ""/"" - - . - ( - ). - - .

    +

    Кроме того, кнопки-переключатели можно выделять. Если + кнопка выделена, то индикатор обычно изображается как + выделенный, а переменная Tcl, ассоциированная с данной кнопкой, + имеет предписанное значение (обычно 1). В ОС Unix индикатор + изображается вдавленным и имеет специальный цвет. В системе + Windows вместо этого в индикаторе появляется круглая метка. Если + кнопка-переключатель не выделена, то индикатор имеет + невыделенный вид, а ассоциированная переменная имеет другое + значение (обычно "0"). В ОС Unix такой индикатор + изображается выпуклым и не имеет специального цвета. В системе + Windows в невыделенном индикаторе отсутствует круглая + метка. Обычно одна переменная обслуживает несколько + кнопок-переключателей, а ее значение указывает, какая из них + должна быть выделена. При выделении кнопки происходит изменение + значения ассоциированной переменной. Кроме того, каждая + кнопка-переключатель отслеживает значение ассоциированной + переменной и при его изменении состояние выделения кнопки + меняется. По умолчанию используется переменная + selectedButton; ее значением является имя + выделенной кнопки или пустая строка, если ни одна из кнопок, + ассоциированных с данной переменной, не выделена. Имя переменной + и записываемые в ней значения + "выделенная"/"невыделенная" можно поменять с + помощью параметров командной строки или в базе данных + параметров. С помощью параметров конфигурации можно также + поменять вид индикатора (или даже отменить саму необходимость + его вывода). По умолчанию выделение кнопки-переключателя + происходит при щелчке на кнопке.

    -

    +

    КОМАНДА ПРИМИТИВА

    -

    radiobutton Tcl - . - .

    +

    Команда radiobutton создает новую команду Tcl + с именем имяПути. С помощью этой команды можно + выполнять различные операции над примитивом. Ее общий вид

    -        ?  ...?
    +      имяПути параметр ?арг арг ...?
         
    -

    - . - - :

    +

    Параметр и аргументы уточняют поведение + команды. Примитивы кнопки-переключателя допускают следующие + формы команды:

    -
    cget
    +
    имяПути cget параметр
    -
    - . +
    Возвращает текущее значение параметра конфигурации с именем + параметр. Параметр может быть любым из параметров команды radiobutton.
    -
    configure ?? - ? ...?
    +
    имяПути configure ?параметр? + ?значение параметр значение ...?
    -
    - . , - , - ( - Tk_ConfigureInfo). - , - , - , . - -, - , - . - radiobutton.
    +
    Запрашивает значения параметров конфигурации примитива или + изменяет их. Если параметр не указан, то возвращает + список, содержащий значения всех допустимых в + имениПути параметров (формат списка описан в + Tk_ConfigureInfo). Если параметр + задан, а его новое значение - нет, то команда возвращает часть + полного списка, относящуюся к указанному параметру. Если + заданы одна или несколько пар параметр-значение, то + указанным параметрам примитива присваиваются новые значения, а + команда возвращает пустую строку. Параметр может быть любым из + параметров команды radiobutton.
    -
    deselect
    +
    имяПути deselect
    -
    - - . .. - - - , .
    +
    Отменяет выделение кнопки-переключателя и придает + ассоциированной переменной значение .пустая строка.. Если в + момент исполнения команды данная кнопка-переключатель не была + выделена, то команда не производит никаких действий.
    -
    flash
    +
    имяПути flash
    -
    - . - - . - - - ( ), - . - disabled, - .
    +
    Заставляет кнопку-переключатель мигать. Этот эффект + достигается путем многократного вывода изображения кнопки + поочередно в активном и нормальном состоянии. По окончании + работы команды кнопка-переключатель остается в том же + состоянии (активном или нормальном), что и перед началом ее + выполнения. Если перед началом выполнения команды кнопка + находится в состоянии disabled, то команда + игнорируется.
    -
    invoke
    +
    имяПути invoke
    -
    , - "" -: - Tcl, - ( - ). - Tcl ( , - ). - - - disabled, .
    +
    Приводит в точности к тому же результату, что и нажатие + клавиши "Мыши" на кнопке-переключателе: кнопка + становится выделенной и выполняется команда Tcl, + ассоциированная с кнопкой (при наличии такой + команды). Возвращаемое значение совпадает с возвращаемым + значением команды Tcl (или является пустой строкой, если с + кнопкой никакой команды не ассоциировано). Если перед началом + выполнения команды кнопка-переключатель находится в состоянии + disabled, то команда игнорируется.
    -
    select
    +
    имяПути select
    -
    , - .
    +
    Выделяет кнопку, перерисовывая ее в новом состоянии и + изменяя значение ассоциированной переменной.
    -

    +

    ПРИВЯЗКИ

    -

    - Tk - , :

    +

    При создании кнопки-переключателя Tk автоматически создает + привязки к ней, определяющие ее поведение по умолчанию:

      -
    1. Unix - "" , - . Mac Windows 1 - "" , - "" , - ;
    2. +
    3. в ОС Unix кнопка становится активной при появлении над ней + курсора "Мыши" и дезактивируется, когда курсор ее + покидает. В системах Mac и Windows при нажатии клавиши 1 + "Мыши" на переключателе кнопка активизируется, когда + курсор "Мыши" находится на кнопке и дезактивируется, когда + курсор ее покидает;
    4. -
    5. 1 "" - - - , ;
    6. +
    7. при нажатии клавиши 1 "Мыши" на + кнопке-переключателе кнопка становится выделенной и + выполняется команда, привязанная к ней;
    8. -
    9. - , - , - ;
    10. +
    11. если кнопка-переключатель находится в фокусе ввода, то + нажатие на клавишу пробела приводит к выполнению команды, + привязанной к этой кнопке;
    12. -
    13. - - disabled, - : - .
    14. +
    15. если кнопка-переключатель находится в состоянии + disabled, то все описанные выше действия не + приводят ни к какому результату: кнопка остается + безответной.
    -

    - - - .

    +

    Поведение кнопки-переключателя можно изменить с помощью новых + привязок к конкретным примитивам или путем переопределения + привязок данного класса.

    + diff --git a/hlp/ru/tk/raise.html b/hlp/ru/tk/raise.html index 5171560..a4d24e6 100644 --- a/hlp/ru/tk/raise.html +++ b/hlp/ru/tk/raise.html @@ -1,4 +1,4 @@ - + raise @@ -7,21 +7,22 @@

    raise

    -

    .

    +

    Команда изменяет положение окна в очереди стека.

    -

    +

    СИНТАКСИС

           raise window ?aboveThis?
         
    -

    +

    ОПИСАНИЕ

    -

    raise window - , - window , , - aboveThis. - , .

    +

    Команда raise перемещает окно window в + очереди стека либо выше всех окон, имеющих одинаковый с + window уровень иерархии, либо перед одним из них, + заданного аргументом aboveThis. Данное окно будет + заслонять окна, оказавшиеся ниже его.

    + diff --git a/hlp/ru/tk/resource.html b/hlp/ru/tk/resource.html index 3d1fb8e..ad0072f 100644 --- a/hlp/ru/tk/resource.html +++ b/hlp/ru/tk/resource.html @@ -1,4 +1,4 @@ - + resource @@ -6,18 +6,19 @@

    resource

    -

    Macintosh-.

    +

    Управляет Macintosh-ресурсами.

    -

    +

    СИНТАКСИС

           resource option arg arg...
         
    -

    +

    ОПИСАНИЕ

    -

    resource - Macintosh. - .

    +

    Команда resource позволяет управлять ресурсами + на платформах Macintosh. На остальных платформах не + поддерживается.

    + diff --git a/hlp/ru/tk/scale.html b/hlp/ru/tk/scale.html index 7a14173..27362a2 100644 --- a/hlp/ru/tk/scale.html +++ b/hlp/ru/tk/scale.html @@ -1,4 +1,4 @@ - + scale @@ -6,15 +6,15 @@

    scale

    -

    .

    +

    Создание примитива линейной шкалы и управление им.

    -

    +

    СИНТАКСИС

    -      scale  ??
    +      scale имяПути ?параметры?
         
    -

    +

    СТАНДАРТНЫЕ ПАРАМЕТРЫ

    • -activebackground
    • @@ -34,346 +34,347 @@
    • -troughcolor
    -

    options.

    +

    Подробное описание этих параметров приведено в разделе options.

    -

    +

    ДОПОЛНИТЕЛЬНЫЕ ПАРАМЕТРЫ ПРИМИТИВА

    - - - + + +
    :-bigincrement
    :bigIncrement
    :BigIncrement
    Имя параметра:-bigincrement
    Имя в Базе:bigIncrement
    Класс в Базе:BigIncrement
    -

    - "" . - . 0 (, , - ), 1/10 - .

    +

    Некоторые способы обращения со шкалой требуют использования + "больших" шагов. Этот параметр задает величину + большого шага. Если его значение равно 0 (как, например, по + умолчанию), то большой шаг считается равным 1/10 интервала + шкалы.

    - - - + + +
    :-command
    :command
    :Command
    Имя параметра:-command
    Имя в Базе:command
    Класс в Базе:Command
    -

    Tcl, - - . Tcl - , - , . +

    Задает префикс команды Tcl, исполняемой при всяком изменении + показателя шкалы какой-либо командой примитива. Сама команда Tcl + состоит из этого префикса, за которым следует пробел и + вещественное число, равное новому значению показателя шкалы. - - - + + +
    :-digits
    :digits
    :Digits
    Имя параметра:-digits
    Имя в Базе:digits
    Класс в Базе:Digits
    -

    , , - - . , - , - .
    +

    Целое число, указывающее, сколько значащих цифр следует + сохранить при преобразовании показателя шкалы в строку + текста. Если это число неположительно, то выбирается наименьшее + число, обеспечивающее различное представление всех возможных + положений движка шкалы.
    - - - + + +
    :-from
    :from
    :From
    Имя параметра:-from
    Имя в Базе:from
    Класс в Базе:From
    -

    .

    +

    Вещественное число левая или верхняя граница шкалы.

    - - - + + +
    :-label
    :label
    :Label
    Имя параметра:-label
    Имя в Базе:label
    Класс в Базе:Label
    -

    , . - - . - . - , - .

    +

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

    - - - + + +
    :-length
    :length
    :Length
    Имя параметра:-length
    Имя в Базе:length
    Класс в Базе:Length
    -

    (.. - , Tk_GetPixels). - .

    +

    Задает желаемую длину шкалы на экране в пикселах (т.е. в любой + форме, приемлемой для Tk_GetPixels). Это высота + вертикальной шкалы или ширина горизонтальной.

    - - - + + +
    :-resolution
    :resolution
    :Resolution
    Имя параметра:-resolution
    Имя в Базе:resolution
    Класс в Базе:Resolution
    -

    , . - , - ( , - , ). - , . - "1" (.. - ).

    +

    Вещественное число, задающее цену деления шкалы. Если это + значение положительно, то показатель шкалы будет всегда + округляться к целому кратному этой величины (такими будут, в + частности, метки шкалы и границы ее интервала). Если это + значение неположительно, то округления не происходит. Значение + параметра по умолчанию равно "1" (т.е. показатели + должны быть целыми).

    - - - + + +
    :-showvalue
    :showValue
    :ShowValue
    Имя параметра:-showvalue
    Имя в Базе:showValue
    Класс в Базе:ShowValue
    -

    , , - .

    +

    Булевское значение, указывающее, следует или нет выводить + текущий показатель шкалы.

    - - - + + +
    :-sliderlength
    :sliderLength
    :SliderLength
    Имя параметра:-sliderlength
    Имя в Базе:sliderLength
    Класс в Базе:SliderLength
    -

    ( ) - (.. , +

    Задает размер движка шкалы (вдоль его длинной стороны) в + пикселах (т.е. в любой форме, приемлемой для Tk_GetPixels).

    - - - + + +
    :-sliderrelief
    :sliderRelief
    :SliderRelief
    Имя параметра:-sliderrelief
    Имя в Базе:sliderRelief
    Класс в Базе:SliderRelief
    -

    , , raised +

    Задает вид движка шкалы, например, raised или sunken.

    - - - + + +
    :-state
    :state
    :State
    Имя параметра:-state
    Имя в Базе:state
    Класс в Базе:State
    -

    : - normal,active - disabled. , - . - , +

    Задает одно из трех состояний шкалы: + normal,active или + disabled. Если шкала недоступна, то значение ее + показателя нельзя изменить и шкалу нельзя активизировать. Движок + на активной шкале изображается цветом, заданным параметром activeBackground.

    - - - + + +
    :-tickinterval
    :tickInterval
    :TickInterval
    Имя параметра:-tickinterval
    Имя в Базе:tickInterval
    Класс в Базе:TickInterval
    -

    , - . - "0", .

    +

    Вещественное число, определяющее величину промежутка между + числовыми метками снизу или слева от движка. Если значение + параметра равно "0", то метки не выводятся.

    - - - + + +
    :-to
    :to
    :To
    Имя параметра:-to
    Имя в Базе:to
    Класс в Базе:To
    -

    . - , , +

    Вещественное число правая или нижняя граница шкалы. Может быть + как меньше, так и больше значения, задаваемого параметром from.

    - - - + + +
    :-variable
    :variable
    :Variable
    Имя параметра:-variable
    Имя в Базе:variable
    Класс в Базе:Variable
    -

    , - . - . - - .

    +

    Задает имя глобальной переменной, ассоциированной со + шкалой. При изменении значения переменной шкала обновляется и + показывает новое значение. При интерактивном изменении + показателя шкалы происходит соответствующее изменение значения + переменной.

    - - - + + +
    :-width
    :width
    :Width
    Имя параметра:-width
    Имя в Базе:width
    Класс в Базе:Width
    -

    ( , - Tk_GetPixels). - , .

    +

    Задает желаемую толщину полосы шкалы (в любой форме, приемлемой + для Tk_GetPixels). Для вертикальной шкалы это + ее ширина, для горизонтальной высота.

    -

    +

    ОПИСАНИЕ

    -

    scale - ( ) - . , - , - . scale - . - , - .

    +

    Команда scale создает новое + окно (задаваемое аргументом имяПути) и превращает его в + примитив линейной шкалы. Детали изображения шкалы, такие как ее + цвета, ориентация и объемный вид задаются с помощью описанных + выше дополнительных параметров. Команда scale возвращает + аргумент имяПути. В момент выполнения этой команды не + должно существовать окна с именем имяПути, но должен + существовать его предок.

    -

    , - - . - ( from, - to resolution), - - . ( , ) - "" , - (. ""). - Tcl - ( command), - . - ( variable) - , - .

    +

    Шкала представляет собой примитив, который выводит на экран + прямоугольную полоску шкалы и маленький + движок. Полоска отображает интервал вещественных чисел + (определенный параметрами from, + to и resolution), а положение + движка задает некоторое конкретное число на этом + интервале. Положение движка (а значит, и показатель шкалы) можно + менять с помощью "Мыши" или клавиатуры, как описано + ниже (см. "ПРИВЯЗКИ"). При + каждом изменении показателя шкалы исполняется команда Tcl + (заданная параметром command), и другие примитивы получают + доступ к результатам выполненного изменения. Кроме того + показатель шкалы можно (с помощью параметра variable) связать с + некоторой переменной, так что изменения значений показателя или + переменной немедленно отзываются друг на друге.

    -

    : - ( , - ), - ( , ) - - ( , ). - - .

    +

    В примитиве шкалы можно вывести также три внешних атрибута: имя + шкалы справа сверху (или слева сверху, если шкала + горизонтальна), число непосредственно слева от движка + (непосредственно сверху, если шкала горизонтальна) и набор + числовых меток непосредственно слева от текущего значения + (непосредственно снизу, если шкала горизонтальна). Вывод любого + из этих атрибутов можно отменить с помощью параметров + конфигурации.

    -

    +

    КОМАНДА ПРИМИТИВА

    -

    scale Tcl - . - . .

    +

    Команда scale создает новую команду Tcl с + именем имяПути. С помощью этой команды можно выполнять + различные операции над примитивом. Ее общий вид.

    -        ?  ...?
    +      имяПути параметр ?арг арг ...?
         
    -

    - . - :

    +

    Параметр и аргументы уточняют поведение + команды. Примитивы линейной шкалы допускают следующие формы + команды:

    -
    cget
    +
    имяПути cget параметр
    -
    - . - scale.
    +
    Возвращает текущее значение параметра конфигурации с + именемпараметр. Параметрможет быть любым из + параметров команды scale.
    -
    configure - ?? ? ...?
    +
    имяПути configure + ?параметр? ?значение параметр значение ...?
    -
    - . , , - - ( - Tk_ConfigureInfo). - , , - , - . - -, - , - . - scale.
    +
    Запрашивает значения параметров конфигурации примитива или + изменяет их. Если параметр не указан, то возвращает список, + содержащий значения всех допустимых в имениПути + параметров (формат списка описан в + Tk_ConfigureInfo). Если параметр + задан, а его новое значение нет, то команда + возвращает часть полного списка, относящуюся к указанному + параметру. Если заданы одна или несколько пар + параметр-значение, то указанным параметрам примитива + присваиваются новые значения, а команда возвращает пустую + строку. Параметр может быть любым из параметров + командыscale.
    -
    coords ??
    +
    имяПути coords ?значение?
    -
    , x y - , - . , - , - .
    +
    Возвращает список, элементами которого являются x и y + координаты точки посередине полосы шкалы, отвечающей + указанному значению. Если аргумент значение опущен, + то возвращаются координаты точки, отвечающей текущему + показателю шкалы.
    -
    get ?x y?
    +
    имяПути get ?x y?
    -
    x y , - . , - ; - , - . - : x y - .
    +
    Если аргументы x и y опущены, то + возвращает текущий показатель шкалы. Если они заданы, то они + определяют координаты точки в примитиве; в этом случае команда + возвращает значение показателя шкалы, соответствующего + указанной точке. При этом используется только одна из + координат: x для горизонтальной шкалы и y для + вертикальной.
    -
    identify x y
    +
    имяПути identify x y
    -
    , , - x - y. slider - , ; trough1 - , ; - trough2, - . , - .
    +
    Возвращает текстовую строку, указывающую, какая часть шкалы + расположена в точке с координатами x и + y. Возвращаемое значение slider + означает, что это точка на движке; trough1 + означает, что точка находится выше или левее движка; + trough2означает, что точка находится ниже или + правее движка. Если точка расположена вне шкалы, то команда + возвращает пустую строку.
    -
    set
    +
    имяПути set значение
    -
    - , , . - . - , - .
    +
    Эта команда предназначена для изменения текущего показателя + шкалы, а значит, и положения движка. Аргумент + значениезадает новое значение показателя. Если шкала + недоступна, то команда не приводит ни к каким + результатам.
    -

    +

    ПРИВЯЗКИ

    -

    Tk - , - . , - , - .

    +

    При создании линейной шкалы Tk автоматически создает привязки + класса, определяющие следующее поведение примитива по + умолчанию. В случае, если имеются различия в поведении + вертикальной и горизонтальной шкалы, описание поведения + горизонтальной приводится в скобках.

    -

    1 "" - , - resolution. - , .

    +

    При нажатии клавиши 1 "Мыши" на полосе шкалы движок + сдвигается в направлении курсора на величину, заданную + параметром resolution. Если клавишу не + отпускать, то сдвиг автоматически повторяется.

    -

    1 , .

    +

    Если нажать клавишу 1 на движке, то движок можно тащить.

    -

    1 - Control. - "".

    +

    Если нажать клавишу 1 на полосе шкалы при нажатой клавише + Control. то движок пробежит до конца полосы в + направлении курсора "Мыши".

    -

    2, - "". "" - 2, - .

    +

    Если нажать клавишу 2, то показатель шкалы будет установлен в + положение курсора "Мыши". Если тащить "Мышь" + с нажатой клавишей 2, то показатель шкалы будет соответственно + меняться.

    -

    Up Left - () , - resolution.

    +

    Нажатие на клавиши Up и Left + приводит к перемещению движка вверх (влево) на величину, + указанную параметромresolution.

    -

    Down - Right - () , +

    Нажатие на клавиши Down и + Right приводит к перемещению движка вниз + (вправо) на величину, указанную параметром resolution.

    -

    Control-Up - Control-Left - () , +

    Нажатие на клавиши Control-Up и + Control-Left приводит к перемещению движка + вверх (влево) на величину, указанную параметром bigIncrement.

    -

    Control-Down - Control-Right - () , +

    Нажатие на клавиши Control-Down и + Control-Right приводит к перемещению движка + вниз (вправо) на величину, указанную параметром bigIncrement.

    -

    Home - () .

    +

    Нажатие на клавишу Home приводит к перемещению + движка вверх (влево) до конца полосы.

    -

    End - () .

    +

    Нажатие на клавишу End приводит к перемещению + движка вниз (вправо) до конца полосы.

    -

    - state, - - .

    +

    Если шкала сделана недоступной с помощью параметра + state, то ни одна из описанных выше привязок не + оказывает какого-либо действия.

    -

    - , - .

    +

    Определяя новые привязки к отдельным примитивам или + переопределяя привязки класса, поведение линейной шкалы можно + изменить.

    + diff --git a/hlp/ru/tk/scrollbar.html b/hlp/ru/tk/scrollbar.html index 8d2f38f..988a2f2 100644 --- a/hlp/ru/tk/scrollbar.html +++ b/hlp/ru/tk/scrollbar.html @@ -1,4 +1,4 @@ - + scrollbar @@ -6,17 +6,17 @@

    scrollbar

    -

    .

    +

    Создание примитива линейки прокрутки и управление им.

    -

    +

    СИНТАКСИС

    -      scrollbar  ??
    +      scrollbar имяПути ?параметры?
         
    -

    +

    СТАНДАРТНЫЕ ПАРАМЕТРЫ

    • -activebackground
    • @@ -35,398 +35,399 @@
    • -troughcolor
    -

    options.

    +

    Подробное описание этих параметров приведено в разделе options.

    -

    +

    ДОПОЛНИТЕЛЬНЫЕ ПАРАМЕТРЫ ПРИМИТИВА

    - - - + + +
    :-activerelief
    :activeRelief
    :ActiveRelief
    Имя параметра:-activerelief
    Имя в Базе:activeRelief
    Класс в Базе:ActiveRelief
    -

    . - .

    +

    Задает объемный вид изображения активного элемента. Все + неактивные элементы изображаются выпуклыми.

    - - - + + +
    :-command
    :command
    :Command
    Имя параметра:-command
    Имя в Базе:command
    Класс в Базе:Command
    -

    Tcl, - . Tcl - , - , . - - .t xview - .t yview , - xview ( ) - yview ( ). - xview - yview, (. - " - ").

    +

    Задает префикс команды Tcl, исполняемой при всяком изменении + состоянии линейки прокрутки пользователем. Сама команда Tcl + состоит из этого префикса, за которым следует дополнительная + информация, описанная ниже. Значением этого параметра обычно + является что-нибудь вроде .t xview или + .t yview имя примитива, за которым следует + xview (для горизонтальной линейки) или + yview (для вертикальной). У каждого примитива + линейки прокрутки есть команды xview и + yview, аргументы которых описаны ниже (см. + "Команды + прокрутки").

    - - - + + +
    :-elementborderwidth
    :elementBorderWidth
    :ElementBorderWidth
    Имя параметра:-elementborderwidth
    Имя в Базе:elementBorderWidth
    Класс в Базе:ElementBorderWidth
    -

    - ( ). - , Tk_GetPixels. - , - borderWidth.

    +

    Задает ширину окантовки каждого из внутренних элементов линейки + (обеих стрелок и движка). Значение может быть представлено в + любом виде, приемлемом для Tk_GetPixels. Если + заданное значение отрицательно, то вместо него используется + значение параметра borderWidth.

    - - - + + +
    :-width
    :width
    :Width
    Имя параметра:-width
    Имя в Базе:width
    Класс в Базе:Width
    -

    ( - , ) , - Tk_GetPixels. - , .

    +

    Задает желаемую толщину окна линейки (не включая трехмерной + окантовки, если она имеется) в любой форме, приемлемой для + Tk_GetPixels. Для вертикальной шкалы это ее + ширина, для горизонтальной высота.

    -

    +

    ОПИСАНИЕ

    -

    scrollbar - ( ) - . , - , , - . - . - , - . +

    Команда scrollbar создает новое окно + (задаваемое аргументом имяПути) и превращает его в + примитив линейки прокрутки. Детали изображения линейки, такие + как ее цвета, ориентация и объемный вид, задаются с помощью + описанных выше дополнительных параметров. Команда возвращает + аргумент имяПути. В момент выполнения этой команды не + должно существовать окна с именем имяПути, но должен + существовать его предок. -

    , - ( ) - . - , . - - , - . , - . , , - , - .

    +

    Линейка прокрутки представляет собой примитив, который выводит + на экран две стрелки (по одной на каждом конце линейки) и + движок в средней части линейки. Линейка дает информацию + о том, что видно в ассоциированном окне линейки. Это + окно содержит какой-нибудь документ например, редактируемый + текст или рисунок. Размер и положение движка указывают, какая + часть документа видна в окне. Если, например, движок покрывает + верхнюю треть вертикальной линейки, то в ассоциированном окне + выведена верхняя треть документа.

    -

    - - "". (. "").

    +

    Линейки прокрутки используются для перемещения видимой части + документа в ассоциированном окне с помощью + "Мыши". Подробности описаны ниже (см. "Привязки").

    -

    +

    ЭЛЕМЕНТЫ

    -

    , - :

    +

    Линейка прокрутки состоит из пяти элементов, на которые + ссылаются команды примитива:

    arrow1
    -
    .
    +
    Верхняя или левая стрелка линейки.
    trough1
    -
    .
    +
    Промежуток между движком и первой стрелкой.
    slider
    -
    , , - .
    +
    Прямоугольник, который показывает, какая часть документа + видна на экране.
    trough2
    -
    .
    +
    Промежуток между движком и первой стрелкой.
    arrow2
    -
    .
    +
    Нижняя или правая стрелка линейки.
    -

    +

    КОМАНДА ПРИМИТИВА

    -

    scrollbar Tcl - . - .

    +

    Команда scrollbar создает новую команду Tcl с + именем имяПути. С помощью этой команды можно выполнять + различные операции над примитивом. Ее общий вид

    -        ?  ...?
    +      имяПути параметр ?арг арг ...?
         
    -

    - . - :

    +

    Параметр и аргументы уточняют поведение + команды. Примитивы линейки прокрутки допускают следующие формы + команды:

    -
    activate - ??
    +
    имяПути activate + ?элемент?
    -
    , , - . - activeBackground - activeRelief. - arrow1, slider - arrow2. , - ; - , - .
    +
    Помечает элемент, заданный аргументом элемент, как + активный. Активный элемент отображается на экране с + использованием значений параметров activeBackground и + activeRelief. Значениями аргумента могут быть только + arrow1, slider или + arrow2. Если элемент не задан, то + команда возвращает имя текущего активного элемента; если + активных элементов нет, то команда возвращает пустую + строку.
    -
    cget -
    +
    имяПути cget + параметр
    -
    - . - scrollbar.
    +
    Возвращает текущее значение параметра конфигурации с именем + параметр. Параметр может быть любым из + параметров команды scrollbar.
    -
    configure ?? - ? ...?
    +
    имяПути configure ?параметр? + ?значение параметр значение ...?
    -
    - . , - , - ( - Tk_ConfigureInfo). - , , - , - . - -, - , - . - scrollbar.
    +
    Запрашивает значения параметров конфигурации примитива или + изменяет их. Если параметр не указан, то возвращает + список, содержащий значения всех допустимых в + имениПути параметров (формат списка описан в + Tk_ConfigureInfo). Если параметр + задан, а его новое значение нет, то команда + возвращает часть полного списка, относящуюся к указанному + параметру. Если заданы одна или несколько пар + параметр-значение, то указанным параметрам примитива + присваиваются новые значения, а команда возвращает пустую + строку. Параметр может быть любым из параметров + команды scrollbar.
    -
    delta X Y
    +
    имяПути delta прирX прирY
    -
    , - . , - , , - , - X ( - Y ). , - , - , Y - . , - .
    +
    Возвращает вещественное число, задающее изменение показателя + линейки при данном перемещении движка. Например, если линейка + горизонтальна, то результат указывает, насколько нужно + изменить показатель линейки, чтобы движок сдвинулся вправо на + прирX пикселей (в этом случае значение аргумента + прирY игнорируется). Если линейка вертикальна, то + результат указывает, насколько нужно изменить показатель + линейки, чтобы движок сдвинулся вниз на прирY + пикселей. Как аргументы, так и результат могут принимать + отрицательные и нулевое значения.
    -
    fraction x y
    +
    имяПутиfraction x y
    -
    , - , - x y. "0" - , "1" - , "0.5" - .. x y - . - , , - .
    +
    Возвращает вещественное число между нулем и единицей, + указывающее, где на полосе линейки лежит точка с координатами + x и y. Значение "0" соответствует самой левой или + самой верхней точке полосы, значение "1" самой + правой или самой нижней, "0.5" указывает на середину + полосы и т.д. Координаты x и y это координаты в пикселях + относительно примитива линейки. Если они задают точку вне + полосы линейки, то вместо нее используется точка полосы, + ближайшая к заданной.
    -
    get
    +
    имяПути get
    -
    , - - set.
    +
    Возвращает показатели линейки в виде списка, элементы + которого значения аргументов последней выполненной команды + примитива set.
    -
    identify x y
    +
    имяПути identify x y
    -
    , - (x,y) (, arrow1). - , - . x y - .
    +
    Возвращает имя элемента, занимающего точку с координатами + (x,y) (например, arrow1). Если точка + расположена вне линейки, то команда возвращает пустую + строку. Координаты x и y это координаты в пикселах + относительно примитива линейки.
    -
    set -
    +
    имяПути set перв + послед
    -
    , - , - . - "0" - "1". - . , , - "0.2", - "0.4", - 20% , - 40% .
    +
    Эта команда выполняется примитивом, ассоциированным с + линейкой, и сообщает линейке текущий вид этого + примитива. Значением каждого из двух аргументов команды + является число в промежутке от "0" до + "1". Эти числа описывают видимую в окне примитива + область документа. Если, например, значение аргумента + перв равно "0.2", а значение аргумента + послед равно "0.4", то верхушка видимой части + документа отстоит на 20% от его начала, а конец видимой части + на 40% от начала.
    -

    +

    КОМАНДЫ ПРОКРУТКИ

    -

    - (, ), - . - Tcl, - -command - . , - - -command ( - .t +

    Когда пользователь взаимодействует с линейкой прокрутки + (например, тащит движок), линейка требует от ассоциированного + примитива изменения его состояния. Это требование осуществляется + за счет исполнения команды Tcl, которая генерируется исходя из + значения параметра -command примитива + линейки. Команда может иметь один из следующих видов, где + префикс это значение параметра + -command (обычно что-нибудь вроде .t yview).

    -
    moveto
    +
    префикс moveto величина
    -
    - . - , , , - . , - "0" , "1.0" - , "0.333" , - ..
    +
    Величина представляет собой вещественное число между нулем и + единицей. Примитив должен изменить содержимое окна таким + образом, чтобы точка, заданная аргументом величина, + располагалась в начале окна. Например, величина равная + "0" указывает на начало документа, "1.0" + на его конец, "0.333" на точку, отстоящую от начала + документа на одну треть и т.д.
    -
    scroll +
    префикс scroll число units
    -
    - . , - (, - ). - "1" ( - ), "-1" ( - ).
    +
    Сдвигает содержимое окна примитива на число + единиц. Единицы это порции документа, имеющие смысл для + документа данного типа (например, символы или строчки для + текстового примитива). Аргумент число может принимать + значение "1" (и тогда одна единица должна уйти из + окна вверх или влево), или "-1" (и тогда одна + единица должна уйти из окна вниз или вправо).
    -
    scroll - pages
    +
    префикс scroll + числоpages
    -
    - . , - ; - , , - . - "1" ( - ), "-1" ( - ).
    +
    Содержимое окна примитива должно сдвинуться на + число страниц. Страницы это порции документа, имеющие + смысл для документа данного типа; обычно размер порции + несколько меньше того, что помещается в окне, и поэтому новое + содержимое окна частично перекрывается со старым. Аргумент + число может принимать значение "1" (и тогда + становится видимой следующая страница), или "-1" (и + тогда становится видимой предыдущая страница).
    -

    +

    СИНТАКСИС КОМАНДЫ

    -

    Tk ( 4.0) - set get . - - , . :

    +

    В младших версиях Tk (до 4.0) команды примитива + set и get имели другой вид. В + целях совместимости эта форма команд поддерживается и до сих + пор, однако использовать ее не стоит. Вот старый вид команды:

    -       set    
    +      имяПути set числоЕдин окноЕдин первЕдин последЕдин
         
    -

    - . - . , - (, - ). , - - . - , - ( ).

    +

    Значения всех аргументов команды должны быть целыми + числами. Аргумент числоЕдин задает общее число единиц в + документе. Единицы это порции документа, имеющие смысл + для документа данного типа (например, строчки для текстового + примитива). Аргумент окноЕдин указывает число единиц, + одновременно помещающихся в окно ассоциированного + примитива. Аргументы первЕдин и последЕдин + указывают индексы первой и последней единиц, находящихся в окне + в текущий момент (ноль указывает на первую единицу объекта).

    -

    get - - set.

    +

    В старом синтаксисе команда get + возвращала список из четырех целых чисел значений аргументов + последней выполненной команды примитива set.

    -

    , , - :

    +

    В старом синтаксисе команды, генерируемые примитивом линейки, + также имеют другой вид:

    -       
    +      префикс единица
         
    -

    , - , - . - , - set.

    +

    Аргумент единица представляет собой целое число, + указывающее, что должно появляться вверху или слева в окне + ассоциированного примитива. Этот аргумент интерпретируется так + же, как и аргументы первЕдин и последЕдин + команды примитива set.

    -

    set , - . - , - , .

    +

    Последняя выполненная команда примитива set определяет, следует + ли использовать старый синтаксис. Если ее аргументы два + вещественных числа, то в дальнейшем будет использоваться новый + синтаксис, а если четыре целых то старый.

    -

    +

    ПРИВЯЗКИ

    -

    Tk - , - . , - , - .

    +

    При создании линейки прокрутки Tk автоматически создает + привязки класса, определяющие следующее поведение примитива по + умолчанию. В случае, если имеются различия в поведении + вертикальной и горизонтальной линеек, описание поведения + горизонтальной приводится в скобках.

      -
    • 1 "" 1 - (arrow1) - () . - , .
    • +
    • При нажатии клавиши 1 "Мыши" на стрелке 1 + (arrow1) содержимое окна ассоциированного + примитива сдвигается вниз (вправо) на одну единицу. Если + клавишу не отпускать, то сдвиг автоматически повторяется.
    • -
    • 1 "" 1 - (trough1) - () . - , .
    • +
    • При нажатии клавиши 1 "Мыши" на полосе 1 + (trough1) содержимое окна ассоциированного + примитива сдвигается вниз (вправо) на один экран. Если клавишу + не отпускать, то сдвиг автоматически повторяется.
    • -
    • 1 , - . jump , - , - "".
    • +
    • Если нажать клавишу 1 на движке, то движок можно + тащить. Если значение параметра jump истина, то содержимое + окна не меняется, пока не отпущена клавиша + "Мыши".
    • -
    • 1 "" 2 - (trough2) - () . - , .
    • +
    • При нажатии клавиши 1 "Мыши" на полосе 2 + (trough2) содержимое окна ассоциированного + примитива сдвигается вверх (влево) на один экран. Если клавишу + не отпускать, то сдвиг автоматически повторяется.
    • -
    • 1 "" 2 - (arrow2) - () . - , .
    • +
    • При нажатии клавиши 1 "Мыши" на стрелке 2 + (arrow2) содержимое окна ассоциированного + примитива сдвигается вверх (влево) на одну единицу. Если + клавишу не отпускать, то сдвиг автоматически повторяется.
    • -
    • 2 , - , "" ; - 2, - . 2 - , 1.
    • +
    • Если нажать клавишу 2 на полосе или на движке, то содержимое + окна переходит в положение, указанное курсором "Мыши" ; если + тащить курсор при нажатой клавише 2, то содержимое окна + движется вслед за курсором. Нажатие клавиши 2 на стрелках + приводит к тому же результату, что и нажатие клавиши 1.
    • -
    • 1 - Control, - ( "" 1 - 1) ( - 2 2). - .
    • +
    • Если клавиша 1 нажимается при нажатой клавише + Control, то в окне появляется начало + документа (если курсор "Мыши" находится на стрелке 1 + или полосе 1) или его конец (если курсор находится на стрелке + 2 или полосе 2). При других положениях курсора такое нажатие + на клавиши не приводит ни к каким действиям.
    • -
    • - Up Down - , "" - . - .
    • +
    • В вертикальных линейках прокрутки нажатие на клавиши + Up и Down приводят к такому + же результату, что и щелчок "Мыши" на стрелках вверх + и вниз соответственно. В горизонтальных линейках нажатие на + эти клавиши не вызывает никаких действий.
    • -
    • - Control-Up Control-Down - , "" - . - - .
    • +
    • В вертикальных линейках прокрутки нажатие на клавиши + Control-Up и Control-Down + приводят к такому же результату, что и щелчок "Мыши" + на верхней и нижней полосках линейки соответственно. В + горизонтальных линейках нажатие на эти клавиши не вызывает + никаких действий.
    • -
    • - Up Down - , "" - . - .
    • +
    • В горизонтальных линейках прокрутки нажатие на клавиши + Up и Down приводят к такому + же результату, что и щелчок "Мыши" на левой и правой + стрелках соответственно. В вертикальных линейках нажатие на + эти клавиши не вызывает никаких действий.
    • -
    • - Control-Up Control-Down - , "" - . - - .
    • +
    • В горизонтальных линейках прокрутки нажатие на клавиши + Control-Up и Control-Down + приводят к такому же результату, что и щелчок "Мыши" + на левой и правой полосках линейки соответственно. В + вертикальных линейках нажатие на эти клавиши не вызывает + никаких действий.
    • -
    • Prior - Next , - "" 1 2 - .
    • +
    • Нажатие на клавиши Prior и + Next приводят к такому же результату, что и + щелчки "Мыши" на полосе 1 и полосе 2 + соответственно.
    • -
    • Home - .
    • +
    • Нажатие на клавишу Home приводит к появлению в + окне начала документа.
    • -
    • End - .
    • +
    • Нажатие на клавишу End приводит к появлению в + окне конца документа.
    + diff --git a/hlp/ru/tk/selection.html b/hlp/ru/tk/selection.html index 9ef27e3..b73fc32 100644 --- a/hlp/ru/tk/selection.html +++ b/hlp/ru/tk/selection.html @@ -1,4 +1,4 @@ - + selection @@ -6,148 +6,148 @@

    selection

    -

    X

    +

    Управление X выделением

    -

    +

    СИНТАКСИС

    -      selection  ? ...?
    +      selection параметр ?арг арг...?
         
    -

    +

    ОПИСАНИЕ

    -

    Tcl - , - (1). - . - :

    +

    Команда предоставляет интерфейс Tcl для механизма Х выделения и + реализует полный набор функций выделения, описанный в + (1). Аргумент параметр определяет формат последующих + аргументов и поведение команды. В настоящее время поддерживаются + следующие формы команды:

    selection clear - ?-displayof ? - ?-selection ?
    + ?-displayof окно? + ?-selection выделение? -
    , - , . - X , - ; , , - PRIMARY CLIPBOARD; . (1). - PRIMARY, - ".". - .
    +
    Если на дисплее окна имеются выделения, их следует очистить + так, чтобы ни одно из окон не владело выделением. Параметр + выделение задает X выделение, которое должно быть + очищено; его значением должно быть имя атома, например, + PRIMARY или CLIPBOARD; полное описание см. в (1). По умолчанию + значением параметра выделение является PRIMARY, а + параметра окно ".". Команда возвращает + пустую строку.
    selection get ?-displayof - ?-selection ? - ?-type ?
    + окно ?-selection выделение? + ?-type тип? -
    - . - PRIMARY, - ".". - ( (1) - ""), , - , STRING - FILE_NAME; . (1). - STRING. - +
    Ищет выделение на дисплее окна и возвращает его значение в + качестве результата. По умолчанию значением параметра + выделение является PRIMARY, а + параметра окно ".". Параметр тип + задает вид возвращаемого результата (в терминологии (1) + "цель"), его значением должно быть имя атома, + например, STRING или + FILE_NAME; полное описание см. (1). По + умолчанию он имеет значение STRING. Владелец + выделения может выбрать для его вывода любой из форматов STRING, ATOM, - INTEGER .. ( - ; (1)). , - , , , - INTEGER ATOM, - selection - , , - : , - - .
    + INTEGER и т.д. (этот формат отличается от + типа выделения; детально различия описаны в (1)). Если формат, + в котором выделение возвращается, не строковый, например, + INTEGER или ATOM, то команда + selection преобразует выделение в строковый + формат, представляя его в виде набора полей, разделенных + пробелами: атомы представляются своими текстовыми именами, а + все остальное преобразуется в последовательность + шестнадцатиричных цифр.
    selection handle - ?-selection ? - ?-type? ?-format - ?
    + ?-selection выделение? + ?-typeтип? ?-format + формат? окно команда -

    : - - (, selection get) - . - PRIMARY, - STRING, - STRING. - , - , - .

    +

    Создает программу обработки запросов на поиск выделения: + при каждой попытке поиска выделения указанного типа в окне + (например, командой selection get) будет + выполняться команда . По умолчанию значением + параметра выделение является PRIMARY, параметра + тип STRING, и параметра формат тоже + STRING. Если значением параметра команда является + пустая строка, то все программы обработки для указанного + окна , типа и выделения + удаляются.

    -

    - , - ( - ) Tcl. - : - , - - . - - . ( - ) - . , - , , , - - ; , - , - , , , - . ( - ).

    +

    Если при запросе выделения окно является его владельцем и + выделение имеет указанный тип, то к команде + добавляется два числа (отделенных пробелами от имени команды + и друг от друга) и она исполняется как команда Tcl. Эти два + дополнительных числа представляют собой смещение и максБайт: + смещение задает положение первого символа в выделении, а + максБайт максимальное количество байтов для + поиска. Возвращаемое командой значение должно начинаться с + указанного символа в выделении и должно быть не длиннее + максБайт. Для очень больших выделений (длина которых + превышает максБайт) поиск будет повторяться многократно с + возрастающими смещениями. Если длина строки, возвращаемой + командой, меньше максБайт, то предполагается, что + возвращенное значение включает в себя весь остаток + выделения; если длина результата совпадает с максБайт, то + команда будет выполняться повторно пока она не возвратит, + наконец, строку, более короткую, чем указано параметром + максБайт. Значение максБайт всегда довольно велико (порядка + нескольких тысяч байтов).

    -

    , - , - .

    +

    Если в результате работы команды возникает ошибка, то + запрос на поиск отвергается, как если бы никакого выделения + вообще не существовало.

    -

    , - (. (1), - 2), STRING. - STRING, - 8- - ASCII (.. , - ). ATOM, - , ; - - 32- . - - , , - 32- ; - .

    +

    Аргумент формат задает представление, используемое + для передачи выделения автору запроса (см. (1), второй + столбец в Таблице 2), его значение по умолчанию STRING. Если + значением аргумента формат является STRING, то + выделение передается в виде 8-битовых символов + ASCII (т.е. в том же виде, в каком его возвращает + команда). Если его значение ATOM, то возвращаемое значение + разбивается на поля, отделенные друг от друга пробелами; + каждое поле преобразуется в свое атомарное значение и вместо + имени атома передается 32-битовое атомарное значение. В + любом другом формате возвращаемое командой значение + разбивается на поля, отделенные друг от друга пробелами, и + каждое поле преобразуется в целое 32-битовое число; + полученный массив целых чисел передается автору запроса.

    -

    - , Tk. - Tk, - , - .

    +

    Аргумент формат необходим лишь для обеспечения + совместимости пользователям, не использующим Tk. Если для + поиска выделения используется Tk, то на выходе из запроса + результат преобразуется назад в строку, поэтому аргумент + формат не играет роли.

    selection own ?-displayof - ? ?-selection - ?
    + окно? ?-selection + выделение?
    selection own - ?-command ? - ?-selection ? -
    + ?-command команда? + ?-selection выделение? + окно -

    selection own - , - , ; - , . - - PRIMARY, ".".

    +

    Первая форма команды selection own + возвращает имя пути окна в данном приложении, владеющего + выделением на дисплее, содержащем окно; + если таких окон нет, то команда возвращает пустую строку. По + умолчанию значением параметра выделение является + PRIMARY, а параметра окно ".".

    -

    selection own - - ; . - ( ) - , . - , - Tcl, - - . - +

    Вторая форма команды selection own делает + окно новым владельцем выделения на дисплее + окна; она возвращает пустую строку. Текущий владелец + выделения (если такой существует) получает + сообщение о том, что он потерял выделение. Если задан + параметр команда, то его значением является скрипт + Tcl, который должен исполняться при попытке какого-либо + другого окна заявить права на выделение вне данного окна. По + умолчанию значением параметра выделение является PRIMARY.

    @@ -157,3 +157,4 @@ + diff --git a/hlp/ru/tk/tk.html b/hlp/ru/tk/tk.html index 878f2c2..8652c64 100644 --- a/hlp/ru/tk/tk.html +++ b/hlp/ru/tk/tk.html @@ -1,4 +1,4 @@ - + tk @@ -7,74 +7,74 @@

    tk

    -

    Tk.

    +

    Управляет внутренним состоянием Tk.

    -

    +

    СИНТАКСИС

    -      tk  ?  ...?
    +      tk параметр ?арг арг ...?
         
    -

    +

    ОПИСАНИЕ

    -

    tk - Tk. , - , - , . - - . :

    +

    Команда tk обеспечивает доступ к различным + элементам внутреннего состояния Tk. Большая часть информации, с + которой работает команда, относится к приложению в целом или к + экрану или дисплею, а не к конкретному окну. Команда может + принимать одну из нескольких форм в зависимости от значения + аргумента параметр. Допустимы следующие формы:

    -
    tk appname ?
    +
    tk appname ?новИмя
    -
    , - ( - send - ). - , . - , , - , - "#2" - "#3". - ; - . - , - , , - ; , Tk - . - send, - send.
    +
    Если аргумент новИмя не задан, то команда + возвращает имя приложения (которое можно использовать в + команде send для + взаимодействия с приложениями). Если аргумент новИмя + задан, то имя приложения заменяется на новИмя. Если + приложение с заданным именем уже существует, то для того, + чтобы имя было уникальным, к нему добавляется суффикс вида + "#2" или + "#3". Результатом выполнения + команды является фактически присвоенное имя; новИмя + не должно начинаться с прописной буквы. В противном случае + может возникнуть коллизия с обработкой параметров, так как + имена, начинающиеся с прописной буквы, интерпретируются как + имена классов; в результате может случиться так, что Tk не + найдет некоторые параметры приложения. Если блокировать + пересылку путем удаления команды send, то эта команда + отменит блокировку и воссоздаст команду send.
    -
    tk scaling -displayof
    +
    tk scaling -displayof окно число
    -

    , - Tk, (, , - ) , - . - , - . , - . - , - .

    +

    Устанавливает коэффициент масштабирования, используемый + Tk, при переводе физических единиц (например, точки, дюймы + или миллиметры) в пиксели, и запрашивает текущее значение + коэффициента. Аргумент число представляет собой + число с плавающей точкой, которое задает число пикселей в + точке на экране. Если аргумент окно опущен, то его + значением по умолчанию является главное окно. Если опущен + аргумент число, то команда возвращает текущее + значение коэффициента масштабирования.

    -

    "" , 1/72 - . 1.0 - 72 dpi ( ) - . 1.25 - 1.25 , .. - 90 dpi; 1.25 72 dpi - - 1.25 . - - , - . , - , , - , - , - .

    +

    "Точка" это единица измерения, равная 1/72 + дюйма. Коэффициент масштабирования 1.0 соответствует одному + пикселу на точку стандартному 72 dpi (точек на дюйм) + монитору. Коэффициент масштабирования 1.25 соответствует + 1.25 пикселю на точку, т.е. стандартному значению для + монитора 90 dpi; установка коэффициента 1.25 для 72 dpi + монитора увеличивает изображение всех элементов приложения в + 1.25 раз по сравнению с нормальным. Исходное значение + коэффициента устанавливается при запуске приложения на + основании характеристик монитора, однако его можно изменить + в любой момент. Все измерения, выполняемые после установки + коэффициента, будут использовать его новое значение, однако + будут ли существующие примитивы динамически меняться, + подстраиваясь под новое значение коэффициента, предсказать + нельзя.

    @@ -82,3 +82,4 @@ + diff --git a/hlp/ru/tk/tk.toc.html b/hlp/ru/tk/tk.toc.html index fd9de52..a4d25b3 100644 --- a/hlp/ru/tk/tk.toc.html +++ b/hlp/ru/tk/tk.toc.html @@ -1,64 +1,60 @@ - Tk -SafeTk
    -bell
    -bind
    -bindtags
    -bitmap
    -button
    -canvas
    -checkbutton
    -clipboard
    -destroy
    -entry
    -event
    -focus
    -font
    -frame
    -grab
    -grid
    -image
    -label
    -listbox
    -lower
    -menu
    -menubutton
    -message
    -option
    -options
    -pack
    -pack-old
    -photo
    -place
    -radiobutton
    -raise
    -scale
    -scrollbar
    -selection
    -send
    -table
    -text
    -tk
    -tk_bindForTraversal
    -tk_bisque
    -tk_menuBar
    -tk_chooseColor
    -tk_dialog
    -tk_focusFollowsMouse
    -tk_focusNext
    -tk_focusPrev
    -tk_getOpenFile
    -tk_getSaveFile
    -tk_chooseDirectory
    -tk_messageBox
    -tk_optionMenu
    -tk_popup
    -tkerror
    -tkvars
    -tkwait
    -toplevel
    -winfo
    -Wm
    - - - - +Команды Tk +SafeTk
    +bell
    +bind
    +bindtags
    +bitmap
    +button
    +canvas
    +checkbutton
    +clipboard
    +destroy
    +entry
    +event
    +focus
    +font
    +frame
    +grab
    +grid
    +image
    +label
    +listbox
    +lower
    +menu
    +menubutton
    +message
    +option
    +options
    +pack
    +pack-old
    +photo
    +place
    +radiobutton
    +raise
    +scale
    +scrollbar
    +selection
    +send
    +table
    +text
    +tk
    +tk_bindForTraversal
    +tk_bisque
    +tk_menuBar
    +tk_chooseColor
    +tk_dialog
    +tk_focusFollowsMouse
    +tk_focusNext
    +tk_focusPrev
    +tk_getOpenFile
    +tk_getSaveFile
    +tk_chooseDirectory
    +tk_messageBox
    +tk_optionMenu
    +tk_popup
    +tkerror
    +tkvars
    +tkwait
    +toplevel
    +winfo
    +Wm
    diff --git a/hlp/ru/tk/tk_bisque.html b/hlp/ru/tk/tk_bisque.html index 33de31d..46c5c1a 100644 --- a/hlp/ru/tk/tk_bisque.html +++ b/hlp/ru/tk/tk_bisque.html @@ -1,4 +1,4 @@ - + tk_bisque, tk_setPalette @@ -6,32 +6,32 @@

    tk_bisque, tk_setPalette

    -

    Tk.

    +

    Модифицирует цветовую палитру Tk.

    -

    +

    СИНТАКСИС

    -      tk_setPalette 
    -      tk_setPalette   ?  ...
    +      tk_setPalette фон
    +      tk_setPalette имя значение ?имя значение ...
           tk_bisque
         
    -

    +

    ОПИСАНИЕ

    -

    tk_setPalette - Tk. - , - - . - tk_setPalette , - , - ; tk_setPalette - . - tk_setPalette - -, , - . - - :

    +

    Процедура tk_setPalette изменяет цветовую + схему Tk. Это происходит за счет изменения цветов в существующих + примитивах и внесения изменений в базу данных параметров, в + результате чего будущие примитивы будут пользоваться новой + цветовой схемой. При выполнении команды + tk_setPalette с единственным аргументом, этим + аргументом является имя цвета, который становится нормальным + цветом фона; процедура tk_setPalette вычисляет + всю палитру цветов на основе этого цвета фона. Если же аргументы + команды tk_setPalette включают несколько пар + имя-значение, то имя это имя параметра, а второй + элемент пары представляет собой новое значение параметра. В + настоящее время поддерживаются следующие имена параметров в базе + данных:

    • activeBackground
    • @@ -48,39 +48,39 @@
    • troughColor
    -

    tk_setPalette - - . , - , Tk . - - .

    +

    Процедура tk_setPalette пытается вычислить + разумные значения по умолчанию для любого незаданного + параметра. Можно указать и параметры, отличные от приведенных + выше, и Tk изменит значения и этих параметров. Такая возможность + полезна при использовании специальных примитивов с + дополнительными цветовыми параметрами.

    -

    , - , tk_setPalette - , - . , - - . - , - ; - , - tk_setPalette . - , - ([lindex [$w configure $option] 3]) , - tk_setPalette , - , .

    +

    После того, как новое значение каждого из цветовых параметров + вычислено, tk_setPalette просматривает иерархию + примитивов, чтобы изменить значения параметров всех существующих + примитивов. Для каждого примитива она проверяет, определен ли + для него какой-либо из заданных параметров. Если это так и если + текущее значение параметра совпадает со значением по умолчанию, + то это значение заменяется новым; если же текущее значение + отлично от значения по умолчанию, то + tk_setPalette не изменяет его. Значением + параметра по умолчанию является то, которое порождено примитивом + ([lindex [ configure ] 3]) или, если + процедура tk_setPalette выполнялась и раньше, + то значение, установленное ее предыдущим выполнением.

    -

    - tk_setPalette - , - . - widgetDefault, - .Xdefaults , - , .

    +

    После модификации всех примитивов в приложении + tk_setPalette добавляет параметры в базу данных + параметров, изменяя значения по умолчанию для будущих + примитивов. Новые параметры добавляются с приоритетом + widgetDefault, поэтому они будут подавлены параметрами из файла + .Xdefaults или параметрами, заданными в + командной строке, создающей примитив.

    -

    tk_bisque - : "bisque" - - () , - Tk 3.6 .

    +

    Процедура tk_bisque обеспечивает совместимость + с предыдущими версиями: она задает схему "bisque" на + основе светло-коричневого (бисквитного) цвета, которая + использовалась в Tk 3.6 и более ранних версиях.

    @@ -88,3 +88,4 @@ + diff --git a/hlp/ru/tk/tk_chooseColor.html b/hlp/ru/tk/tk_chooseColor.html index 8f258ce..fa9566a 100644 --- a/hlp/ru/tk/tk_chooseColor.html +++ b/hlp/ru/tk/tk_chooseColor.html @@ -1,4 +1,4 @@ - + tk_ChooseColor @@ -6,44 +6,44 @@

    tk_chooseColor

    -

    .

    +

    Открывает диалоговое окно для выбора цвета пользователем.

    -

    +

    СИНТАКСИС

    -      tk_chooseColor ? ...?
    +      tk_chooseColor ?параметр значение...?
         
    -

    +

    ОПИСАНИЕ

    -

    tk_chooseColor - . - -:

    +

    Процедура tk_chooseColor открывает диалоговое + окно для выбора цвета пользователем. В строке аргументов + допустимы следующие пары параметр-значение:

    -
    -initialcolor
    +
    -initialcolor цвет
    -
    , - . , - Tk_GetColor.
    +
    Задает начальный цвет, выводимый в окне диалога при его + открытии. Параметр цвет может иметь любое значение, + приемлемое для функции Tk_GetColor.
    -
    -parent
    +
    -parent окно
    -
    . - .
    +
    Делает окно логическим родителем окна диалога. Окно + диалога выводится поверх своего родительского окна.
    -
    -title
    +
    -title строкаЗаголовка
    -
    , - . , - .
    +
    Задает строку, которую нужно вывести в качестве заголовка + окна диалога. Если этот параметр не задан, то будет выведен + заголовок по умолчанию.
    -

    tk_chooseColor - , - Tk_GetColor. - , .

    +

    При выборе пользователем цвета tk_chooseColor + возвращает имя цвета в виде, приемлемом для + Tk_GetColor. Если пользователь прерывает + операцию, то обе команды возвращают пустую строку.

    @@ -51,3 +51,4 @@ + diff --git a/hlp/ru/tk/tk_chooseDirectory.html b/hlp/ru/tk/tk_chooseDirectory.html index a2f134a..f57278d 100644 --- a/hlp/ru/tk/tk_chooseDirectory.html +++ b/hlp/ru/tk/tk_chooseDirectory.html @@ -1,4 +1,4 @@ - + tk_chooseDirectory @@ -7,63 +7,64 @@

    tk_chooseDirectory

    -

    tk_chooseDirectory - - .

    +

    tk_chooseDirectory - команда выводит + стандартный диалог выбора директории.

    -

    +

    СИНТАКСИС

    -      tk_chooseDirectory ?  ...?
    +      tk_chooseDirectory ?параметр значение ...?
         
    -

    +

    ОПИСАНИЕ

    -

    tk_chooseDirectory - .

    +

    Процедура tk_chooseDirectory открывает + диалоговое окно для выбора пользователем директории.

    -

    :

    +

    В качестве аргументов допустимы следующие значения:

    -
    -initialdir _
    +
    -initialdir имя_директории
    -
    - _ - . - . - Macintosh. - . General - controls - .
    +
    Этот параметр устанавливает текущую директорию + имя_директории и в окне диалога выводиться содержимое + этой директории. Если этот параметр не указан то процедура + выведет на экран диалог с рабочей директорией. Данная опция + может не работать на Macintosh. Но это не является + ошибкой. Предпочтительнее использовать General + controls панель управления чтобы установить + директорию по умолчанию для приложения.
    -
    -parent
    +
    -parent окно
    -
    - . .
    +
    Устанавливает окно в качестве родительского для + диалога. Диалог будет введен поверх родительского окна.
    -
    -title
    +
    -title строка
    -
    . - .
    +
    Устанавливает заголовок окна диалога. Если данная опция не + установлена то будет выведен заголовок по умолчанию.
    -
    -mustexist
    +
    -mustexist параметр
    -
    - . - true - . - false.
    +
    Устанавливается в том случае если пользователь выбрал + несуществующую директорию. Если параметр установлен в + true то пользователь может выбрать директорию только + в том случае если она существует. По умолчанию + параметр установлен в false.
    -

    .

    +

    СМ. ТАКЖЕ

    tk_getOpenFile, + href=tk_getOpenFile.html>tk_getOpenFile, tk_getSaveFile + href=tk_getSaveFile.html>tk_getSaveFile

    + diff --git a/hlp/ru/tk/tk_dialog.html b/hlp/ru/tk/tk_dialog.html index c1a11ed..b3c84c2 100644 --- a/hlp/ru/tk/tk_dialog.html +++ b/hlp/ru/tk/tk_dialog.html @@ -1,4 +1,4 @@ - + tk_dialog @@ -7,72 +7,73 @@

    tk_dialog

    -

    .

    +

    Создает окно модального диалога и ожидает ответа.

    -

    +

    СИНТАКСИС

    -      tk_dialog        ...
    +      tk_dialog окно заголовок текст двуцвет умолч строка строка ...
         
    -

    +

    ОПИСАНИЕ

    -

    Tk. - :

    +

    Эта процедура является частью библиотеки скриптов Tk. Ее + аргументы описывают диалоговое окно:

    -
    +
    окно
    -
    , - . - .
    +
    Имя окна верхнего уровня, которое следует использовать для + диалога. Любое существующее под этим именем окно + уничтожается.
    -
    +
    заголовок
    -
    , - .
    +
    Текст, предназначенный для вывода в строке заголовка + менеджера окон.
    -
    +
    текст
    -
    , - .
    +
    Сообщение, которое должно появиться в верхней + части диалогового окна.
    -
    +
    двуцвет
    -
    , - - . , - .
    +
    Если значение этого параметра непусто, то оно задает + двуцветное изображение для вывода в верхней части диалогового + окна слева от текста. Если значением является пустая строка, + то никакого двуцветного изображения не выводится.
    -
    +
    умолч
    -
    - , , - (0 ..) - - , .
    +
    Если значение этого параметра является неотрицательным целым + числом, то оно представляет собой номер кнопки, которая должна + быть кнопкой по умолчанию (0 для самой левой кнопки и т.д.) + Если значение параметра отрицательно или представляет собой + пустую строку, то кнопки по умолчанию не будет.
    -
    +
    строка
    -
    - . , - - .
    +
    Каждому из аргументов строка ставится в + соответствие одна кнопка. Каждая строка задает текст, который + должен быть выведен в соответствующей кнопке слева + направо.
    -

    - tk_dialog , - .., - Return, - ( ). - : 0 , 1 - .. , - , +

    После создания диалогового окна процедура + tk_dialog ожидает, пока пользователь выберет + одну из кнопок либо щелкнув по ней .Мышью., либо нажав на + клавишу Return, чтобы выбрать значение по + умолчанию (если такое есть). Затем процедура возвращает номер + выбранной кнопки: 0 для самой левой кнопки, 1 для соседней с + ней и т.д. Если окно диалога уничтожено до того, как + пользователь выбрал одну из кнопок, то процедура возвращает -1.

    -

    tk_dialog - . - .

    +

    В ожидании ответа пользователя tk_dialog + производит локальный захват. В результате пользователь может + взаимодействовать только с окном диалога.

    + diff --git a/hlp/ru/tk/tk_focus.html b/hlp/ru/tk/tk_focus.html index 0164742..ddd24b7 100644 --- a/hlp/ru/tk/tk_focus.html +++ b/hlp/ru/tk/tk_focus.html @@ -1,4 +1,4 @@ - + tk_focusFollowsMouse, tk_focusNext, tk_focusPrev @@ -7,9 +7,9 @@

    tk_focusFollowsMouse, tk_focusNext, tk_focusPrev

    -

    .

    +

    Утилиты служат для управления фокусом ввода.

    -

    +

    СИНТАКСИС

           tk_focusNext window
    @@ -17,20 +17,21 @@
           tk_focusFollowsMouse
         
    -

    +

    ОПИСАНИЕ

    -

    tk_focusNext - window , - - .

    +

    Процедура tk_focusNext возвращает имя + следующего после window окна в очередности фокусов, + который определяется очередью стека окон и структурой иерархии + окон.

    -

    tk_focusPrev - tk_focusNext: - .

    +

    Процедура tk_focusPrev противоположна по + действию процедуре tk_focusNext: она возвращает + имя предыдущего окна.

    -

    tk_focusFollowsMouse - , - "".

    +

    Утилита tk_focusFollowsMouse переводит фокус в + то окно, над которым в данный момент находится курсор + "Мыши".

    + diff --git a/hlp/ru/tk/tk_getOpenFile.html b/hlp/ru/tk/tk_getOpenFile.html index acb7811..7250845 100644 --- a/hlp/ru/tk/tk_getOpenFile.html +++ b/hlp/ru/tk/tk_getOpenFile.html @@ -1,4 +1,4 @@ - + tk_getOpenFile @@ -6,158 +6,158 @@

    tk_getOpenFile

    -

    , - , .

    +

    Открывает окно диалога, в котором пользователь должен выбрать + файл для того, чтобы открыть его.

    -

    +

    СИНТАКСИС

    -      tk_getOpenFile ? ...? 
    +      tk_getOpenFile ?параметр значение...? 
         
    -

    +

    ОПИСАНИЕ

    -

    tk_getOpenFile - , , - .

    +

    Процедура tk_getOpenFile открывает окно + диалога, в котором пользователь должен выбрать файл для того, + чтобы открыть его.

    -

    tk_getOpenFile - Open - File. - . - , - . - , - New.

    +

    Команда tk_getOpenFile обычно выполняется при + вызове команды Open из меню + File. Она позволяет лишь выбрать один из + существующих файлов. Если пользователь вводит имя + несуществующего файла, то окно диалога информирует его об ошибке + и предлагает сделать другой выбор. Если приложение позволяет + пользователю создавать файлы, то для этой цели должна быть + предназначена специальная команда меню New.

    -

    - - :

    +

    В качестве пар аргумент-значение в командной строке + этих двух команд допускаются следующие варианты:

    -
    -defaultextension
    +
    -defaultextension расширение
    -
    , - , , , - . - , .. - . , - , .
    +
    Задает строку, которая автоматически приписывается к имени + файла в случае, если имя, введенное пользователем, не имеет + расширения. По умолчанию значение этого параметра пустая + строка, т.е. имя файла не будет получать расширения ни в каком + случае. На платформе Макинтош, где имена файлов не требуют + расширения, этот параметр игнорируется.
    -
    -filetypes
    +
    -filetypes списокТиповФайлов
    -
    - , - . - . - , - , , - . - (. " - ").
    +
    Если в файловом диалоге на конкретной платформе имеется окно + списка типов файлов, то этот параметр задает содержимое + списка. При выборе типа файла в списке выводятся только файлы + этого типа. Если параметр не задан или его значение пустая + строка, а также если на данной платформе не поддерживается + окно списка типов файлов, то выводятся имена всех файлов, + несмотря на их типы. Содержимое списка обсуждается ниже + (см. "ОПИСАНИЕ + ОБРАЗЦОВ ТИПОВ ФАЙЛОВ").
    -
    -initialdir
    +
    -initialdir каталог
    -
    , - . , - . - - . . - , General Controls - - .
    +
    Указывает, файлы какого каталога должны выводиться при + появлении окна диалога. Если этот параметр не задан, то + выводится список имен файлов в текущем каталоге процесса. На + платформе Макинтош параметр каталог срабатывает не + всегда. Это не результат ошибки. Этот эффект является + следствием того, что панель управления General Controls на + Макинтоше позволяет конечному пользователю подавить значение + каталога приложения по умолчанию.
    -
    -initialfile
    +
    -initialfile имяфайла
    -
    , - .
    +
    Задает имя файла, которое должно выводиться в окне диалога + при его появлении.
    -
    -parent
    +
    -parent окно
    -
    - . - .
    +
    Делает окно логическим родителем файлового + диалога. Окно файлового диалога выводится поверх родительского + окна.
    -
    -title
    +
    -title строкаЗаголовка
    -
    , - . , - . .
    +
    Задает строку, которая выводится в качестве заголовка в окне + диалога. Если параметр не задан, то в окне выводится заголовок + по умолчанию. На платформе Макинтош параметр игнорируется.
    -

    , , - tk_getSaveFile - . , - .

    +

    После того, как пользователь выбрал файл, команда + tk_getSaveFile возвращают полное имя пути к этому + файлу. Если пользователь прерывает выполнение операции, то обе + команды возвращают пустую строку.

    -

    -

    +

    ОПИСАНИЕ ОБРАЗЦОВ + ТИПОВ ФАЙЛОВ

    -

    - -filetypes - . +

    Значение списокТиповФайлов параметра + -filetypes представляет собой список образцов + типов файлов. Каждый из образцов это список вида

    -       { ...} { ...}
    +      имяТипа {расширение расширение...} {макТип макТип...}
         
    -

    ; - , - . - . - . , - , - , .

    +

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

    -

    - ; - . - , - . - . - .

    +

    Одно и то же имяТипа может встречаться в нескольких + образцах; в этом случае все они описывают файлы одного типа и им + соответствует одна строка в списке типов. При выборе такой + строки в списке выводится список всех файлов, имена которых + подходят хотя бы под один образец. Обычно каждому типу файлов + соответствует в точности один образец. Использование нескольких + образцов необходимо лишь для платформы Макинтош.

    -

    , - - - . , - C - .c TEXT. , - , - , - , . - GIF - .gif GIFF.

    +

    На платформе Макинтош файл подходит под образец, если + расширение его имени совпадает по крайней мере с одним из + расширений И оно имеется по крайней мере в одном из значений + параметра макТип в образце. Например, под образец + исходных файлов на языке C подходят файлы с расширением + .c И с макТипом TEXT. Для того, чтобы заменить + конъюнкцию И дизъюнкцией ИЛИ, нужно вместо одной строки + образца завести две строки, в одной из которых есть только + расширения, а в другой только макТипы. Под образец + файлового типа GIF подходят файлы с расширением + .gif ИЛИ имеющие макТип GIFF.

    -

    Unix Windows - , - . .

    +

    На платформах Unix и Windows файл подходит под образец + файлового типа, если расширение его имени соответствует одному + из расширений в образце. макТипы игнорируются.

    -

    +

    ЗАДАНИЕ РАСШИРЕНИЙ

    -

    Unix Macintosh - . Windows - - . :

    +

    На платформах Unix и Macintosh соответствие образцам + устанавливается обычным образом. На платформах Windows + соответствие образцам устанавливается операционной + системой. Возможными расширениями могут быть:

      -
    1. *, ;
    2. +
    3. специальное расширение *, под которое подходит любой файл;
    4. -
    5. "", - (.. , - );
    6. +
    7. специальное расширение "", под которое подходит + любой файл без расширения (т.е. файл, имя которого не содержит + точки);
    8. -
    9. , - (* ?).
    10. +
    11. произвольная строка символов, среди которых нет символов + маски (* и ?).
    -

    , - , - , - "*". , (, - "~"), , - .

    +

    Ввиду того, что на различных платформах используются различные + правила соответствия, появление символов маски в расширениях не + допускается, за исключением специального расширения + "*". Расширения, в которых нет точки (например, + "~"), допустимы, но они могут работать не на всех + платформах.

    -

    +

    ПРИМЕР

           set types {
    @@ -169,10 +169,11 @@
             {{All Files}      *          }
           }
     
    -      set filename [tk_getOpenFile -filetypes $types]
    -      if {$filename != ""} {
    -        #   ...
    +      set filename [tk_getOpenFile -filetypes ]
    +      if { != ""} {
    +        # Открыть файл ...
           }
         
    + diff --git a/hlp/ru/tk/tk_getSaveFile.html b/hlp/ru/tk/tk_getSaveFile.html index fb43520..726cb5a 100644 --- a/hlp/ru/tk/tk_getSaveFile.html +++ b/hlp/ru/tk/tk_getSaveFile.html @@ -1,4 +1,4 @@ - + tk_getSaveFile @@ -6,157 +6,157 @@

    tk_getSaveFile

    -

    , - , .

    +

    Открывает окно диалога, в котором пользователь должен выбрать + файл для того, чтобы открыть или сохранить его.

    -

    +

    СИНТАКСИС

    -      tk_getSaveFile  ...
    +      tk_getSaveFile параметр значение...
         
    -

    +

    ОПИСАНИЕ

    -

    tk_getSaveFile - , , - .

    +

    Процедура tk_getSaveFile открывает окно + диалога, в котором пользователь должен выбрать файл для того, + чтобы сохранить его.

    -

    tk_getSaveFile - SaveAs File. - - , - .

    +

    Команда tk_getSaveFile обычно связана с + командой SaveAs меню File. При + входе пользователя в уже существующий файл окно диалога + предлагает пользователю подтвердить, что старый файл следует + затереть.

    -

    - - :

    +

    В качестве пар аргумент-значение в командной строке + этих двух команд допускаются следующие варианты:

    -
    -defaultextension
    +
    -defaultextension расширение
    -
    , - , , , - . - , .. - . , - , .
    +
    Задает строку, которая автоматически приписывается к имени + файла в случае, если имя, введенное пользователем, не имеет + расширения. По умолчанию значение этого параметра пустая + строка, т.е. имя файла не будет получать расширения ни в каком + случае. На платформе Макинтош, где имена файлов не требуют + расширения, этот параметр игнорируется.
    -
    -filetypes
    +
    -filetypes списокТиповФайлов
    -
    - , - . - . - , - , , - . - (. " - ").
    +
    Если в файловом диалоге на конкретной платформе имеется окно + списка типов файлов, то этот параметр задает содержимое + списка. При выборе типа файла в списке выводятся только файлы + этого типа. Если параметр не задан или его значение пустая + строка, а также если на данной платформе не поддерживается + окно списка типов файлов, то выводятся имена всех файлов, + несмотря на их типы. Содержимое списка обсуждается ниже + (см. "ОПИСАНИЕ + ОБРАЗЦОВ ТИПОВ ФАЙЛОВ").
    -
    -initialdir
    +
    -initialdir каталог
    -
    , - . , - . - - . . - , General Controls - - .
    +
    Указывает, файлы какого каталога должны выводиться при + появлении окна диалога. Если этот параметр не задан, то + выводится список имен файлов в текущем каталоге процесса. На + платформе Макинтош параметр каталог срабатывает не + всегда. Это не результат ошибки. Этот эффект является + следствием того, что панель управления General Controls на + Макинтоше позволяет конечному пользователю подавить значение + каталога приложения по умолчанию.
    -
    -initialfile
    +
    -initialfile имяфайла
    -
    , - .
    +
    Задает имя файла, которое должно выводиться в окне диалога + при его появлении.
    -
    -parent
    +
    -parent окно
    -
    - . - .
    +
    Делает окно логическим родителем файлового + диалога. Окно файлового диалога выводится поверх родительского + окна.
    -
    -title
    +
    -title строкаЗаголовка
    -
    , - . , - . - .
    +
    Задает строку, которая выводится в качестве заголовка в окне + диалога. Если параметр не задан, то в окне выводится заголовок + по умолчанию. На платформе Макинтош параметр + игнорируется.
    -

    , , - tk_getSaveFile - . , - .

    +

    После того, как пользователь выбрал файл, команда + tk_getSaveFile возвращают полное имя пути к + этому файлу. Если пользователь прерывает выполнение операции, то + обе команды возвращают пустую строку.

    -

    -

    +

    ОПИСАНИЕ + ОБРАЗЦОВ ТИПОВ ФАЙЛОВ

    -

    - -filetypes - .

    +

    Значение списокТиповФайлов параметра + -filetypes представляет собой список образцов + типов файлов. Каждый из образцов это список вида

    -       { ...} { ...}
    +      имяТипа {расширение расширение...} {макТип макТип...}
         
    -

    ; - , - . - . - . , - , - , .

    +

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

    -

    - ; - . - , - . - . - .

    +

    Одно и то же имяТипа может встречаться в нескольких + образцах; в этом случае все они описывают файлы одного типа и им + соответствует одна строка в списке типов. При выборе такой + строки в списке выводится список всех файлов, имена которых + подходят хотя бы под один образец. Обычно каждому типу файлов + соответствует в точности один образец. Использование нескольких + образцов необходимо лишь для платформы Макинтош.

    -

    , - - - . , - C - .c TEXT. , - , - , - , . - GIF - .gif GIFF.

    +

    На платформе Макинтош файл подходит под образец, если + расширение его имени совпадает по крайней мере с одним из + расширений И оно имеется по крайней мере в одном из значений + параметра макТип в образце. Например, под образец + исходных файлов на языке C подходят файлы с расширением + .c И с макТипом TEXT. Для того, чтобы заменить + конъюнкцию И дизъюнкцией ИЛИ, нужно вместо одной строки + образца завести две строки, в одной из которых есть только + расширения, а в другой только макТипы. Под образец + файлового типа GIF подходят файлы с расширением + .gif ИЛИ имеющие макТип GIFF.

    -

    Unix Windows - , - . .

    +

    На платформах Unix и Windows файл подходит под образец + файлового типа, если расширение его имени соответствует одному из + расширений в образце. макТипы игнорируются.

    -

    +

    ЗАДАНИЕ РАСШИРЕНИЙ

    -

    Unix Macintosh - . Windows - - . :

    +

    На платформах Unix и Macintosh соответствие образцам + устанавливается обычным образом. На платформах Windows + соответствие образцам устанавливается операционной + системой. Возможными расширениями могут быть:

      -
    1. *, ;
    2. +
    3. специальное расширение *, под которое подходит любой файл;
    4. -
    5. "", - (.. , - );
    6. +
    7. специальное расширение "", под которое подходит + любой файл без расширения (т.е. файл, имя которого не содержит + точки);
    8. -
    9. , - (* ?).
    10. +
    11. произвольная строка символов, среди которых нет символов + маски (* и ?).
    -

    , - , - , - "*". , (, - "~"), , - .

    +

    Ввиду того, что на различных платформах используются различные + правила соответствия, появление символов маски в расширениях не + допускается, за исключением специального расширения + "*". Расширения, в которых нет точки (например, + "~"), допустимы, но они могут работать не на всех + платформах.

    -

    +

    ПРИМЕР

           set types {
    @@ -167,10 +167,11 @@
             {{GIF Files}      {}     GIFF}
             {{All Files}      *          }
           }
    -      set filename [tk_getSaveFile -filetypes $types]
    -      #   ...
    +      set filename [tk_getSaveFile -filetypes ]
    +      # Сохранить файл ...
           }
         
    + diff --git a/hlp/ru/tk/tk_menuBar.html b/hlp/ru/tk/tk_menuBar.html index 95288f2..b784a08 100644 --- a/hlp/ru/tk/tk_menuBar.html +++ b/hlp/ru/tk/tk_menuBar.html @@ -1,4 +1,4 @@ - + tk_menuBar, tk_bindForTraversal @@ -6,21 +6,22 @@

    tk_menuBar, tk_bindForTraversal

    -

    .

    +

    Устаревшие команды для управления меню.

    -

    +

    СИНТАКСИС

           tk_menuBar frame ?menu menu?
           tk_bindForTraversal arg arg
         
    -

    +

    ОПИСАНИЕ

    -

    Tk 3.6, , - - . - , - .

    +

    Команды использовались в Tk версии 3.6, и более ранних, для + управления ниспадающими меню взаимодействия с ними при помощи + клавиатуры. В настоящий момент команды остаются только для + обеспечения совместимости с ранними версиями, и их не следует + использовать в новых разработках.

    + diff --git a/hlp/ru/tk/tk_messageBox.html b/hlp/ru/tk/tk_messageBox.html index 623c28a..5c03803 100644 --- a/hlp/ru/tk/tk_messageBox.html +++ b/hlp/ru/tk/tk_messageBox.html @@ -1,4 +1,4 @@ - + tk_messageBox @@ -6,109 +6,109 @@

    tk_messageBox

    -

    .

    +

    Выводит окно сообщения и ждет ответа пользователя.

    -

    +

    СИНТАКСИС

    -      tk_messageBox ? ...?
    +      tk_messageBox ?параметр значение...?
         
    -

    +

    ОПИСАНИЕ

    -

    , - , - . - (. - -type). - tk_messageBox , - . , , - . - -:

    +

    Эта процедура создает и выводит на экран окно сообщения, в + котором находится определяемое приложением сообщение, + пиктограмма и набор кнопок. Каждая из кнопок в окне сообщения + отождествляется с уникальным символическим именем (см. параметры + -type). После появления окна сообщения команда + tk_messageBox ожидает, пока пользователь не + выберет одну из кнопок. После того, как выбор сделан, команда + возвращает символическое имя выбранной кнопки. Команда + поддерживает следующие пары параметр-значение:

    -
    -default
    +
    -default имя
    -
    - ('ok', 'cancel' ..). - . - -type. - , ; - , -default - , .
    +
    Параметр имя задает символическое имя кнопки по + умолчанию для окна сообщения ('ok', 'cancel' и т.п.). Список + возможных символических имен см. в описании параметра + -type. Если в окне сообщения лишь одна + кнопка, то она автоматически делается кнопкой по умолчанию; + если же кнопок несколько, а параметр -default + не задан, то кнопки по умолчанию не будет.
    -
    -icon
    +
    -icon изобрПикт
    -
    . - : +
    Задает выводимую пиктограмму. Параметр изобрПикт + может иметь одно из следующих значений: error, info, - question warning. - , .
    + question или warning. Если + параметр не указан, то пиктограмма не выводится. -
    -message
    +
    -message строка
    -
    , .
    +
    Задает сообщение, выводимое в окне сообщений.
    -
    -parent
    +
    -parent окно
    -
    - . - .
    +
    Делает окно логическим родителем окна + сообщений. Окно сообщения выводится поверх своего родительского + окна.
    -
    -title
    +
    -title строкаЗаголовка
    -
    , - . - .
    +
    Задает текстовую строку, которая выводится в качестве + заголовка в окне сообщения. Значением параметра по умолчанию + является пустая строка.
    -
    -type
    +
    -type предопределенныйТип
    -
    . - - : +
    Устанавливает предопределенный набор кнопок в окне. Параметр + предопределенныйТип может иметь следующие + значения:
    abortretryignore
    -
    - abort, retry +
    Выводит три кнопки с символическими именами + abort, retry и ignore.
    ok
    -
    +
    Выводит одну кнопку с символическим именем ok.
    okcancel
    -
    - ok cancel.
    +
    Выводит две кнопки с символическими именами + ok и cancel.
    retrycancel
    -
    - retry cancel.
    +
    Выводит две кнопки с символическими именами + retry и cancel.
    yesno
    -
    - yes no.
    +
    Выводит две кнопки с символическими именами + yes и no.
    yesnocancel
    -
    - yes, no +
    Выводит три кнопки с символическими именами + yes, no и cancel.
    -

    +

    ПРИМЕР

           set answer [tk_messageBox -message "Really quit?" -type yesno -icon question]
    -      case $answer {
    +      case  {
             yes exit
             no {tk_messageBox -message "I know you like this application!" -type ok}
           }
    @@ -118,3 +118,4 @@
     
     
     
    +
    diff --git a/hlp/ru/tk/tk_optionMenu.html b/hlp/ru/tk/tk_optionMenu.html
    index 3373d43..965b7b7 100644
    --- a/hlp/ru/tk/tk_optionMenu.html
    +++ b/hlp/ru/tk/tk_optionMenu.html
    @@ -1,4 +1,4 @@
    -
    +
     
       
         tk_optionMenu
    @@ -6,31 +6,32 @@
       
         

    tk_optionMenu

    -

    - (option - menubutton) .

    +

    Процедура создает меню-кнопку с защелкиванием (option + menubutton) и ее меню.

    -

    +

    СИНТАКСИС

           tk_optionMenu w varName value ?value value?
         
    -

    +

    ОПИСАНИЕ

    -

    - w - . - , value. - - varName, - .

    +

    Команда создает меню-кнопку с защелкиванием по имени w и + связанное с ней меню. Такое меню позволяет пользователю выбрать + одно из значений, заданных аргументами value. Текущее + выбранное значение присваивается глобальной переменной + varName, а также отображается на кнопке в виде + ярлыка.

    -

    .. - . - , varName - .

    +

    Для выбора нового значения следует щелкнуть .Мышью. на кнопке и + в открывшемся меню выбрать значение. Также текущее значение + можно изменить, присвоив переменной varName новое + значение.

    + diff --git a/hlp/ru/tk/tk_popup.html b/hlp/ru/tk/tk_popup.html index 72d001f..3dc1bf0 100644 --- a/hlp/ru/tk/tk_popup.html +++ b/hlp/ru/tk/tk_popup.html @@ -1,4 +1,4 @@ - + tk_popup @@ -6,23 +6,24 @@

    tk_popup

    -

    .

    +

    Процедура открывает всплывающее меню.

    -

    +

    СИНТАКСИС

           tk_popup menu x y ?entry?
         
    -

    +

    ОПИСАНИЕ -

    - menu , - x y. entry - () menu, - .

    +

    Процедура выводит на дисплей всплывающее меню при помощи + примитива меню menu в позиции, заданной аргументами + x и y. Необязательный аргумент entry + указывает индекс некоторой команды (входа) меню menu, к + которой будет относиться выводимое меню.

    + diff --git a/hlp/ru/tk/tkerror.html b/hlp/ru/tk/tkerror.html index 95d1900..6d64efa 100644 --- a/hlp/ru/tk/tkerror.html +++ b/hlp/ru/tk/tkerror.html @@ -1,4 +1,4 @@ - + tkerror @@ -6,26 +6,27 @@

    tkerror

    -

    .

    +

    Команда обрабатывает фоновые ошибки.

    -

    +

    СИНТАКСИС

           tkerror message
         
    -

    +

    ОПИСАНИЕ

    -

    - Tk. - Tk bgerror. - tkerror , - bgerror.

    +

    Данная команда обрабатывает фоновые ошибки и предназначена для + обеспечения совместимости с ранними версиями Tk. В настоящей + версии Tk ее функции исполняет команда bgerror. Поддержка + команды tkerror может быть вскоре прекращена, + поэтому рекомендуется в приложениях заменять эту команду на bgerror.

    + diff --git a/hlp/ru/tk/tkvars.html b/hlp/ru/tk/tkvars.html index 385519e..a7c76c4 100644 --- a/hlp/ru/tk/tkvars.html +++ b/hlp/ru/tk/tkvars.html @@ -1,4 +1,4 @@ - + tkvars @@ -6,41 +6,41 @@

    tkvars

    -

    , Tk.

    +

    Переменные, используемые или задаваемые Tk.

    -

    +

    ОПИСАНИЕ

    -

    Tk - , .

    +

    Нижеследующие переменные используются Tk в разные моменты + работы, или задаются им.

    tk_library
    -
    - Tcl, Tk.
    +
    переменная содержит путь к каталогу с библиотекой скриптов + Tcl, относящихся к Tk.
    tk_patchLevel
    -
    , - Tk.
    +
    переменная содержит десятичное число, соответствующее номеру + версии поправок к Tk.
    TkPriv
    -
    Tk, - Tk - (bindings) . Tk - .
    +
    эта переменная есть массив значений внутренних данных Tk, + используемых библиотечными процедурами Tk и привязками + (bindings) по умолчанию. Внешние по отношению к Tk программы + эти данные не используют.
    tk_strictMotif
    -
    . , Tk - - Motif.
    +
    это флаг. Если приложение устанавливает его, то Tk будет + стремиться наиболее полно поддерживать стиль графического + интерфейса Motif.
    tk_version
    -
    Tk.
    +
    переменная содержит номер версии библиотеки Tk.
    @@ -48,3 +48,4 @@ + diff --git a/hlp/ru/tk/tkwait.html b/hlp/ru/tk/tkwait.html index 085b274..39fe912 100644 --- a/hlp/ru/tk/tkwait.html +++ b/hlp/ru/tk/tkwait.html @@ -1,4 +1,4 @@ - + tkwait @@ -7,11 +7,11 @@

    tkwait

    -

    - .

    +

    Команда организует паузу до момента изменения значения переменной + или закрытия окна.

    -

    +

    СИНТАКСИС

           tkwait variable name 
    @@ -19,20 +19,21 @@
           tkwait window name
         
    -

    +

    ОПИСАНИЕ

    -

    , - - - . - variable, name - , - . - visibility, name , - - (visibility). - window, name , - .

    +

    Команда ожидает наступления одного из нескольких событий, после + этого она завершает работу без выполнения каких-либо + действий. Если первый аргумент команды есть + variable, то name есть имя глобальной + переменной, и команда ожидает изменения значения этой + переменной. Если первый аргумент команды есть + visibility, то name есть имя окна, и + команда ожидает изменения его состояния внешних параметров + (visibility). Если первый аргумент команды есть + window, то name есть имя окна, и + команда ожидает закрытия этого окна.

    + diff --git a/hlp/ru/tk/toplevel.html b/hlp/ru/tk/toplevel.html index 8e80a1b..e704344 100644 --- a/hlp/ru/tk/toplevel.html +++ b/hlp/ru/tk/toplevel.html @@ -1,4 +1,4 @@ - + toplevel @@ -6,16 +6,16 @@

    toplevel

    -

    .

    +

    Создание примитива верхнего уровня и управление им.

    -

    +

    СИНТАКСИС

    -      toplevel  ??
    +      toplevel имяПути ?параметры?
         
    -

    +

    СТАНДАРТНЫЕ ПАРАМЕТРЫ

    • -background
    • @@ -28,214 +28,215 @@
    -

    options.

    +

    Подробное описание этих параметров приведено в разделе options.

    -

    +

    ДОПОЛНИТЕЛЬНЫЕ ПАРАМЕТРЫ ПРИМИТИВА

    - - - + + +
    :-background
    :background
    :Background
    Имя параметра:-background
    Имя в Базе:background
    Класс в Базе:Background
    -

    - background , - . - , , - .

    +

    Этот параметр по смыслу совпадает со стандартным параметром + background за исключением того, что его + значением может являться и пустая строка. В последнем случае при + выводе примитива не появляется ни фона, ни бордюра, и для них не + используется ни одна из красок его палитры.

    - - - + + +
    :-class
    :class
    :Class
    Имя параметра:-class
    Имя в Базе:class
    Класс в Базе:Class
    -

    . - ; - . -class - +

    Задает класс окна. Этот класс используется при запросах базы + данных параметров о значениях других параметров примитива; а + также при определении привязок. Параметр -class + нельзя переопределить командой примитива configure.

    - - - + + +
    :-colormap
    :colormap
    :Colormap
    Имя параметра:-colormap
    Имя в Базе:colormap
    Класс в Базе:Colormap
    -

    , . - new ( - ), - ( - -visual, - ). -colormap - , - . -colormap - +

    Задает палитру, используемую в окне. Значением параметра может + быть либо new (и в этом случае для данного окна + и его потомков создается новая палитра), либо имя другого окна + (которое должно находиться на том же экране и иметь то же + значение параметра -visual, что и + имяПути). Если параметр -colormap не + задан, то новое окно использует палитру экрана по + умолчанию. Параметр -colormap нельзя + переопределить командой примитива configure.

    - - - + + +
    :-container
    :container
    :Container
    Имя параметра:-container
    Имя в Базе:container
    Класс в Базе:Container
    -

    . - , , - (, - Tk - -use). - , , - . -container - +

    Значение параметра должно быть булевским. Если его значение + истина, то окно будет использоваться в качестве контейнера, в + который будет вставляться некоторое другое приложение (например, + можно вставить примитив верхнего уровня Tk с помощью параметра + -use). Окно будет поддерживать соответствующие протоколы + управления окнами, например, для обработки геометрических + запросов. Параметр -container нельзя + переопределить командой примитива configure.

    - - - + + +
    :-height
    :height
    :Height
    Имя параметра:-height
    Имя в Базе:height
    Класс в Базе:Height
    -

    , - Tk_GetPixels. - , .

    +

    Задает желаемую высоту окна в любом виде, приемлемом для + Tk_GetPixels. Если введенное значение + неположительно, то место для окна вообще не запрашивается.

    - - - + + +
    :-menu
    :menu
    :Menu
    Имя параметра:-menu
    Имя в Базе:menu
    Класс в Базе:Menu
    -

    , . - Macintosh - . Microsoft Windows UNIX - - .

    +

    Задает примитив меню, используемый в качестве полосы меню. На + Macintosh полоса меню будет выведена вверху основного + монитора. В Microsoft Windows и на всех платформах UNIX меню + выводится поверх окна верхнего уровня как деталь оформления окна + менеджером окон.

    - - - + + +
    :-screen
    :
    :
    Имя параметра:-screen
    Имя в Базе:
    Класс в Базе:
    -

    , . - , - . - . -screen - +

    Задает экран, на котором следует разместить новое окно. Может + быть использовано произвольное допустимое имя экрана, в том + числе и отличное от текущего. По умолчанию значением является + имя текущего экрана. Параметр -screen является + специальным и его нельзя переопределить командой примитива configure.

    - - - + + +
    :-use
    :use
    :Use
    Имя параметра:-use
    Имя в Базе:use
    Класс в Базе:Use
    -

    . - , - -, , - , window - id. - , - . - Tk, - , , - - -container. -use - +

    Используется для вставки. Если значение параметра отлично от + пустой строки, то оно должно быть идентификатором + окна-контейнера, заданным в виде шестнадцатиричной строки, в том + виде, в котором возвращает результат команда window + id. Примитив верхнего уровня будет создаваться как + непосредственный потомок указанного контейнера, а не корневого + окна экрана. Если окно-контейнер содержится в приложении Tk, то + оно должно быть либо рамкой, либо примитивом верхнего уровня, + для которого задан параметр + -container. Параметр -use + нельзя переопределить командой примитива configure.

    - - - + + +
    :-visual
    :visual
    :Visual
    Имя параметра:-visual
    Имя в Базе:visual
    Класс в Базе:Visual
    -

    , - Tk_GetVisual. , - . - -visual +

    Задает внешний вид окна в любом виде, приемлемом для + Tk_GetVisual. Если параметр не задан, то + используется его значение по умолчанию для экрана. Параметр + -visual нельзя переопределить командой примитива configure.

    - - - + + +
    :-width
    :width
    :Width
    Имя параметра:-width
    Имя в Базе:width
    Класс в Базе:Width
    -

    , - Tk_GetPixels. - , .

    +

    Задает желаемую ширину окна в любом виде, приемлемом для + Tk_GetPixels. Если введенное значение + неположительно, то место для окна вообще не запрашивается.

    -

    +

    ОПИСАНИЕ

    -

    toplevel - ( ). - , - , - . toplevel - .

    +

    Команда toplevel создает новый примитив + верхнего уровня (задаваемый аргументом имяПути). Детали + изображения примитива верхнего уровня, такие как цвет его фона и + объемный вид, задаются с помощью описанных выше дополнительных + параметров. Команда toplevel возвращает + аргумент имяПути.

    -

    ; , - : - X , , - . - - . - - , - .

    +

    Примитив верхнего уровня похож на рамку; отличие состоит в том, + что он создается как окно верхнего уровня: его непосредственным + X предком является корневое окна экрана, а не логический предок, + определяемый именем пути. Основная задача примитива верхнего + уровня служить контейнером для диалоговых окон и других наборов + примитивов. Единственными параметрами вывода примитива верхнего + уровня являются цвет его фона и необязательный трехмерный + бордюр, который позволяет примитиву выглядеть выпуклым или + вдавленным.

    -

    +

    КОМАНДА ПРИМИТИВА

    -

    toplevel Tcl, - . - - .

    +

    Команда toplevel создает новую команду Tcl, + имя которой совпадает с именем окна примитива верхнего уровня. С + помощью этой команды можно выполнять различные операции над + примитивом. Ее общий вид

    -          ...
    +      имяПути параметр арг арг ...
         
    -

    , - . - .

    +

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

    -

    :

    +

    Примитивы верхнего уровня допускают следующие команды:

    -
    cget
    +
    имяПути cget параметр
    -
    - . - toplevel
    +
    Возвращает текущее значение параметра конфигурации с именем + параметр. Параметр может быть любым из параметров + команды toplevel
    -
    configure ?? - ? ...
    +
    имяПути configure ?параметр? + ?значение параметр значение ...
    -
    - . , - , - ( - Tk_ConfigureInfo). - , , - , - . - -, - . - . - toplevel.
    +
    Запрашивает значения параметров конфигурации примитива или + изменяет их. Если параметр не указан, то возвращает + список, содержащий значения всех допустимых в + имениПути параметров (формат списка описан в + Tk_ConfigureInfo). Если параметр + задан, а его новое значение нет, то команда + возвращает часть полного списка, относящуюся к указанному + параметру. Если заданы одна или несколько пар + параметр-значение, то указанным параметрам + примитива присваиваются новые значения. В этом случае + команда возвращает пустую строку. Параметр может быть + любым из параметров команды toplevel.
    -

    +

    ПРИВЯЗКИ

    -

    - : .

    +

    При создании примитива верхнего уровня никаких привязок не + создается: эти примитивы не предполагаются интерактивными.

    + diff --git a/hlp/ru/tk/update.html b/hlp/ru/tk/update.html index 4c7ec7b..4f5c003 100644 --- a/hlp/ru/tk/update.html +++ b/hlp/ru/tk/update.html @@ -1,4 +1,4 @@ - + update @@ -7,39 +7,40 @@

    update

    -

    update , - , (idle callbacks).

    +

    Команда update обрабатывает события, находящиеся в + состоянии ожидания, и обратные вызовы (idle callbacks).

    -

    +

    СИНТАКСИС

           update idletasks
         
    -

    +

    ОПИСАНИЕ

    -

    , - - (idle +

    С помощью этой команды обновляется состояние приложения, + поскольку при ее вызове обрабатываются все необработанные + события и выполняются все асинхронные вызовы (idle callbacks).

    -

    idletasks, - , - . update idletasks - , , - , , - . - , - . , , - .

    +

    Если в команде задана опция idletasks, то новые события + и ошибки не обрабатываются, но выполняются все асинхронные + вызовы. Команду update idletasks удобно использовать + тогда, когда нужно выполнить немедленно действия, которые обычно + откладываются, например, обновить отображаемые на дисплее данные + или окна. Большинство обновлений изображений на дисплее + выполняются в виде фоновых вызовов, и эта команда обеспечит их + выполнение. Однако, если изменения были вызваны событиями, они + не будут выполнены немедленно.

    -

    update , - - , , - . update - .

    +

    Команда update без опций полезна в тех случаях, когда во + время долго выполняющихся вычислений необходимо обеспечить + оперативную реакцию приложения на события, например, на действия + пользователя. Вызов команды update и обеспечивает обработку + таких событий.

    + diff --git a/hlp/ru/tk/winfo.html b/hlp/ru/tk/winfo.html index 465cef4..2547531 100644 --- a/hlp/ru/tk/winfo.html +++ b/hlp/ru/tk/winfo.html @@ -1,4 +1,4 @@ - + winfo @@ -6,414 +6,415 @@

    winfo

    -

    winfo - - .

    +

    winfo -возвращает информацию об + окне.

    -

    +

    СИНТАКСИС

           winfo option ?arg arg ..?
         
    -

    +

    ОПИСАНИЕ

    -

    winfo - , Tk. - . - :

    +

    Команда winfo позволяет получать информацию об + окнах, созданных с помощью Tk. Команда имеет несколько + допустимых форм в зависимости от указанных опций. Ниже + перечислены допустимые формы команды:

    winfo atom ?-displayof window? name
    -
    - (, ). name - , . - . - -displayof window, - , - . , - - .
    +
    Команда возвращает десятичную строку числовой идентификатор + атома (напрмер, виджета). Если атома name не + существует, он создается. А после создания соответствующего + виджета он получает этот идентификатор атома. Если указана + опция -displayof window, + атом ищется на том же дисплее, на котором находится + указанное окно. В противном случае атом ищется на дисплее, на + котором размещено главное окно + приложения.
    winfo atomname ?-displayof window? id
    -
    - id. -displayof - window, , - . - , . - winfo - atom. , - .
    +
    Возвращает текстовое имя атома с идентификатором + id. Если указана опция -displayof + window, атом ищется на том же дисплее, на котором + находится указанное окно. В противном случае атом ищется на + дисплее, на котором размещено главное окно приложения. Команда + является обратной к команде winfo + atom. Команда возвращает код ошибки, если атом не + существует.
    winfo cells window
    -
    - window.
    +
    Команда возвращает десятичную строку число возможных цветов + в палитре для window.
    winfo children window
    -
    - window. , - . Toplevel- - .
    +
    Возвращает список полных имен всех потомков окна + window. Потомки перечисляются в порядке стека, + начиная с нижних. Toplevel-окна также считаются потомками + своих логических предков.
    winfo class window
    -
    window.
    +
    Возвращает класс окна window.
    winfo colormapfull window
    -
    1, , (colormap) - , 0 . - , - , - .
    +
    Возвращает 1, если известно, что палитра (colormap) + окна заполнена, и 0 в противном случае. Палитра считается + заполненной, если последняя попытка разместить в ней еще один + цвет окончилась неуспешно, а приложение не освободило с того + момента не одного цвета в палитре.
    winfo containing ?-displayof window? rootX rootY
    -
    , - rootX rootY. - ( , Tk) - ( - , - ). -displayof - window, , - window. - , - . - , - . (, - , ), - . " " - , .
    +
    Возвращает имя окна, содержащего точку с координатами + rootX и rootY. Координаты задаются в + экранных единицах (в любой форме, поддерживаемой Tk) в системе + координат корневого окна (если используется менеджер + виртуального корневого окна, координаты задаются в его системе + координат). Если указана опция -displayof + window, окно ищется на дисплее, + содержащем window. В противном случае + координаты считаются указанными для дисплея, на котором + размещено главное окно приложения. Если данная точка не + содержится ни в каком окне приложения, возвращается пустая + строка. Если точка содержится в нескольких виджетах (например, + в кнопке, лежащей в рамке), преимущество имеют логические + потомки. Из окон "одного поколения" выбирается + окно, лежащее выше других в стеке.
    winfo depth window
    -
    " " - window.
    +
    Возвращает "глубину цвета" число бит на пиксель + изображения для окна window.
    winfo exists window
    -
    1, window, 0 - .
    +
    Возвращает 1, если существует окно window, и 0 в + противоположном случае.
    winfo fpixels window number
    -
    (, ), - number. - , - Tk, , 2.0c - 1i. , - winfo pixels.
    +
    Возвращает число пикселей (дробное, с плавающей точкой), + соответствующее на экране расстоянию number. + Расстояние может быть указано в любой форме, поддерживаемой + Tk, например, 2.0c или + 1i. Чтобы получить целое число пикселей, + можно использовать команду winfo pixels.
    winfo geometry window
    -
    - x+x+y. - .
    +
    Возвращает размеры и положение окна в форме + ширинаxвысота+x+y. + Все размеры приводятся в пикселях.
    winfo height window
    -
    , - . , 1 - . - . , - , - update, - - , winfo reqheight, - , - .
    +
    Возвращает десятичную строку, содержащую высоту окна в + пикселях. Когда окно только что создано, его размер 1 + пиксель. Через некоторое время оно принимает правильные + размеры. Однако, если вы хотите получить правильные размеры + окна сразу после его создания, используйте перед этим команду + update, которая + приведет к прорисовке окна и формированию его правильных + размеров, либо команду winfo reqheight, + которая возвращает требуемые, а не реальные размеры + окна.
    winfo id window
    -
    - . Unix- - X-window . Windows Windows HWND. - Macintosh +
    Возвращает шестнадцатеричную строку зависящий от платформы + идентификатор низкого уровня для окна. На Unix-платформах это + X-window идентификатор. Под Windows это Windows HWND. На + Macintosh этот идентификатор не имеет смысла вне Tk.
    winfo interps ?-displayof window?
    -
    Tcl- (, - Tk-), - . - ?-displayof window?, - , window. - , - .
    +
    Возвращает список всех Tcl-интерпретаторов (например, + Tk-приложений), зарегистрированных в текущий момент на + определенном дисплее. Если задана опция + ?-displayof window?, имеется в виду + дисплей, на котором находится окно window. В + противном случае дисплей, на котором находится главное окно + приложения.
    winfo ismapped window
    -
    1, , - 0 .
    +
    Возвращает 1, если окно в данный момент размещено на экране, + и 0 в противном случае.
    winfo manager window
    -
    , - , , . - Tcl- - , , pack place. - toplevel- wm, - , - , canvas.
    +
    Возвращает имя геометрического менеджера, с помощью которого + размещено окно, или пустую строку, если окно не размещено. Для + виджетов возвращается как правило имя Tcl-команды для + соответствующего менеджера, например, pack или place. Для + toplevel-окон возвращается wm, для встроенных + окон имя команды для соответствующего класса виджетов, + например, canvas.
    winfo name window
    -
    , - . winfo - name - .
    +
    Возвращает имя окна, то есть имя относительно родителя в + отличие от полного имени. Команда winfo + name возвращает имя + приложения.
    winfo parent window
    -
    - .
    +
    Возвращает имя логического родителя окна или пустую строку + для главного окна приложения.
    winfo pathname ?-displayof window? id
    -
    X- - id. , - - . +
    Возвращает полное имя окна с X-идентификатором + id. Идентификатор может быть десятичным, + шестнадцатеричным или восьмеричным числом и должен + принадлежать одному из окон приложения. Если указана опция -displayof window, - , - . , - - .
    + окно ищется на том же дисплее, на котором находится + указанное окно. В противном случае окно ищется на дисплее, на + котором размещено главное окно + приложения.
    winfo pixels window number
    -
    , - number. - , Tk, , - 2.0c 1i. - . - , winfo +
    Возвращает число пикселей, соответствующее на экране + расстоянию number. Расстояние может быть указано в + любой форме, поддерживаемой Tk, например, + 2.0c или 1i. Результат + округляется до ближайшего целого. Чтобы получить дробное число + пикселей, можно использовать команду winfo fpixels.
    winfo pointerx window
    -
    "" , - , x- - . - , - . "" - , "-1".
    +
    Если указатель "Мыши" находится на том же экране, + что и окно, возвращает x- координату пойнтера в пикселях в + системе координат корневого окна. Если на экране есть + виртуальное корневое окно, возвращаются координаты в его + системе координат. Если пойнтера "Мыши" на данном + экране нет, возвращается "-1".
    winfo pointerxy window
    -
    "" , - , , x- y- - . - , - . - "" , +
    Если указатель "Мыши" находится на том же экране, + что и окно, возвращает список, содержащий x- и y-координаты + пойнтера в пикселях в системе координат корневого окна. Если + на экране есть виртуальное корневое окно, возвращаются + координаты в его системе координат. Если пойнтера + "Мыши" на данном экране нет, возвращается "-1".
    winfo pointery window
    -
    "" , - , y- - . - , - . "" , - "-1".
    +
    Если указатель "Мыши" находится на том же экране, что + и окно, возвращает y-координату пойнтера в пикселях в системе + координат корневого окна. Если на экране есть виртуальное + корневое окно, возвращаются координаты в его системе + координат. Если пойнтера "Мыши" на данном экране нет, + возвращается "-1".
    winfo reqheight window
    -
    , - . , - .
    +
    Возвращает десятичную строку, содержащую необходимую высоту + окна. Это та величина, которая используется менеджером окна + при расчете его размеров.
    winfo reqwidth window
    -
    , - . , - .
    +
    Возвращает десятичную строку, содержащую необходимую ширину + окна. Это та величина, которая используется менеджером окна + при расчете его размеров.
    winfo rgb window color
    -
    , - , - color window. - , - .
    +
    Возвращает список из трех десятичных величин, указывающих + интенсивность красного, зеленого и синего цвета для цвета + color в окне window. Цвет может быть задан в + любой форме, в которой он может задаваться в соответствующих + опциях.
    winfo rootx window
    -
    , x- - ( , - ) - .
    +
    Возвращает десятичную строку, содержащую x-координату левого + верхнего угла рамки окна (или самого окна, если оно не имеет + рамки) в системе координат корневого + окна.
    winfo rooty window
    -
    , y- - ( , - ) - .
    +
    Возвращает десятичную строку, содержащую y-координату левого + верхнего угла рамки окна (или самого окна, если оно не имеет + рамки) в системе координат корневого + окна.
    winfo screen window
    -
    , , - ..
    +
    Возвращает имя экрана, на котором отображается окно, в форме + ИмяДисплея.ИндексЭкрана.
    winfo screencells window
    -
    , - .
    +
    Возвращает число цветов в палитре по умолчанию для экрана, + содержащего данное окно.
    winfo screendepth window
    -
    " " - , window.
    +
    Возвращает "глубину цвета" число бит на пиксель изображения + для экрана, содержащего окно window.
    winfo screenheight window
    -
    , , - window, - .
    +
    Возвращает десятичную строку, содержащую высоту экрана, + содержащего окно window, в + пикселях.
    winfo screenmmheight window
    -
    , , - window, - .
    +
    Возвращает десятичную строку, содержащую высоту экрана, + содержащего окно window, в + миллиметрах.
    winfo screenmmwidth window
    -
    , , - window, - .
    +
    Возвращает десятичную строку, содержащую ширину экрана, + содержащего окно window, в + миллиметрах.
    winfo screenvisual window
    -
    , ( ) - , window: +
    Возвращает одну из строк, указывающих класс (по умолчанию) + экрана, на котором находится окно window: directcolor, grayscale, pseudocolor, staticcolor, - staticgray, + staticgray, или truecolor.
    winfo screenwidth window
    -
    , , - window, - .
    +
    Возвращает десятичную строку, содержащую ширину экрана, + содержащего окно window, в + пикселях.
    winfo serverwindow
    -
    , , - . - . X- - "XmajorRminor vendor vendorVersion" - major minor - (, X11R5), vendor - , vendorRelease , - .
    +
    Возвращает строку, содержащую информацию о сервере дисплея, + на котором находится окно. Точная форма строки зависит от + платформы. Для X-сервера строка имеет вид + "XmajorRminor vendor vendorVersion" где + major и minor соответственно версия и релиз + сервера (например, X11R5), vendor + имя поставщика, vendorRelease номер релиза сервера, + назначенный поставщиком.
    winfo toplevel window
    -
    toplevel-, +
    Возвращает полное имя ближайшего toplevel-окна, содержащего window.
    winfo viewable window
    -
    1, toplevel - , 0 .
    +
    Возвращает 1, если окно и его предки вплоть до ближайшего toplevel + размещены, и 0 в противном случае.
    winfo visual window
    -
    , +
    Возвращает одну из строк, указывающих класс окна window: directcolor, grayscale, pseudocolor, - staticcolor, staticgray, + staticcolor, staticgray, или truecolor.
    winfo visualid window
    -
    X- ( - winfo visual) +
    Возвращает X-идентификатор класса (возвращаемого командой + winfo visual) для окна window.
    winfo visualsavailable window ?includeids?
    -
    , , - , . - . - , winfovisual. - . - includeids, - X- .
    +
    Возвращает список, элементы которого описывают режимы, + допустимые для экрана, содержащего окно. Каждый элемент + состоит из имени класса и глубины цвета. Имена класса такие + же, как для команды winfovisual. Глубина + указывает число битов на пиксель. Если задана опция + includeids, за глубиной следует + X-идентификатор класса.
    winfo vrootheight window
    -
    - window, . - , +
    Возвращает высоту виртуального корневого окна для + window, если такое есть. В противном случае + возвращает высоту экрана, на котором размещено окно window.
    winfo vrootwidth window
    -
    - window, . - , +
    Возвращает ширину виртуального корневого окна + дляwindow, если такое есть. В противном случае + возвращает ширину экрана, на котором размещено окно window.
    winfo vrootx window
    -
    x- - . 0 - . - , 0.
    +
    Возвращает x-координату корневого окна в системе координат + виртуального корневого окна. Обычно 0 или + отрицательное число. Если виртуального корневого окна на + существует, возвращает 0.
    winfo vrooty window
    -
    y- - . 0 - . , - 0.
    +
    Возвращает y-координату корневого окна в системе координат + виртуального корневого окна. Обычно 0 или отрицательное + число. Если виртуального корневого окна на существует, + возвращает 0.
    winfo width window
    -
    , - . , 1 - . - . , - , - update, - , - winfo reqwidth, - , - .
    +
    Возвращает десятичную строку, содержащую ширину окна в + пикселях. Когда окно только что создано, его размер 1 + пиксель. Через некоторое время оно принимает правильные + размеры. Однако, если вы хотите получить правильные размеры + окна сразу после его создания, используйте перед этим команду + update, которая приведет к прорисовке окна и + формированию его правильных размеров, либо команду + winfo reqwidth, которая + возвращает требуемые, а не реальные размеры + окна.
    winfo x window
    -
    , x- - ( , - ) - .
    +
    Возвращает десятичную строку, содержащую x-координату левого + верхнего угла рамки окна (или самого окна, если оно не имеет + рамки) в системе координат окна + предка.
    winfo y window
    -
    , x- - ( , - ) .
    +
    Возвращает десятичную строку, содержащую x-координату левого + верхнего угла рамки окна (или самого окна, если оно не имеет + рамки) в системе координат окна предка.
    + diff --git a/hlp/ru/tk/wm.html b/hlp/ru/tk/wm.html index 98891c9..c343b2b 100644 --- a/hlp/ru/tk/wm.html +++ b/hlp/ru/tk/wm.html @@ -1,526 +1,527 @@ - + Wm

    Wm

    -

    .

    +

    Команда взаимодействия с менеджером окон.

    -

    +

    СИНТАКСИС

    wm option window ?args?
    -

    +

    ОПИСАНИЕ - wm - - , , -, . - . - toplevel . +Команда wm предназначена для +взаимодействия с менеджером окон и обеспечивает таким образом +управление такими атрибутами окон, как заголовок, размеры и +размещение, возможность изменять размер. Команда имеет несколько +форм в зависимости от используемых опций. Во всех формах команда +предполагает наличие по крайней мере одного аргумента имени toplevel окна. -

    . +

    Ниже перечислены возможные формы команды.

    wm aspect window minNumer minDenom maxNumer maxDenom
    -

    minNumer, minDenom, maxNume maxDenom -, -, -. ( ) - minNumer/minDenom maxNumer/maxDenom. - minNumer .. , - . -minNumer .. , -. - minNumer, minDenom, maxNumer, maxDenom -( , ). +

    Если аргументы minNumer, minDenom, maxNume и maxDenom +заданы, они передаются менеджеру +окон, который использует их для определения допустимых пропорций +окна. Пропорции (отношение ширина высота) могут быть в диапазоне +от minNumer/minDenom до maxNumer/maxDenom. Если +аргументы minNumer и т.д. определены как пустые строки, то +существующие ограничения на пропорции отменяются. Если аргументы +minNumer и т.д. заданы, то команда возвращает пустое +значение. В противном случае она возвращает список из четырех +элементов текущих значений minNumer, minDenom, maxNumer, и maxDenom +(если ограничения не заданы, возвращается пустая строка).

    wm client window name

    -

    name (name - , ), - WM_CLIENT_MACHINE - . - . -name , - . name - , WM_CLIENT_MACHINE .
    +

    Если имя name указано (name должно +быть именем компьютера, на котором исполняется приложение), то +оно сохраняется в свойстве окна WM_CLIENT_MACHINE и может +использоваться менеджером окон или менеджером сессий. В этом +случае команда возвращает пустую строку. Если аргумент +name не задан, команда возвращает последнее установленное +ранее значение свойства. Если аргумент name определен как +пустая строка, свойство окна WM_CLIENT_MACHINE удаляется.

    wm colormapwindows window ?windowList?

    -

    -WM_COLORMAP_WINDOWS, - , . -windowList , , - . , - . - . - , - . , -, , -, . - . -, Tk - toplevel . -, , . - toplevel . -WM_COLORMAP_WINDOWS (1).

    +

    Эта команда используется для управления свойством +WM_COLORMAP_WINDOWS, которое обеспечивает менеджер окон +информацией об окнах, имеющих собственную палитру. Если аргумент +windowListне задан, команда возвращает список окон, +имеющих собственную палитру. Если аргумент задан, он представляет +собой список полных имен окон. Команда изменяет старое значение +свойства на новое и возвращает пустую строку. Список окон +перечисляет внутренние окна, палитра которых отличается от +палитры их логических предков. Порядок, в котором перечислены +окна, указывает порядок, в котором менеджер окон просматривает +окна, пытаясь разместить новые цвета в палитре. Не указанные в +списке окна обрабатываются в последнюю очередь. Если команда не +использовалась, Tk автоматически устанавливает свойство для +каждого toplevel окна. В списке перечисляются все его внутренние +окна, имеющие собственную палитру, в случайном порядке. В конце +списка указывается само toplevel окно. Более подробно свойство +WM_COLORMAP_WINDOWS описано в (1).

    wm command window value

    -

    value , - WM_COMMAND, - . - . value - , , - (. wmuse).

    +

    Если аргумент value задан, команда +сохраняет его значение в свойстве окна WM_COMMAND, которое +используется менеджером окон или менеджером сессий. В этом случае +команда возвращает пустую строку. Аргумент value должен +содержать список, элементы которого являются словами команды, +используемой для запуска приложения (см. также wmuse).

    -

    value , - . name - , WM_COMMAND -.

    +

    Если аргумент value не задан, команда возвращает последнее +установленное ранее значение свойства. Если аргумент name +определен как пустая строка, свойство окна WM_COMMAND +удаляется.

    wm deiconify window

    -

    - ( , ,). - , -, , , - . -.

    +

    Заставляет окно появиться на экране в нормальном +виде (а не в виде иконки, например,). Если окно ранее не +появлялось на экране, выполнение команды не приведет к его +появлению, но она гарантирует, что если в будущем окно появится, +оно появится в нормальном виде. Команда возвращает пустую +строку.

    wm focusmodel windowactive|passive

    -

    (active -passive) , - . - . , - . , - , - . -, , - . , , - , - . .

    +

    Если тип фокуса для (active или +passive) окна указан в команде, он определяет какой тип +фокуса будет использоваться. В этом случае команда возвращает +пустую строку. Если тип фокуса не указан, команда возвращает +текущее значение типа. Активный тип фокуса означает, что окно +запрашивает фокус ввода себе или своим потомкам, даже если в этот +момент фокус находится в другом приложении. Пассивный фокус +означает, что окно не запрашивает фокус, а получает его от +менеджера окон. Однако, после того, как окно или один из его +потомков получил фокус, приложение может передать его другому +потомку окна. По умолчанию устанавливает пассивный фокус.

    wm frame window

    -

    - , - , (, - ). - . -, , - . +

    Если окно заключено менеджером окон в +декоративную рамку, команда возвращает идентификатор самой +внешней рамки, которая содержит окно (окно, являющееся потомком +корневого окна или виртуального корневого окна). Вид +идентификатора зависит от платформы. Если окно не заключено в +рамку, возвращается идентификатор окна, вид которого также +зависит от платформы.

    wm geometry window newGeometry

    -

    newGeometry, - , . - - ( , - wm). -newGeometry -=xxy, -=x xy . - , - . -(. . -.), . - . X Y - . -x .+., x - , - x - . y .+., y - -, y - . newGeometry - , - , - .

    +

    Если задан аргумент newGeometry, размеры и размещение +окна изменяются, а команда возвращает пустую строку. В противном +случае возвращается последняя информация о размерах и размещении +окна (независимо от того, была ли она задана путем изменения +размеров окна вручную или с помощью команды wm). Аргумент +newGeometry должен быть задан в следующем виде +=ширинаxвысота╠x╠y, где любая из частей +=ширинаxвысота или ╠x╠y может быть опущена. Ширина +и высота должны быть положительными целыми числами, задающими +желаемый размер окна. Если для окна задана сетка +(см. .Управление окнами с +сеткой.), размеры указываются в шагах сетки. В противном +случае размеры указываются в пикселях. X и Y определяют +желаемое размещение окна на экране в пикселях. Если перед +x стоит .+., то величина x определяет +расстояние от левого края экрана до левого края окна, в противном +случае x задает расстояние от правого края экрана до +правого края окна. Если перед y стоит .+., то величина y +определяет расстояние от верхнего края экрана до верхнего края +окна, в противном случае y задает расстояние от низа +экрана до нижнего края окна. Если аргумент newGeometry +задан как пустая строка, текущие установленные пользователем +размеры окна отменяются и окно приобретает размеры, определяемые +размерами составляющих его виджетов.

    wm grid window baseWidth baseHeight widthInc heightInc

    -

    - . BaseWidth -baseHeight - (, ). WidthInc - heightInc - . , - . - wm geometry - . , - () - -.
    - BaseWidth -, , .
    +

    Команда определяет наличие сетки в окне и +позволяет задать шаг сетки в пикселях. BaseWidth и +baseHeight определяют в единицах сетки исходный размер +окна (определяемый, исходя из размеров виджетов). WidthIncheightInc определяют соответственно горизонтальный и +вертикальный шаг сетки. Таким образом, эти четыре величины +определяют множество допустимых размеров окна. После выполнения +этой команды команда wm geometry считает размеры окна +заданными в шагах сетки. Более того, при ручном изменении +размеров менеджер окон показывает размер окна в шагах (ячейках) +сетки и позволяет изменять размер только дискретно в целых шагах +сетки.
    +Если BaseWidth и последующие аргументы команды пустые +строки, команда указывает, что окно больше не имеет сетки.
    -

    BaseWidth -, . - , - BaseWidth . - .
    +

    Если BaseWidth и последующие аргументы +заданы, команда возвращает пустую строку. В противном случае +команда возвращает список из четырех элементов, содержащий +текущие значения BaseWidth и последующих аргументов. Если +окно не имеет сетки возвращается пустая строка.
    -

    . -wm grid , - , , - setGrid .

    +

    Замечание. Потребность в использовании команды +wm grid возникает относительно редко, поскольку той же +функциональности поведения окна можно добиться, например, с +помощью опции setGrid в командах создания виджетов.

    wm group window pathName

    -

    pathName , -pathName window. - , , , - , - . pathName - , window - .
    - pathName , -. - window , -.

    +

    Если аргумент pathName указан, окно +pathName становится лидером группы для window. +Менеджер окон использует эту информацию, например, для того, +чтобы одновременно выводить с экрана все окна группы, если +сворачивается лидер группы. Если аргумент pathName +представлен пустой строкой, окно window выводится из +состава группы.
    +Если аргумент pathName задан, команда возвращает пустую +строку. В противном случае команда возвращает имя текущего лидера +группы для окна window или пустую строку, если лидер не +определен.

    wm iconbitmap window bitmap

    -

    bitmap , - , - . - :

    +

    Если аргумент bitmap задан, он определяет +имя растрового образа, которое передается менеджеру окон для +использования в качестве иконки. Имя образа может быть задано в +одной из следующих форм:

    -
    @ - , X11 X10
    +
    @ИмяФайла файл должен содержать описание растрового +рисунка в формате, соответствующем стандарту X11 или X10
    -
    name bitmap, .
    +
    name имя образа типа bitmap, ранее созданного в приложении.
    -
    bitmap , .
    +
    Если аргумент bitmap представляет собой пустую строку, отменяется использование ранее заданного образа.
    -
    bitmap , . , , , .
    +
    Если аргумент bitmap задан, команда возвращает пустую строку. В противном случае команда возвращает имя образа, используемого джля иконки, либо пустую строку, если образ не задан.

    wm iconify window

    -

    . , , , .

    +

    Команда сворачивает указанное окно. Если окно еще не было размещено на экран, оно появится, когда это произойдет, в виде иконки.

    wm iconmask window bitmap

    -

    bitmap , - , - . , - .0., ; , - .1., . - :

    +

    Если аргумент bitmap задан, он определяет +имя растрового образа, которое передается менеджеру окон для +использования в качестве маски для иконки. Там, где маска имеет +значение .0., образ иконки не отображается; там, где маска имеет +значение .1., маска рисуется. Имя образа может быть задано в +одной из следующих форм:

    -

    @ , X11 X10;
    +

    @ИмяФайла файл должен содержать описание растрового рисунка в формате, соответствующем стандарту X11 или X10;
    -

    name bitmap, .
    +

    name имя образа типа bitmap, ранее созданного в приложении.
    -

    bitmap , ( ).
    +

    Если аргумент bitmap представляет собой пустую строку, отменяется использование ранее заданной маски (это эквивалентно заданию маски из одних единиц).
    -

    bitmap , . , , , .
    +

    Если аргумент bitmap задан, команда возвращает пустую строку. В противном случае команда возвращает имя образа, используемого для маски для данного окна, либо пустую строку, если маска не задана.

    wm iconname window ?newName?
    -

    newName , . . newName , ; , ( , wmtitle).
    +

    Если аргумент newName задан, он передается менеджеру окон для использования в качестве имени иконки для окна. В этом случае команда возвращает пустую строку. Если аргумент newNameне задан, команда возвращает текущее имя иконки для окна; если имя иконки не задано, команда возвращает пустую строку (в этом случае менеджер окон использует в качестве имени иконки имя окна, заданное с помощью команды wmtitle).

    wm iconposition window x y
    -

    x y , - - window. - . x y - , - . x -y , -( , ).
    +

    Если аргументы x и y заданы, они +передаются менеджеру окон и используются как подсказка при +размещении иконки окна window. В этом случае команда +возвращает пустую строку. Если x и y представляют +собой пустые строки, команда отменяет ранее определенную +подсказку для размещения иконки. Если аргументы x и +y не заданы, команда возвращает текущее значение подсказки +(или пустую строку, если она не задана).

    wm iconwindow window pathName
    -

    pathName , - , - window: window , - pathName, -. window , -pathName . pathName - , - .
    +

    Если аргумент pathName указан, он +определяет имя окна, которое используется в качестве иконки для +окна window: кодгда окно window свертывается, +появляется окно pathName, которое используется в качестве +иконки. Когда окно window разворачивается, окно +pathName выводится с экрана. Если аргумент pathName +представляет собой пустую строку, ранее определенное окно больше +не используется как иконка.
    -

    pathName , -. , - , , - .
    -

    .. - , .
    +

    Если аргумент pathName указан, команда возвращает пустую +строку. В противном случае команда возвращает имя окна, ранее +заданного в качестве иконки, или пустую строку, если ранее оно не +было задано.
    +

    Нажатие на кнопку .Мыши. в окне-иконке не обрабатываются приложением, что позволяет обрабатывать эти события менеджеру окон.
    -

    . Tk- .
    +

    Замечание. Не все менеджеры окон позволяют использовать Tk-окно в качестве иконки.

    wm maxsize window width height
    -

    width height -, . - , . - . - , .
    - width height , - , -, : -. -. -wm resizable, wmmaxsize -. -(. .)
    +

    Если аргументы width и height +заданы, они задают максимальный возможный размер окна. Если в +окне определена сетка, размеры указываются в шагах сетки. В +противном случае размеры указываются в пикселях. Менеджер окон не +позволяет окну становиться больше, чем задано в команде.
    +Если аргументы width и height заданы, команда +возвращает пустую строку, в противном случае она возвращает +список, содержащий два элемента: текущие ограничения на размер +окна. По умолчанию максимальные размеры окна равны размеру +экрана. Если изменение размеров окна запрещено с помощью команды +wm resizable, команда wmmaxsize не влияет на +окно. Более подробно этот вопрос рассмотрен ниже +(см. Управление геометрией.)

    wm minsize window width height> -


    width height -, . - , . - . - , .
    - width height , - , -, : -. - . - wm resizable, wm maxsize - . -(. .).
    +

    Если аргументы width и height +заданы, они задают минимальный возможный размер окна. Если в окне +определена сетка, размеры указываются в шагах сетки. В противном +случае размеры указываются в пикселях. Менеджер окон не позволяет +окну становиться меньше, чем задано в команде.
    +Если аргументы width и height заданы, команда +возвращает пустую строку, в противном случае она возвращает +список, содержащий два элемента: текущие ограничения на размер +окна. По умолчанию минимальные размеры окна равны одному пикселю +в каждом направлении. Если изменение размеров окна запрещено с +помощью команды wm resizable, команда wm maxsize не +влияет на окно. Более подробно этот вопрос рассмотрен ниже +(см. Управление геометрией.).

    wm overrideredirect window boolean

    -

    boolean , - . -override-redirect . , - .1. .0., , - window.
    - , - . , - - , -.
    +

    Если аргумент boolean задан, он должен +быть булевой величиной. Его значение присваивается +override-redirect флагу окна. Если аргумент не задан, +команда возвращает .1. или .0., в зависимости от того, установлен +ли флаг для window.
    +Установка флага приводит к тому, что окно не управляется +менеджером окон. В частности, окно не будет заключено в +декоративную рамку и пользователь не сможет изменять размеры и +положение окна, используя стандартные механизмы менеджера +окон.

    wm positionfrom window who

    -

    who , - program user ( - ). , - . - - . - user, - . who -, .
    - who , . - - , . - , .. -, , program. Tk - user wm -geometry, +

    Если аргумент who задан, он должен иметь +одно из двух значений program или user (или +произвольное сокращение от одного из них). Оно определяет, будет +ли размещение окна определяться программой или пользователем. +Многие менеджеры окон игнорируют запрошенное программой начальное +размещение окна и требуют от пользователя разместить его вручную. +Если задано значение user, менеджер окон не требует этого +от пользователя. Если аргумент who задан как пустая +строка, текущая установка отменяется.
    +Если аргумент who задан, команда возвращает пустую строку. +В противном случае команда возвращает установленное ранее +значение или пустую строку, если значение не было установлено. +Большинство менеджеров окон считают, что если .источник. не +задан, это то же самое, что program. Tk автоматически +устанавливает значение user при выполнении команды wm +geometry, если ранее не было установлено явно значение program.

    wm protocol window name command
    -

    - () , -WM_DELETE_WINDOW. name, , - () . - name command, -command name. -name WM_PROTOCOLS, - , - , -, - . - . -
    name , command -, , - , . -command , - , - PROTOCOLS window. - . -
    , name, command , - , - .
    +

    Эта команда используется для организации +обработки сообщений (протоколов) менеджера окон, таких как +WM_DELETE_WINDOW. Аргумент name, если он задан, должен +быть именем элемента (атома) протокола менеджера окон. Если +заданы оба аргумента name и command, команда +command ассоциируется с протоколом name. Значение +name добавляется к свойству окна WM_PROTOCOLS, +чтобы указывать менеджеру окон, что приложение имеет обработчика +соответствующего сообщения, и какая команда должна быть выполнена +впоследствии, когда менеджер окон пошлет клиентской программе +соответствующее сообщение. В этом случае команда возвращает +пустую строку. +
    Если аргумент name задан, а command +нет, будет возвращена команда, ассоциированная с данным +протоколом или пустая строка, если такой команды нет. Если +command определена как пустая строка, текущий обработчик +соответствующего события будет отменен, а имя протокола будет +удалено из свойства PROTOCOLS окна window. Команда +возвратит пустую строку. +
    И наконец, если ни name, ни command не заданы, +команда возвратит список протоколов, для которых заданы +обработчики событий для данного окна.
    -

    Tk -WM_DELETE_WINDOW, - wm protocol. -, , WM_DELETE_WINDOW, Tk - , .
    +

    Tk всегда определяет обработчик событий для протокола +WM_DELETE_WINDOW, даже если он не был задан с помощью +команды wm protocol. Если обработчик события не был задан +явно, то, когда поступает сообщение WM_DELETE_WINDOW, Tk +удаляет окно, для которого было получено это сообщение.

    wm resizable window width height
    -

    - . width -height , , -, - . - . width -height , -, .0. .1. , - . - . -

    , - , - , - wm geometry. - , -, . +


    Эта команда управляет возможностью пользователя +интерактивно изменять размеры окна. Если аргументы width и +height заданы, они должны быть булевыми величинами, +определяющими, может ли пользователь изменять в интерактивном +режиме ширину и высоту окна соответственно. Команда при этом +возвращает пустую строку. Если аргументы width и +height отсутствуют, команда возвращает список из двух +элементов, принимающих значение .0. или .1. и указывающих, может +ли пользователь изменять высоту и ширину окна соответственно. По +умолчанию пользователь может изменять размеры окна в обоих направлениях. +

    Если изменение размеров окна пользователем запрещено, то либо +сохраняются те размеры окна, которые были получены в результате +последнего выполненного пользователем изменения размеров, либо +размеры окна устанавливаются с помощью команды wm geometry. +Если этих действий не было, используются размеры +окна, определяемые размерами составляющих его виджетов.


    wm sizefrom window ?who?
    -

    who , - program user ( - ). , - . - - . - user, -. who , - . -
    who , -. -; , - . , -.. , , +

    Если аргумент who задан, он должен иметь +одно из двух значений program или user (или +произвольное сокращение от одного из них). Оно определяет, будет +ли размер окна определяться программой или пользователем. Многие +менеджеры окон игнорируют запрошенный программой начальный размер +окна и требуют от пользователя определить его размер вручную. +Если задано значение user, менеджер окон не требует этого от +пользователя. Если аргумент who задан как пустая строка, +текущая установка отменяется. +
    Если аргумент who задан, команда возвращает пустую +строку. В противном случае команда возвращает установленное ранее +значение; если значение не было установлено, команда возвращает +пустую строку. Большинство менеджеров окон считают, что если +.источник. не задан, это то же самое, что program.

    wm state window
    -

    :
    -normal, iconic, withdrawn icon. - iconic icon , iconic - (, -wm iconify ), icon , - ( wm iconwindow). +

    Команда возвращает текущее состояние окна:
    +normal, iconic, withdrawn или icon. Разница +между iconic и icon в том, что iconic +используется для свернутого окна (например, с помощью команды +wm iconify ), а icon для окна, которое используется +в качестве иконки для другого окна (с помощью команды wm iconwindow).

    wm title window string
    -

    string , - -() , . - . -string , -. . +

    Если аргумент string определен, он +передается менеджеру окон для использования в качестве имени +(титула) окна, которое менеджер окон высвечивает на рамке окна. В +этом случае команда возвращает рустую строку. Если аргумент +string не задан, команда возвращает ранее установленный +заголовок. По умолчанию титул окна совпадает с его полным именем как виджета.

    wm transient window master
    -

    master , - , window - (, ), - master- ( master -toplevel-). - , -. master -, . -
    master , -. - , window . +

    Если аргумент master задан, команда +передает менеджеру окон информацию о том, что окно window +является временным окном (например, выпадающим меню), работающим +под управлением master-окна (где master полное имя +toplevel-окна). Некоторые менеджеры окон используют эту +информацию для того, чтобы управлять таким окном специальным +образом. Если аргумент master представляет собой пустую +строку, окно перестает быть временным окном. +
    Если аргумент master задан, команда возвращает пустую +строку. В противном случае она возвращает имя управляющего окна +или пустую строку, если окно window не является временным.

    wm withdraw window
    -

    window - . . - , - . , ! +

    При выполнении команды окно window +удаляется с экрана. Информация о нем удаляется из менеджера окон. +Если окно не присутствовало на экране ранее, оно не появится на +экране при создании. Но не все менеджеры окон знают, как работать с такими окнами!
    -

    . - wm withdraw, - (, wm deiconify), , , . +

    Замечание. Иногда оказывается необходимым удалить +окно с помощью команды wm withdraw, а затем возвратить его +обратно на экран (например, с помощью команды wm deiconify), чтобы менеджер окон учитывал некоторые его атрибуты, например, группу.
    -

    +

    УПРАВЛЕНИЕ ГЕОМЕТРИЕЙ -

    toplevel- - , - (.. ). - , toplevel-. -toplevel- , .., - . - , -. - wm geometry. - Tk . -, ... .. - , wm geometry - , . +

    По умолчанию toplevel-окна при появлении на +экране имеют размеры, определяемые размерами составляющих его +виджетов (.естественные. размеры). Если изменяются размеры или +состав виджетов, то изменяется и размер toplevel-окна. Для +toplevel-окна размеры, отличные от .естественных., могут быть +заданы двумя способами. Первый пользователь может изменить +размеры окна вручную, используя стандартные механизмы менеджера +окон. Второй приложение может запросить изменение размеров окна с +помощью команды wm geometry. Оба зти способа +обрабатываются в Tk единообразно. Размеры окна изменяются на +новые, отличные от .естественных.. Чтобы вернуть .естественные. +размеры окна, нужно выполнить команду wm geometry с пустой +строкой в качестве аргумента, задающего размеры и размещение окна. -

    - 1 . , wm -minsize wm maxsize - . - , -, , - .. . - wm resizable - - .

    +

    Обычно размеры окна могут изменяться произвольно в диапазоне +от 1 пикселя до размеров экрана. Однако, с помощью команд wm +minsize и wm maxsize можно изменить область +возможных размеров окна. Эти ограничения будут использоваться при +всех способах изменения размеров окна, в том числе и при ручном +изменении, и при изменении размеров и состава его виджетов, +приводящем к изменению его .естественных. размеров. С помощью +команды wm resizable можно полностью запретить изменение +размеров окна каким-либо способом в одном или в обоих направлениях.

    -

    +

    УПРАВЛЕНИЕ ОКНАМИ С СЕТКОЙ -

    , - .. . , - , , . . - , - . - - - , wm -geometry. , , -.. , -, . +

    Окна с сеткой используются, если один из виджетов +окна имеет ограниченное множество .разумных. размеров. Например, +в текстовом редакторе, где полосы прокрутки, меню и т. д. имеют +фиксированный размер, а поле редактирования текста может +содержать произвольное число строк или букв в строке. В этом +случае желательно дать пользователю возможность устанавливать +непосредственно число строк или букв в строке при изменении +размеров окна как вручную, так и с помощью команды wm +geometry. Как в случае с текстом, так и в других аналогичных, +.разумным. является не всякий размер окна в пикселях, а только +размеры, соответствующие целому числу строк или букв в строке. -

    -. Tk ( ) - , .. , - , . - setGrid - . - wm grid. - , - . -, wm grid , .

    +

    Введение сетки обеспечивает механизм для реализации этих +требований. Tk (и менеджер окон) предполагают существование сетки +в окне, и что .разумными. являются только размеры, выраженные в +целых шагах сетки, а не в произвольном числе пикселей. Обычно +сетка устанавливается с помощью опции setGrid для +соответствующего виджета. Она может также устанавливаться с +помощью команды wm grid. В любом случае с помощью виджета +или кода приложения определяются размеры окна в пикселях, +соответствующие целым размерам в шагах сетки. Чтобы отменить +сетку, нужно выполнить команду wm grid с пустой строкой, задающей сетку.

    -

    , -wm minsize, wm maxsize wm geometry - , . - .

    +

    Если сетка задана, все определения размеров в командах +wm minsize, wm maxsize и wm geometry +считаются заданными в шагах сетки, а не в пикселях. Ручное +изменение размеров окна также производится в целых шагах сетки.

    -

    +

    ОШИБКИ -

    , , wm. , , . , . +

    Как оказалось, большинство существующих менеджеров окон имеют некоторые ошибки, которые проявляются при выполнении команды wm. Например, некоторые изменения не производятся в окне, если оно активно. Окно должно быть выведено с экрана и возвращено обратно, чтобы изменения выполнились. -

    +

    ПРИМЕР

    -
    wm geometry . 750x550+0+0 -
    -
    wm title . "Tcl/Tk Project Manager" -
    -
    wm iconname . "Tcl/Tk Project Manager" -
    -
    wm protocol . wm_DELETE_WINDOW Quit -
    +
    wm geometry . 750x550+0+0 - устанавливает размер окна
    +
    wm title . Tcl/Tk Project Manager - заголовок окна
    +
    wm iconname . Tcl/Tk Project Manager - подпись для икнонки
    +
    wm protocol . wm_DELETE_WINDOW Quit - процедура выполняема по закрытии окна
    wm overrideredirect . 0
    -
    wm positionfrom . user -
    -
    wm resizable . 0 0 - ( )
    +
    wm positionfrom . user - установка позиции окна
    +
    wm resizable . 0 0 - установка атрибутов окна (в данном случае не изменяемое)
    + diff --git a/lib/help.tcl b/lib/help.tcl index a2d5245..29eb6d8 100644 --- a/lib/help.tcl +++ b/lib/help.tcl @@ -23,7 +23,7 @@ source [file join $dataDir html_lib.tcl] #source [file join $dataDir htmllib.tcl] -set sourceEncode "koi8-r" +set sourceEncode "utf-8" ## LOAD MESSAGES FILE? LANGUAGE AND NEDDED FILES ## #source $homeDir/html.tcl @@ -59,13 +59,10 @@ proc GetTOC {} { foreach dir [lsort [glob -nocomplain *]] { if {[file isdirectory $dir] == 1} { foreach file [lsort [glob -nocomplain [file join $dir *toc.html]]] { - #puts $file set fileName [file join $file] set tocFile [open $fileName r] fconfigure $tocFile -encoding binary set dot "_" - #set nodeParent [string range $fileName 0 [expr [string first "." $fileName]-1]] - #puts $fileName set nodeParent [file dirname $fileName] while {[gets $tocFile line]>=0} { set a "" @@ -75,28 +72,21 @@ proc GetTOC {} { if {[regexp ">.+\<" $line a]} { set length [string length $a] set title [string range $a 1 [expr $length-2]] - #puts $nodeParent ;# debug info $hlpTree insert end root $nodeParent -text "$title" -font $fontNormal \ - -data "toc_$nodeParent" -open 0\ - -image [Bitmap::get [file join $imgDir books.gif]] + -data "toc_$nodeParent" -open 0\ + -image [Bitmap::get [file join $imgDir books.gif]] } - } elseif {[regexp "\".+\"" $line a]} { - set data [string range $a 1 [expr [string last "\"" $a]-1]] - if {[regexp ">.+\<" $line b]} { - set line [string range $b 1 [expr [string first "<" $b]-1]] - regsub -all {[ :]} $line "_" subNode - #regsub -all ":" $ubNode "_" node - set subNode "$nodeParent$dot$subNode" - if {[info exists arr($subNode)] == 0} { - set arr($subNode) [file join $dir $data] - } - set data [file join $dir $data] - #puts "$subNode" ;# debug info - $hlpTree insert end "$nodeParent" $subNode -text "$line"\ - -font $fontNormal -data "doc_$data" -open 0\ - -image [Bitmap::get [file join $imgDir file.gif]] - $lstSearch insert end $line - } + } elseif {[regexp -nocase -all -line -- {(|>)(.+)(
    )} $line match v1 v2 v3 v4 v5 v6]} { + regsub -all {[ :]} $v5 "_" subNode + set subNode "$nodeParent$dot$subNode" + if {[info exists arr($subNode)] == 0} { + set arr($subNode) [file join $dir $v3] + } + set data [file join $dir $v3] + $hlpTree insert end "$nodeParent" $subNode -text "$v5"\ + -font $fontNormal -data "doc_$data" -open 0\ + -image [Bitmap::get [file join $imgDir file.gif]] + $lstSearch insert end $v3 } else { break } @@ -164,7 +154,7 @@ proc GetContent {file} { HM::parse_html $html "HM::render $txt" # HM::tag_title .help "Help - $nbTitle" $txt configure -state disabled - + } ## GOTO URL PROCEDURE ## proc LinkCallback {w url} { @@ -359,6 +349,10 @@ proc TopLevelHelp {} { + + + + diff --git a/lib/procedure.tcl b/lib/procedure.tcl index da6f0a7..9a097b4 100644 --- a/lib/procedure.tcl +++ b/lib/procedure.tcl @@ -715,21 +715,12 @@ proc GoToURL {url} { proc launchBrowser {url} { global tcl_platform - if {$tcl_platform(platform) eq "windows"} { - # first argument to "start" is "window title", which is not used here set command [list {*}[auto_execok start] {}] - # (older) Windows shell would start a new command after &, so shell escape it with ^ - #set url [string map {& ^&} $url] - # but 7+ don't seem to (?) so this nonsense is gone if {[file isdirectory $url]} { - # if there is an executable named eg ${url}.exe, avoid opening that instead: set url [file nativename [file join $url .]] } } elseif {$tcl_platform(os) eq "Darwin"} { - # It *is* generally a mistake to use $tcl_platform(os) to select functionality, - # particularly in comparison to $tcl_platform(platform). For now, let's just - # regard it as a stylistic variation subject to debate. set command [list open] } else { set command [list xdg-open] @@ -737,24 +728,15 @@ proc launchBrowser {url} { exec {*}$command $url & } -proc _launchBrowser {url} { - if [catch {launchBrowser $url} err] { - tk_messageBox -icon error -message "error '$err' with '$command'" - } -} - ## SEND EMAIL PROCEDURE ## proc SendEmail {mail} { global env tcl_platform if {$tcl_platform(platform) == "windows"} { - } elseif {$tcl_platform(platform) == "mac"} { - } elseif {$tcl_platform(platform) == "unix"} { set pipe [open "|xdg-open $mail" "r"] fileevent $pipe readable fconfigure $pipe -buffering none -blocking no - } } ## QUIT PROJECT MANAGER PROCEDURE ## @@ -1102,3 +1084,4 @@ proc GetExtention {node} { + diff --git a/lib/projects.tcl b/lib/projects.tcl index a6d3f5f..9d50382 100644 --- a/lib/projects.tcl +++ b/lib/projects.tcl @@ -87,7 +87,7 @@ proc NewProj {type proj l} { pack $frm -fill both -expand true image create photo imgFold -format gif -file [file join $imgDir folder.gif] - + set frm_1 [frame $frm.frmProjName] label $frm_1.lblProjName -text [::msgcat::mc "Project name"] -width 20 -anchor w entry $frm_1.txtProjName -textvariable txtProjName @@ -322,9 +322,8 @@ proc CreateProj {type lang txtFileName txtProjName txtFileName txtDirName txtCom set text "\%**************************************************\n%\t$txtProjName\n%\tDistributed under GNU Public License\n% Author: $txtProjAuthor $txtProjEmail\n* Home page: $txtProjHome\n%*****************************************************\)\n" set lang erl } - - if {[file exists [file join $dir $txtFileName.[string tolower $lang]]] == 0} { - set file [open [file join $dir $txtFileName.[string tolower $lang]] w] + if {[file exists [file join $dir $txtFileName]] == 0} { + set file [open [file join $dir $txtFileName] w] puts $file $text close $file } @@ -713,7 +712,7 @@ proc MakeProj {action t} { } } elseif {$action == "run"} { if {$t == "proj"} { - set prog [file join $projDirName $projFileName.tcl] + set prog [file join $projDirName $projFileName] } elseif {$t == "file"} { set node [$tree selection get] set fullPath [$tree itemcget $node -data] @@ -908,3 +907,8 @@ proc InsertTitle {newFile type} { + + + + +