unit Eingabe;

interface

uses
  Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
  Buttons, StdCtrls;

type
  TForm1 = class(TForm)
    Edit1: TEdit;
    Button1: TButton;
    Button2: TButton;
    Button3: TButton;
    Button4: TButton;
    Button5: TButton;
    BitBtn1: TBitBtn;
    Label1: TLabel;
    procedure Button1Click(Sender: TObject);
    procedure Button2Click(Sender: TObject);
    procedure Button3Click(Sender: TObject);
    procedure Button4Click(Sender: TObject);
    procedure Button5Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;

implementation
        var Fehler, n: Integer;
            Wert, Zeichen: String;
            c: Char;


{$R *.DFM}

procedure TForm1.Button1Click(Sender: TObject);
        var i : Integer;
begin
        (* Startbedingungen *)
        Fehler := 0;
        Label1.Caption := '';

      (* Eingabe lesen *)
        Wert := Edit1.Text;

     (* überprüfen, ob etwas eingegeben ist *)
    if Length(Wert) = 0
    then
         ShowMessage('Bitte etwas eingeben!')
    else
begin
        (* jedes einzelne Zeichen erfassen *)
        for i := 1 to  Length(Wert) do
           begin
             (* Ein String ist ein Array aus Chars *)
             c := Wert[i];
             n := Ord(c);
             (* Fehler ausschließen *)
           IF (n < 48) OR (n > 57) THEN Fehler := 1;
           end;

         (* Fehler entdeckt? *)
        IF Fehler <> 0 THEN ShowMessage('Es wurde keine natürliche Zahl eingegeben!'+ #13 + #10 + 'Bitte korrigieren!');

    (* Programm fortsetzen oder nicht *)
    IF Fehler = 0 THEN
    begin
    (* normales Programm *)
      Label1.Caption := 'O.K.';
    end;
end;
end;

procedure TForm1.Button2Click(Sender: TObject);
        var Zahl: Integer;
begin
    (* Startbedingungen *)
        Fehler := 0;
        Label1.Caption := '';
    try
    Zahl:=StrToInt(Edit1.Text);
    except
    begin
       Fehler := 1;
       ShowMessage('Es wurde keine ganze Zahl eingegeben!'+ #13 + #10 + 'Bitte korrigieren!');
    end;
    end;

    (* Programm fortsetzen oder nicht *)
    IF Fehler = 0 THEN
    begin
    (* normales Programm *)
      Label1.Caption := 'O.K.';
    end;
end;

procedure TForm1.Button3Click(Sender: TObject);
        var Zahl: Real;
begin
    (* Startbedingungen *)
        Fehler := 0;
        Label1.Caption := '';
    try
    Zahl:=StrToFloat(Edit1.Text);
    except
    begin
       Fehler := 1;
       ShowMessage('Es wurde keine relle Zahl eingegeben!'+ #13 + #10 + 'Bitte korrigieren!');
    end;
    end;

    (* Programm fortsetzen oder nicht *)
    IF Fehler = 0 THEN
    begin
    (* normales Programm *)
      Label1.Caption := 'O.K.';
    end;
end;

procedure TForm1.Button4Click(Sender: TObject);
        var i : Integer;
begin
        (* Startbedingungen *)
        Fehler := 0;
        Label1.Caption := '';

      (* Eingabe lesen *)
        Wert := Edit1.Text;

     (* überprüfen, ob etwas eingegeben ist *)
    if Length(Wert) = 0
    then
         ShowMessage('Bitte etwas eingeben!')
    else
begin
        (* jedes einzelne Zeichen erfassen *)
        for i := 1 to  Length(Wert) do
           begin
             (* Ein String ist ein Array aus Chars *)
             c := Wert[i];
             n := Ord(c);
             (* Fehler ausschließen *)
           IF (n < 65) OR (n > 90) THEN Fehler := Fehler + 1;
           IF (c = 'Ä') OR (c = 'Ö') OR (c = 'Ü') THEN Fehler := Fehler - 1;
           end;

         (* Fehler entdeckt? *)
        IF Fehler <> 0 THEN ShowMessage('Es wurden nicht nur Großbuchstaben eingegeben!'+ #13 + #10 + 'Bitte korrigieren!');

    (* Programm fortsetzen oder nicht *)
    IF Fehler = 0 THEN
    begin
    (* normales Programm *)
      Label1.Caption := 'O.K.';
    end;
end;
end;

procedure TForm1.Button5Click(Sender: TObject);
        var i : Integer;
begin
        (* Startbedingungen *)
        Fehler := 0;
        Label1.Caption := '';

      (* Eingabe lesen *)
        Wert := Edit1.Text;

     (* überprüfen, ob etwas eingegeben ist *)
    if Length(Wert) = 0
    then
         ShowMessage('Bitte etwas eingeben!')
    else
begin
        (* jedes einzelne Zeichen erfassen *)
        for i := 1 to  Length(Wert) do
           begin
             (* Ein String ist ein Array aus Chars *)
             c := Wert[i];
             n := Ord(c);
             (* Fehler ausschließen *)
           IF (n < 65) OR (n > 122) THEN Fehler := Fehler + 1;
           IF (c = 'Ä') OR (c = 'Ö') OR (c = 'Ü') OR (c = 'ä') OR (c = 'ö') OR (c = 'ü') OR (c = 'ß') THEN Fehler := Fehler - 1;
           end;

         (* Fehler entdeckt? *)
        IF Fehler <> 0 THEN ShowMessage('Es wurde keine einfaches Wort eingegeben!'+ #13 + #10 + 'Bitte korrigieren!');

    (* Programm fortsetzen oder nicht *)
    IF Fehler = 0 THEN
    begin
    (* normales Programm *)
      Label1.Caption := 'O.K.';
    end;
end;
end;

end.