User Tools

Site Tools


vba:functions:print_r:index

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:print_r:index [11.07.2018 12:18:43]
yaslaw
vba:functions:print_r:index [23.05.2022 09:23:05] (current)
yaslaw
Line 1: Line 1:
 <​const>​ <​const>​
-    version=2.12.0 +    version=2.17.1 
-    vdate=11.07.2018+    vdate=19.02.2020
     fname=lib_printr.bas     fname=lib_printr.bas
     ns=%NAMESPACE%     ns=%NAMESPACE%
Line 16: Line 16:
 <WRAP center round download>​ <WRAP center round download>​
 {{..%%fname%%|Download %%fname%% (V-%%version%%)}} {{..%%fname%%|Download %%fname%% (V-%%version%%)}}
 +\\ {{..lib_printR_excel.bas|Download lib_printR_excel.bas (V-%%version%%)}}
 </​WRAP>​ </​WRAP>​
  
Line 43: Line 44:
   * ''​d()'' ​ Ein Alias zu print_r() mit denselben Paramtern. Ist praktisch im Debugfenster,​ da er so kurz ist   * ''​d()'' ​ Ein Alias zu print_r() mit denselben Paramtern. Ist praktisch im Debugfenster,​ da er so kurz ist
   * ''​c()'' ​ Gibt das Resultat in einer Form zurück, die gleich wieder für weitere Zwecke verwendet werden kann   * ''​c()'' ​ Gibt das Resultat in einer Form zurück, die gleich wieder für weitere Zwecke verwendet werden kann
 +  * ''​print_l'' ​ Wendet bei meinen bekannten ListenObjekten den Print_r nur auf die Liste an, nicht auf das ganze Objekt
   * ''​print_rm()'' ​ Wendet print_r() auf mehrere Elemente an   * ''​print_rm()'' ​ Wendet print_r() auf mehrere Elemente an
   * ''​dRx()''​ Spezialfall zum vereinfachten Testen von RegEx Patterns   * ''​dRx()''​ Spezialfall zum vereinfachten Testen von RegEx Patterns
Line 71: Line 73:
 </​code>​ </​code>​
  
-==== Vergleich zwischen debug.print,​ d()und c() ====+==== Vergleich zwischen debug.print,​ d()c() und print_l ​====
 <code vb>'​Text mit leerzeichen am Schluss. Das ist bei debug.print nichterkennbar <code vb>'​Text mit leerzeichen am Schluss. Das ist bei debug.print nichterkennbar
 ? "Hallo Welt   "​ ? "Hallo Welt   "​
Line 133: Line 135:
 ) )
 </​code>​ </​code>​
 +
 +=== print_l() ===
 +print_l wird vorerst nur für die folgenden Klassen unterstätzt. Ansonsten funktioniert er wie d().
 +Und da uch nur, wenn diese Objekt direkt übergeben wird. In einer Verschachtelung nicht mehr
 +[[vba:​classes:​iterator:​index|]] & [[vba:​classes:​liststream|]]
 +<code vb>'​Objekt initalisieren
 +Set it = Iterator.instance(array(1,​2))
 +
 +'​Herkömlich mit d()
 +d it
 +<Class Module::​Iterator> ​ (
 +    [paramDaoValue] => <​Boolean>​ False
 +    [paramErrorAtEmptyList] => <​Boolean>​ False
 +    [paramIndexInsteadKey] => <​Boolean>​ False
 +    [paramListNextNoParamsAsToNext] => <​Boolean>​ True
 +    [paramNothingAsEmptyList] => <​Boolean>​ False
 +    [isInitialized] => <​Boolean>​ True
 +    [isEmpty] => <​Boolean>​ False
 +    [count] => <​Long>​ 2
 +    [BOF] => <​Boolean>​ True
 +    [EOF] => <​Boolean>​ False
 +    [absolutePosition] => <​Long>​ -1
 +    [index] => <​Long>​ -1
 +    [key] => <​Long>​ -1
 +    [source] => <​Variant()> ​ (
 +        [#0] => <​Integer>​ 1
 +        [#1] => <​Integer>​ 2
 +    )
 +
 +)
 +
 +'und so kommt es mit print_l
 +print_l it
 +<​Variant()> ​ (
 +    [#0] => <​Integer>​ 1
 +    [#1] => <​Integer>​ 2
 +)</​code>​
  
 ==== Diverse Verschachtelungen ==== ==== Diverse Verschachtelungen ====
Line 387: Line 426:
  
 ? dRx("​^(\d{3}).*\.(\w{3,​})$",​ "123 Mein test.xlsx",​ "​OUT_$1.$2",​ prNoParams, prReturn) ? dRx("​^(\d{3}).*\.(\w{3,​})$",​ "123 Mein test.xlsx",​ "​OUT_$1.$2",​ prNoParams, prReturn)
-OUT_123.xlsx<​code>​+OUT_123.xlsx<​/code> 
 + 
 +==== Beispiel zu analyze() ==== 
 +Die Funktion gibt mit den Standardeinstellungen den Text zurück. Das ist praktisch für den Einsatz in einer Abfrage/​SQL. 
 + 
 +Abfrageeditor 
 +<​code>​DebugMyField:​ analyze([MY_FIELD])</​code>​ 
 +Im SQL 
 +<code sql>​analyze([MY_FIELD]) AS DebugMyField</​code>​ 
 +<code sql>​SELECT 
 + *, 
 + analyze([MY_FIELD]) AS DebugMyField 
 +FROM test_analyze;​ 
 + 
 +DebugMyField ​     | ID | MY_FIELD | DESCRIPTION ​                                   
 +------------------|----|----------|----------------------------------------------- 
 +<​String>​ '​a' ​     | 1  | a        | Einfacher String ​                              
 +<​String>​ 'a ' ​    | 2  | a        | String mit folgenden Leerzeichen ​              
 +<​Null> ​           | 3  |          |                                                
 +<​String>​ ' ​   ' ​  | 4  |          | Ein String der nur aus Leerzeichen besteht ​    
 +<​String>​ '​\n\r' ​  | 5  |          | Ein Zeilenumbruch (Wagenrücklauf & neue Zeile) 
 +                       ​| ​         | 
 +<​String>​ '​\u0001'​ | 6  |          | Das Zeichen mit dem ASCII-Code 1           </code>
  
  
Line 484: Line 545:
         Optional ByVal iReturn As enuPrintROutputMethode = prConsole _         Optional ByVal iReturn As enuPrintROutputMethode = prConsole _
 )</​code>​ )</​code>​
 +
 +
 +==== analyze() ====
 +<code vb>'/​**
 +' * Eine ganz einfache Form, die den Wert zurückgibt. Ist Praktisch um in einem SQL angewendet zu werden
 +' * @param ​ Variant ​    Zu prüfende Variable
 +' * @return Variant ​    die Analyse als String
 +' */
 +Public Function analyze(ByRef iExpression As Variant) As String
 +    analyze = print_r(iExpression,​ prParamsDefault,​ prReturn)
 +End Function</​code>​
  
 ==== Ausgewertete Variablen/​Obejekte ==== ==== Ausgewertete Variablen/​Obejekte ====
vba/functions/print_r/index.1531304323.txt.gz · Last modified: 11.07.2018 12:18:43 by yaslaw