Hi Leute,
gibt es in Basic oder Bascom einen Befehl der zufällige Zahlen und Ziffernfolgen ausgibt.
Kann man dann auch eventuell bestimmen wieviele stellen diese zufälligen abfolgen haben?
Bei Basic heißt das RND(limit) und bei Bascom ergibt es 16 Bit
limit kannst du in diesem Rahmen angeben (>0, logo)
Hab mich für Basic entschieden. Aber könntest du das nochmal genauer beschreiben?
Danke
Example
Dim I As Integer
Do
I = Rnd(100) 'eine gestreute Zahlenfolge vom 0-99
Print I
Waitms 100
Loop
End
Vorsicht: Nach jedem "Reset" kommt die gleiche Folge. Da kann man sich aber helfen.
Ja das klappt schonmal.
Kann man jetzt unter die Zahle noch zufällige Buchstaben mischen?
Das ist immer eine Zahl, du kannst aber (z.B) das dann auf druckbare Zeichen umlegen:
Dim I As Integer
Dim Z As byte
Do
I = Rnd(96) 'eine gestreute Zahlenfolge vom 0-95
Z = I + 32
Print chr(Z)
Waitms 100
Loop
End
Ja so wollt ich das.
Achso: Kann man auch die einzelnen Ziffern der Zufallszahlen "auslesen"?
Praktisch so:
Wenn die erste Ziffer 1 ist dann mach folgendes..
Ach ich vergaß:
hab jetzt ein Programm das di Zahlen 0-999 HOchzählt. Das mit dem auslesen ist darauf bezogen.
Ganz hab ich es jetzt nicht, aber das Ergebnis von RND(x) ist eine ganz normale 16-Bit Zahl. Die kannst du vergleichen, multiplizieren und verwursten, wie du willst.
Ja aber die Zahl besteht ja aus 1er oder mehreren Ziffern.Es geht darum das er die einzelnen Ziffern erkennt
ah so. du kannst die Zahl in eine String umwandeln
dim zahl as string * 5
dim ziffer as string * 1
i = rdn(xx) ' die Zahl z.B. 324
zahl = str (i) ' als string = "324"
ziffer = left(zahl, 1) ' das erste zeichen von string = "3"
if ziffer = "1" then .... tralala
Ach ja.Darauf wollt ich hinaus . Hatte mich vielleicht etwas kompliziert ausgedrückt.
Danke PicNick
Hi,
wie heißt der Befehl, der die 2., 3.,4. oder 5. Stelle abfragt?
Für Mittendrin:
midstring = MID(string ,start , länge )
und dann gibt's noch die Zeichen von rechts weg gerechet
rightstring = RIGHT(string ,anzahl )
Bei diesen beiden mußt du ein bißchen aufpassen, ob der Input-String überhaupt genug Stellen hat.
dafür wiederum gibt's:
länge = LEN( string )
So,
hab jetzt mal ein Zählprogrammgeschrieben:
Es zählt einfach hoch und gibt bevor es die Zahl ausgibt an, wie Stellen der folgenden Zahl aussehen
Declare Sub Ende()
$regfile = "m16def.dat"
Dim I As Integer
Dim E As Integer
Dim B As Integer
Dim A As Integer
A = 0
Do
B = A + 1
E = B
A = B
I = B
If I > 99999 Then Call Ende
Dim Zahl As String * 5
Dim Ziffer As String * 1
Zahl = Str(i)
Ziffer = Mid(zahl , 1 , 1)
If Ziffer = "1" Then Print "1.=1"
Ziffer = Mid(zahl , 1 , 1)
If Ziffer = "2" Then Print "1.=2"
Ziffer = Mid(zahl , 1 , 1)
If Ziffer = "3" Then Print "1.=3"
Ziffer = Mid(zahl , 1 , 1)
If Ziffer = "4" Then Print "1.=4"
Ziffer = Mid(zahl , 1 , 1)
If Ziffer = "5" Then Print "1.=5"
Ziffer = Mid(zahl , 1 , 1)
If Ziffer = "6" Then Print "1.=6"
Ziffer = Mid(zahl , 1 , 1)
If Ziffer = "7" Then Print "1.=7"
Ziffer = Mid(zahl , 1 , 1)
If Ziffer = "8" Then Print "1.=8"
Ziffer = Mid(zahl , 1 , 1)
If Ziffer = "9" Then Print "1.=9"
Ziffer = Mid(zahl , 2 , 1)
If Ziffer = "0" Then Print "2.=0"
Ziffer = Mid(zahl , 2 , 1)
If Ziffer = "1" Then Print "2.=1"
Ziffer = Mid(zahl , 2 , 1)
If Ziffer = "2" Then Print "2.=2"
Ziffer = Mid(zahl , 2 , 1)
If Ziffer = "3" Then Print "2.=3"
Ziffer = Mid(zahl , 2 , 1)
If Ziffer = "4" Then Print "2.=4"
Ziffer = Mid(zahl , 2 , 1)
If Ziffer = "5" Then Print "2.=5"
Ziffer = Mid(zahl , 2 , 1)
If Ziffer = "6" Then Print "2.=6"
Ziffer = Mid(zahl , 2 , 1)
If Ziffer = "7" Then Print "2.=7"
Ziffer = Mid(zahl , 2 , 1)
If Ziffer = "8" Then Print "2.=8"
Ziffer = Mid(zahl , 2 , 1)
If Ziffer = "9" Then Print "2.=9"
Ziffer = Mid(zahl , 3 , 1)
If Ziffer = "0" Then Print "3.=0"
Ziffer = Mid(zahl , 3 , 1)
If Ziffer = "1" Then Print "3.=1"
Ziffer = Mid(zahl , 3 , 1)
If Ziffer = "2" Then Print "3.=2"
Ziffer = Mid(zahl , 3 , 1)
If Ziffer = "3" Then Print "3.=3"
Ziffer = Mid(zahl , 3 , 1)
If Ziffer = "4" Then Print "3.=4"
Ziffer = Mid(zahl , 3 , 1)
If Ziffer = "5" Then Print "3.=5"
Ziffer = Mid(zahl , 3 , 1)
If Ziffer = "6" Then Print "3.=6"
Ziffer = Mid(zahl , 3 , 1)
If Ziffer = "7" Then Print "3.=7"
Ziffer = Mid(zahl , 3 , 1)
If Ziffer = "8" Then Print "3.=8"
Ziffer = Mid(zahl , 3 , 1)
If Ziffer = "9" Then Print "3.=9"
Ziffer = Mid(zahl , 4 , 1)
If Ziffer = "0" Then Print "4.=0"
Ziffer = Mid(zahl , 4 , 1)
If Ziffer = "1" Then Print "4.=1"
Ziffer = Mid(zahl , 4 , 1)
If Ziffer = "2" Then Print "4.=2"
Ziffer = Mid(zahl , 4 , 1)
If Ziffer = "3" Then Print "4.=3"
Ziffer = Mid(zahl , 4 , 1)
If Ziffer = "4" Then Print "4.=4"
Ziffer = Mid(zahl , 4 , 1)
If Ziffer = "5" Then Print "4.=5"
Ziffer = Mid(zahl , 4 , 1)
If Ziffer = "6" Then Print "4.=6"
Ziffer = Mid(zahl , 4 , 1)
If Ziffer = "7" Then Print "4.=7"
Ziffer = Mid(zahl , 4 , 1)
If Ziffer = "8" Then Print "4.=8"
Ziffer = Mid(zahl , 4 , 1)
If Ziffer = "9" Then Print "4.=9"
Ziffer = Mid(zahl , 5 , 1)
If Ziffer = "0" Then Print "5.=0"
Ziffer = Mid(zahl , 5 , 1)
If Ziffer = "1" Then Print "5.=1"
Ziffer = Mid(zahl , 5 , 1)
If Ziffer = "2" Then Print "5.=2"
Ziffer = Mid(zahl , 5 , 1)
If Ziffer = "3" Then Print "5.=3"
Ziffer = Mid(zahl , 5 , 1)
If Ziffer = "4" Then Print "5.=4"
Ziffer = Mid(zahl , 5 , 1)
If Ziffer = "5" Then Print "5.=5"
Ziffer = Mid(zahl , 5 , 1)
If Ziffer = "6" Then Print "5.=6"
Ziffer = Mid(zahl , 5 , 1)
If Ziffer = "7" Then Print "5.=7"
Ziffer = Mid(zahl , 5 , 1)
If Ziffer = "8" Then Print "5.=8"
Ziffer = Mid(zahl , 5 , 1)
If Ziffer = "9" Then Print "5.=9"
If Ziffer = "0" Then Print "6.=0"
Ziffer = Mid(zahl , 6 , 1)
If Ziffer = "1" Then Print "6.=1"
Ziffer = Mid(zahl , 6 , 1)
If Ziffer = "2" Then Print "6.=2"
Ziffer = Mid(zahl , 6 , 1)
If Ziffer = "3" Then Print "6.=3"
Ziffer = Mid(zahl , 6 , 1)
If Ziffer = "4" Then Print "6.=4"
Ziffer = Mid(zahl , 6 , 1)
If Ziffer = "5" Then Print "6.=5"
Ziffer = Mid(zahl , 6 , 1)
If Ziffer = "6" Then Print "6.=6"
Ziffer = Mid(zahl , 6 , 1)
If Ziffer = "7" Then Print "6.=7"
Ziffer = Mid(zahl , 6 , 1)
If Ziffer = "8" Then Print "6.=8"
Ziffer = Mid(zahl , 6 , 1)
If Ziffer = "9" Then Print "6.=9"
Ziffer = Mid(zahl , 6 , 1)
Print B
Loop
Sub Ende
Print "99999"
End
End Sub
Aber irgendwie kann ich für A oben nicht mehr als 32767 einsetzen.
Irgendwann fängt er an rückwärts wieder runter zu zählen.
Versteht ihr das?
Na ja, ein Integer hat 16 Bit, geht also von 0 - 32767.
Das nächste wäre LONG mit 32 Bit, das geht dann bis 4294967295
Na, manchmal ist man auch blöd ](*,) ](*,)
Die 4294967295 reichen erstmal :)
Nur so zur Bildung : Gibt's auch was mit 64bit?
Hiesse "Double" , das reicht auch fürs Bundesdefizit.
Beim BasCom muß man dann aber irgendwie mit den Libraries fummeln, da bin ich im moment überfragt
Ich hab auch mal so ein Zählprogramm geschrieben.
Weiß jemand wie man ihm sagt, dass er nicht bei 1anfangen soll zu zählen, sondern bei 000001 z.b.?
Hab mal versucht mit 0,000001 anfagen zu zählen.
Klappt aber auch nicht. Weiß wer nooch was anderes?
0000001 ist mathematisch gesehen auch nur 1!
Was sollen die Nullen davor?
Wenn, kannst du alles in einen String umwandeln und den Befehl Format benutzen.
Powered by vBulletin® Version 4.2.5 Copyright ©2024 Adduco Digital e.K. und vBulletin Solutions, Inc. Alle Rechte vorbehalten.