Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi break; umschreiben bei einer Sequenzschleife (https://www.delphipraxis.net/77980-break%3B-umschreiben-bei-einer-sequenzschleife.html)

Programmer 27. Sep 2006 15:36


break; umschreiben bei einer Sequenzschleife
 
break, goto, usw. sind ja berechtigterweise eher verhasst bei den Programmiersprachen.
Ich arbeite zur Zeit an einem Art Scrabble Programm, bei dem ein Buchstabensatz ausgewürfelt wird und nun die Eingabe des Benutzers mit den wirklich vorhandenen ausgewürfelten Buchstaben verglichen wird, ob diese auch da sind.

Im Endeffekt habe ich einfach folgendes Problem: Ich möchte die Sequenzschleife abbrechen um einen sonst folgenden Fehler zu vermeiden. Dies konnte ich aber nur mit break; reliaiseren, da Borland wohl kein Veränderung der Sequenzvariable innerhalb der Schleife erlaubt. Eine Idee wie ich das umshcreiben kann?

Delphi-Quellcode:
for i := 1 to length(wort) do
    for j := 1 to length(buchstaben) do
        if wort[i] = buchstaben[j] then
           begin
           if check >= length(wort) then
           else
            begin
             backup := backup + buchstaben[j];
             delete(buchstaben, j, 1);
             pnlWurf.Caption := buchstaben;
             inc(check);
             break;
            end;
           end
        else
            begin

            end;
wort ist die Eingabe des Users
buchstaben die ausgewürfelten Buchstaben

:pale:

jakobwenzel 27. Sep 2006 15:42

Re: break; umschreiben bei einer Sequenzschleife
 
In bestimmten Fällen hat break durchaus eine Existenzberechtigung.
Hier is die gleiche Frage, nur Theoretisch: http://www.delphipraxis.net/internal...ct.php?t=14864

DGL-luke 27. Sep 2006 15:45

Re: break; umschreiben bei einer Sequenzschleife
 
wenn du es mit einer while-schleife machst, kannst du deine schleifenvariable komplett selber kontrollieren. Allerdings macht das den Code komplizierter. Ich denke du kannst das mit dem break schon lassen.


Alle Zeitangaben in WEZ +1. Es ist jetzt 02:37 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