AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Sonstige Fragen zu Delphi Delphi Alle Edit-Felder auf Eingaben prüfen
Thema durchsuchen
Ansicht
Themen-Optionen

Alle Edit-Felder auf Eingaben prüfen

Ein Thema von Ati · begonnen am 21. Dez 2005 · letzter Beitrag vom 3. Jan 2006
Antwort Antwort
Seite 1 von 4  1 23     Letzte »    
Ati

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

Alle Edit-Felder auf Eingaben prüfen

  Alt 21. Dez 2005, 13:55
Mahlzeit,

auch zu diesem Thema habe ich einiges gefunden und auch etliches schon ausprobiert, jedoch funktioniert nichts so wie ich es gerne hätte. Ziel ist es in meiner Anwendung alle Edit-Felder auf Eingaben zu prüfen. Es gibt insgesamt 9 Felder, wovon 8 quasi Pflichtfelder sind. Ich habe es schon mit verschachtelten IF-Then-Abfragen versucht jedoch geht das nur beim ersten Feld. Ist das zweite leer so tut sich nichts (es erscheint allerdings auch nicht meine Nachricht). Dann habe ich die Überprüfung für jedes Feld bei "OnExit" durchgeführt. Das hat soweit funktioniert, nur habe ich Buttons plaziert, wo a) alle Eingaben gelöscht werden können und b) die Anwendung beendet werden kann. Diese Buttons verursachen dann allerdings meine Fehlermeldung und ich kann die Anwendung nicht unterbrechen bzw. beenden. Wie kann ich hier weiter vorgehen!!

Ati
Ich weiß das ich nichts weiß

Sokrates
  Mit Zitat antworten Zitat
Benutzerbild von dahead
dahead

Registriert seit: 16. Mai 2005
620 Beiträge
 
#2

Re: Alle Edit-Felder auf Eingaben prüfen

  Alt 21. Dez 2005, 14:11
mach doch einen "Übernehmen" oder "Bestätigen" Button unter die ganzen Edits.
Darin rufst du eine Prüf-Funktion auf, die prüft ob alle Text ungleich '' sind.
Dazu kannst du entweder jedes TEdit.Text einzeln prüfen lassen, oder in einer For-Schleife (siehe dazu die Hilfe FindComponent).
  Mit Zitat antworten Zitat
mgubler

Registriert seit: 14. Jul 2002
Ort: Krefeld
115 Beiträge
 
Delphi 2006 Professional
 
#3

Re: Alle Edit-Felder auf Eingaben prüfen

  Alt 21. Dez 2005, 14:13
So in etwa aus dem Kopf gegriffen habe ich mal etwas gelöst.
Zwar kompliziert, aber in PHP hat es wunderbar geklappt!


Delphi-Quellcode:
...
var
 bErrFeld1,
 bErrFeld2,
 bErrFeld3,
 bErrFeld4,
 bErrFeld5,
 bErrFeld6,
 bErrFeld7,
 bErrFeld8: boolean;
//hier alle auf true setzen!
...

 sErrMsg1,
 sErrMsg2,
 sErrMsg3,
 sErrMsg4,
 sErrMsg5,
 sErrMsg6,
 sErrMsg7,
 sErrMsg8: string;

 sErrAll: string;

begin

if (edit1.text <> '') then
begin
   bErrFeld1 := false;
end
else
begin
   sErrMsg1 = 'Feldname';
end;

...

if (bErrFeld1 = true) OR (bErrFeld2 = true) OR (bErrFeld3 = true).... then
begin
  if (bErrFeld1 = true) then sErrAll := 'Name des Ersten Feldes';
  if (bErrFeld2 = true) then sErrAll := sErrAll+#13#10+'Name des zweiten Feldes';
...

