Visual Basic Forum

Visual Basic Forum
für VB6 und VB.NET Programmierer
 
RegistrierenRegistrieren  LoginLogin
Neues Thema eröffnen   Neue Antwort erstellen    Visual Basic Forum Foren-Übersicht -> [VB6] Fragen - Antworten
Autor
Nachricht
antlock
Newbie
Newbie

Anmeldedatum: 14.06.2011
Beiträge: 2

Zufallswort generieren
Verfasst am: 14.06.2011, 21:01

Hallo Zusammen,

ich habe anhand verschiedener Quellen ein Makro erstellt, das Zufallswörter generiert. Das funktioniert auch wunderbar, allerdings wüsste ich gerne, was in dieser Zeile passiert:


w=Chr(Int((90 - 65 + 1) * Rnd + 65))


Ich weiss, dass 90 und 65 die ASCII-Codes für Z und A stehen. Was aber bedeutet "+1" und "* Rnd + 65" ?

Danke im Voraus

antlock
 
christopher.g
Überflieger
Überflieger

Anmeldedatum: 03.05.2008
Beiträge: 565


Verfasst am: 14.06.2011, 22:25

hi so
wo fang ich da an

Rnd erzeugt eine zahl zwischen 0 und 1
also z.b. 0,325165645

weiters wie du schon festgestellt hast 90 = z und 65 = a

also int((90 - 65) * rnd) würde eine zahl zwischen 0 und 25 * Rnd ergeben
da wäre später als buchstabe von a - y ... deshalb +1
somit wird es 1 - 26 * Rnd

und eben wieder + 65
dass die zahl wieder zwischen 65 und 90 ist



aber wenn dir die funktion zu umständlich ist
dann könntest du eine etwas längere einfacher verständliche funktion verwenden

Code:

Public Function RandomWord(ByVal wLen As Integer) As String
Dim abc As String
Dim i As Integer
Dim sWord As String

abc = "ABCDEFGHIJKLMNOPQRSTUVWXYZ"

Randomize

For i = 1 To wLen
   sWord = sWord & Mid$(abc, Int(Rnd * 26) + 1, 1)
Next

RandomWord = sWord

End Function




mfg
deepack
 
antlock
Newbie
Newbie

Anmeldedatum: 14.06.2011
Beiträge: 2


Verfasst am: 14.06.2011, 22:43

Hi deepack,

vielen Dank, sehr ausführlich und verständlich!

Gruß
antlock
 
christopher.g
Überflieger
Überflieger

Anmeldedatum: 03.05.2008
Beiträge: 565


Verfasst am: 15.06.2011, 13:52


man hilft ja gerne
 
Neues Thema eröffnen   Neue Antwort erstellen    Visual Basic Forum Foren-Übersicht -> [VB6] Fragen - Antworten

Tags: generieren, rnd

 
 Verwandte Themen   Aufrufe   Letzter Beitrag 
Keine neuen Beiträge VB2008 Active X Komponente kann nicht erstellt werden 676 13.01.2011, 07:24
Keine neuen Beiträge Eigene DLLs und OCXs verwenden, allerdings schon im system32 725 24.08.2010, 09:56
Keine neuen Beiträge Wie erstellt man eine ProgressBar 3432 12.05.2008, 10:21
Keine neuen Beiträge ColumnHeaders werden nicht erstellt 744 08.03.2008, 17:48
Keine neuen Beiträge Wie erstellt man ein PW checker? 589 09.02.2008, 12:57
 


[ Time: 0.1168s ][ Queries: 89 (0.0592s) ][ GZIP on - Debug on ]