![]() |
|
Модераторы: korob2001, ginnie |
![]()
|
|
| alyam |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 60 Регистрация: 2.8.2006 Репутация: нет Всего: нет |
можно ли переключить процедуру с еnable на disable
например, у меня есть процедура Test1, если она disable, то нужно сделать ее enable и наоборот если enable - то сделать ее disable. что-то типа такого if test1.enable=true then test1.disable? |
|||
|
||||
| nitr |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 2543 Регистрация: 10.2.2006 Где: Россия :) Репутация: 37 Всего: 84 |
alyam, ну не знаю даже
|
|||
|
||||
| korob2001 |
|
||||||||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 2871 Регистрация: 29.12.2002 Репутация: 31 Всего: 61 |
В перл нет булевых true и false. Здесь всё что есть пустая строка, 0, "0" или undef, есть false. Всё остальное является true. Потому поясни подробнее, что должна функуция вернуть?
Насколько я понял, то если она получила значение true, то вернуть должна false и наоборот. Если да, то можно и не создавать для этого функцию, а просто обращать текущее значение переменной. Например:
На VB это будет выглядеть так:
Что гораздо эффективнее условной конструкции If ... Then ... EndIf Вот ещё пример с циклом:
Что по сути равно следующему циклу на VB:
Это сообщение отредактировал(а) korob2001 - 14.9.2006, 02:54 -------------------- "Время проходит", - привыкли говорить вы по неверному пониманию. "Время стоит - проходите вы". |
||||||||
|
|||||||||
| alyam |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 60 Регистрация: 2.8.2006 Репутация: нет Всего: нет |
собственно я хотел сделать так: при нажатии комбинации клавиш процедура становится неактивна, при повторном нажатии - активна.
с глобальной переменной логической можно конечно, но может можно решить вопрос сэкономив память? можно ли в Perl сделать как на VB txtTest.Enable = Not txtTest.Enable было бы гораздо эффектней ) |
|||
|
||||
| BlackLFL |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 263 Регистрация: 15.9.2005 Где: Москва Репутация: 8 Всего: 12 |
для чего это нужно?
Это сообщение отредактировал(а) BlackLFL - 14.9.2006, 13:26 |
|||
|
||||
| alyam |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 60 Регистрация: 2.8.2006 Репутация: нет Всего: нет |
что за вопрос для чего и почему? если бы не надо было не просил. если знаешь как сдлелать подскажи
|
|||
|
||||
| BlackLFL |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 263 Регистрация: 15.9.2005 Где: Москва Репутация: 8 Всего: 12 |
соблюдайте правила этикета, пожалуйста. вопрос был задан не из-за корыстных целей, а для общего развития, может присутствующие смогли бы предложить другое решение для поставленной задачи |
|||
|
||||
| DiverD |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 225 Регистрация: 14.9.2005 Где: Белорусь Репутация: 1 Всего: 2 |
2alyam
тебе короб все написал!!! --------------------
[ FreeBSD & pERL p0WER eVERY dAY ] |
|||
|
||||
| alyam |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 60 Регистрация: 2.8.2006 Репутация: нет Всего: нет |
ну у него вариант с переменной. мне бы с функцией )
|
|||
|
||||
| nitr |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 2543 Регистрация: 10.2.2006 Где: Россия :) Репутация: 37 Всего: 84 |
alyam, тебе 3 идеи подали, развивай ;)
моя не без смысла, короб интересно предложил Это сообщение отредактировал(а) nitr - 14.9.2006, 17:13 |
|||
|
||||
| korob2001 |
|
||||||||||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 2871 Регистрация: 29.12.2002 Репутация: 31 Всего: 61 |
Вот простой пример класса на Perl, со свойством Enable:
Напомню, что в Perl 0, пустая строка "", строка "0", а так же undef, является False. Всё остальное - это True. Сохрани код приведённый выше в файле с именем MyClass.pm Теперь напишем код, который будет использовать наш класс и свойство Enable.
Теперь напишем аналог этой же программы на VisualBasic. 1. Создай новый проект Standard EXE. 2. Измени свойства формы в окне Properties, на следующие: (Name) = frmTest BorderStyle = 1-FixedSingle Caption = Test StartUpPosition = 2-CenterScreen 3. Добавь к форме TextBox, растяни его так, что бы он был на всю высоту формы, и на половину ширины формы, затем установи ему следующие свойства: (Name) = txtRes MultiLine = True ScrollBars = 2-Vertical Text = "" (Пустая строка, т.е. удали всё что там будет по умолчанию) 4. Добавь к форме три CommadButton, расположи их на свободном месте формы и установи им следующие свойства Кнопка 1: (Name) = cmdStart Caption = Start Кнопка 2: (Name) = cmdErase Caption = Erase Кнопка 3: (Name) = cmdExit Caption = Exit 5. Добавь к проекту модуль класса, жми: Project -> Add Class Module 6. Выдели, только что добавленный класс, в окне Project и установи следующее свойство: (Name) = MyClass 7. В окне Project жми 2 раза на только что созданный класс, что бы открылось окно ввода кода, для этого класса и напиши там следующий код:
Это собственно и есть наше свойство класса, или поле, или член, как тебе удобнее так можешь его и называть. 8. Теперь выдели нашу форму frmTest в окне Project, затем жми кнопку View code и напиши там следующий код:
Теперь сохрани проект File -> Save Project As и скомпилируй File -> Make Project1.exe Если тебе лень всё это делать, то внизу этого поста я прицепил архив, со всей этой бодягой, там же и уже скомпиленый EXE. ЗЫ: Если тебе так уж хочется заюзать функции а не переменные, то оберни эти переменные в них. Например:
Это сообщение отредактировал(а) korob2001 - 15.9.2006, 14:24 Присоединённый файл ( Кол-во скачиваний: 0 )
arhive.zip 6,62 Kb-------------------- "Время проходит", - привыкли говорить вы по неверному пониманию. "Время стоит - проходите вы". |
||||||||||
|
|||||||||||
![]()
|
| Правила форума "Perl" | |
|
|
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, korob2001, sharq. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Perl: Общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |