Guarda quello che segue è il codice intero per fare quello che volevi. Per prima cosa, l'assegnazione viene fatta con il := e non solo con =
Altra cosa se ometti il begin e end dalle if allora puoi non mettere il ; a fine riga. Diversamente è obbligatorio.
Poi devi valorizzare l'intervall fuori dall'evento del timer perchè è l'interval>0 che vvia l'uso del timer. Spero di esserti stato d'aiuto.
unit Unit1;
{$mode objfpc}{$H+}
interface
uses
Classes, SysUtils, FileUtil, Forms, Controls, Graphics, Dialogs, ExtCtrls,
ComCtrls;
type
{ TForm1 }
TForm1 = class(TForm)
ProgressBar1: TProgressBar;
Timer1: TTimer;
procedure FormShow(Sender: TObject);
procedure Timer1Timer(Sender: TObject);
private
{ private declarations }
public
{ public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.lfm}
{ TForm1 }
procedure TForm1.Timer1Timer(Sender: TObject);
begin
if ProgressBar1.Position > 100 then
begin
ProgressBar1.Position:=0;
end
else
begin
ProgressBar1.Position:=ProgressBar1.Position+1;
end;
end;
procedure TForm1.FormShow(Sender: TObject);
begin
Timer1.Interval:=100; // poi posto in open di form
end;
end.