Einzelnen Beitrag anzeigen

shmia

Registriert seit: 2. Mär 2004
5.508 Beiträge
 
Delphi 5 Professional
 
#3

Re: KeepFocus mit Btnclick verlassen

  Alt 5. Mai 2006, 15:16
Zitat von traudl:
Hallo DPler ich hab folgendes Problem ich habe eine procedure geschrieben bei der bei Falscheingabe der Focus behalten wird.
Das würde ich nicht so machen.
Der Benutzer wird dadurch in seinen Möglichkeiten viel zu stark eingeschränkt.
Beispiel:
er möchte ein Formular mit 10 Felder mit Daten bestücken.
Einige Daten kopiert er sich mit Copy&Paste aus einem Excel Dokument.
Er klickt aus Versehen nun in Feld Nummer 8 und kommt nicht mehr raus,
weil er keine Ahnung hat, wie ein korrekter "Warehouse code" aussehen muss.
Ziemlich blöd; ohne KeepFocus könnte er die anderen Felder ausfüllen,
einen Screenshot machen und irgendjemand (dich) um Hilfe bitten.

Korrekte Vorgehensweise wäre:
Erst wenn der Benutzer einen Button, Menupunkt (oder allgemein eine Action) auslöst,
werden die Dateneingaben überprüft.
Delphi-Quellcode:
procedure TForm1.CheckUserData;
begin
   if Edit1.Text = 'then
   begin
      Edit1.SetFocus;
      raise Exception.Create('Seriennummmer fehlt!');
   end
   else if not IsNumericControl(Edit2) then
  begin
     Edit2.SetFocus;
     raise Exception.Create("Anzahl falsch/fehlt!');
end;
end;
Bei speziellen Eingabe hilft TMaskEdit, TDateTimePicker oder ähnlich spezialisierte Controls.
Andreas
  Mit Zitat antworten Zitat