Модераторы: Poseidon, Snowy, bems, MetalFan
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> processmessages и курсор 
V
    Опции темы
Chyslyvchyk
Дата 10.8.2007, 09:31 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 446
Регистрация: 9.5.2004

Репутация: 1
Всего: 5



В цикле while not table.eof do берутся данные из двух полей и прописываются на форме в две labels. Чтобы их было видно в процессе выполнения цикла, используется application.processmessages. В итоге перестает работать screen.cursor := crhourglass. 

Как заставить курсор быть crhourglass и отображать динамически инфу в labels во время цикла?

Это сообщение отредактировал(а) Chyslyvchyk - 10.8.2007, 09:58


--------------------
Простота - сестра таланта!
PM MAIL   Вверх
Telepyz
Дата 10.8.2007, 10:32 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 119
Регистрация: 9.7.2007

Репутация: 1
Всего: 1



Код

screen.cursor := crHourGlass;
 while not table.eof do
  // твой цикл
screen.cursor := crDefault;

--------------------
обновить драйвер
PM MAIL   Вверх
BaD_SeCt0R
Дата 10.8.2007, 12:31 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Lazy Coder
**


Профиль
Группа: Участник
Сообщений: 432
Регистрация: 9.10.2006
Где: Анапа

Репутация: 4
Всего: 18



Код

procedure TForm1.Button1Click(Sender: TObject);
var
  i:integer;
begin
  Screen.Cursor:=crHourGlass;
  for i:=0 to $FFFF do
   begin
    //...
    Label1.Caption:=inttostr(i);
    Application.ProcessMessages;
   end;
  Screen.Cursor:=crDefault;
end;


У меня все работает  smile 


--------------------
Кто владеет информацией - владеет миром. (С) Френсис Бэкон.
PM MAIL ICQ   Вверх
Bose
Дата 10.8.2007, 13:27 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Участник Клуба
Сообщений: 1458
Регистрация: 5.3.2005
Где: Riga, Latvia

Репутация: 23
Всего: 51



Цитата(Chyslyvchyk @  10.8.2007,  09:31 Найти цитируемый пост)
Чтобы их было видно в процессе выполнения цикла, используется application.processmessages.

Вместо application.processmessages можно вызывать Label.repaint


PM MAIL WWW Skype   Вверх
Chyslyvchyk
Дата 13.8.2007, 02:20 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 446
Регистрация: 9.5.2004

Репутация: 1
Всего: 5



Код

screen.cursor := crHourGlass;
  while not table.eof do
    begin
    Label.Caption:=table.fieldbyname('fieldname').asstring;
    Application.ProcessMessages;
    table.Next;
    end;
screen.cursor := crDefault;

Работать-то работает, а вот курсор отображает, как crDefault. :( 

А вот Label.repaint - это "то, что доктор прописал"! Спасибо!


--------------------
Простота - сестра таланта!
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi: Общие вопросы"
SnowyMetalFan
bemsPoseidon
Rrader

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Литературу по Дельфи обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • 90% ответов на свои вопросы можно найти в DRKB (Delphi Russian Knowledge Base) - крупнейшем в рунете сборнике материалов по Дельфи


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, MetalFan, bems, Poseidon, Rrader.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Delphi: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.1217 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.