program HelloWorld;
begin
Writeln('Hello, World!');
end.
uses
SysUtils;
begin
Writeln(FormatDateTime('yyyy-mm-dd', Now));
end.
unit MyUnit;
interface
procedure SayHello;
implementation
procedure SayHello;
begin
Writeln('Hello from MyUnit!');
end;
end.
var
x: Integer;
begin
x := 42;
Writeln(x);
end.
var
y: Real;
begin
y := 3.14;
Writeln(y);
end.
var
ch: Char;
begin
ch := 'A';
Writeln(ch);
end.
var
str: String;
begin
str := 'Hello, Lazarus!';
Writeln(str);
end.
var
b: Boolean;
begin
b := True;
Writeln(b);
end.
var
b: Byte;
begin
b := 255;
Writeln(b);
end.
var
w: Word;
begin
w := 65535;
Writeln(w);
end.
var
c: Cardinal;
begin
c := 4294967295;
Writeln(c);
end.
var
si: SmallInt;
begin
si := -32768;
Writeln(si);
end.
var
li: LongInt;
begin
li := 2147483647;
Writeln(li);
end.
var
i64: Int64;
begin
i64 := 9223372036854775807;
Writeln(i64);
end.
var
s: Single;
begin
s := 1.5E-4;
Writeln(s);
end.
var
d: Double;
begin
d := 3.14159;
Writeln(d);
end.
var
e: Extended;
begin
e := 1.23456789E+4000;
Writeln(e);
end.
var
compVar: Comp;
begin
compVar := 123456789.123456789;
Writeln(compVar);
end.
var
cur: Currency;
begin
cur := 19.99;
Writeln(cur);
end.
type
TDays = set of (Mon, Tue, Wed, Thu, Fri, Sat, Sun);
var
WorkDays: TDays;
begin
WorkDays := [Mon, Tue, Wed, Thu, Fri];
if Mon in WorkDays then
Writeln('Monday is a workday.');
end.
type
TPoint = record
X, Y: Integer;
end;
var
p: TPoint;
begin
p.X := 10;
p.Y := 20;
Writeln('X: ', p.X, ', Y: ', p.Y);
end.
var
arr: array[1..5] of Integer;
begin
arr[1] := 10;
arr[2] := 20;
Writeln(arr[1], ', ', arr[2]);
end.
var
p: ^Integer;
begin
New(p);
p^ := 42;
Writeln(p^);
Dispose(p);
end.
var
v: Variant;
begin
v := 123;
Writeln(v);
v := 'Hello';
Writeln(v);
end.
var
x: Integer;
begin
x := 10;
if x > 5 then
Writeln('x is greater than 5')
else
Writeln('x is 5 or less');
end.
var
ch: Char;
begin
ch := 'A';
case ch of
'A': Writeln('It''s A');
'B': Writeln('It''s B');
else
Writeln('Unknown');
end;
end.
var
i: Integer;
begin
for i := 1 to 5 do
Writeln(i);
end.
var
x: Integer;
begin
x := 0;
while x < 5 do
begin
Inc(x);
Writeln(x);
end;
end.
var
x: Integer;
begin
x := 0;
repeat
Inc(x);
Writeln(x);
until x = 5;
end.
procedure SayHello;
begin
Writeln('Hello!');
end;
begin
SayHello;
end.
function Add(a, b: Integer): Integer;
begin
Result := a + b;
end;
begin
Writeln(Add(10, 20));
end.
type
TPerson = class
Name: String;
procedure Greet;
end;
procedure TPerson.Greet;
begin
Writeln('Hello, ', Name);
end;
var
p: TPerson;
begin
p := TPerson.Create;
p.Name := 'Lazarus';
p.Greet;
p.Free;
end.
type
TMyClass = class
constructor Create;
destructor Destroy; override;
end;
constructor TMyClass.Create;
begin
Writeln('Created');
end;
destructor TMyClass.Destroy;
begin
Writeln('Destroyed');
inherited Destroy;
end;
var
obj: TMyClass;
begin
obj := TMyClass.Create;
obj.Free;
end.
type
PInt = ^Integer;
var
p: PInt;
begin
New(p);
p^ := 42;
Writeln(p^);
Dispose(p);
end.
type
TPoint = record
X, Y: Integer;
end;
var
p: TPoint;
begin
p.X := 10;
p.Y := 20;
with p do
Writeln('X: ', X, ', Y: ', Y);
end.
label
MyLabel;
var
x: Integer;
begin
x := 0;
MyLabel:
Writeln(x);
Inc(x);
if x < 5 then
goto MyLabel;
end.
begin
try
Writeln(10 div 0);
except
on E: Exception do
Writeln('Error: ', E.Message);
end;
end.
var
f: TextFile;
begin
AssignFile(f, 'example.txt');
try
Rewrite(f);
Writeln(f, 'Hello, Lazarus!');
finally
CloseFile(f);
end;
end.