ich (Studentin im Forschungspraktikum) programmiere gerade ein kognitionspsychologisches Experiment, bin aber eher noch eine ziemliche Anfängerin.
Mein Problem: Für das Experiment brauche ich eine sehr genaue Zeitmessung, der TTimer kann das leider nicht leisten. Ich bin jetzt auf den EpikTimer gestossen, hab ihn auch schon installiert, habe aber keine Ahnung, was ich mit ihm anstellen muss, damit er in etwa dies macht:
Erst 1000 ms gar nichts anzeigen, dann 100 ms ein Fixationskreuz (.bmp), dann 100 ms wieder gar nichts, dann 200 ms einen Stimulus (.bmp) und dann wieder von vorn. Außerdem will ich bei Tastendruck die Zeit (in ms) messen.
Mit dem TTimer löse ich den Ablauf bisher so (Phase1 wird bei Klick auf Button ausgelöst, gesteuert durch einen TTimer):
Code: Alles auswählen
procedure TForm1.Timer1Timer(Sender: TObject); // Timer Phase 1
begin
Phase1;
end;
procedure TForm1.Phase1; // Phase 1
begin
Inc(x);
if x=1 then
begin
Timer1.Interval:=1000;
Image1.Visible:=False;
Image2.Visible:=False;
Inc(y);
end;
if x=2 then
begin
Timer1.Interval:=100;
Image1.Visible:=True;
Image2.Visible:=False;
end;
if x=3 then
begin
Timer1.Interval:=100;
Image1.Visible:=False;
Image2.Visible:=False;
end;
if x=4 then
begin
Timer1.Interval:=200;
Image1.Visible:=False;
stim[i]:=stimlist[3];
Image2.Picture.LoadFromFile(stim[i]+'.bmp');
Image2.Visible:=True;
t1:=timeGetTime;
end;
if x>4 then
begin
x:=0;
end;
if y>MAXTRIAL_1 then
begin
Inc(z);
Form1.Caption:='Pause.';
GroupBox2.Visible:=True;
Timer1.Enabled:=False;
end;
if z=MAXBLOCK_1 then
begin
Label1.Caption:='Weiter zu Teil 2?';
Button2.Caption:='OK';
end;
end;
1000 Dank und liebe Grüße,
Eva