| |
|
|
| Man glaub es kaum, ich programmiere wieder. (Damit habe ich einigen die große Überraschung genommen)
Bei meinem derzeitigen Projekt spielen Zufallsgeneratoren eine große Rolle. Jedoch scheint die zufällige Auswahl nicht ganz zu klappen. KompilierenMarkierenSeparieren wenn classes%=3 ist funktioniert die Schleife wunderbar, hat classes jedoch den Wert 1 oder 2, macht mein PC nichts und hängt scheinbar in der Schleife fest. Ist bestimmt mal wieder was total dummes, ich sehs kommen. Aber bis jetzt versteh ich es nicht.
Noch eine Frage: randomize gilt für alle nachfolgenden rnd oder?
Gruß CHT |
|
|
| |
|
|
|
Jörg Sellmeyer | Wie soll er auch was anderes machen, da du in der if-Struktur nur bei classes% = 3 e% auf 1 setzt |
|
|
| Windows XP SP2 XProfan X4... und hier mal was ganz anderes als Profan ... | 23.06.2009 ▲ |
|
|
|
|
RGH | Hallo,
das gelistete Programm ist zwar mangels Vraiablendeklarationen nicht laufffähig, so dass ich es nicht ausprobieren konnte, aber ein Fehler fällt softort auf: Es fehlen die Klammern bei den Bedingungen! (Siehe in der Hilfe unter "6. Operatoren", Stichwort "Hierarchie".) So geht es vermutlich: KompilierenMarkierenSeparieren...
elseif (classes% = 2) and (sizerate% > 50)
...
In Deinem Code würde wegen der Hierarchie zunächst "2 and sizerate%" aufgelöst und das ist entweder 1 oder 0. Dann würde "classes% = 1" oder "classes% = 0" aufgelöst werden und dies ergibt auch wieder entweder 1 oder 0. Und da dies niemals größer 50 ist, ist die Bedingung ohne Klammern immer falsch, völlig unabhängig vom Wert sizerate%.
Kleiner Tipp: Wenn man sich die Hierarchie der Operatoren nicht merken will oder kann, einfach immer die Klammern so setzen, wie man es gewertet haben möchte.
Da es unterschiedliche Sprachen (und selbst unterschiedliche BASIC-Dialekte) unterschiedlich handhaben, habe ich mich an der Hierarchie der Sprache orientiert, in der ich XProfan geschrieben habe: Pascal. (Ich nutze Delphi und Delphis Programmiersprache ist Object-Pascal.)
Gruß Roland |
|
|
| Intel Duo E8400 3,0 GHz / 4 GB RAM / 1000 GB HDD - ATI Radeon HD 4770 512 MB - Windows 7 Home Premium 32Bit - XProfan X4 | 23.06.2009 ▲ |
|
|
|
|
| naja, ich habe ja noch ein zweites if, wo ich das abfrage
selbst bei KompilierenMarkierenSeparieren tut sich nichts.
ich verstehe meinen Fehler nicht
Gruß CHT |
|
|
| |
|
|
|
Dieter Zornow | |
|
| Er ist ein Mann wie ein Baum. Sie nennen ihn Bonsai., Win 7 32 bit und Win 7 64 bit, mit XProfan X2 | 23.06.2009 ▲ |
|
|
|
|
| Ich habe RGH´s Post leider erst im Nachhinein gesehen, weil ich etwas gebraucht habe mit meinem eigenen Post und noch etwas geprüft habe. Also ich schaue mal ... ... und tatsächlich! Was 4 Klammern so ausmachen können. Danke an RGH und Dieter!
Gruß CHT |
|
|
| |
|
|
|
| [offtopic] Gegen das Problem derartiger Posting-Überschneidungen habe ich bereits ein Mittel im Test. So wird ein Beitrag sofort angezeigt nach dem Absenden - auch wenn man grad einen Beitrag verfässt. Ebenso wird dann im Thread zu sehen sein, ob ein Mitglied grad einen Beitrag verfässt, indem der Beitrag bereits erscheint mit entsprechendem Bemerk und einem "Stift". [/offtopic] |
|
|
| |
|
|