AGB  ·  Datenschutz  ·  Impressum  







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

Prozedur bei falscher Eingabe anhalten

Ein Thema von Natta · begonnen am 24. Feb 2005 · letzter Beitrag vom 9. Okt 2007
Antwort Antwort
Natta

Registriert seit: 25. Jan 2005
6 Beiträge
 
#1

Prozedur bei falscher Eingabe anhalten

  Alt 24. Feb 2005, 15:52
Hi!

Bin ein ziemlicher Delphi Laie, und hab folgende Frage: Ich möchte ein Programm schreiben, bei dem nur Eingaben in einem bestimmten Zahlenbereich gemacht werden dürfen, z.B. zwischen 1 und 49. Wenn eine falsche eingabe gemacht wird soll eine dementsprechende Nachricht erscheinen und die Prozedur angehalten werden.

Was ich bis jetzt habe ist folgendes:
...
if Zahl[i]=Zahl[j] then
begin
ShowMessage('Gleiche Zahlen, bitte ändern');

{Und hier müsste jetzt noch eine Anweisung hin mit der die Prozedur angehalten wird und dem Anwender ermöglicht wird die Zahlen zu verändern.}

end;

Habt ihr eine Idee? Kenne nur die Anweisung halt, aber die schließt gleich das ganze Programm, das möchte ich nicht.

Wär echt super, wenn Ihr mir helfen könntet
LG Natta
  Mit Zitat antworten Zitat
Benutzerbild von Binärbaum
Binärbaum

Registriert seit: 19. Jan 2005
Ort: Elstra
764 Beiträge
 
Delphi 7 Enterprise
 
#2

Re: Prozedur bei falscher Eingabe anhalten

  Alt 24. Feb 2005, 15:54
Mit
Exit; wird die jeweils aktuelle Prozedur/ Funktion abgebrochen.

MfG
Binärbaum
There are exactly 10 kinds of people: those who understand binary, and those who don't.
---
"Software reift beim Kunden. Bei Hardware ist es anders: Hardware fault beim Kunden." - Rainer G. Spallek
  Mit Zitat antworten Zitat
xman
(Gast)

n/a Beiträge
 
#3

Re: Prozedur bei falscher Eingabe anhalten

  Alt 24. Feb 2005, 15:54
Delphi-Quellcode:
if zahl1 = zahl2 then begin
 showmessage('falsch');
 exit;
end;

[hier der andere code]
  Mit Zitat antworten Zitat
Natta

Registriert seit: 25. Jan 2005
6 Beiträge
 
#4

Re: Prozedur bei falscher Eingabe anhalten

  Alt 24. Feb 2005, 15:59
Danke!!! Ihr habt mir sehr geholfen
  Mit Zitat antworten Zitat
Benutzerbild von everdream
everdream

Registriert seit: 22. Feb 2007
Ort: Hiddenhausen
192 Beiträge
 
Delphi 2005 Personal
 
#5

Re: Prozedur bei falscher Eingabe anhalten

  Alt 9. Okt 2007, 15:43
Ich habe in etwa das gleiche Problem, allerdings wäre es bei mir hilfreich, wenn die Prozedur nicht abgebrochen werden würde, sondern wenn die eingabe gemacht werden könnte und das programm dann von genau der stelle weiter laufen würde. notfalls halt auch mit einer kleinen extra Form.

Danke schonmal im Voraus!
Max
"Das Ziel ist im Weg!"
  Mit Zitat antworten Zitat
shmia

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

Re: Prozedur bei falscher Eingabe anhalten

  Alt 9. Okt 2007, 16:06
Warum keine Exceptions verwenden ??
Delphi-Quellcode:
if Zahl[i]=Zahl[j] then
   raise Exceptions.Create('Gleiche Zahlen, bitte ändern');
Wenn man die Eingaben validieren muss kann man sogar noch zusätzlichen Komfort für den Benutzer einbringen:
Delphi-Quellcode:
if StrToIntDef(EditAnzahl.Text, 0) < 1 then
begin
  EditAnzahl.SetFocus; // auf das fehlerhafte Eingabefeld "springen"
  raise Exception.Create('Anzahl muss >= 1 sein');
Andreas
  Mit Zitat antworten Zitat
Benutzerbild von everdream
everdream

Registriert seit: 22. Feb 2007
Ort: Hiddenhausen
192 Beiträge
 
Delphi 2005 Personal
 
#7

Re: Prozedur bei falscher Eingabe anhalten

  Alt 9. Okt 2007, 16:30
Hm, so läuft das aber noch nich wirklich. Ich glaub ich erklär das einfach mal etwas ausführlicher:

Delphi-Quellcode:
{ganz viel code in einer prozedur...}

if (n = 0) then
n := Eingabe;
{falls n=0 ist soll dem benutzer die gelegenheit gegeben werden eine neue zahl einzugeben.
Nach der Eingabe soll  das Programm hier fortfahren, ohne dass die Prozedur nochmal aufgerufen wird.
Was müsste ich jetzt also in der "Eingabe"-Function machen?}


{noch mehr code, der mit n <> 0 ausgeführt werden soll}
p.s.: vereinfachtes beispiel

Bei der Exception weiß ich nicht wie ich das programm wieder an der stelle aufnehmen kann (event soll ein buttonclick sein).
Max
"Das Ziel ist im Weg!"
  Mit Zitat antworten Zitat
Antwort Antwort


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 10:07 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