Einzelnen Beitrag anzeigen

CIADelphianer

Registriert seit: 20. Aug 2010
10 Beiträge
 
#5

AW: Eingabebedingungen

  Alt 26. Aug 2010, 12:28
Hey danke für deine Hilfe aber es funktioniert immer noch nicht !! 0,1 und 2 lassen sich eingeben aber immer noch nicht die 3.
Hast du noch eine Idee wie es klappen könnte?
Ich häng mal den Quellcode ran, vielleicht ist da ja ein Fehler..


Delphi-Quellcode:
procedure TForm1.EditISOCodeKeyPress(Sender: TObject; var Key: Char);
begin
if not(key in [#8,'1'..'4','A'..'H','K'..'N','P']) and
(EditISOCode.SelStart =0) then
begin
Key:= #0; // Ignoriert die Tastatureingabe
StatusBar.SimpleText:= 'An der ersten Stelle des ISOCodes kann nur 1, 2, 3, 4, A,B,C,D,E,F,G,H,K,L,M,N oder P stehen.';
end
else

//2.Zeichen
if not (key in [#8, '0','2','5','6','8','C'..'F','L'..'N','P']) and
(EditISOCode.SelStart =1) then
begin
Key:= #0; // Ignoriert die Tastatureingabe
StatusBar.SimpleText:= 'An der zweiten Stelle des ISOCodes kann nur 0,2,5,6,8,C,D,E,F,L,M,N oder P stehen.';
end
else

 //3. Zeichen
 if not (key in [#8,'G','V','R','H','U','T','B','P','S']) and
 (EditISOCode.SelStart = 2) then
 begin
   Key:= #0;
   Statusbar.SimpleText:= 'An der dritten Stelle des ISOCodes kann nur G,V,R,H,T,B,P,S stehen.'  ;
end
else

//4.Zeichen
if not (key in [#8,'0'..'9']) and
(EditISOCode.SelStart =3) then
begin
  Key:= #0;
 // Statusbar.SimpleText:='An der vierten Stelle des ISOCodes kann nur 1,2,3,4,5,6,7,8 und 9.';
end;

//Bedingung vom 3. zum 4. Zeichen (z.B. G nur mit 0,1,2,3 kombinierbar)

if (key in ['G']) and
(EditISOCode.SelStart = 2) then
begin
  Statusbar.SimpleText := 'Mit G können Sie nur die Zahlen 0,1,2 und 3 kombinieren, sonst ungültige Containerbezeichnung!';
end;
   if not (key in [#8,'0'..'3']) and
   (EditISOCode.SelStart =3) then
    begin
    Key:= #0;
    end;

if (key in ['V']) and
(EditISOCode.SelStart = 2) then
begin
  Statusbar.SimpleText := 'Mit V können Sie nur die Zahlen 0,2 und 4 kombinieren, sonst ungültige Containerbezeichnung!';
end;
   if not (key in [#8,'0'..'2','4']) and
   (EditISOCode.SelStart =3) then
    begin
    Key:= #0;
    end;

if (key in ['R']) and
(EditISOCode.SelStart = 2) then
begin
  Statusbar.SimpleText := 'Mit R können Sie nur die Zahlen 0,1,2 und 3 kombinieren, sonst ungültige Containerbezeichnung!';
end;
   if not (key in [#8,'0'..'3']) and
   (EditISOCode.SelStart =3) then
    begin
    Key:= #0;
    end;

if (key in ['H']) and
(EditISOCode.SelStart = 2) then
begin
  Statusbar.SimpleText := 'Mit H können Sie nur die Zahlen 0,1,2,3 und 4 kombinieren, sonst ungültige Containerbezeichnung!';
end;
   if not (key in [#8,'0'..'4']) and
   (EditISOCode.SelStart =3) then
    begin
    Key:= #0;
    end;

if (key in ['U']) and
(EditISOCode.SelStart = 2) then
begin
  Statusbar.SimpleText := 'Mit U können Sie nur die Zahlen 0,1,2,3,4 und 5 kombinieren, sonst ungültige Containerbezeichnung!';
end;
   if not (key in [#8,'0'..'5']) and
   (EditISOCode.SelStart =3) then
    begin
    Key:= #0;
    end;

if (key in ['T']) and
(EditISOCode.SelStart = 2) then
begin
  Statusbar.SimpleText := 'Mit T können Sie nur die Zahlen 0,1,2,3,4,5,6,7,8 und 9 kombinieren, sonst ungültige Containerbezeichnung!';
end;
   if not (key in [#8,'0'..'9']) and
   (EditISOCode.SelStart =3) then
    begin
    Key:= #0;
    end;

if (key in ['B']) and
(EditISOCode.SelStart =2) then
begin
  Statusbar.SimpleText := 'Mit B können Sie nur die Zahlen 0,1,3,4,5 und 6 kombinieren, sonst ungültige Containerbezeichnung!';
end;
   if not (key in [#8,'0'..'6']) and
   (EditISOCode.SelStart =3) then
    begin
    Key:= #0;
    end;

if (key in ['P']) and
(EditISOCode.SelStart =2) then
begin
  Statusbar.SimpleText := 'Mit P können Sie nur die Zahlen 0,1,2,3,4 und 5 kombinieren, sonst ungültige Containerbezeichnung!';
end;
   if not (key in [#8,'0'..'5']) and
   (EditISOCode.SelStart =3) then
    begin
    Key:= #0;
    end;

if (key in ['S']) and
(EditISOCode.SelStart = 2) then
begin
  Statusbar.SimpleText := 'Mit S können Sie nur die Zahlen 0,1 und 2 kombinieren, sonst ungültige Containerbezeichnung!';
end;
   if not (key in [#8,'0'..'2']) and
   (EditISOCode.SelStart =3) then
    begin
    Key:= #0;
    end;
  Mit Zitat antworten Zitat