AGB  ·  Datenschutz  ·  Impressum  







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

Auf übergeordnete Schleife zugreifen

Ein Thema von Diamondback2007 · begonnen am 20. Feb 2008 · letzter Beitrag vom 20. Feb 2008
Antwort Antwort
Seite 1 von 2  1 2      
Benutzerbild von Diamondback2007
Diamondback2007

Registriert seit: 2. Feb 2007
260 Beiträge
 
Delphi 2007 Professional
 
#1

Auf übergeordnete Schleife zugreifen

  Alt 20. Feb 2008, 19:01
hallo zusammen.

ich würde gerne von einer schleife auf eine übergeordnete zugreifen.

konkret:
Delphi-Quellcode:
for j := 0 to iniko.ReadInteger(FAktuellerRaum.Name, 'AnzahlPersonen', 0) - 1 do
    begin
      //Für alle Itemkombinationen
      for i := 0 to tmpStringlist.Count - 1 do
        begin
          //Falls eine Person + Item was sagt bzw existiert
          if iniko.ReadString(FAktuellerRaum.Name, 'PersonText' + tmpStringlist.Strings[i] + IntToStr(j), '') <> 'then
            begin
              //Dann dem Ergebnis hinzufügen
              tmpText := iniko.ReadString(FAktuellerRaum.Name, 'PersonText' + tmpStringlist.Strings[i] + IntToStr(j), '');
              Result.Add(iniko.ReadString(FAktuellerRaum.Name, 'PersonName' + IntToStr(j), 'Eine Person') + ' sagt: ' + tmpText);
              //Was muss hier hin, damit der block unten nicht ausgeführt wird?Weder break; noch continue; brigen den gewünschten erfolg
            end;
        end;
      //Falls Person ohne Item etwas sagt
      if iniko.ReadString(FAktuellerRaum.Name, 'PersonText' + IntToStr(j), '') <> 'then
        begin
          //Dann dem Ergebnis hinzufügen
          tmpText := iniko.ReadString(FAktuellerRaum.Name, 'PersonText' + IntToStr(j), '');
          Result.Add(iniko.ReadString(FAktuellerRaum.Name, 'PersonName' + IntToStr(j), 'Eine Person') + ' sagt: ' + tmpText);
        end;
    end;
Ja, die frage steht ja schon im code drinne. ich möchte halt, dass sobald etwas ausgelsen wurde der untere teil nicht ausgeführt wird. deshalb bräuchte ich ein "Continue" für die schleife obendrüber...

eine möglichkeit wäre eine booleanvariable aber gibt es eine bessere lösung?
vielleicht kann ja jemand helfen.

gruß

EDIT: Sorry für sie seltsame formatierung, kann ich nichts für...
Fabian E.
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.625 Beiträge
 
Delphi 12 Athens
 
#2

Re: Auf übergeordnete Schleife zugreifen

  Alt 20. Feb 2008, 19:04
Geht das nicht einfach mit einem if-then-else-Konstrukt?
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.861 Beiträge
 
Delphi 11 Alexandria
 
#3

Re: Auf übergeordnete Schleife zugreifen

  Alt 20. Feb 2008, 19:04
Dann würde ich die For-Schleife durch eine andere (While) ersetzen
Markus Kinzler
  Mit Zitat antworten Zitat
bluesbear

Registriert seit: 14. Dez 2005
Ort: Hahnstätten
355 Beiträge
 
Delphi 2007 Enterprise
 
#4

Re: Auf übergeordnete Schleife zugreifen

  Alt 20. Feb 2008, 19:08
Zitat von Diamondback2007:
eine möglichkeit wäre eine booleanvariable
IMHO ist eine Boolevariable die einzige und sauberste Lösung.
Klaus M. Hoffmann
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.625 Beiträge
 
Delphi 12 Athens
 
#5

Re: Auf übergeordnete Schleife zugreifen

  Alt 20. Feb 2008, 19:11
Nachdem ich jetzt endlich die Logik verstanden habe , gebe ich bluersbear Recht.
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
Benutzerbild von Diamondback2007
Diamondback2007

Registriert seit: 2. Feb 2007
260 Beiträge
 
Delphi 2007 Professional
 
#6

Re: Auf übergeordnete Schleife zugreifen

  Alt 20. Feb 2008, 19:20
okay, danke. werde ich dann so machen.

gruß
Fabian E.
  Mit Zitat antworten Zitat
Apollonius

Registriert seit: 16. Apr 2007
2.325 Beiträge
 
Turbo Delphi für Win32
 
#7

Re: Auf übergeordnete Schleife zugreifen

  Alt 20. Feb 2008, 19:22
Wie wäre es mit Goto?
Wer erweist der Welt einen Dienst und findet ein gutes Synonym für "Pointer"?
"An interface pointer is a pointer to a pointer. This pointer points to an array of pointers, each of which points to an interface function."
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.625 Beiträge
 
Delphi 12 Athens
 
#8

Re: Auf übergeordnete Schleife zugreifen

  Alt 20. Feb 2008, 19:24
Pfui!
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
Hawkeye219

Registriert seit: 18. Feb 2006
Ort: Stolberg
2.227 Beiträge
 
Delphi 2010 Professional
 
#9

Re: Auf übergeordnete Schleife zugreifen

  Alt 20. Feb 2008, 20:12
Hallo,

wenn man der temporären Stringliste vor der j-Schleife einen Leerstring hinzufügt, kann der untere Block entfallen. Die i-Schleife kann dann mit einer BREAK-Anweisung verlassen werden.

Gruß Hawkeye
  Mit Zitat antworten Zitat
Apollonius

Registriert seit: 16. Apr 2007
2.325 Beiträge
 
Turbo Delphi für Win32
 
#10

Re: Auf übergeordnete Schleife zugreifen

  Alt 20. Feb 2008, 20:18
@DeddyH: Ich weiß nicht, ob Dijkstra mit seinem "go to statement considered harmful" wirklich ein zweiter Pawlow werden wollte.
Wer erweist der Welt einen Dienst und findet ein gutes Synonym für "Pointer"?
"An interface pointer is a pointer to a pointer. This pointer points to an array of pointers, each of which points to an interface function."
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


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 22:31 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