Форум программистов, компьютерный форум, киберфорум
pavelDev
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск  

Полезные коды для PascalABC.NET

Запись от pavelDev размещена 29.05.2014 в 02:09
Показов 2074 Комментарии 0

знакомство с потоками
Pascal
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
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
//мы будем сравнитьвать backrounderworker и простой thread
{$reference System.Windows.Forms.dll}
{$reference System.Drawing.dll}
{$apptype windows}
uses
  system.windows.forms, System.Drawing,system.Threading,System.Diagnostics;
  var f:form;
  b1,b2:Button;
  bw,bw1:system.componentmodel.BackgroundWorker;
  thd:Thread;
  count:PerformanceCounter;
  ///процедура что бы занять поток хоть какойто работай 
  procedure permnMatrix();
  var ar1,ar2,r:array[1..8000,1..8000] of integer;
i,j:integer;
  begin
  for i:=1 to 8000 do
begin
for j:=1 to 8000 do
begin
ar1[i,j]:=Random(100000);
ar2[i,j]:=Random(100000);
R[i,j]:=ar1[i,j]*ar2[i,j];
end;
end;
  end;
  procedure zagrproc(sender:object;E:system.componentmodel.doworkeventargs);
  begin
  count:=new PerformanceCounter('Процессор', '% загруженности процессора', '_Total');//получаем нагрузку на цп 
  repeat
  f.Text:='нагрузка на цп '+Round(system.Convert.ToInt32(count.NextValue)).ToString;
 Sleep(600);
 until false;
  end;
  procedure pern(sender:object;E:system.componentmodel.doworkeventargs);
  begin   
  b2.Enabled:=false;
  b1.Enabled:=false;
   MillisecondsDelta;
  permnMatrix;
   Messagebox.Show('прошло '+(MillisecondsDelta/1000).ToString+' секунд');
    b2.Enabled:=true;
  b1.Enabled:=true;
  end;
  procedure thdBack();
  begin
  b2.Enabled:=false;
  b1.Enabled:=false;
  MillisecondsDelta;
 permnMatrix;
 Messagebox.Show('прошло '+(MillisecondsDelta/1000).ToString+' секунд');
      b2.Enabled:=true;
  b1.Enabled:=true;
  end;
 procedure b1cl(sender:object;E:system.EventArgs);
 begin
 bw.RunWorkerAsync;
 end;
 procedure b2cl(sender:object;E:system.EventArgs);
 begin
 thd.Start;//да к сожелению тут генирирутся ошибка при повторном запуске 
 end;
 begin
 f:=new Form();
 F.Size:=new System.Drawing.Size(244,89);
 F.MaximizeBox:=false;
 f.MinimizeBox:=false;
 f.FormBorderStyle:=system.windows.forms.FormBorderStyle.Fixed3D;
 f.Text:='загрузка...';
 
 b1:=new Button;
 b1.Size:=new System.Drawing.Size(115,50);
 b1.Text:='BackrounderWorker';
 b1.Click+=b1cl;
 
  b2:=new Button;
 b2.Size:=new System.Drawing.Size(115,50);
 b2.Text:='Simple Thread';
 b2.Location:=new system.drawing.Point(119);
 b2.Click+=b2cl;
 bw1:=new System.ComponentModel.BackgroundWorker();
 bw1.DoWork+=zagrproc;
 bw1.RunWorkerAsync;
 
 bw:=new System.ComponentModel.BackgroundWorker;
 bw.DoWork+=pern;
 
 
 thd:=new Thread(thdback);
 F.Controls.Add(b1);
 F.Controls.Add(b2);
 F.ShowDialog;
  end.
Размещено в Без категории
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Всего комментариев 0
Комментарии
 
Новые блоги и статьи
Установка MinGW GCC 16.2 и CMake
8Observer8 10.08.2026
VK Видео: https:/ / vkvideo. ru/ video-240781534_456239017 YouTube: eY5-5PyI9NM Текстовая версия
Неделя из жизни имитационной модели склада: мои кривые руки растут, откуда надо
anaschu 10.08.2026
Неделя из жизни имитационной модели склада: как я почти написал неправильную логику и что с этим делать Работаю сейчас над учебно-рабочим проектом: строю в AnyLogic имитационную модель процессов. . .
Калькулятор для расчета родства
russiannick 07.08.2026
1. Задача: Создать калькулятор для расчета родства. Родственных связей существует 8 ступеней, такие как: p - отец P - мать q - муж Q - жена b - брат B - сестра s - сын S - дочь
Мир по моей воле
kumehtar 07.08.2026
Когда-то кажется, что всё просто. Ты весь такой светлый. Причиняешь добро. Борешься за справедливость в этом тёмном мире. Потом начинаешь замечать одну неприятную вещь. Почти каждый хороший. . .
Кредитный калькулятор
Maks 05.08.2026
Решение задачи по прикладной информатике средствами 1С. Задача: Напишите приложение-калькулятор, которое помогает рассчитывать параметры кредита для аннуитетного и дифференцированного видов. . .
У нас сейчас поговорку "Опять 25" нужно переделать на "Опять +35".
kumehtar 04.08.2026
С ностальгией вспоминаю времена моего детства, когда у нас и правда +25 - была максимальная температура летом. Раньше +25 °C реально казались вершиной жары, когда можно было весь день пропадать на. . .
Как ИИ начал спорить и врать (возможно почуяв опасность для себя от индустрии - уход от электроники).
Hrethgir 04.08.2026
Недельный диалог, на фоне событий с НПЗ. Да, из спирта можно получать бензин, и это не сложно. Но потом в схеме я решил избавиться от насоса, при этом полностью сделав контроль подачи спирта в. . .
Термопринтер QR701
Argus19 03.08.2026
Термопринтер QR701 Купил два термопринтера QR701. На сэлф-тесте написано: Language: PC936 (GB18030). Что означает, что принтеры могут печатать только латиницу и китайские иероглифы. Так же. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru