[Gelöst] REPEAT

4. Mai 2007 14:26

Hallo Zusammen,

ich habe ein Problem mit REPEAT. Es wäre nett wenn mir jemand weiterhelfen könnte. Habe eine Codeunit mit folgendem Inhalt.

Code:
IF Kammerd.FIND('-') THEN
   REPEAT;
     CREATE(Steuerung);
     Steuerung.open('POST',Kammerd.HTTP);
     Steuerung.send(Kammerd.HTTP);
     CLEAR(Steuerung);
     SLEEP(8000);
  UNTIL Kammerd.NEXT = 0;


Ich möchte aber zum Beispiel das die zugehörige Tabe nicht nur einmal, sondern 10 durchlaufen wird.
Zuletzt geändert von CarstenHagemeier am 7. Mai 2007 15:09, insgesamt 1-mal geändert.

Re: REPEAT

4. Mai 2007 14:34

Hallo Carsten!

CarstenHagemeier hat geschrieben:Ich möchte aber zum Beispiel das die zugehörige Tabe nicht nur einmal, sondern 10 durchlaufen wird.

Was ist Tabe?

Gruß, Marc

4. Mai 2007 14:38

Hallo Marc,

kleiner Schreibfehler! Ich meine die zugehörige Tabelle

4. Mai 2007 14:41

Carsten meinte wohl Tabelle.

So wie ich das verstanden habe, möchte er das hier:

Code:
FOR i := 1 to 10 do
  IF Kammerd.FIND('-') THEN
    REPEAT
      CREATE(Steuerung);
      Steuerung.open('POST',Kammerd.HTTP);
      Steuerung.send(Kammerd.HTTP);
      CLEAR(Steuerung);
      SLEEP(8000);
   UNTIL Kammerd.NEXT = 0;


(Ob das überhaupt sinnvoll ist, lass ich jetzt mal ungefragt im Raum stehen ....)

Re: REPEAT

4. Mai 2007 14:45

Code:
FOR I := 1 TO 10 DO   // Führe die nächsten Zeilen 10-mal aus
  IF Kammerd.FIND('-') THEN
    REPEAT           // KEIN Semikolon am Ende!
      CREATE(Steuerung);
      Steuerung.open('POST',Kammerd.HTTP);
      Steuerung.send(Kammerd.HTTP);
      CLEAR(Steuerung);
      SLEEP(8000);
   UNTIL Kammerd.NEXT = 0;


Ich frage mich allerdings, ob es notwendig ist, jedesmal eine neue Instanz von "Steuerung" anzulegen, oder ob es nicht auch so geht:
Code:
IF ISCLEAR(Steuerung) THEN
  CREATE(Steuerung);  // Instanz erstellen
FOR I := 1 TO 10 DO
  IF Kammerd.FIND('-') THEN
    REPEAT
      Steuerung.open('POST',Kammerd.HTTP);
      Steuerung.send(Kammerd.HTTP);
      SLEEP(8000);
   UNTIL Kammerd.NEXT = 0;
CLEAR(Steuerung);  // Instanz auflösen

4. Mai 2007 14:53

Danke Natalie und Timo!

Timo Du hast recht, geht auch mit Deiner Variante!

Gruß

Carsten

4. Mai 2007 15:25

CarstenHagemeier hat geschrieben:kleiner Schreibfehler! Ich meine die zugehörige Tabelle

Ach sooooooooooo. :-)

Gruß, Marc

4. Mai 2007 15:35

Noch eine Frage, wie bekomme ich die Sanduhr weg so lange die Codeunit läuft? Möchte ja auch noch ein paar andere Sachen machen.