AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Programmieren allgemein for- Schleife : Anfangsvariable aktualisieren
Thema durchsuchen
Ansicht
Themen-Optionen

for- Schleife : Anfangsvariable aktualisieren

Ein Thema von aaaaaaaaaa_10 · begonnen am 16. Jul 2009 · letzter Beitrag vom 16. Jul 2009
Antwort Antwort
Seite 1 von 2  1 2      
aaaaaaaaaa_10
(Gast)

n/a Beiträge
 
#1

for- Schleife : Anfangsvariable aktualisieren

  Alt 16. Jul 2009, 10:43
Delphi-Quellcode:
    k := 10;
    for j := k to Length(head) do
     begin
       ...
      k := k + 5;
     end;
Wie kann ich verhindern, dass j ab 10 alle Werte durchläuft. Ich möchte, wenn ein bestimmtes Ereignis eintritt erst bei z.b. j = 6 weiter machen und 2-5 auslassen. Ist das irgendwie möglich?
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

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

Re: for- Schleife : Anfangsvariable aktualisieren

  Alt 16. Jul 2009, 10:44
Statt For- eine While- oder Repeat-Schleife verwenden oder ein break; ( weniger Schön)
Markus Kinzler
  Mit Zitat antworten Zitat
aaaaaaaaaa_10
(Gast)

n/a Beiträge
 
#3

Re: for- Schleife : Anfangsvariable aktualisieren

  Alt 16. Jul 2009, 10:47
Es geht darum, dass ich einen String durchlaufen möchte und immer wenn an einer stelle etwas bestimmtes gefunden wurde, erst ab der drittnächsten weitergesucht werden soll.
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

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

Re: for- Schleife : Anfangsvariable aktualisieren

  Alt 16. Jul 2009, 10:49
Man sollte eine Laufvariable nicht verändern!
Markus Kinzler
  Mit Zitat antworten Zitat
aaaaaaaaaa_10
(Gast)

n/a Beiträge
 
#5

Re: for- Schleife : Anfangsvariable aktualisieren

  Alt 16. Jul 2009, 10:55
Aber wie realisiere ich es denn? Ich fange vorne im String an. Dann suche ich das erste #9 und das darauf folgende '[', kopiere das, was dazwischen steht in eine stringvariable und wollte ab der Stelle wo '[' auftrat +1 weitermachen
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

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

Re: for- Schleife : Anfangsvariable aktualisieren

  Alt 16. Jul 2009, 10:56
Verwende Pos()/PosEx() um gezielt zu suchen
Markus Kinzler
  Mit Zitat antworten Zitat
aaaaaaaaaa_10
(Gast)

n/a Beiträge
 
#7

Re: for- Schleife : Anfangsvariable aktualisieren

  Alt 16. Jul 2009, 10:57
Delphi-Quellcode:
 for j := 10 to Length(head) do
    begin
      TabPos1 := posEx(#9,head,j);
      if TabPos1 <> 0 then
      begin
        TabPos2 := posEx('[',head,TabPos1+1);
        ShowMessage(IntToStr(TabPos2));
        if TabPos2 <> 0 then
        begin
            Length1 := TabPos2-TabPos1;
            MWBeztemp := Copy(head, TabPos1,Length1);
            MWBez := MWBez+#9+MWBeztemp;
        end;
      end;
    end;
Dat tue ich bereits
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

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

Re: for- Schleife : Anfangsvariable aktualisieren

  Alt 16. Jul 2009, 10:58
Zu was brauchst du dann die Schleife?
Markus Kinzler
  Mit Zitat antworten Zitat
aaaaaaaaaa_10
(Gast)

n/a Beiträge
 
#9

Re: for- Schleife : Anfangsvariable aktualisieren

  Alt 16. Jul 2009, 11:01
Ohne Schleife würde er doch nur das erste vorkommen von #9 und '[' erkennen und den rest nicht
  Mit Zitat antworten Zitat
Stormy

Registriert seit: 8. Okt 2005
Ort: LPZ
73 Beiträge
 
Delphi 6 Enterprise
 
#10

Re: for- Schleife : Anfangsvariable aktualisieren

  Alt 16. Jul 2009, 11:02
Öhm wo ist das Problem?
Setze doch eine Variable die sobald dein String gefunden wurde auf 3 gesetzt wird und
am anfang der For-Schleife einen If-Block der das abfragt.

Delphi-Quellcode:
k := 10;
x := 0;
    for j := k to Length(head) do
     if x = 0 then
     begin
       ...
       k := k + 5;
       if head = 'ab hier übersrpinge die nächsten 3 stringsthen x := 4;
     end else dec(x);
Edit: Der Post bezieht sich auf dene Frage bei #3


Gruß
Stormy
  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 12:22 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