AGB  ·  Datenschutz  ·  Impressum  







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

Return to Sender

Ein Thema von Murdock · begonnen am 15. Nov 2005 · letzter Beitrag vom 15. Nov 2005
 
Der_Unwissende

Registriert seit: 13. Dez 2003
Ort: Berlin
1.756 Beiträge
 
#9

Re: Return to Sender

  Alt 15. Nov 2005, 14:17
Zitat von Murdock:
Nein nicht wirklich.
Ich versuch es mal anders:

if Edit1.Text = '' Then
edit1.SetFocus;
end;
if Edit2.Text = '' Then
edit2.SetFocus;
end;
.
.
.
usw. // insgesamt 10 Edit Felder

Das Problem ist jetzt beim Ablauf er überrüft das 1. Feld merkt ist leer und springt dahin.
Da musst du den Ansatz von crisw eigentlich nur ein wenig erweitern :

Delphi-Quellcode:
function isValid(const s : String) : Boolean;
begin
  result := s <> ''; // oder halt beliebig anders
end;

...
...
var i : Integer;
    buffer : TControl;
begin
  buffer := nil;

  for i := 0 to self.ControlCount - 1 do
    begin
      if self.Controls[i] is TEdit then
        begin
          if not self.isValid((self.Cotrols[i] as TEdit).Text) then
            begin
              self.Controls[i].Color := clRed; // Farbe ändern
              buffer := self.Controls[i]; // letztes Edit das falschen Eintrag enthält merken
            end; // if not self.isValid((Component[i] as TEdit).Text)
        end; // if self.Component[i] is TEdit
    end; // for i := 0 to self.ComponentCount - 1
  
  // wenn mindestens ein Edit ungültige Eingabe enthielt
  if assigned(buffer) then
    begin
      buffer.setFocus; // Focus setzen
    end; // if assigned(buffer)
end;
Ein paar kleine Anmerkungen:
Da TEdit ein Control ist, solltest du über die Controls des Form iterieren. TControl bietet schon die Eigenschaft Color und die Methode setFocus. Deshalb muss an den stellen auch nicht gecastet werden. Ansonsten würde ich (wie hier) eine eigene Methode zur Validierung der Eingabe nehmen. Kann ja sein, dass du irgendwann eine andere Eingabe als gültig ansiehst.

Ja, hoffe das hilft dir weiter,
Gruß Der Unwissende
  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 05:06 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz