For-Schleife - variables Step?

Für allgemeine Fragen zur Programmierung mit PureBasic.
Torakas
Beiträge: 63
Registriert: 13.09.2004 09:56

For-Schleife - variables Step?

Beitrag von Torakas »

Hi Leute,

ich habe ein damit verbundenes großes Problem wenn das nicht geht, was meiner meinung gehen sollte.

Wenn ich z.B. folgendes programmiere, dann gibt er mir eine Fehlermeldung das nach dem Step eine Numeric Variable erwartet wird. Ist es aber.

Code: Alles auswählen

TickSize2.w = 900
For i2 = 1 To 2700 Step TickSize2
  
(Programmcode)

Next
Da die TickSize variable ein muss gibt es dort halt ein problem. Hab jetzt dies nur mal als beispiel geschrieben. Normalerweise soll gezaehlt werden von einer Unixtimestamp x bis zur Unixtimestamp y in z Schritten.

Ich hab mir jetzt notgedrungen geholfen mit einer While:Wend schleife. Aber das kann ja nicht richtig sein.[/code]
Benutzeravatar
Kiffi
Beiträge: 10713
Registriert: 08.09.2004 08:21
Wohnort: Amphibios 9

Re: Bug: For Schleife (Step)

Beitrag von Kiffi »

Hai Torakas,

ist'n bekanntes Problem. Abhilfe:

http://www.robsite.de/php/pureboard-arc ... php?t=4654

Grüße ... Kiffi
Benutzeravatar
MLK
Beiträge: 267
Registriert: 01.11.2004 13:17
Wohnort: Hamburg

Beitrag von MLK »

warum sehen die lösungen alle so kompliziert aus ?

Code: Alles auswählen

stepper=2
For x=0 To 100
  Debug x
  x-1+stepper
Next
Benutzeravatar
Lebostein
Beiträge: 674
Registriert: 13.09.2004 11:31
Wohnort: Erzgebirge

Beitrag von Lebostein »

Genau aus diesem Grund versteh ich nicht, warum die Steps keine Variablen sein können. Technisch ist das doch kein Problem. Aber wahrscheinlich ist es ein zeitliches Problem für die Entwickler....

...aber es gibt schon zu viele Threads, in denen über das wackelige Grundgerüst von PureBasic gemeckert wird, tschuldigung, dass ich wieder damit anfange.
GPI
Beiträge: 1511
Registriert: 29.08.2004 13:18
Kontaktdaten:

Beitrag von GPI »

@mlk:

Weil das Pfusch ist und eine unsaubere Methode.Bei größeren Projekten kann das dazu führen, das man sich nach einiger Zeit fragt, warum man das da gemacht hat.
CodeArchiv Rebirth: Deutsches Forum Github Hilfe ist immer gern gesehen!
Benutzeravatar
MLK
Beiträge: 267
Registriert: 01.11.2004 13:17
Wohnort: Hamburg

Beitrag von MLK »

@GPI

ÄÄHM ... selbstverständlich
GPI
Beiträge: 1511
Registriert: 29.08.2004 13:18
Kontaktdaten:

Beitrag von GPI »

@MLK
Dein Sarkasmus kannst du dir verkneifen.

Die Zählvariable sollte bei saubererprogrammierung nur von For-next beinflußt werden.
CodeArchiv Rebirth: Deutsches Forum Github Hilfe ist immer gern gesehen!
Benutzeravatar
Ynnus
Beiträge: 855
Registriert: 29.08.2004 01:37
Kontaktdaten:

Beitrag von Ynnus »

Komisch dass hier plötzlich jeder mit angeblichen Bugmeldungen kommt... Nicht alles ist ein Bug. Und die Fehlermeldung von PureBasic ist doch eindeutig, dass Stepwerte nur Integer und konstanten sein dürfen. Bevor jetzt jeder laut "Bug" schreit und Neuankömmlinge verwirrt und vertreibt besser erstmal das Problem genau untersuchen.

Und @MLK:
Wo bitte ist denn die Lösung welche da vorgeschlagen wurde so kompliziert? Ist doch einfachste Schleifensache, nicht mehr.
Benutzeravatar
Rob
Shadow Admin
Beiträge: 258
Registriert: 26.08.2004 01:39
Kontaktdaten:

Beitrag von Rob »

Wie oben schon gesagt ist das kein Bug. Hab die Überschrift mal zu was weniger missverständlichem geändert.
Build a man a fire and he's warm for a day. Set a man on fire and he's warm for the rest of his life
Benutzeravatar
MLK
Beiträge: 267
Registriert: 01.11.2004 13:17
Wohnort: Hamburg

Beitrag von MLK »

selbstverständlich kann man, wenn die FOR-schleife keine stepvariable zulässt, diese durch eine WHILE-schleife ersetzen. weder die eine noch die andere sollte als pfusch bezeichnet werden. es ist geschmackssache zu welcher lösung man greift.

Code: Alles auswählen

stepper=2
x=0
While x < 100
  Debug x
  x+stepper
Wend

stepper=2
For x=0 To 100
  Debug x
  x-1+stepper
Next
Antworten