unit Unit1;
{$mode objfpc}{$H+}
interface
uses
Classes, SysUtils, FileUtil, Forms, Controls, Graphics, Dialogs, StdCtrls,
ExtCtrls;
type
{ TForm1 }
TForm1 =
class(TForm)
Berechnen: TButton;
Button2: TButton;
Button3: TButton;
Edit1: TEdit;
Image1: TImage;
Image2: TImage;
Label1: TLabel;
Label2: TLabel;
Memo1: TMemo;
procedure BerechnenClick(Sender: TObject);
procedure Button2Click(Sender: TObject);
procedure Button3Click(Sender: TObject);
procedure Edit1Change(Sender: TObject);
procedure Edit1KeyPress(Sender: TObject;
var Key: char);
procedure FormCreate(Sender: TObject);
procedure Image1Click(Sender: TObject);
procedure Image3Click(Sender: TObject);
procedure Memo1Change(Sender: TObject);
private
{ private declarations }
public
{ public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.lfm}
{ TForm1 }
procedure TForm1.FormCreate(Sender: TObject);
begin
end;
procedure TForm1.Image1Click(Sender: TObject);
begin
end;
procedure TForm1.Image3Click(Sender: TObject);
begin
Showmessage ('
http:us.123rf.com/400wm/400/400/speedfighter/speedfighter0907/speedfighter090700086/5179955-silhouette-der-schmetterlinge-fliegen-ber-field-of-flowers.jpg')
end;
procedure TForm1.Memo1Change(Sender: TObject);
begin
end;
procedure TForm1.Edit1KeyPress(Sender: TObject;
var Key: char);
begin
if not (Key
in ['
0'..'
9',#08])
then
key:= #0;
end;
procedure TForm1.Button2Click(Sender: TObject);
begin
Edit1.Clear;
//-> Die Zahlen im Textfeld werden gelöscht
Edit1.Text:='
200'
//-> Im Label für das Ergebnis soll nach dem Löschen nun wieder "Ergebnis" stehen
end;
procedure TForm1.Button3Click(Sender: TObject);
begin
Close();
//Wenn man auf "schließen" klickt, soll das ganze Programm geschlossen werden
end;
procedure TForm1.Edit1Change(Sender: TObject);
begin
end;
procedure TForm1.BerechnenClick(Sender: TObject);
var
a: real;
begin
a:= StrtoFloat(Edit1.Text);
end;
const
n=200 ;
var
zahl :
array[2..n]
of boolean;
p,i,v : integer;
weiter : boolean;
begin
// Eingabe
// Verarbeitung
for i := 2
to n
do zahl[i] := true;
p := 2;
while p <= n
do
begin
// es werden die Vielfachen von p getrichen
v := 2*p;
// v ist das 'Vielfache'
while v <= n
do
begin
zahl[v] := false;
v := v+p;
end;
// es wird die nächste nicht gestrichene Zahl gesucht
p := p+1;
if p <= n
then weiter := true;
// 'weiter' ist ein logischer Schalter
while weiter
do
if (p<=n)
and (zahl[p] = false)
then
p := p+1
else
weiter := false;
end;
end.