unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, TeEngine, Series, ExtCtrls, TeeProcs, Chart,
DDSpinEdit, ComCtrls;
type
TForm1 = class(TForm)
Chart1: TChart;
Series1: TLineSeries;
Button1: TButton;
DDSpinEdit1: TDDSpinEdit;
Label1: TLabel;
DDSpinEdit6: TDDSpinEdit;
Label6: TLabel;
Series2: TLineSeries;
Chart2: TChart;
LineSeries1: TLineSeries;
LineSeries2: TLineSeries;
Series3: TLineSeries;
Button2: TButton;
DDSpinEdit19: TDDSpinEdit;
Label19: TLabel;
Series4: TLineSeries;
Button3: TButton;
Series5: TLineSeries;
Chart3: TChart;
LineSeries3: TLineSeries;
Series6: TLineSeries;
Series7: TLineSeries;
Chart4: TChart;
LineSeries4: TLineSeries;
Button4: TButton;
Button5: TButton;
Button6: TButton;
DDSpinEdit4: TDDSpinEdit;
Label4: TLabel;
Button7: TButton;
GroupBox1: TGroupBox;
DDSpinEdit2: TDDSpinEdit;
Label2: TLabel;
DDSpinEdit11: TDDSpinEdit;
Label11: TLabel;
DDSpinEdit10: TDDSpinEdit;
Label10: TLabel;
Label3: TLabel;
DDSpinEdit3: TDDSpinEdit;
GroupBox2: TGroupBox;
Label13: TLabel;
Label14: TLabel;
Label18: TLabel;
Label29: TLabel;
DDSpinEdit29: TDDSpinEdit;
DDSpinEdit18: TDDSpinEdit;
DDSpinEdit13: TDDSpinEdit;
DDSpinEdit14: TDDSpinEdit;
GroupBox4: TGroupBox;
DDSpinEdit17: TDDSpinEdit;
Label16: TLabel;
DDSpinEdit28: TDDSpinEdit;
Label28: TLabel;
Label17: TLabel;
Label27: TLabel;
DDSpinEdit16: TDDSpinEdit;
DDSpinEdit27: TDDSpinEdit;
GroupBox5: TGroupBox;
Label21: TLabel;
Label22: TLabel;
DDSpinEdit21: TDDSpinEdit;
DDSpinEdit22: TDDSpinEdit;
GroupBox6: TGroupBox;
Label5: TLabel;
Label12: TLabel;
DDSpinEdit12: TDDSpinEdit;
DDSpinEdit5: TDDSpinEdit;
Label15: TLabel;
DDSpinEdit15: TDDSpinEdit;
Label20: TLabel;
DDSpinEdit20: TDDSpinEdit;
Label8: TLabel;
Label9: TLabel;
DDSpinEdit8: TDDSpinEdit;
DDSpinEdit9: TDDSpinEdit;
DDSpinEdit25: TDDSpinEdit;
Label25: TLabel;
Chart5: TChart;
Button8: TButton;
LineSeries5: TLineSeries;
Button9: TButton;
Button10: TButton;
Button11: TButton;
Button12: TButton;
Button13: TButton;
Button14: TButton;
Button15: TButton;
DDSpinEdit7: TDDSpinEdit;
Label7: TLabel;
GroupBox8: TGroupBox;
DDSpinEdit30: TDDSpinEdit;
Label30: TLabel;
DDSpinEdit31: TDDSpinEdit;
Label31: TLabel;
GroupBox7: TGroupBox;
Label26: TLabel;
DDSpinEdit26: TDDSpinEdit;
GroupBox3: TGroupBox;
Label23: TLabel;
Label24: TLabel;
DDSpinEdit23: TDDSpinEdit;
DDSpinEdit24: TDDSpinEdit;
GroupBox9: TGroupBox;
CheckBox1: TCheckBox;
CheckBox2: TCheckBox;
CheckBox3: TCheckBox;
Button16: TButton;
Button17: TButton;
procedure Button1Click(Sender: TObject);
procedure Button2Click(Sender: TObject);
procedure DDSpinEdit6DblClick(Sender: TObject);
procedure DDSpinEdit15DblClick(Sender: TObject);
procedure Button3Click(Sender: TObject);
procedure DDSpinEdit25DblClick(Sender: TObject);
procedure Button4Click(Sender: TObject);
procedure Button5Click(Sender: TObject);
procedure Button6Click(Sender: TObject);
procedure Button7Click(Sender: TObject);
procedure DDSpinEdit26DblClick(Sender: TObject);
procedure DDSpinEdit14DblClick(Sender: TObject);
procedure DDSpinEdit16DblClick(Sender: TObject);
procedure DDSpinEdit17DblClick(Sender: TObject);
procedure Button9Click(Sender: TObject);
procedure Button10Click(Sender: TObject);
procedure Button11Click(Sender: TObject);
procedure Button12Click(Sender: TObject);
procedure Button13Click(Sender: TObject);
procedure Button14Click(Sender: TObject);
procedure Button15Click(Sender: TObject);
procedure DDSpinEdit22DblClick(Sender: TObject);
procedure CheckBox2Click(Sender: TObject);
procedure CheckBox3Click(Sender: TObject);
procedure Button16Click(Sender: TObject);
procedure Button17Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
uses Equations2,Stimulation, Unit2;
{$R *.dfm}
procedure TForm1.Button1Click(Sender: TObject);
begin
Form1.Button1.Enabled:=false;
Integrate;
Form1.Button1.Enabled:=true;
end;
procedure TForm1.Button2Click(Sender: TObject);
begin
Form1.DDSpinEdit6.Value:=nt*dt;
end;
procedure TForm1.DDSpinEdit6DblClick(Sender: TObject);
begin
Form1.DDSpinEdit6.Value:=100000; { t_end in ms }
end;
procedure TForm1.DDSpinEdit15DblClick(Sender: TObject);
begin
Form1.DDSpinEdit15.Value:=0;
end;
procedure TForm1.Button3Click(Sender: TObject);
begin
Cleaning;
end;
procedure TForm1.DDSpinEdit25DblClick(Sender: TObject);
begin
Form1.DDSpinEdit25.Value:=0;
end;
procedure TForm1.Button4Click(Sender: TObject);
begin
Form1.Chart2.BottomAxis.Automatic:=Form1.Chart1.BottomAxis.Automatic;
Form1.Chart3.BottomAxis.Automatic:=Form1.Chart1.BottomAxis.Automatic;
Form1.Chart2.BottomAxis.Minimum:=Form1.Chart1.BottomAxis.Minimum;
Form1.Chart2.BottomAxis.Maximum:=Form1.Chart1.BottomAxis.Maximum;
Form1.Chart3.BottomAxis.Minimum:=Form1.Chart1.BottomAxis.Minimum;
Form1.Chart3.BottomAxis.Maximum:=Form1.Chart1.BottomAxis.Maximum;
Form1.Chart5.BottomAxis.Automatic:=Form1.Chart1.BottomAxis.Automatic;
Form1.Chart5.BottomAxis.Minimum:=Form1.Chart1.BottomAxis.Minimum;
Form1.Chart5.BottomAxis.Maximum:=Form1.Chart1.BottomAxis.Maximum;
end;
procedure TForm1.Button5Click(Sender: TObject);
begin
Form1.Chart1.BottomAxis.Automatic:=Form1.Chart2.BottomAxis.Automatic;
Form1.Chart3.BottomAxis.Automatic:=Form1.Chart2.BottomAxis.Automatic;
Form1.Chart1.BottomAxis.Minimum:=Form1.Chart2.BottomAxis.Minimum;
Form1.Chart1.BottomAxis.Maximum:=Form1.Chart2.BottomAxis.Maximum;
Form1.Chart3.BottomAxis.Minimum:=Form1.Chart2.BottomAxis.Minimum;
Form1.Chart3.BottomAxis.Maximum:=Form1.Chart2.BottomAxis.Maximum;
Form1.Chart5.BottomAxis.Automatic:=Form1.Chart2.BottomAxis.Automatic;
Form1.Chart5.BottomAxis.Minimum:=Form1.Chart2.BottomAxis.Minimum;
Form1.Chart5.BottomAxis.Maximum:=Form1.Chart2.BottomAxis.Maximum;
end;
procedure TForm1.Button6Click(Sender: TObject);
begin
Form1.Chart1.BottomAxis.Automatic:=Form1.Chart3.BottomAxis.Automatic;
Form1.Chart2.BottomAxis.Automatic:=Form1.Chart3.BottomAxis.Automatic;
Form1.Chart2.BottomAxis.Minimum:=Form1.Chart3.BottomAxis.Minimum;
Form1.Chart2.BottomAxis.Maximum:=Form1.Chart3.BottomAxis.Maximum;
Form1.Chart1.BottomAxis.Minimum:=Form1.Chart3.BottomAxis.Minimum;
Form1.Chart1.BottomAxis.Maximum:=Form1.Chart3.BottomAxis.Maximum;
Form1.Chart5.BottomAxis.Automatic:=Form1.Chart3.BottomAxis.Automatic;
Form1.Chart5.BottomAxis.Minimum:=Form1.Chart3.BottomAxis.Minimum;
Form1.Chart5.BottomAxis.Maximum:=Form1.Chart3.BottomAxis.Maximum;
Form2.Chart6.BottomAxis.Automatic:=Form1.Chart3.BottomAxis.Automatic;
Form2.Chart6.BottomAxis.Minimum:=Form1.Chart3.BottomAxis.Minimum;
Form2.Chart6.BottomAxis.Maximum:=Form1.Chart3.BottomAxis.Maximum;
end;
procedure TForm1.Button7Click(Sender: TObject);
begin
Form1.Chart1.BottomAxis.Automatic:=true;
Form1.Chart2.BottomAxis.Automatic:=true;
Form1.Chart3.BottomAxis.Automatic:=true;
Form1.Chart5.BottomAxis.Automatic:=true;
Form2.Chart6.BottomAxis.Automatic:=true;
end;
procedure TForm1.DDSpinEdit26DblClick(Sender: TObject);
begin
Form1.DDSpinEdit26.Value:=0;
end;
procedure TForm1.DDSpinEdit14DblClick(Sender: TObject);
begin
Form1.DDSpinEdit14.Value:=0;
end;
procedure TForm1.DDSpinEdit16DblClick(Sender: TObject);
begin
Form1.DDSpinEdit16.Value:=0;
end;
procedure TForm1.DDSpinEdit17DblClick(Sender: TObject);
begin
Form1.DDSpinEdit17.Value:=0;
end;
procedure TForm1.Button9Click(Sender: TObject);
begin
if Stim<>nil then Stim.StartStimulation(t+dt);
end;
procedure TForm1.Button10Click(Sender: TObject);
begin
PlotSigmoid;
end;
procedure TForm1.Button11Click(Sender: TObject);
begin
Form1.Chart2.CopyToClipboardBitmap;
end;
procedure TForm1.Button12Click(Sender: TObject);
begin
Form1.Chart1.CopyToClipboardBitmap;
end;
procedure TForm1.Button13Click(Sender: TObject);
begin
Form1.Chart3.CopyToClipboardBitmap;
end;
procedure TForm1.Button14Click(Sender: TObject);
begin
if Form1.Chart5.Visible then
Form1.Chart5.CopyToClipboardBitmap;
if Form2.Chart6.Visible then
Form2.Chart6.CopyToClipboardBitmap;
end;
procedure TForm1.Button15Click(Sender: TObject);
begin
Form1.Chart4.CopyToClipboardBitmap;
end;
procedure TForm1.DDSpinEdit22DblClick(Sender: TObject);
begin
Form1.DDSpinEdit22.Value:=0;
end;
procedure TForm1.CheckBox2Click(Sender: TObject);
begin
if Form1.CheckBox2.Checked then begin
Form1.DDSpinEdit26.Value:=0;
Form1.DDSpinEdit14.Value:=0;
Form1.DDSpinEdit17.Value:=0;
Form1.DDSpinEdit24.Value:=24;
Form1.DDSpinEdit25.Value:=5;
Form1.DDSpinEdit18.Value:=3;
end;
end;
procedure TForm1.CheckBox3Click(Sender: TObject);
begin
if Form1.CheckBox3.Checked then begin
Form1.DDSpinEdit24.Value:=24;
Form1.DDSpinEdit25.Value:=35;
end;
end;
procedure TForm1.Button16Click(Sender: TObject);
begin
Form1.DDSpinEdit2.Value:=200; //Cm
Form1.DDSpinEdit3.Value:=0.4; //g_U
Form1.DDSpinEdit7.Value:=0; //I_a
Form1.DDSpinEdit8.Value:=25; //UT
Form1.DDSpinEdit9.Value:=-50; //U_reset
Form1.DDSpinEdit10.Value:=0; //dw_reset
end;
procedure TForm1.Button17Click(Sender: TObject);
begin
Form1.DDSpinEdit2.Value:=1000; //Cm
Form1.DDSpinEdit3.Value:=1.5; //g_U
Form1.DDSpinEdit7.Value:=116; //I_a
Form1.DDSpinEdit8.Value:=25; //UT
Form1.DDSpinEdit9.Value:=-40; //U_reset
Form1.DDSpinEdit10.Value:=100; //dw_reset
end;
end.