Форум программистов, компьютерный форум, киберфорум
Delphi: Графика, звук, видео
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
1 / 1 / 0
Регистрация: 02.02.2012
Сообщений: 16

Циклическое увеличение/уменьшение столбцов диаграммы (компонент TChart)

30.11.2012, 22:23. Показов 1435. Ответов 0
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
реализовать параллельное выполнение двух независимых задач.
1. Алгоритм, определяющий является ли число простым.
2. Циклическое увеличение/уменьшение столбцов диаграммы (компонент TChart).
первую часть сделала а вот вторую не пойму как
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
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
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
unit Unit1;
 
interface
 
uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, ExtCtrls, StdCtrls, TeeProcs, TeEngine, Chart, Series;
 
type
  TForm1 = class(TForm)
    Memo1: TMemo;
    Button1: TButton;
    Button2: TButton;
    Timer1: TTimer;
    Edit1: TEdit;
    Chart1: TChart;
    Series1: TBarSeries;
    Chart2: TChart;
    procedure Timer1Timer(Sender: TObject);
    procedure Button1Click(Sender: TObject);
    procedure Button2Click(Sender: TObject);
    procedure FormCreate(Sender: TObject);
   private
    { Private declarations }
  public
    { Public declarations }
  end;
   TPrimeThrd = class(TThread)
  private
    FTestNumber: integer;
    FresultString: string;
  protected
    function IsPrime: boolean;
    procedure UpdateResults;
    procedure Execute; override;
  public
    property TestNumber: integer write FTestNumber;
  end;
 var
  Form1: TForm1;
  T1:TPrimeThrd;
  F:bool;
  i: integer;
 
implementation
 
function TPrimeThrd.IsPrime: boolean;
 
var
  iter: integer;
 
begin
  result := true;
  if FTestNumber < 0 then
  begin
    result := false;
    exit;
  end;
  if FTestNumber <= 2 then
    exit;
  for iter := 2 to FTestNumber - 1 do
  begin
    sleep(50);
    if (FTestNumber mod iter) = 0 then
    begin
      result := false;
      {exit;}
    end;
  end;
end;
 
procedure TPrimeThrd.Execute;
begin
  if IsPrime then
    FresultString:=IntToStr(FTestNumber)+ ' число простое'
  else
    FresultString:=IntToStr(FTestNumber)+ ' число не является простым';
 
    Synchronize(UpdateResults);
 
end;
 
 procedure TPrimeThrd.UpdateResults;
 begin
 Form1.Memo1.Lines.Add(FresultString);
 end;
 
 
{$R *.dfm}
 procedure distance(x1,y1,x2,y2: integer);
 var
 d: real;
 begin
 d:=sqrt((x1-x2)*(x1-x2) + (y1-y2)*(y1-y2));
end;
procedure TForm1.Timer1Timer(Sender: TObject);
begin
for i:= 0 to 1000 do
 series1.YValue[i]:=random(200);
end;
 
procedure TForm1.Button1Click(Sender: TObject);
begin
T1:=TPrimeThrd.Create(True);
T1.FreeOnTerminate:=True;
try
T1.TestNumber:=StrToInt(Edit1.Text);
T1.Resume;
except on EConvertError do
 begin
 T1.Free;
 ShowMessage('Недопустимое число')
 end;
 end;
 end;
 
procedure TForm1.Button2Click(Sender: TObject);
var
number, iter: integer;
isprime: bool;
begin
  isprime:= true;
  number:=StrToInt(Edit1.Text);
  if number<0 then isprime:=false;
  if number>=2 then
    for iter:=2 to number-1 do
      begin
        sleep(50);
        if (number mod iter)=0 then
          begin
          isprime:=false;
        end;
      end;
    if isprime then
       Memo1.Lines.Add(IntToStr(Number)+' число простое')
    else
      Memo1.Lines.Add(IntToStr(Number)+' число не является простым')
    end;
 
