User Tools

Site Tools


vba:functions:rndstring

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
Last revision Both sides next revision
vba:functions:rndstring [04.05.2017 15:55:20]
yaslaw
vba:functions:rndstring [18.12.2017 14:45:57]
yaslaw [Patterns]
Line 7: Line 7:
 </​const>​ </​const>​
 ====== [VBA] rndString() ====== ====== [VBA] rndString() ======
-//Stellt aufgrund eines Patterns ein Zufallstext zusammen//+//Stellt aufgrund eines Patterns ein Zufallstext zusammen. zB. für ein Passwortgenerator//
  
 ==Version %%version%% - %%vdate%%== ==Version %%version%% - %%vdate%%==
Line 22: Line 22:
 Public Function rndString(ByVal iPattern As String) As String</​code>​ Public Function rndString(ByVal iPattern As String) As String</​code>​
  
 +==== Patterns ====
 +Die Anwendungen findest du in den Beispielen
 +=== Zeichenpattern ===
 +  ***a** Lower-Case Alphanumeric ''​abcdefghijklmnopqrstuvwxyz 0123456789''​
 +  ***A** Mixed-Case Alphanumeric ''​ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz 0123456789''​
 +  ***U** Upper-Case Alphanumeric ''​ABCDEFGHIJKLMNOPQRSTUVWXYZ 0123456789''​
 +  ***d** Digit ''​0123456789''​
 +  ***h** Lower-Case Hex Character ''​0123456789 abcdef''​
 +  ***H** Upper-Case Hex Character ''​0123456789 ABCDEF''​
 +  ***l** Lower-Case Letter ''​abcdefghijklmnopqrstuvwxyz''​
 +  ***L** Mixed-Case Letter ''​ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz''​
 +  ***u** Upper-Case Letter ''​ABCDEFGHIJKLMNOPQRSTUVWXYZ''​
 +  ***p** Punctuation '',​.;:''​
 +  ***b** Bracket ''​()[]{}<>''​
 +  ***s** Printable 7-Bit Special Character ''​!"#​$%&'​()*+,​-./:;<​=>?​@[\]^_`{|}~''​
 +  ***S** Printable 7-Bit ASCII ''​A-Z,​ a-z, 0-9, !"#​$%&'​()*+,​-./:;<​=>?​@[\]^_`{|}~''​
 +
 +=== Steuerpattern ===
 +  ***[...]** Mehrfachauswahl. Eines der Pattern davon wird verwendet
 +  ***{#}** Anzahl Zeichen
 +  ***{#,#}** Mindestens und Maximal Anzahl Zeichen
 +  ***(...)** Alle Patterns innerhalb der Klammern kommen vor. Die Reihenfolge wird gemischt
 +  ***\** Das folgende Zeichen ist kein Pattern sondern das Zeichen selber
 +  ***^*** Das folgende Zeichen/​Pattern wird von vorgehenden Pattern abgezogen. ''​a^d''​ entspricht somit dem ''​l''​
 +  ​
 ===== Beispiele ===== ===== Beispiele =====
-Einfaches Beispiel. 5 Zeichena-zA-Z0-9 +Einfache Beispiele. 
-<code vb>?​rndString("​A{5}") +<code vb>'​5 Zeichen ​aus dem Sortiment ​a-zA-Z0-9 
-V6lfN</​code>​+?​rndString("​A{5}"​) 
 +V6lfN 
 + 
 +'Im Vergleich dazu, 5 mal den Buchstaben a 
 +?​rndString("​\a{5}"​) 
 +aaaaa 
 + 
 +'5 Zeichen, die entweder ein Punkt- oder ein Klammerzeichen oder ein Kleinbuchstabe sind 
 +?​rndString("​[pbl]{5}"​) 
 +f>;g( 
 + 
 +'​dasselbe,​ aber mindestesn 4 Zeichen, maximal 10 Zeichen 
 +?​rndString("​[pbl]{4,​ 10}"​) 
 +{}m>,>​ion] 
 +</​code>​ 
 + 
 +Zusammengesetzt Pattern 
 +<code vb>'Ein Buchstabe (Gross und Klein). gefolgt von 2 Ziffern.  
 +'Dann ein Satzzeichen oder ein Klammerzeichen und zum Schluss nochmals ein Buchstaben  
 +?​rndString("​Ld{2}[pb]L") 
 +z06[z 
 + 
 +'​dasselbe. Aber abgeseehn vom ersten Zeichen ist der Rest in () gefasst und wird somit wild gemischt 
 +?​rndString("​L(d{2}[pb]L)"​) 
 +r.R76</​code>​ 
 + 
 +Zeichen aus einem Pattern ausschliessen mit ^ 
 +<code vb>'​16 Ziffern ohne die 0 
 +?​rndString("​d^\0{16}"​) 
 +6719115112343998 
 + 
 +'10 Sonderzeichen ohne Klammern und Punkte 
 +?​rndString("​s^[pb]{10}"​) 
 +%*"​|?​+'​`=&</​code>​ 
 + 
 +Und noch ein nützliches Beispiel. 
 +<code vb>'​Ein Passwort. Beginnt mit einem Buchstaben.  
 +'Dann kommt ein Teil, bestehend aus 8 Buchstaben+Zahlen und 2 Sonderzeichen ohne Punkte und Klammern. 
 +?​rndString("​L(a{8}s^[pb]{2})"​) 
 +C$zr%i6z3md</​code>​ 
  
 ===== Code ===== ===== Code =====
 <source '​%%fpath%%/​%%fname%%'​ vb> <source '​%%fpath%%/​%%fname%%'​ vb>
vba/functions/rndstring.txt · Last modified: 04.09.2019 11:56:01 by yaslaw