Top.Mail.Ru
Ответы
Аватар пользователя
Изменено
Аватар пользователя
Аватар пользователя
Аватар пользователя
Программирование
+3

Как сделать цикл в VCL forms в Delphi

Uses
Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics,
Vcl.Controls, Vcl.Forms, Vcl.Dialogs, Vcl.Menus, Vcl.StdCtrls;

type
TForm1 = class(TForm)
MainMenu1: TMainMenu;
N1: TMenuItem;
N2: TMenuItem;
N3: TMenuItem;
Edit1: TEdit;
Edit2: TEdit;
Edit3: TEdit;
Edit4: TEdit;
Label1: TLabel;
Label2: TLabel;
Label3: TLabel;
Label4: TLabel;
Label5: TLabel;
Edit5: TEdit;
Edit6: TEdit;
Edit7: TEdit;
procedure N1Click(Sender: TObject);
procedure N2Click(Sender: TObject);
procedure N3Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;

var
Form1: TForm1;
xn,dx,xk,a,y,b:real;

implementation

{$R *.dfm}

//Вывод информации о программе
procedure TForm1.N2Click(Sender: TObject);
begin
try
Application.Title := 'Информация о программе';
showmessage('Автор: ---'+#13#10+'Вариант 18'+#13#10+'Задание №8'+#13#10+'Группа 2191')
finally;
end;
end;

//Выход
procedure TForm1.N3Click(Sender: TObject);
begin
close;
end;

//Программа запуска
procedure TForm1.N1Click(Sender: TObject);
begin
a:=StrToFloat( Edit1.text);
b:=StrToFloat( Edit2.text);
xn:=StrToFloat( Edit3.text); //начальное значение аргумента
dx:=Strtofloat(edit5.Text); //шаг изменения аргумента
xk:=STRtofloat(edit6.Text); //конечное значение аргумента

repeat
if xn<0 then
begin
if xn<-1 then y:=b*(abs(Exp(3*ln(Abs(xn))))) else y:=a*sin(xn) end
else y:=exp(xn)*(a*xn+b);
edit4.Text:=formatfloat('0.000',xn);
edit7.Text:=formatfloat('0.000',y);
xn:=xn+dx;
until xn<=xk;
end;
end.

Написал программу написал по вычислению y c изменяющимся аргументом х. Мне нужно вывести таблицу с х и соответствующим у для него. Подскажите пожалуйста как это сделать.

По дате
По рейтингу
Аватар пользователя
Новичок

>Как сделать цикл в VCL forms в Delphi
Точно так же, как и в любом другом паскалеподобном языке, никакой разницы.

>Мне нужно вывести таблицу с х и соответствующим у для него. Подскажите пожалуйста как это сделать.
Используй компонент TMemo или TStringGrid - выбирай на вкус.

Аватар пользователя
Мыслитель

В Дельфи для этого есть компонент TTimer, который выполняет свою процедуру Action с определенной периодичностью. Периодичность задаётся в его настройках и может меняться программно, останавливаться и запускаться снова..