AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Edit-Feld im Exit-Ereignis prüfen

Ein Thema von Ati · begonnen am 24. Aug 2006 · letzter Beitrag vom 24. Aug 2006
Antwort Antwort
Seite 2 von 2     12   
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.851 Beiträge
 
Delphi 11 Alexandria
 
#11

Re: Edit-Feld im Exit-Ereignis prüfen

  Alt 24. Aug 2006, 11:14
Zitat:
Kann ich das in diesem Fall umgehen??
Beim Klicken des claen-Buttons, den Focus wechseln.
Markus Kinzler
  Mit Zitat antworten Zitat
Jürgen Thomas

Registriert seit: 13. Jul 2006
Ort: Berlin
750 Beiträge
 
#12

Re: Edit-Feld im Exit-Ereignis prüfen

  Alt 24. Aug 2006, 11:18
Zitat von mkinzler:
Zitat:
Kann ich das in diesem Fall umgehen??
Beim Klicken des claen-Buttons, den Focus wechseln.
Und zwar zuerst SetFocus, erst danach aufräumen!

Außerdem kann in OnExit geprüft werden, ob Sender <> CleanButton usw. ist.

Jürgen
#D mit C# für NET, dazu Firebird
früher: Delphi 5 Pro, Delphi 2005 Pro mit C# (also NET 1.1)
Bitte nicht sauer sein, wenn ich mich bei Delphi-Schreibweisen verhaue; ich bin inzwischen an C# gewöhnt.
  Mit Zitat antworten Zitat
Ati

Registriert seit: 16. Okt 2003
Ort: Gelsenkirchen
406 Beiträge
 
Delphi 3 Professional
 
#13

Re: Edit-Feld im Exit-Ereignis prüfen

  Alt 24. Aug 2006, 11:35
SetFocus klappt nicht. Aber wie kann ich den Sender ermittlen??
Ich weiß das ich nichts weiß

Sokrates
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.851 Beiträge
 
Delphi 11 Alexandria
 
#14

Re: Edit-Feld im Exit-Ereignis prüfen

  Alt 24. Aug 2006, 11:39
Zitat:
Aber wie kann ich den Sender ermittlen??
Parameter Sender
Markus Kinzler
  Mit Zitat antworten Zitat
Ati

Registriert seit: 16. Okt 2003
Ort: Gelsenkirchen
406 Beiträge
 
Delphi 3 Professional
 
#15

Re: Edit-Feld im Exit-Ereignis prüfen

  Alt 24. Aug 2006, 11:55
Ich weiß das ich nichts weiß

Sokrates
  Mit Zitat antworten Zitat
oldmax

Registriert seit: 27. Apr 2006
Ort: Gieboldehausen
167 Beiträge
 
#16

Re: Edit-Feld im Exit-Ereignis prüfen

  Alt 24. Aug 2006, 12:06
Hi
Wie wär's einfach mit einem Ausblenden der OnExit _ Ereignisprocedure ?
Delphi-Quellcode:
Procedure MyForm.MyButtonClick(Sender: Tobject);
Begin
  MyEdit.OnExit:=Nil;
   ....
    aufräumen
   ....
  MyEdit.OnExit:=MyEditExit;
end;
oder so ungefähr, da ich deinen Quellcode nicht kenne.
Gruß oldmax
Noch ist mein Rechner mir zu Diensten.... ansonsten habe ich die Macht ihn zu vernichten !
  Mit Zitat antworten Zitat
Ati

Registriert seit: 16. Okt 2003
Ort: Gelsenkirchen
406 Beiträge
 
Delphi 3 Professional
 
#17

Re: Edit-Feld im Exit-Ereignis prüfen

  Alt 24. Aug 2006, 12:12
Hat leider auch nicht geklappt. Hier mal der Code des onExit-Ereignisses:
Delphi-Quellcode:
procedure TfrmMain.edliefExit(Sender: TObject);
var i,j:Integer;
    lief:String;