procedure TForm1.FormCreate(Sender: TObject);
begin
  timer1.Interval:= 150;
 randomize;
 for i:= 0 to 1000 do
  series1.AddY(random(200))
end;
 
end.
Добавлено через 3 часа 52 минуты
циклическое увеличение есть а как уменьшить?
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
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
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
unit Unit1;
 
interface
 
uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, ExtCtrls, StdCtrls, TeeProcs, TeEngine, Chart, Series, DateUtils;
 
type
  TForm1 = class(TForm)
    Memo1: TMemo;
    Button1: TButton;
    Button2: TButton;
    Timer1: TTimer;
    Edit1: TEdit;
    Chart1: TChart;
    Series1: TBarSeries;
    Chart2: TChart;
    Series2: TBarSeries;
    procedure Button1Click(Sender: TObject);
    procedure Button2Click(Sender: TObject);
    procedure FormActivate(Sender: TObject);
   private
    { Private declarations }
  public
    { Public declarations }
  end;
   TPrimeThrd = class(TThread)
  private
    FTestNumber: integer;
    FresultString: string;
  protected
    function IsPrime: boolean;
    procedure UpdateResults;
    procedure Execute; override;
  public
    property TestNumber: integer write FTestNumber;
  end;
 var
  Form1: TForm1;
  T1:TPrimeThrd;
  F:bool;
 
 const
 rCircle=100; //радиус круга - траектории
 
implementation
 
function TPrimeThrd.IsPrime: boolean;
 
var
  iter: integer;
 
begin
  result := true;
  if FTestNumber < 0 then
  begin
    result := false;
    exit;
  end;
  if FTestNumber <= 2 then
    exit;
  for iter := 2 to FTestNumber - 1 do
  begin
    sleep(50);
    if (FTestNumber mod iter) = 0 then
    begin
      result := false;
      {exit;}
    end;
  end;
end;
 
procedure TPrimeThrd.Execute;
begin
  if IsPrime then
    FresultString:=IntToStr(FTestNumber)+ ' число простое'
  else
    FresultString:=IntToStr(FTestNumber)+ ' число не является простым';
 
    Synchronize(UpdateResults);
 
end;
 
 procedure TPrimeThrd.UpdateResults;
 begin
 Form1.Memo1.Lines.Add(FresultString);
 end;
 
 
{$R *.dfm}
 procedure distance(x1,y1,x2,y2: integer);
 var
 d: real;
 begin
 d:=sqrt((x1-x2)*(x1-x2) + (y1-y2)*(y1-y2));
end;
procedure TForm1.Button1Click(Sender: TObject);
begin
T1:=TPrimeThrd.Create(True);
T1.FreeOnTerminate:=True;
try
T1.TestNumber:=StrToInt(Edit1.Text);
T1.Resume;
except on EConvertError do
 begin
 T1.Free;
 ShowMessage('Недопустимое число')
 end;
 end;
 end;
 
procedure TForm1.Button2Click(Sender: TObject);
var
number, iter: integer;
isprime: bool;
begin
  isprime:= true;
  number:=StrToInt(Edit1.Text);
  if number<0 then isprime:=false;
  if number>=2 then
    for iter:=2 to number-1 do
      begin
        sleep(50);
        if (number mod iter)=0 then
          begin
          isprime:=false;
        end;
      end;
    if isprime then
       Memo1.Lines.Add(IntToStr(Number)+' число простое')
    else
      Memo1.Lines.Add(IntToStr(Number)+' число не является простым')
    end;
 
procedure TForm1.FormActivate(Sender: TObject);
 Var
 i,Z:Integer;
 
 begin
 series1.clear;
 for i:=1 to 100 do
 BEGIN
 Z:=random(10);
 Application.ProcessMessages();
 sleep (100);
 Series2.AddXY(i, Z, '', clRed);
 END;
 
end;
 
end.
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
30.11.2012, 22:23
Ответы с готовыми решениями:

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

