![]() |
Pause in if.. else.. Verzweigung
Hey,
ich möchte eine Art break in einer if / else Verzweigung
Delphi-Quellcode:
Bei // Break soll eine Pause folgen, wie kann ich das realisieren?
if .. then
begin //.. end else //.. // BREAK; end; |
Re: Pause in if.. else.. Schleife
Erstmal ist das keine Schleife (sondern eine "IF"-Bedingung) :mrgreen:
Zu Deinem Problem: Verwende ![]() Viele Grüße |
Re: Pause in if.. else.. Schleife
Guten Morgen,
1€ in die Kaffeekasse für if/else Schleife, wo ist das bitte eine Schleife? Ansonsten schau Dir mal Sleep oder ![]() Grüße Klaus |
Re: Pause in if.. else.. Verzweigung
Er soll erst weitermachen, wenn eine andere Aktion ausgeführt wird.
|
Re: Pause in if.. else.. Verzweigung
Erklär das mal genauer. Du kannst doch ereignisgesteuert arbeiten, indem die andere Aktion wieder diese Methode aufruft, oder versteh ich da was falsch?
|
Re: Pause in if.. else.. Verzweigung
Delphi-Quellcode:
Aber schön ist das so nicht.
while not SollIchWeitermachen do Application.ProcessMessages;
Und so ballern wir uns auch nicht die CPU zu :mrgreen:
Delphi-Quellcode:
while
not SollIchWeitermachen do begin Application.ProcessMessages; // Mal die Anderen zu Wort kommen lassen if not SollIchWeitermachen then Sleep( 10 ); // 10 Millisekunden verschnaufen end; |
Re: Pause in if.. else.. Schleife
Zitat:
![]() |
Re: Pause in if.. else.. Verzweigung
Delphi-Quellcode:
if DateBeginSucheEdit.text <> '' then
begin if DateEndSucheEdit.Text <> '' then begin tage := Round(StrToDate(DateEndSucheEdit.Text) - StrToDate(DateBeginSucheEdit.Text)); if tage <= 10 then begin SmartQuery1.SQL.Add('and datum >= :ANFANG and datum <= :ENDE'); SmartQuery1.ParamByName('ANFANG').Value := StrToDate(DateBeginSucheEdit.Text); SmartQuery1.ParamByName('ENDE').Value := StrToDate(DateEndSucheEdit.Text); end else ShowMessage('Differenz darf nicht über 10 Tage sein.'); DateBeginSucheEdit.Clear; DateEndSucheEdit.Clear; DateBeginSucheEdit.SetFocus; // --BREAK-- end else begin SmartQuery1.SQL.Add('and datum = :ANFANG'); DateEndSucheEdit.Text := DateBeginSucheEdit.Text; SmartQuery1.ParamByName('ANFANG').Value := StrToDate(DateBeginSucheEdit.Text); end end else begin if DateEndSucheEdit.Text <> '' then begin SmartQuery1.SQL.Add('and datum = :ENDE'); DateBeginSucheEdit.Text := DateEndSucheEdit.Text; SmartQuery1.ParamByName('ENDE').Value := StrToDate(DateEndSucheEdit.Text); end; end; SmartQuery1.open; end; Bei Break soll die Pause folgen, andernfalls zeigt er doch alle Tage an, trotz Fehlermeldung. |
Re: Pause in if.. else.. Schleife
Zitat:
@Major1337: Mach doch einfach ein "Exit" und lass den Benutzer die Methode erneut aufrufen? :gruebel: |
Re: Pause in if.. else.. Verzweigung
Danke, Exit ist die Lösung. ^^
|
Re: Pause in if.. else.. Verzweigung
Delphi-Quellcode:
Keine Schleife, kein Exit, keine Klimmzüge und überschaubarer.
if
StrToDateDef( DateBeginSucheEdit.text, 0 ) - StrToDateDef( DateBeginSucheEdit.text, 0 ) <= 10 then begin // Hier führen wir jetzt mal alles aus, weil die Eingaben sind in Ordnung end else begin ShowMessage( 'Die Eingaben sind Quatsch! Bitte Wiederholen!' ); end; |
Alle Zeitangaben in WEZ +1. Es ist jetzt 17:10 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