Registriert seit: 27. Nov 2007
10 Beiträge
|
Re: Procedure-Problem
29. Nov 2007, 10:17
ich hab mir dieses in der anzeige erspart, der vollständigkeit halber:
Delphi-Quellcode:
procedure TForm1.RadioButton1Click(Sender: TObject);
var
signal,
u1,u2,u3,
s1,s2,s3,
sigma1,sigma2,sigma3,
u_AMT,s_AMT,sigma_AMT : real;
m: integer; //Anzahl der Abtastwerte
i: integer; //Laufvariable
Zeitsignal,AM: : array of single;
begin
//Vereinbarungen
m:=1000;
setlength(Zeitsignal,m);
setlength(AM,m);
u1:=StrToFloatDef(Edit4.Text,0);
u2:=StrToFloatDef(Edit7.Text,0);
u3:=StrToFloatDef(Edit10.Text,0);
s1:=StrToFloatDef(Edit5.Text,0);
s2:=StrToFloatDef(Edit8.Text,0);
s3:=StrToFloatDef(Edit11.Text,0);
sigma1:=StrToFloatDef(Edit6.Text,0);
sigma2:=StrToFloatDef(Edit9.Text,0);
sigma3:=StrToFloatDef(Edit12.Text,0);
u_AMT:=StrToFloatDef(Edit1.Text,0);
s_AMT:=StrToFloatDef(Edit2.Text,0);
sigma_AMT:=StrToFloatDef(Edit3.Text,0);
for i:=0 to m-1 do
begin
signal:=0;
signal:=u1*sin(2*pi/m*s1*i+sigma1)+u2*sin(2*pi/m*s2*i+sigma2)+signal;
signal:=u3*sin(2*pi/m*s3*i+sigma3)+u4*sin(2*pi/m*s4*i+sigma4)+signal;
Zeitsignal[i]:=signal;
AM[i]:=u_AMT*sin(2*pi/m*s_AMT*i+sigma_AMT)*signal;
end;
chart1.Series[0].clear;
chart2.Series[0].clear;
for i:=0 to round(m-1) do
begin
chart1.Series[0].AddXY(i,Zeitsignal[i]);
chart2.Series[0].AddXY(i,AM[i]);
end;
end;
|
|
Zitat
|