Плавное увеличение и цикл увеличение/уменьшение
Приветствую! Подскажите пожалуйста: Пи старте сцене у объекта по оси X, Scale равняется 0 т.е. по сути объект невидим. - Вот мы...

Увеличение и уменьшение картинки
Подскажите, пожалуйста! Я в TImage вставила картинку. Мне надо применить к ней zoom (нажимая на определенную область картинки она должна...

0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
30.11.2012, 22:23
Помогаю со студенческими работами здесь

Увеличение/уменьшение изображения
Как сделать, чтобы при первом щелчке картинка увеличивалась, а при повторном - уменьшалась? И при этом всегда оставалась на переднем плане....

Увеличение и уменьшение квадрата С++
Доброе время суток! Кто может подсказать как можно реализовать увеличение и уменьшение квадрата динамически? То есть квадрат то...

Уменьшение, увеличение Image
Как сделать, чтобы при первом щелчке картинка увеличивалась, а при повторном - уменьшалась?

Увеличение и уменьшение объекта
&lt;Canvas Name=&quot;Canvas1&quot;&gt; &lt;StackPanel Canvas.Left=&quot;200&quot; Canvas.Top=&quot;200&quot;&gt; &lt;Ellipse Name=&quot;ellip1&quot; Fill=&quot;Green&quot;...

увеличение - уменьшение изображения
пример вот здесь - http://www.el-tuning.ru/index.html сделать средствами HTML


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

Или воспользуйтесь поиском по форуму:
1
Ответ Создать тему
Новые блоги и статьи
SDL3 для Desktop (MinGW): Создаём пустое окно с нуля для 2D-графики на SDL3, Си и C++
8Observer8 10.03.2026
Содержание блога Финальные проекты на Си и на C++: hello-sdl3-c. zip hello-sdl3-cpp. zip Результат:
Установка CMake и MinGW 13.1 для сборки С и C++ приложений из консоли и из Qt Creator в EXE
8Observer8 10.03.2026
Содержание блога MinGW - это коллекция инструментов для сборки приложений в EXE. CMake - это система сборки приложений. Здесь описаны базовые шаги для старта программирования с помощью CMake и. . .
Как дизайн сайта влияет на конверсию: 7 решений, которые реально повышают заявки
Neotwalker 08.03.2026
Многие до сих пор воспринимают дизайн сайта как “красивую оболочку”. На практике всё иначе: дизайн напрямую влияет на то, оставит человек заявку или уйдёт через несколько секунд. Даже если у вас. . .
Модульная разработка через nuget packages
DevAlt 07.03.2026
Сложившийся в . Net-среде способ разработки чаще всего предполагает монорепозиторий в котором находятся все исходники. При создании нового решения, мы просто добавляем нужные проекты и имеем. . .
Модульный подход на примере F#
DevAlt 06.03.2026
В блоге дяди Боба наткнулся на такое определение: В этой книге («Подход, основанный на вариантах использования») Ивар утверждает, что архитектура программного обеспечения — это структуры,. . .
Управление камерой с помощью скрипта OrbitControls.js на Three.js: Вращение, зум и панорамирование
8Observer8 05.03.2026
Содержание блога Финальная демка в браузере работает на Desktop и мобильных браузерах. Итоговый код: orbit-controls-threejs-js. zip. Сканируйте QR-код на мобильном. Вращайте камеру одним пальцем,. . .
SDL3 для Web (WebAssembly): Синхронизация спрайтов SDL3 и тел Box2D
8Observer8 04.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-sync-physics-sprites-sdl3-c. zip На первой гифке отладочные линии отключены, а на второй включены:. . .
SDL3 для Web (WebAssembly): Идентификация объектов на Box2D v3 - использование userData и событий коллизий
8Observer8 02.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-collision-events-sdl3-c. zip Сканируйте QR-код на мобильном и вы увидите, что появится джойстик для управления главным героем. . . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru