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, Test: Integer;
            Wert, Zeichen: String;

{$R *.DFM}

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

        (* Länge der Eingabe prüfen *)
         Wert := Edit1.Text;
         j := Length(Wert);

        (* Zeichen lesen *)
        FOR i := 1 TO j DO
        begin
         Zeichen := copy(Wert,i,1);

        (* Fehler ausschließen *)
        Test := 0;
         IF Zeichen = '0' THEN Test := 1;
         IF Zeichen = '1' THEN Test := 1;
         IF Zeichen = '2' THEN Test := 1;
         IF Zeichen = '3' THEN Test := 1;
         IF Zeichen = '4' THEN Test := 1;
         IF Zeichen = '5' THEN Test := 1;
         IF Zeichen = '6' THEN Test := 1;
         IF Zeichen = '7' THEN Test := 1;
         IF Zeichen = '8' THEN Test := 1;
         IF Zeichen = '9' THEN Test := 1;
        (* Kein Treffer - dann Fehler *)
         IF Test = 0 THEN Fehler := 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
      Label1.Caption := 'O.K.';
    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
      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
      Label1.Caption := 'O.K.';
    end;
end;

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

        (* Länge der Eingabe prüfen *)
         Wert := Edit1.Text;
         j := Length(Wert);

        (* Zeichen lesen *)
        FOR i := 1 TO j DO
        begin
         Zeichen := copy(Wert,i,1);

        (* Fehler ausschließen *)
        Test := 0;
         IF Zeichen = 'A' THEN Test := 1;
         IF Zeichen = 'B' THEN Test := 1;
         IF Zeichen = 'C' THEN Test := 1;
         IF Zeichen = 'D' THEN Test := 1;
         IF Zeichen = 'E' THEN Test := 1;
         IF Zeichen = 'F' THEN Test := 1;
         IF Zeichen = 'G' THEN Test := 1;
         IF Zeichen = 'H' THEN Test := 1;
         IF Zeichen = 'I' THEN Test := 1;
         IF Zeichen = 'J' THEN Test := 1;
         IF Zeichen = 'K' THEN Test := 1;
         IF Zeichen = 'L' THEN Test := 1;
         IF Zeichen = 'M' THEN Test := 1;
         IF Zeichen = 'N' THEN Test := 1;
         IF Zeichen = 'O' THEN Test := 1;
         IF Zeichen = 'P' THEN Test := 1;
         IF Zeichen = 'Q' THEN Test := 1;
         IF Zeichen = 'R' THEN Test := 1;
         IF Zeichen = 'S' THEN Test := 1;
         IF Zeichen = 'T' THEN Test := 1;
         IF Zeichen = 'U' THEN Test := 1;
         IF Zeichen = 'V' THEN Test := 1;
         IF Zeichen = 'W' THEN Test := 1;
         IF Zeichen = 'X' THEN Test := 1;
         IF Zeichen = 'Y' THEN Test := 1;
         IF Zeichen = 'Z' THEN Test := 1;
         IF Zeichen = 'Ä' THEN Test := 1;
         IF Zeichen = 'Ö' THEN Test := 1;
         IF Zeichen = 'Ü' THEN Test := 1;
         (* Kein Treffer - dann Fehler *)
          IF Test = 0 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
      Label1.Caption := 'O.K.';
    end;

end;

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

        (* Länge der Eingabe prüfen *)
         Wert := Edit1.Text;
         j := Length(Wert);

        (* Zeichen lesen *)
        FOR i := 1 TO j DO
        begin
         Zeichen := copy(Wert,i,1);

        (* Fehler ausschließen *)
        Test := 0;
         IF Zeichen = 'A' THEN Test := 1;
         IF Zeichen = 'B' THEN Test := 1;
         IF Zeichen = 'C' THEN Test := 1;
         IF Zeichen = 'D' THEN Test := 1;
         IF Zeichen = 'E' THEN Test := 1;
         IF Zeichen = 'F' THEN Test := 1;
         IF Zeichen = 'G' THEN Test := 1;
         IF Zeichen = 'H' THEN Test := 1;
         IF Zeichen = 'I' THEN Test := 1;
         IF Zeichen = 'J' THEN Test := 1;
         IF Zeichen = 'K' THEN Test := 1;
         IF Zeichen = 'L' THEN Test := 1;
         IF Zeichen = 'M' THEN Test := 1;
         IF Zeichen = 'N' THEN Test := 1;
         IF Zeichen = 'O' THEN Test := 1;
         IF Zeichen = 'P' THEN Test := 1;
         IF Zeichen = 'Q' THEN Test := 1;
         IF Zeichen = 'R' THEN Test := 1;
         IF Zeichen = 'S' THEN Test := 1;
         IF Zeichen = 'T' THEN Test := 1;
         IF Zeichen = 'U' THEN Test := 1;
         IF Zeichen = 'V' THEN Test := 1;
         IF Zeichen = 'W' THEN Test := 1;
         IF Zeichen = 'X' THEN Test := 1;
         IF Zeichen = 'Y' THEN Test := 1;
         IF Zeichen = 'Z' THEN Test := 1;
         IF Zeichen = 'Ä' THEN Test := 1;
         IF Zeichen = 'ÖÖ' THEN Test := 1;
         IF Zeichen = 'ÜÜ' THEN Test := 1;
         IF Zeichen = 'a' THEN Test := 1;
         IF Zeichen = 'b' THEN Test := 1;
         IF Zeichen = 'c' THEN Test := 1;
         IF Zeichen = 'd' THEN Test := 1;
         IF Zeichen = 'e' THEN Test := 1;
         IF Zeichen = 'f' THEN Test := 1;
         IF Zeichen = 'g' THEN Test := 1;
         IF Zeichen = 'h' THEN Test := 1;
         IF Zeichen = 'i' THEN Test := 1;
         IF Zeichen = 'j' THEN Test := 1;
         IF Zeichen = 'k' THEN Test := 1;
         IF Zeichen = 'l' THEN Test := 1;
         IF Zeichen = 'm' THEN Test := 1;
         IF Zeichen = 'n' THEN Test := 1;
         IF Zeichen = 'o' THEN Test := 1;
         IF Zeichen = 'p' THEN Test := 1;
         IF Zeichen = 'q' THEN Test := 1;
         IF Zeichen = 'r' THEN Test := 1;
         IF Zeichen = 's' THEN Test := 1;
         IF Zeichen = 't' THEN Test := 1;
         IF Zeichen = 'u' THEN Test := 1;
         IF Zeichen = 'v' THEN Test := 1;
         IF Zeichen = 'w' THEN Test := 1;
         IF Zeichen = 'z' THEN Test := 1;
         IF Zeichen = 'y' THEN Test := 1;
         IF Zeichen = 'z' THEN Test := 1;
         IF Zeichen = 'ä' THEN Test := 1;
         IF Zeichen = 'ö' THEN Test := 1;
         IF Zeichen = 'ü' THEN Test := 1;
         IF Zeichen = 'ß' THEN Test := 1;
         (* Kein Treffer - dann Fehler *)
          IF Test = 0 THEN Fehler := Fehler + 1;
        end;

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

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

end;

end.