Форум программистов
 
Расширенный поиск
Контакты: о проблемах с регистрацией, почтой и по другим вопросам пишите сюда - alarforum@yandex.ru, проверяйте папку спам! Обязательно пройдите активизацию e-mail.

Вернуться   Форум программистов > Скриптовые языки программирования > Ruby
Регистрация

Восстановить пароль
Повторная активизация e-mail

Ответ
 
Опции темы
Старый 20.12.2007, 05:08   #1
kpp2
 
Регистрация: 20.12.2007
Сообщений: 3
Репутация: 10
По умолчанию библиотека TK и Ruby

Как сделать так, чтобы отображение при нажатии на кнопку button происходило сразу, а не по окончании всех вычислений.
Как можно видеть из кода при нажатии на кнопку происходит следующее:
начинается цикл из 5 итераций, в каждой итерации задержка на 1 секунду. В теле цикла так же имеется строка label2.text("#{var.value().to_i-i}") но её отображение не происходит каждую секунду, оно происходит тольок по-окончании последней итерации цикла. Знает ли кто-нибудь в чём прикол ТК? Что это за урезанность в функциональности...


Код:

require 'tk'
#Signal.trap("EXIT"){ print "\a\a\a aaa" }

def shutdown()
	#system("shutdown -s -t 30")
end	


root = TkRoot.new('background' => 'green') {
	title "limiter 2007" 
	cursor 'X_cursor'
	resizable(0, 0)
	#"Destroy",proc {shutdown()}
}
root.geometry '200x110'
menuline1 = TkFrame.new(root, 'relief'=>'raised', 'borderwidth'=>1).pack('side'=>'top', 'fill'=>'x')
menuline2 = TkFrame.new(root, 'relief'=>'raised', 'borderwidth'=>0,'background' => 'black').pack( 'side'=>'left','fill'=>'y')

##events
#root.bind("Destroy"){shutdown()}
#root.bind("Destroy",proc {shutdown()})



#label 1
label1 = TkLabel.new(menuline1) { 
	text "L  I  M  I  T  E  R"  
	padx 1 ; pady 0;
}.pack("side"=>"top")
label1.font(TkFont.new(:size => 15)) 

#enter
entry = TkEntry.new(menuline2){
	width 6
}.pack()
var = TkVariable.new("0")
entry.textvariable(var)
entry.font(TkFont.new(:size => 15)) 
entry.focus

#label 2
label2 = TkLabel.new(root,'background' => 'green') { text "0" }
label2.font(TkFont.new(:size => 40)) 

#button
button = TkButton.new(menuline2) {
  text "start"
  width 5
  height 1
  command proc {
   label2.text "#{var.value()}" 
   for i in 0..5
	sleep 1
	label2.text("#{var.value().to_i-i}")
	$stdout.flush
	label2.pack()
   end
  }
}.pack("side"=>"right")
button.font(TkFont.new(:size => 15)) 


label2.pack()



Tk.mainloop()
=begin
limit = 75 

	while limit > 0
	print "\r Time: #{limit} minute"
	$stdout.flush
	sleep 60
	limit-=1
	end
	print "\a\a\a\a\a"
	shutdown()
=end

kpp2 вне форума   Ответить с цитированием
Старый 20.12.2007, 13:17   #2
mihali4
*
Профессионал
 
Регистрация: 22.11.2006
Адрес: Москва
Сообщений: 9,200
Репутация: 2661
По умолчанию

Даже понять не могу, на каковском это написано...
Если это имеет хотя бы отдаленное отношение к Дельфи, то - после КАЖДОЙ итерации ставим Application.ProcessMessages для обработки поступивших за время расчета мессагов в системе. Соответственно и лабел обновится...
mihali4 вне форума   Ответить с цитированием
Старый 20.12.2007, 13:51   #3
merax
Участник клуба
 
Регистрация: 27.12.2006
Сообщений: 956
Репутация: 547
По умолчанию

По-моему это "python" !!!
merax вне форума   Ответить с цитированием
Старый 21.12.2007, 00:06   #4
kpp2
 
Регистрация: 20.12.2007
Сообщений: 3
Репутация: 10
По умолчанию

Это РУБИ... Ruby.... вопрос по графической библиотеке ТК...

за бредятину mihali4 и merax, написанную вами я б вас "зеабанил" навеке веков
kpp2 вне форума   Ответить с цитированием
Старый 21.12.2007, 02:09   #5
mihali4
*
Профессионал
 
Регистрация: 22.11.2006
Адрес: Москва
Сообщений: 9,200
Репутация: 2661
По умолчанию

Цитата:
Сообщение от kpp2 Посмотреть сообщение
за бредятину mihali4 и merax, написанную вами я б вас "зеабанил" навеке веков
Ну-ну...
Лихо начинаете, господин новичок. Как бы раскаиваться не пришлось...
Хамство на этом форуме не в почете...
Вы, простите, не с "Удафа" к нам заглянули?

Последний раз редактировалось mihali4; 21.12.2007 в 02:19.
mihali4 вне форума   Ответить с цитированием
Старый 22.12.2007, 03:02   #6
kpp2
 
Регистрация: 20.12.2007
Сообщений: 3
Репутация: 10
По умолчанию

Ладно, прошу прощения, если кого это задело... Москва Коньково )))... Жду ответов на вопрос. Или предложите альтернативную библиотеку графическую для руби
kpp2 вне форума   Ответить с цитированием
Ответ



Опции темы

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Требуется на работу программист (Ruby on Rails) anthon Работа на постоянной основе 0 10.06.2008 13:07
Моя библиотека mochaliviy Свободное общение 3 11.01.2008 14:23
Web-developer (Perl || Ruby) galiya Работа на постоянной основе 0 17.12.2007 13:25
Библиотека IRC Client. celovec Работа с сетью в Delphi 1 15.06.2007 17:13




10:49.


Powered by vBulletin® Version 3.8.8 Beta 2
Copyright ©2000 - 2017, Jelsoft Enterprises Ltd.

купить трафик


как улучшить посещаемость, а также решения по монетизации сайтов, видео и приложений

RusProfile.ru


Справочник российских юридических лиц и организаций.
Проекты отопления, пеллетные котлы, бойлеры, радиаторы
интернет магазин respective.ru