This repository contains Lazarus/Free Pascal prototype projects, packages and reusable units for behavioral experiments.
A design time component (TSchedules) that allow following schedules:
- FR, FI, FT
- VR, VI, VT
- DRL, DRH
- CRF, EXT
If you don't want to install the package, you can reuse the units. They live inside src/schedules/
.
All reusable units lives in /src/
:
behavior.events.pas // reusable
controls.stimulusgrid.pas // reusable
controls.stimuluskey.pas // reusable
extctrls.stimulus.pas // reusable
serialtimer.pas // reusable
sessions.pas // not reusable
tabdelimitedreport.custom.pas // not reusable
tabdelimitedreport.pas // reusable
timestamps.pas // reusable
Projects lives inside /example/projects/
folder. They are simple Lazarus applications. It is recommended to use Lazarus to compile them.
Given an antecedent stimulus, clicking the stimulus shows a start for some time then hide the start. While the start is visible, clicking the stimulus resets the "hide" timer.
if `S` then `R` -> `C`
if `S` and `C` then reset `C` timer
Uses the serial timer (SerialTimer.pas) to present stimuli (S) with pseudo-random (Tr) and predictable (Tp) intervals from each other. We do this in such a way so that S predicts S'.
S -> R
S' -> ?
if `S` then `Tp` then `S'` then `Tr` then `S` then [...]
S -> R
S' -> R'
Ilustrates how to move a ball on screen using TShape and a TTimer. Also ilustrates how to control the direction of the ball using keyboard and mouse. Also ilustrates simple colision algorithm, the ball will
Ilustrates how to track mouse and keyboard events with TForm and TGraphicalControl classes. Ilustrates how to make a cummulative record with thoses events. Uses units like: TabDelimitedReport, Timestamps and ExtCtrl.Stimulus.
- Prototypes for an experimental "Session" with "Trials".
- Ilustrates how to create a stimulus matrix grid on screen.
- Ilustrates how to load bmp files.
- Ilustrate how to load png files with transparency.