This shows you the differences between two versions of the page.
Both sides previous revision Previous revision Next revision | Previous revision | ||
vba:functions:print_r:index [11.07.2018 12:21:06] 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> | ||