This shows you the differences between two versions of the page.
Both sides previous revision Previous revision Next revision | Previous revision | ||
vba:classes:jsf [10.01.2020 10:12:06] yaslaw [Methoden] |
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 | $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, $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}") _ | ||
+ | .parse("#{sex|nz:m='m' ? 'Herr' : 'Frau'} #{name|upper} aus #{ort|nz:unbekannt|proper}") | ||
+ | Herr YASLAW aus Unbekannt | ||
+ | |||
+ | 'sex ist in der Tabelle gar nicht enthalten, wird jedoch mit nz gesetzt | ||
+ | ? jsf("{name:Yaslaw, ort:null}").parse("#{sex|nz:'männlich'}") | ||
+ | männlich | ||
+ | |||
+ | 'b ist wieder ein Dictionary | ||
+ | d Jsf("{a:A,b:{name:Hans,ort:Winterthur}}").parse(" #{b|item:name} aus #{b|item:1}") | ||
+ | <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> | ||
===== Anwendungsbeipiele ===== | ===== Anwendungsbeipiele ===== | ||
Meine Tabelle mit den Testdaten | Meine Tabelle mit den Testdaten | ||
Line 264: | Line 309: | ||
3 | Sandra | Test | Test, Sandra ist Toll! </code> | 3 | Sandra | Test | Test, Sandra ist Toll! </code> | ||
+ | === Beispiele mit Modifiers === | ||
==== Beipiele mit den Zusatzfunktionen ==== | ==== Beipiele mit den Zusatzfunktionen ==== |