Форум программистов, компьютерный форум, киберфорум
Delphi для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.80/5: Рейтинг темы: голосов - 5, средняя оценка - 4.80
23 / 12 / 2
Регистрация: 20.04.2011
Сообщений: 382
1

Почему Image2 показывается после sleep(3000); а не перед?

18.08.2018, 11:56. Показов 1031. Ответов 10
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Delphi
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
unit Unit1;
 
interface
 
uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, jpeg, ExtCtrls, StdCtrls, MPlayer;
 
type
  TForm1 = class(TForm)
    Image1: TImage;
    Edit1: TEdit;
    Button1: TButton;
    Label1: TLabel;
    Edit2: TEdit;
    Label2: TLabel;
    Image2: TImage;
    procedure Button1Click(Sender: TObject);
    procedure FormCreate(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;
 
var
  Form1: TForm1;
  S,F : String;
 
implementation
 
{$R *.dfm}
 
procedure TForm1.Button1Click(Sender: TObject);
 
begin
 
Image2.Visible:=True;
 
sleep(3000);
 
begin
Image2.Visible:=True;
S :='пароль';
Label1.Caption := S;
F:=Edit1.Text;
Edit2.Text:='пароль';
 
end;
 
end;
 
 
procedure TForm1.FormCreate(Sender: TObject);
begin
Image2.Visible:=False;
end;
 
end.
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
18.08.2018, 11:56
Ответы с готовыми решениями:

Почему не показывается изображение?
Всем привет! Есть файл, в нем код: <span class="scon-delete" и т.д Вот стиль: .scon-delete {...

почему не показывается результат?
что-то совсем не то оно мне показывает...поможете?))

Почему не показывается ошибка?
Почему не показывается ошибка, в примере, который ниже(пропущено ;)? <?php...

Почему страница показывается неполностью?
Только начал изучать HTML с нуля. на сайте w3schools есть замечательный сквозной пример. по...

10
Эксперт .NET
10557 / 6484 / 1503
Регистрация: 25.05.2015
Сообщений: 19,644
Записей в блоге: 14
18.08.2018, 12:00 2
Патамушта вы не знаете фундаментальной истины об оконных приложениях: https://www.cyberforum.ru/blog... g4909.html
1
23 / 12 / 2
Регистрация: 20.04.2011
Сообщений: 382
18.08.2018, 12:09  [ТС] 3
приоритеты выполнений операций?
так как изменить мой код, для того, чтобы сразу после нажатия кнопки менялись картинки Image2, Image3, Image4... Visible:=True; Visible:=False с задержкой каждой sleep(300); ?

я выбрал такой способ отображения гифки в форме.
0
Эксперт .NET
10557 / 6484 / 1503
Регистрация: 25.05.2015
Сообщений: 19,644
Записей в блоге: 14
18.08.2018, 12:11 4
Не, не приоритеты. Очередь сообщений, страшное и непонятное слово, без понимания которого оконные приложения для Windows не стоит писать.

Например, по событию таймера, с интервалом 300. Только никаких Sleep и прочих тормозов.
0
23 / 12 / 2
Регистрация: 20.04.2011
Сообщений: 382
18.08.2018, 12:51  [ТС] 5
страшны этои события таймера
может попроще мне видео вывести MPlayer? гифку в avi раз плюнуть то сделать..

Добавлено через 15 минут
ладно, таймер. добавил компонент.
записал код;

Delphi
1
2
3
4
5
6
Image2.Visible:=True;
Timer1.Enabled:=True;
Timer1.Interval:=3333;
Image3.Visible:=True;
Timer1.Interval:=3333;
Timer1.Enabled:=False;
задержки нет. где косяк?
0
Эксперт .NET
10557 / 6484 / 1503
Регистрация: 25.05.2015
Сообщений: 19,644
Записей в блоге: 14
18.08.2018, 12:54 6
Косяк в не понимании работы с таймером.
Почитайте справку хотя бы, это не сложно.
0
23 / 12 / 2
Регистрация: 20.04.2011
Сообщений: 382
18.08.2018, 13:18  [ТС] 7
почитал, должно работать но..
компонент добалил,

Delphi
1
2
3
4
5
6
Image2.Visible:=True; // картинку2 делаем видимой
Timer1.Interval:=(3333);  //  задаем значение задержки таймера в 3секунды
Timer1.Enabled:=True;  //  запускаем таймер
Image2.Visible:=False;  // картинка2 делаем не видемой
Image3.Visible:=True;  //  картинка3 делаем видемой
Timer1.Enabled:=False;  //  остонавливаем таймер
и чего не хватает?
0
Эксперт .NET
10557 / 6484 / 1503
Регистрация: 25.05.2015
Сообщений: 19,644
Записей в блоге: 14
18.08.2018, 13:45 8
Все того же.
Методы, подходящие для консольных приложений, в оконных не работают, потому здесь взаимодействия построены на очереди сообщений.
0
Модератор
9254 / 6032 / 2379
Регистрация: 21.01.2014
Сообщений: 25,790
Записей в блоге: 3
18.08.2018, 15:47 9
Delphi
1
2
3
Image2.Visible:=True;
Update; //Форму надо принудительно перерисовать перед тем, как все уснет...
sleep(3000);
Но мне не понятен сакральный смысл этой задержки...
0
Эксперт .NET
10557 / 6484 / 1503
Регистрация: 25.05.2015
Сообщений: 19,644
Записей в блоге: 14
18.08.2018, 15:55 10
Смысл - вывести кадры гифки с интервалом, как в консольной программе, будто вся программа в одном цикле работает.
0
884 / 586 / 179
Регистрация: 28.02.2017
Сообщений: 2,359
Записей в блоге: 1
18.08.2018, 21:52 11
Лучший ответ Сообщение было отмечено rolandas как решение

Решение

Потому что Sleep() делает полную заморозку потока. Пока не пройдёт указанное вами время поток вообще ничего не делает. И окно соответственно тоже никак и ни на что не реагирует.

Гифка и сама может отображаться на форме как нужно. А код таймера должен быть в событиях таймера. Вы делаете это просто чтоб потренироваться или чего?
1
18.08.2018, 21:52
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
18.08.2018, 21:52
Помогаю со студенческими работами здесь

Почему мой аватар не показывается?
Почему мой аватар не показывается?:scratch:

Почему показывается ошибка MySql server has gone away
Здравствуйте! Подскажите пожалуйста, почему возникает ошибка MySql server has gone away ...

Почему в AdSense показывается разная реклама.
Господа, кто-нибудь может объяснить почему на одной и той же странице: www.xxx.narod.ru и ...

Почему шапка на основе скрипта показывается только на главной странице
Здравствуйте всем! Мне нужна помошь я не могу понять почему шапка на основе скрипта показывается...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
11
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru