User Tools

Site Tools


vba:classes:jsf

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:classes:jsf [15.01.2020 10:51:36]
yaslaw [Modifiers]
vba:classes:jsf [01.07.2020 08:27:12] (current)
yaslaw
Line 1: Line 1:
 <​const>​ <​const>​
-    version=1.2.2 +    version=1.4.2 
-    vdate=24.12.2019+    vdate=18.06.2020
     fname=jsf.cls     fname=jsf.cls
     ns=%NAMESPACE%     ns=%NAMESPACE%
Line 116: Line 116:
 Es können mehrere Modifier auf ein Element angewendet werden. Sie werden in der angegeben Reihenfolge abgearbeitet. ''​value|modifier1:​param11|modifier2|modifier2:​param31''​. Es können mehrere Modifier auf ein Element angewendet werden. Sie werden in der angegeben Reihenfolge abgearbeitet. ''​value|modifier1:​param11|modifier2|modifier2:​param31''​.
  
-^ Modifier ^ Atribute ^ Beschreibung / VBA-Befehl ^ +^ Modifier ^ Atribute ^ Beschreibung / VBA-Befehl ​^ Beispiel ​
-| format | $format | VBA.format(wert,​ $format) |  +| format | $format | VBA.format(wert,​ $format) ​| ''​%%|%%format:'​0.00''' ​|  
-| trim | | VBA.Trim(wert) | +| trim | | VBA.Trim(wert) ​| ''​%%|%%trim'' ​
-| rev | | VBA.StrReverse(wert) | +| rev | | VBA.StrReverse(wert) ​| ''​%%|%%rev'' ​
-| lcase | | VBA.LCase(wert) | +| lcase | | VBA.LCase(wert) ​| ''​%%|%%lcase'' ​
-| lower | | Alais zu lcase | +| lower | | Alais zu lcase | ''​%%|%%lower'' ​
-| ucase | | VBA.UCase(wert) | +| ucase | | VBA.UCase(wert) ​| ''​%%|%%ucase'' ​
-| upper | | Alais zu ucase | +| upper | | Alais zu ucase | ''​%%|%%upper'' ​
-| proper | | VBA.strConv(wert,​ vbProperCase) | +| proper | | VBA.strConv(wert,​ vbProperCase) ​| ''​%%|%%proper'' ​
-| strconv | $convType als Integer | VBA.strConv(wert,​ $convType) | +| strconv | $convType als Integer | VBA.strConv(wert,​ $convType) ​| ''​%%|%%strconv:​3'' ​
-| tech | | Falls cast_techName im Projekt vorhanden ist, wird dieses ausgeführt. techName(wert) | +| tech | | Falls cast_techName im Projekt vorhanden ist, wird dieses ausgeführt. techName(wert) ​| ''​%%|%%tech'' ​
-| nz | $default=Leerstring | VBA.nz(wert,​ $default) \\ nz funktioniert auch, wenn das Element nicht in der Liste existiert | +| nz | $default=Leerstring | VBA.nz(wert,​ $default) \\ nz funktioniert auch, wenn das Element nicht in der Liste existiert ​| ''​%%|%%nz \\ %%|%%nz:'​NA''' ​
-| round | $size=0 | VBA.round(wert,​ $size) | +| round | $size=0 | VBA.round(wert,​ $size) ​| ''​%%|%%round:​2'' ​
-| sql | | wandelt den Wert in ein SQL-Wert |       +| sql | | wandelt den Wert in ein SQL-Wert | ''​%%|%%sql''​ | 
-| code | | Alias zu sql | +| code | | Alias zu sql | ''​%%|%%code'' ​
-| reg_replace | $pattern, $replace | Führt ein RegEx-Replace durch | +| reg_replace | $pattern, $replace | Führt ein RegEx-Replace durch | ''​%%|%%reg_replace:'​\d(\w+)':'​$1''' ​
-| rxr | $pattern, $replace | Alias zu reg_replace | +| rxr | $pattern, $replace | Alias zu reg_replace ​| ''​%%|%%rxr:'​\d(\w+)':'​$1''' ​
-| lpad | $len, $padString = ' ' | Links mit Zeichen auffüllen | +| lpad | $len, $padString = ' ' | Links mit Zeichen auffüllen ​| ''​%%|%%lpad:​3''​ \\ ''​%%|%%lpad:​3:'​_''' ​
-| rpad | $len, $padString = ' ' | Rechts mit Zeichen auffüllen | +| rpad | $len, $padString = ' ' | Rechts mit Zeichen auffüllen ​| ''​%%|%%rpad:​3''​ \\ ''​%%|%%rpad:​3:'​_''' ​
-| item | $key/$index | Wählt aus einer Unterliste den entsprechenden Wert |+| item | $key/$index, $defaultKey=null ​| Wählt aus einer Unterliste den entsprechenden Wert | ''​%%|%%item:​3''​  
 +| tbl | $range = Leerstring | Erstellt eine ADODB-Excel-tabelle [tblname$range] | ''​%%|%%Sheet1''​ \\ ''​%%|%%Sheet1:'​A1:​A3'''​ | 
 +| fld | $table | Erstellt ein SQL-String für ein Feld oder ein Tabelle. | ''​%%|%%fld''​ \\ ''​%%|%%fld:​table''​ | 
 +\\ ''​%%|%%item:​ort''​ \\ ''​%%|%%item:​ort:​unbekannt'' ​|
  
 <code vb>? jsf("​{name:​Yaslaw,​ ort:null, sex:​null}"​) _ <code vb>? jsf("​{name:​Yaslaw,​ ort:null, sex:​null}"​) _
Line 145: Line 148:
 männlich männlich
  
-'b ist wieder ​ien Dictionary+'b ist wieder ​ein Dictionary
 d Jsf("​{a:​A,​b:​{name:​Hans,​ort:​Winterthur}}"​).parse("​ #​{b|item:​name} aus #​{b|item:​1}"​) d Jsf("​{a:​A,​b:​{name:​Hans,​ort:​Winterthur}}"​).parse("​ #​{b|item:​name} aus #​{b|item:​1}"​)
 <​String>​ 'Hans aus Winterthur'​ <​String>​ 'Hans aus Winterthur'​
 +
 +Set j = Jsf("​{flag:​ort,​data:​{name:​Hans,​ort:​Winterthur,​flag:​test,​country:​Schweiz}}"​)
 +'Das Attribut flag ist nit in ' gefasst. Also wird versucht auch dieses zu paren. flag hat somit den Wert ort
 +d j.parse("#​{data|item:​flag}"​)
 +<​String>​ '​Winterthur'​
 +
 +'​Setzen wir flag hingegen in '',​ dann wird der Wert flag genommen um in der Unterliste zu suchen
 +d j.parse("#​{data|item:'​flag'​}"​)
 +<​String>​ '​test'​
 +
 +'Land ist in der Liste nicht vorhanden
 +d j.parse("#​{data|item:'​land'​}"​)
 +<​String>​ '<​Err:​ item land not found in List data>'​
 +
 +d j.parse("#​{data|item:'​land':'​country'​}"​)
 +<​String>​ '​Schweiz'​
 +
 +'fld und tpl
 +Set j = jsf("​{t1:​table_1,​t2:​[table_2],​f1:'​[ort]',​ f2:​PLZ}"​)
 +d j.map
 +<​Dictionary> ​ (
 +    [t1] => <​String>​ '​table_1'​
 +    [t2] => <​String>​ '​table_2'​
 +    [f1] => <​String>​ '​[ort]'​
 +    [f2] => <​String>​ '​PLZ'​
 +)
 +?​j.parse("​select #​{f1|fld:​a},​ #​{f2|fld|upper} from #​{t1|tbl:'​A1:​F4'​} a, #{t2|tbl} b")
 +select [a].[ort], [PLZ] from [table_1$A1:​F4] a, [table_2$] b
 </​code>​ </​code>​
 ===== Anwendungsbeipiele ===== ===== Anwendungsbeipiele =====
vba/classes/jsf.1579081896.txt.gz · Last modified: 15.01.2020 10:51:36 by yaslaw