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
vba:functions:rndstring [04.05.2017 15:55:20]
yaslaw
vba:functions:rndstring [04.09.2019 11:56:01] (current)
yaslaw
Line 1: Line 1:
 <​const>​ <​const>​
-    version=1.0.0 +    version=1.0.1 
-    vdate=04.05.2017+    vdate=04.09.2019
     fname=udf_rndstring.bas     fname=udf_rndstring.bas
     ns=%NAMESPACE% ​   ​     ns=%NAMESPACE% ​   ​
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.1493906120.txt.gz · Last modified: 04.05.2017 15:55:20 by yaslaw