begin
  lief:= edlief.text;
  j:=length(lief);
  if j <> 6 then
  begin
  showmessage('Fehlerhafte Lieferanteneingabe. Bitte prüfen!!');
  edlief.clear;
  edlief.SetFocus;
  exit;
  end;
  for i := 1 to length(lief) do
  begin
    if not (lief[1] in ['A'..'Z']) then
    begin
    showmessage('Fehlerhafte Lieferanteneingabe. Bitte prüfen!!');
    edlief.Clear;
    edlief.SetFocus;
    exit;
    end;
    if not (lief[2] in ['A'..'Z']) then
    begin
    showmessage('Fehlerhafte Lieferanteneingabe. Bitte prüfen!!');
    edlief.Clear;
    edlief.SetFocus;
    exit;
    end;
    if not (lief[3] in ['A'..'Z']) then
    begin
    showmessage('Fehlerhafte Lieferanteneingabe. Bitte prüfen!!');
    edlief.Clear;
    edlief.SetFocus;
    exit;
    end;
    if not (lief[4] in ['A'..'Z']) then
    begin
    showmessage('Fehlerhafte Lieferanteneingabe. Bitte prüfen!!');
    edlief.Clear;
    edlief.SetFocus;
    exit;
    end;
    if not (lief[5] in ['0'..'9']) then
    begin
    showmessage('Fehlerhafte Lieferanteneingabe. Bitte prüfen!!');
    edlief.Clear;
    edlief.SetFocus;
    exit;
    end;
    if not (lief[6] in ['0'..'9']) then
    begin
    showmessage('Fehlerhafte Lieferanteneingabe. Bitte prüfen!!');
    edlief.Clear;
    edlief.SetFocus;
    exit;
    end;
  end;
end;
Die Clear-Prozedur sieht wie folgt aus:

Delphi-Quellcode:
Procedure TfrmMain.clear();
var i:Integer;
begin
  for i := 0 to frmMain.ComponentCount -1 do
  begin
  if (Components[i] is TEdit) then
  begin
    (TEdit(frmMain.Components[i]).Clear);
  end;
  end;
  dcb.Text:='';
end;
Ich weiß das ich nichts weiß

Sokrates
  Mit Zitat antworten Zitat
Christian Seehase
(Co-Admin)

Registriert seit: 29. Mai 2002
Ort: Hamburg
11.105 Beiträge
 
Delphi 11 Alexandria
 
#18

Re: Edit-Feld im Exit-Ereignis prüfen

  Alt 24. Aug 2006, 12:35
Moin Ati,

also ich würde die Prüfung erst einmal in eine eigene Funktion auslagern:

Delphi-Quellcode:
function IsValidLieferantenNummer(const AsLiefNr : string) : boolean;

var
  i : integer;

begin
  Result := false;
  if length(AsLiefNr) <> 6 then exit;
  for i := 1 to length(AsLiefNr) do begin
    if i <= 4 then begin
      if not (AsLiefNr[i] in ['A'..'Z']) then exit;
    end else begin
      if not (AsLiefNr[i] in ['0'..'9']) then exit;
    end;
  end;
  Result := true;
end;
Tschüss Chris
Die drei Feinde des Programmierers: Sonne, Frischluft und dieses unerträgliche Gebrüll der Vögel.
Der Klügere gibt solange nach bis er der Dumme ist
  Mit Zitat antworten Zitat
Ati

Registriert seit: 16. Okt 2003
Ort: Gelsenkirchen
406 Beiträge
 
Delphi 3 Professional
 
#19

Re: Edit-Feld im Exit-Ereignis prüfen

  Alt 24. Aug 2006, 12:41
Das hatte ich jetzt gerade auch schon gemacht...wobei Deine Funktion um ein vielfaches einfacher/besser ist als meine. Danke!!
Ich weiß das ich nichts weiß

Sokrates
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 2 von 2     12   


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:14 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