AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren

return?

Ein Thema von Privateer3000 · begonnen am 10. Jul 2002 · letzter Beitrag vom 12. Jul 2002
Antwort Antwort
Seite 1 von 2  1 2   
Benutzerbild von Privateer3000
Privateer3000

Registriert seit: 10. Jun 2002
Ort: Jena
1.128 Beiträge
 
Delphi 10.4 Sydney
 
#1

return?

  Alt 10. Jul 2002, 20:07
Halloooooooo erstmaaaaal

also ich hab folgendes:
Code:
procedure TForm1.FormActivate(Sender: TObject);
begin
with DataModule9 do
begin
Table2.Open;
if Table2.FindKey([meld]) then
begin
if
MessageDlg('Name existiert schon.'+#13+' Neuen Namen eingeben?',
mtConfirmation, [mbYes,mbNo], 0) = mrYes then
 begin
      meld:=inputbox('Eingabe','Bitte den Namen eingeben!','');
 end;
 end;
end;
Label16.Caption := meld;
end;
wie oben zu sehen wird beim FormActivate(hallo spocki ) geprüft ob der im inputbox eingebene Name existiert, der MessDlg meldet das Ergebnis.
Wenn der User auf ok klickt wird diese input wiederholt.
So...und wenn nun der Name wider existiert gehts trotzdem normal weiter.
Also wie kann ich sozusagen ein return zum Anfang der Formactivate machen?

Weiss jeder jetzt was ich meine ich glaube ich verstehe es selbst nicht
Was?Wie??Wo???
Ach hier..jaja..komme gleich...

bis denne!
Peter
+++Versuch es nicht mit Gewalt + Nimm einen größeren Hammer! +++
  Mit Zitat antworten Zitat
Daniel
(Co-Admin)

Registriert seit: 30. Mai 2002
Ort: Hamburg
13.919 Beiträge
 
Delphi 10.4 Sydney
 
#2
  Alt 10. Jul 2002, 20:21
Hallo,

ich würde eine boolsche Variable als Flag einführen und dann in einer "while"-Schleife so lange rumrutschen, bis die Bedingung erfüllt ist. Das Flag wird also vor der Schleife mit FALSE initialisiert und nach jeder Eingabe des Benutzers auf den gewünschten Zustand (Bedingung erfüllt / nicht erfüllt) gesetzt.

Grüße,
Daniel
Daniel R. Wolf
  Mit Zitat antworten Zitat
Benutzerbild von Privateer3000
Privateer3000

Registriert seit: 10. Jun 2002
Ort: Jena
1.128 Beiträge
 
Delphi 10.4 Sydney
 
#3
  Alt 10. Jul 2002, 22:27
hhmmm
hab auch schon an sowas gedacht..aber gehts nicht auch anders??
Peter
+++Versuch es nicht mit Gewalt + Nimm einen größeren Hammer! +++
  Mit Zitat antworten Zitat
Nils

Registriert seit: 8. Jun 2002
24 Beiträge
 
#4
  Alt 10. Jul 2002, 22:49
Ich würde das mit einer while-Schleife lösen
Code:
Table2.Open;
while Table2.FindKey([meld]) do
begin
MessageDlg('Name existiert schon.'+#13+' Neuen Namen eingeben?',
mtConfirmation, [mbYes,mbNo], 0) = mrYes then
begin
      meld:=inputbox('Eingabe','Bitte den Namen eingeben!','');
end;
end;
Irren ist menschlich - um die Sache wirklich ekelhaft zu machen, braucht man schon einen Computer
  Mit Zitat antworten Zitat
jbg

Registriert seit: 12. Jun 2002
3.479 Beiträge
 
Delphi 10.1 Berlin Professional
 
#5
  Alt 10. Jul 2002, 23:07
Zitat von Privateer3000:
... gehts nicht auch anders??
Ja und zwar mit GoTo aber das lassen wir mal lieber. Wir programmieren ja nicht in Basic sondern in Pascal.
  Mit Zitat antworten Zitat
Benutzerbild von Privateer3000
Privateer3000

Registriert seit: 10. Jun 2002
Ort: Jena
1.128 Beiträge
 
Delphi 10.4 Sydney
 
#6
  Alt 10. Jul 2002, 23:32
@jbg
Gedankenleser
Das war auch das erste was mir einfiel..aber nix is
Peter
+++Versuch es nicht mit Gewalt + Nimm einen größeren Hammer! +++
  Mit Zitat antworten Zitat
jbg

Registriert seit: 12. Jun 2002
3.479 Beiträge
 
Delphi 10.1 Berlin Professional
 
#7
  Alt 11. Jul 2002, 00:39
Zitat von Privateer3000:
aber nix is
Wie meinst du das. Pascal bietet schon die Möglichkeit mit GoTo nur nutzt sie keiner, was meines Erachtens auch richtig ist. (auch C/C++ hat ein goto).
  Mit Zitat antworten Zitat
Benutzerbild von Privateer3000
Privateer3000

Registriert seit: 10. Jun 2002
Ort: Jena
1.128 Beiträge
 
Delphi 10.4 Sydney
 
#8
  Alt 11. Jul 2002, 00:45
Bitte um Erläuterung.
Für diesen Fall eben nicht anwendbar...oder irre ich mich da?
Peter
+++Versuch es nicht mit Gewalt + Nimm einen größeren Hammer! +++
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#9
  Alt 11. Jul 2002, 05:33
GoTo's wurden früher bei Sprachen verwendet, die keine Code-Blöcke kannten, um gößere Code-Blöcke auszuführen.
Code:
if ... then
begin
  ...;
end;
So ein Konstrukt gab es nicht. Nach der if-Anwesisugn konnte nur eien Zeile ausgeführt werden.

So jetzt stell dir mal ein 500 Zeilenprogramm mit 10 bis 15 gotos's vor. Du wirst dich in dem Code nicht mehr zu rechtfinden. Heute hat man andere Möglichkeiten (bessere), um so etwas zu lösen, deshalb gilt es als schlechter Programmierstil trotzdem goto's einzusetzen.
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
Benutzerbild von MrSpock
MrSpock
(Co-Admin)

Registriert seit: 7. Jun 2002
Ort: Owingen
5.865 Beiträge
 
Delphi 2010 Professional
 
#10
  Alt 11. Jul 2002, 07:42
Hallo Privateer3000,

der Code von Nils, ist das, was du machen solltest. Eine Änderung schlage ich noch vor, damit der Benutzer auch nein anklicken kann:

Code:
Table2.Open;
abbruch := False;
while Not abbruch and (Table2.FindKey([meld])) do
begin
  if MessageDlg('Name existiert schon.'+#13+' Neuen Namen eingeben?',
             mtConfirmation, [mbYes,mbNo], 0) = mrYes then
      meld:=inputbox('Eingabe','Bitte den Namen eingeben!','')
  else
     abbruch := True;
end;

if abbruch then
begin
   Table2.Close;
   Application.Terminate
end;
Albert
Live long and prosper


MrSpock
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2   

Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

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 09:36 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