Öffne eine Form und mache einen Command Button darauf.zeppelinflieger hat geschrieben:Ich habe versucht ein Programm zu machen, welches mir 100.000 Zufallszahlen erzeugt zwischen 100 und 47000(Könnte meine Schwester gebrauchen, warum die das braucht, habe ich auch nicht begriffen) :--(
Wenn es nicht zuviel verlangt ist, könntest du mir mal so einen Code zusammenbasteln? Am besten noch mit Erklärung, damit ich mal selbst anfagen kann zu üben.
Ich habe jetzt nicht gewusst, wie die Daten ausgegeben werden sollen, ich lasse sie deshalb in einer Datei speichern. Ich nehme mal an, dass Du es sowieso so haben wolltest.
Code: Alles auswählen
Option Explicit
Private Sub Command1_Click()
Dim Trennzeichen As String, i As Long, FreiFile As Integer
' Variablen werden definiert, sollte man unbedingt immer machen; in
' Verbindung mit Option Explicit !!!
' Option Explicit = Variablen Deklaration ist ZWINGEND! = Man kann nicht durcheinander kommen bzw.
' dadurch werden vorab viele Programmier-Bug's verhindert und natürlich auch ---> Programm-Bug's
Randomize
' Zufall wird zufällig gemacht sozusagen!
' Diese Funktion zu erklären wäre zuviel des guten hier!
' Frage in entsprechenden Foren nach!
' Wenn man einen VerschlüsselungsKey macht, sollte man über den Computer-Zufall
' vieles Wissen, weil .................
' Randomize sollte man auch machen, weil sonst erhält man immer wieder die
' gleichen Zufallszahlen! Diese meine Aussage ist zwar ein Widerspruch in sich, ....
' Deshalb wie gesagt, in Foren nachfragen
Trennzeichen$ = Chr$(59)
' Das Trennungszeichen der Zahlen wird bestimmt;
' Das Dollar Zeichen bedeutet, das die Variable ein String ist!
' Man kann auch das Trennzeichen in "" setzen also Trennzeichen$ = "X"
' Dann ist das Trennzeichen der Zahlen also ein X.
' Der Ascii Wert 59 hier, ist ein Semikolon!
' Wenn du einen Zeilenumbruch haben willst, dann mach Trennzeichen$ = vbCrLf
' Wenn du einen Weltweit angepassten/bzw. verschiedenen Zeilenumbruch haben willst;
' dann ist Trennzeichen$ = vbNewLine das richtige
' Diese Befehle sind aber auf jedem Betriebssystem gleichwertig!
FreiFile = FreeFile
' Freefile benutzt eine Frei Dateinummer, die man benutzen kann
' Die FreeFile Funktion wird aber hauptsächlich benutzt, wenn man mit vielen Datei-
' operationen arbeitet, damit man nicht durcheinander gerät
Open "c:\ZufallsZahlen.txt" For Binary As #FreiFile
' Öffnet bzw. in diesem Fall,
' also Binary, erstellt die Datei ZufallsZahlen.txt auf Pfad c:\
For i = 1 To 100000
' Schleife 1 bis 100000, es werden 100.000 mal
' die selben Befehle abgearbeitet.
' Die Variable "i" wird dabei hochgezählt 1 - 100.000
Put #FreiFile, , CStr(Int(46900 * Rnd + 101)) & Trennzeichen$
' Schreibt die Zufallszahl in der Datei.
' Der CStr(Convert to String) Befehl hat gleiche 2 Funktionen, erstens der Befehl
' schneidet das Leerzeichen der Zahl ab
' und zweitens wandelt er die zu speichernde Zahl auch in eine Zahl um, das heisst;
' sonst würde der Datentyp-mässige High-Low Byte Wert abgespeichert werden.
' was aber auch gehen würde, bzw. die Werte können so wieder eingeladen werden
' In der Datei ZufallsZahlen.txt aber, würde man die Zahlen nicht erkennen, aber durch
' den Befehl CStr schon!
' Die "Int" Anweisung schneidet die Kommazahlen ab, bzw. wandelt die Zufallszahl
' zu einer Ganzzahl um
' Der Befehl RND ist der Zufallsbefehl, er zieht sozusagen aus 45899 eine Zahl raus,
' die aber auch Kommastellen hat. Wie gesagt, der Int Befehl/Anweisung wandelt diese
' aber um!
' die + 101 bedeutet, es wird immer + 101 dazu addiert, weil Du ja keine Zahl unter
' 100 haben willst. Und 45899 + 101 sind 47.000!
' & Trennzeichen$ = UND das Trennzeichen wird hinten angehängt.
Next
' Hier Enden die Befehle in der Schleife. Sie werden aber 100.000 mal wiederholt
Close FreiFile
' Schliesst die Datei
' Sollte man immer machen, weil es sonst vorkommen kann, das Windows die Datei nicht
' zu Ende schreibt bzw. so lange nicht zu Ende schreibt, bis das Programm beendet wird!
' Wird das Programm aber untypisch beendet, gehen in nicht "geclosten"
' Dateien, einige der Schluss-Daten verloren!
Beep
' Macht einen Beep Ton. ^^
End Sub
' Command1 Klick Routine (Sub) ist Ende hier!
Die solltest Du aber in Foren wie ActiveVB oder vbarchiv.net stellen.
vbarchiv.net hat sogar ein extra Forum für VB & ... Einsteiger!
Und hier nochmal alles, ohne Beschreibungen und einigen Befehle hintereinander:
Code: Alles auswählen
Option Explicit
Private Sub Command1_Click()
Dim Trennzeichen As String, i As Long, FreiFile As Integer
Randomize: Trennzeichen$ = Chr$(59): FreiFile = FreeFile
Open "c:\ZufallsZahlen.txt" For Binary As #FreiFile: For i = 1 To 100000
Put #FreiFile, , CStr(Int(46900 * Rnd + 101)) & Trennzeichen$: Next: Close FreiFile: Beep
End Sub
Hallo Pack! :-)
Das soll zwar nicht "Ich" beantworten, aber ich mache es trotzdem! :-)Pack hat geschrieben:Für Deine Überzeugung wirst Du sicherlich gute Gründe haben, hoffe nur Du vertrittst sie nicht mit „Forsche selber nach!“ oder „Wer nicht sicht weiß, das Evolution unmöglich ist, ist dumm.“
Ich z.B. habe auch Gründe Evolution für möglich zu halten und lasse mich auch gerne eines Besseren belehren, aber mich von Todoroff runter machen zu lassen ist unter meiner Würde.
(Oder glaubst Du, dass jemand der so spricht und Argumentiert wie Todoroff
von Gott mit irgendwas gesegnet wurden ist?)
Man hat Dir schon sooo so soviel geschrieben dazu etc. pp.....
Aber ich benutze die Worte von Herrn Todoroff, er hat Bücher geschrieben und findet einfach die besseren Worte!
Immerhin unterstreiche ich aber Worte und mach sie groß, die ich wichtig finde! :-)
Also, meine Antwort auf deine Frage(n)(?) ^^:
Dumm-wie-ein-Stein, hoffnungslos verblödet, behauptet nur Lügen in seiner abartigen Boshaftigkeit nach hunderten von Versuchen, ihm seine Irrtümer klar zu machen. Lesen genügt ja, aber auch damit ist Dumm-wie-ein-Stein bereits überfordert. Nichts lesen, um anschließend zu behaupten, das sei keine Wissenschaft, das beweise nichts etc.
UPS, da wurde ja alles unterstrichen und gross! ;-) ^^ - ^^
:-)
Einer von vielen Texten die mir gefallen!
ps;
Aber immer wieder gerne doch, Pack! :-)
lg