AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Sonstige Fragen zu Delphi Eingabe auf Richtigkeit Prüfen mit try..except..???
Thema durchsuchen
Ansicht
Themen-Optionen

Eingabe auf Richtigkeit Prüfen mit try..except..???

Ein Thema von Osse · begonnen am 20. Jun 2005 · letzter Beitrag vom 21. Jun 2005
 
Osse

Registriert seit: 25. Mär 2005
Ort: Hamburg
74 Beiträge
 
Delphi 5 Enterprise
 
#1

Eingabe auf Richtigkeit Prüfen mit try..except..???

  Alt 20. Jun 2005, 23:05
Moin, Moin

wollte eine Abfrage machen, ob der Benutzer einen richtigen Wert eingegeben hat. Die Max Stellenanzahl hab ich schon durch das Eingabefenster begrenzt. Nun soll es nur Möglich sein Werte zwischen 0 bis 255 einzugeben. Dabei sind logischerweise keine Buchstaben... zugelassen, sondern nur 0-9.

Wollte mal Fragen, ob das irgendjemand mit try...except.. end macht.

Hab bei euch immer nur die Lösungen mit Key press gesehen.
Delphi-Quellcode:
procedure TfrmFahrzeugEingabe.CheckZiffern(var key : Char);
begin
  if not (key in ['0' .. '9', ',' ,#8,#9]) then
    key := #0;
end;
Wollte aber gerne am ende, wenn die Werte mit einem Button.click eingelesen werden, alle meiene Werte checken. Finde die Idee mit Key press nicht so doll, man kann sich ja schließlich mal vertippen .

Delphi-Quellcode:
  try
    begin
       EditLow := StrToInt(SuchEdit[i,0].Text);
       EditHigh := StrToInt(SuchEdit[i,1].Text);
    end
  except
    begin
      Application.MessageBox('Bitte achten Sie darauf, dass Sie nur Zahlen eingeben',PChar('Eingabefehler'),0);
      SuchEdit[i,0].clear;
      SuchEdit[i,1].clear;
    end;
   end;
Das ist ja irgendwie doof. Gefällt mir nicht so.

Habs jetzt mit if versucht, aber leider häng ich da an den Vergleichsbedingungen.

Delphi-Quellcode:
var
  i,n :Integer;
  wert : string;
begin
  for i:=0 to 8 do
  begin
     setlength(Wert,3);
     Wert := SuchEdit[i,0].Text;
     for n := 0 to length(wert) do
       if wert[n] = ['0','1'] then
   EditLow := StrToInt(SuchEdit[i,0].Text);
  end;
end;
Die If Abfrage mit mehreren Werten funktioniert nicht richtig. Mit einem Wert kann ich vergleichen, aber nicht mit ['0','1'] oder ['0'..'9'], da bekomm ich immer ne Compilermeldung "Inkompatible Typen"

Weiß da jemand was??
  Mit Zitat antworten Zitat
 


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 02:04 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz