Hello All Lazarus Users,
I'm getting a very odd error message when I try to build the following simple project.
Error message:
do_the_macarena.lpr(1,1) Fatal: Can't find unit URIParser used by XMLRead
----- file "do_the_macarena.lpr "
program do_the_macarena;
{$mode objfpc}{$H+}uses
{$IFDEF UNIX}{$IFDEF UseCThreads}
cthreads,
{$ENDIF}{$ENDIF}
Interfaces, // this includes the LCL widgetset
Forms
{ you can add units after this }, Unit1;begin
Application.Initialize;
Application.CreateForm(TForm1, Form1);
Application.Run;
end.
------- end of lpr file.
------ file "unit1.pas"
unit Unit1;
{$mode objfpc}{$H+}
interfaceuses
Classes, SysUtils, LResources, Forms, Controls, Graphics, Dialogs, StdCtrls,
ExtCtrls;type
{ TForm1 }
TForm1 = class(TForm)
Edit1: TEdit;
Label1: TLabel;
Label2: TLabel;
Timer1: TTimer;
procedure Edit1KeyUp(Sender: TObject; var Key: Word; Shift:
TShiftState);
procedure FormCreate(Sender: TObject);
procedure Timer1Timer(Sender: TObject);
private
{ private declarations }
public
{ public declarations }
end;
var
Form1: TForm1;
Type
STR03 = STRING[3];
Const
MaxIndex = 16;
Dance : array[1..3,1..MaxIndex] of STR03 =
((' o ', ' o ', ' o ', ' o ', ' o ', ' o ', '<o ', '<o>', ' o>', ' o ',
' o ', ' o ', ' o ', ' o ', ' o ', ' o '),
('^|\', '^|^', 'v|^', 'v|v', '|/v', '|X|', ' \|', ' | ', ' \ ', ' x ',
'</ ', '<|>', '</>', '<\>', '<)>', ' |\'),
(' /\', ' >\', '/< ', ' >\', '/< ', ' >\', '/< ', ' >\', '/< ', ' >\',
'/< ', ' >\', '/< ', ' >\', ' >>', ' L '));
Var
Index : integer;
Edit1_Increment : integer;
implementation{ TForm1 }
procedure TForm1.FormCreate(Sender: TObject);
begin
Timer1.enabled := false;
Form1.Caption := 'Mr Ascii dancing Macarena...';
Edit1_Increment := 10;
// start at 200msec delay
Timer1.Interval := 200;
try
Edit1.Text := InttoStr(Timer1.Interval);
except
showmessage( 'Sorry... not a valid integer');
end;
Index := 1;
Timer1.enabled := true;
end;
{----------------------------------------------------------------}
procedure TForm1.Edit1KeyUp(Sender: TObject; var Key: Word; Shift:
TShiftState);
begin
Timer1.Interval := StrtoIntDef(Edit1.Text,1) +
Edit1_Increment
end;
{----------------------------------------------------------------}
procedure TForm1.Timer1Timer(Sender: TObject);
begin
Timer1.enabled := false;
Label1.Caption := Dance[ 1,index ] + #13 +
Dance[ 2,index ] + #13 +
Dance[ 3,index ];
index := (index mod MaxIndex) + 1;
Timer1.enabled := true;
end;
{----------------------------------------------------------------}
initialization
{$I unit1.lrs}
end.
----- end of file "unit1"