Hier könnt Ihr gute, von Euch geschriebene Codes posten. Sie müssen auf jeden Fall funktionieren und sollten möglichst effizient, elegant und beispielhaft oder einfach nur cool sein.
sorry dass ich den alten Thread hochhole aber ich denke es ist für die Leute die von VB kommen und ihre Programme portieren möchten von bedeutung die mit RND() arbeiten.
Da in VB die Funktion im Bereich von >0 und <=1 liegt kann man sich die einfach nachschreiben:
Procedure MyRandom(Limit.l)
Result.l = Random(1) ;hier wird entschieden ob positiv oder negativ
If Result = 1 ;positive zahlen
Result = Random(Limit)
ElseIf Result = 0 ;negative zahlen
Result = -Random(Limit)
EndIf
ProcedureReturn Result
EndProcedure
Debug MyRandom(10) ; gibt eine zufällige zahl zurück zwischen -10 und +10
c ya,
nco2k
~|__/
..o.o.. <--- This is Einkaufswagen. Copy Einkaufswagen into your signature to help him on his way to world domination.
@NicTheQuick: Du hast natürlich recht, daran hab ich jetzt nicht gedacht. Ich hatte erst vor kurzem eine RND Funktion gebraucht - für mich waren die Werte ausreichend.
@nco2k: Ich finde dein Beispiel ist nicht falsch aber kann man sich meiner meinung nach auch sparen.
Hier aus der MSDN:
Verwenden Sie die folgende Formel, um ganzzahlige Zufallszahlen innerhalb eines bestimmten Bereichs zu erzeugen:
Obergrenze steht hier für die größte Zahl des Bereichs und Untergrenze für die kleinste Zahl des Bereichs.
[edit]
Zudem möchte man vielleicht auch nur werte zwichen 50 und 100 oder -50 bis 20 haben. Mir fällt auch auf dass du 2 mal Random aufrufst was mir persönlich nicht gefällt
[/edit]
Willste uns damit sagen, Rnd sei eine API-Funktion?
Oder was hat PB mit VB-Runtime zu tun
PureBasic 5.73 LTS | SpiderBasic 2.30 | Windows 10 Pro (x64) | Linux Mint 20.1 (x64)
Nutella hat nur sehr wenig Vitamine. Deswegen muss man davon relativ viel essen.
@All : ich glaube wir reden aneinander vorbei . Das Zitat aus der MSDN hat natürlich nichts mit einer API und schon gar nichts mit PB zu tun.
Wie schon gesagt ist das eine RND Funktion von VB, und hat einen minimalen Wert >0 und maximalen Wert <= 1 und sind float-Werte!
Das Beispiel aus der MSDN zeigt ja nur wie man auch negative Werte erhalten kann, durch das Int davor eben nur Ganzzahlen weil die RND funktion eben float-Werte (im oben genannten Wertebereich) zurückgibt.
Ich wollte eigentlich auch nur einen Tip für die VB'ler geben die gewechselt sind oder wechseln werden.