DannyUlm Geschrieben 14. November 2001 Geschrieben 14. November 2001 Hallo zusammen, mal ne kurze Frage... Ich habe eine Anwendung mit Datenbank Im Layout habe ich Datenbankfelder die Ausgefüllt werden müssen vom User. Jetzt meine Frage: Wenn der User die Felder nicht ausfühlt und dann auf speichern oder neu oder sonst was klickt, will ich, das eine von mir eigene kreierte Fehlermeldung erscheint als MessageBox. Wie kann ich das bewerkstelligen? Cu Danny Zitieren
Staplerfahrer Klaus Geschrieben 14. November 2001 Geschrieben 14. November 2001 frag doch den wert der felder ab. wenn einer den wert '' (also nix) hat then messagebox... tschüss! Zitieren
DannyUlm Geschrieben 14. November 2001 Autor Geschrieben 14. November 2001 Danke für die Antwort... hast du da für mich vieleicht zum besseren Verständnis auch noch ein FallBeispiel? Bin leider ein ziemlicher Newbi CU Danny Zitieren
Staplerfahrer Klaus Geschrieben 14. November 2001 Geschrieben 14. November 2001 welche sprache denn? ich kenn das nur für delphi. falls du normale editfelder ausfüllen lässt dann sieht das so aus: if Edit1.Text = '' Then ShowMessage('Feld 1 nicht ausgefüllt'); //'' sind zwei einzelne hochkommas! und so weiter. oder du prüfst das mit try...except: try {verarbeitung der edits} except Showmessage('Editfelder beinhalten Fehler'); end; das hat aber den nachteil, daß fehler, die durch die verarbeitung entstehen auch damit hineinfallen (nicht nur leere felder) nich mehr? <FONT COLOR="#a62a2a" SIZE="1">[ 14. November 2001 12:49: Beitrag 1 mal editiert, zuletzt von [Necrom] ]</font> Zitieren
Technician Geschrieben 14. November 2001 Geschrieben 14. November 2001 ... und in VB wär's: If Text1.Text = "" then msgbox("Sie müssen Text1 ausfüllen") Gruß, Technician Zitieren
Spike Geschrieben 14. November 2001 Geschrieben 14. November 2001 ... und wo wir grad dabei sind gib dem Inputfeld direkt wieder den Focus, dann erspart sich der User noch einen Klick ... If Text1.Text = "" then msgbox("Sie müssen Text1 ausfüllen") Text1.SetFocus end if Zitieren
MarcG Geschrieben 21. November 2001 Geschrieben 21. November 2001 var x : Integer; Meldung : String; // Schleife über alle Komponenten des Formulars for x := 0 to Form1.ComponentCount - 1 do begin // Falls es sich um ein TEdit handelt if (Form1.Components[x] is TEdit) then begin // Ist der Text leer ? if ((form1.Components[x] as TEdit).text = '') then begin // Meldung zusammenbauen, könnte anders/besser gemacht werden Meldung := (form1.Components[x] as TEdit).Name + ' ist nicht gefüllt'; // Windows-Meldung anzeigen Application.MessageBox(Text, PChar(Meldung), MB_OK + MB_ICONINFORMATION); // Fokus setzen (form1.Components[x] as TEdit).SetFocus; // und raus exit; end; end; end; Hiermit überprüfst du alle Editfelder in deinem Formular (wenn es TPanles oder TScrollboxen etc. gibt muss man es mit denen und nicht mit dem Formular machen) ob etwas eingegeben wurde. In der Meldung wird der Name der Komponente ausgegeben, was fpr den Benutzer nicht unbedingt schön ist, hier könnte man sich also was schöneres überlegen (über die Tag-Eigenschaft z.B. das dazugehörige Label (TEdit.Tag muss gleich TLabel.Tag sein) bzw. dessen Caption anzeigen oder so ... Zitieren
MarcG Geschrieben 21. November 2001 Geschrieben 21. November 2001 Ups, die Application.MessageBox ist nicht korrekt im Beispiel oben ... MessageBox(PChar(Meldung), PChar(Feld nicht gefüllt', MB_OK + MB_ICONINFORMATION); müsste es heissen Zitieren
DannyUlm Geschrieben 21. November 2001 Autor Geschrieben 21. November 2001 Und wie sage ich dann, das wenn etwas darin steht das programm geschlossen wird? If DBComboBox.Text = // was muss hier hinter??? than close; Zitieren
lpd Geschrieben 21. November 2001 Geschrieben 21. November 2001 <BLOCKQUOTE><font size="1" face="Verdana, Arial, Helvetica, sans-serif">Zitat:</font><HR>Original erstellt von DannyUlm: <STRONG>Und wie sage ich dann, das wenn etwas darin steht das programm geschlossen wird? If DBComboBox.Text = // was muss hier hinter??? than close;</STRONG> Zitieren
DannyUlm Geschrieben 21. November 2001 Autor Geschrieben 21. November 2001 Und wie siht in diesem Falle der String aus???? Zitieren
lpd Geschrieben 21. November 2001 Geschrieben 21. November 2001 <BLOCKQUOTE><font size="1" face="Verdana, Arial, Helvetica, sans-serif">Zitat:</font><HR>Original erstellt von DannyUlm: <STRONG>Und wie siht in diesem Falle der String aus???? </STRONG> Zitieren
DannyUlm Geschrieben 21. November 2001 Autor Geschrieben 21. November 2001 Was ich meine ist ein X-Belibiger Text. In der DBCombobox kan irgendwas drinstehen, hauptsache es steht was drin um das programm beenden zu können... Und wie drrücke ich diesen X-Beliebigen Text in einem String aus? Zitieren
lpd Geschrieben 21. November 2001 Geschrieben 21. November 2001 Ganz easy : statt = 'Beispieltext' schreibst du <> ''... ( das bedeutet "ungleich leerer String" ) Zitieren
dipesh Geschrieben 29. November 2001 Geschrieben 29. November 2001 kleiner tip... kauf dir doch mal ein paar bücher zum thema delphi / object pascal oder vb... und dann schritt für schritt durcharbeiten. oder wenn zu teuer: bücherei oder mal im web nach dokus gucken oder opoensource apps downloaden und gucken wie andere es gemacht haben... man kommt in der regel nicht weit mit einer programmiersprache wenn man die grundlegenden funktionen nicht kennt und sich bei jedem prob durchfragen muss... // endlosschleife while ($ihkpruefung != "vernuenftig") { } Zitieren
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.