Showmessage('Nachfolgende Felder müssen auf Ihren Inhalt geprüft werden:' + #13#10+ sErrAll);
end;
end;
Gruß,
mgubler
  Mit Zitat antworten Zitat
Benutzerbild von AndreasP
AndreasP

Registriert seit: 14. Aug 2003
Ort: Halle
82 Beiträge
 
Delphi 7 Professional
 
#4

Re: Alle Edit-Felder auf Eingaben prüfen

  Alt 21. Dez 2005, 14:16
mahlzeit,

nachfolgender code müßte dein problem lösen. er läst sich noch optimieren wie z.b. ein forzeitiger abbruch oder das nich das ganze formular abgefragt wird. aber das prinzip sollte klar sein.
Delphi-Quellcode:
var a, i: integer;
begin
  a := 1;
  for i := 0 to Form1.ComponentCount -1 do
  begin
    if Form1.Components[i] is TEdit then
      a := a * (Length(TEdit(Form1.Components[i]).Text));
  end;

  if a = 0 then
    ShowMessage('Bitte Eingabe überprüfen');
Live long and prosper, Andy

Die Diskusion zum AppManager gibt es hier
Immer die aktuelle Version vom AppManger
  Mit Zitat antworten Zitat
Ati

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

Re: Alle Edit-Felder auf Eingaben prüfen

  Alt 21. Dez 2005, 15:41
Danke Andreas. Dein Code funktioniert schon zu gut. Ein Problem gibt es da aber noch. Das letzte Edit-Feld ist optional. D.h. es muß nicht ausgefüllt werden. Wie kann ich das einbauen??

Ati
Ich weiß das ich nichts weiß

Sokrates
  Mit Zitat antworten Zitat
Benutzerbild von dahead
dahead

Registriert seit: 16. Mai 2005
620 Beiträge
 
#6

Re: Alle Edit-Felder auf Eingaben prüfen

  Alt 21. Dez 2005, 15:45
du könntest es entweder direkt überprüfen (also ob das TEdit in der schleife auftaucht) oder du weist ihm bspw. den Tag 1 zu. alle TEdits mit diesem Tag werden ignoriert.
  Mit Zitat antworten Zitat
Ati

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

Re: Alle Edit-Felder auf Eingaben prüfen

  Alt 21. Dez 2005, 15:50
@dahead den ersten Teil habe ich noch nicht ganz verstanden. Das mit Tag=1 funktioniert so ohne weiteres nicht.
Ich weiß das ich nichts weiß

Sokrates
  Mit Zitat antworten Zitat
Benutzerbild von AndreasP
AndreasP

Registriert seit: 14. Aug 2003
Ort: Halle
82 Beiträge
 
Delphi 7 Professional
 
#8

Re: Alle Edit-Felder auf Eingaben prüfen

  Alt 21. Dez 2005, 15:57
mahlzeit,

was dahead meint ist das du dem 9. edit über den oi den tag 1 (oder ein anderen wert) zuweist und du den code entsprechend abänderst das dieses edit nicht geprüft wird:
if (Form1.Components[i] is TEdit) and (Form1.Components[i].Tag <> 1) then
Live long and prosper, Andy

Die Diskusion zum AppManager gibt es hier
Immer die aktuelle Version vom AppManger
  Mit Zitat antworten Zitat
Ati

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

Re: Alle Edit-Felder auf Eingaben prüfen

  Alt 21. Dez 2005, 16:06
Ach so. Sorry. Habe ich jetzt mal so eingebaut, jedoch ist die überprüfungsfunktion damit ausgehebelt. Habe mal nur das erste Edit-Feld eingetragen und er hat den DS trotzdem ohne meckern gespeichert!!
Hier mla mein aktueller Code
Delphi-Quellcode:
a := 1;
  for i := 0 to Form1.ComponentCount -1 do
  begin
    if (Form1.Components[i] is TEdit) and (Form1.Components[i].Tag = 0) then
      a := a * (Length(TEdit(Form1.Components[i]).Text));
  end;

  if a = 0 then
   begin
    ShowMessage('Bitte Eingabe überprüfen');
    exit;
   end;
Ich weiß das ich nichts weiß

Sokrates
  Mit Zitat antworten Zitat
Benutzerbild von dahead
dahead

Registriert seit: 16. Mai 2005
620 Beiträge
 
#10

Re: Alle Edit-Felder auf Eingaben prüfen

  Alt 21. Dez 2005, 16:12
kann es sein, dass du vergessen hast den tag auf 1 zu setzen?
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 4  1 23     Letzte »    


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 22:44 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