Az értékeket kiolvashatjuk egy szövegből a blokk segítségével. A megfelelő keresésmintát a tulajdonságok határozzák meg.
Tartalom
Bemenetek↑
| Rövidítés | Rövid leírás | Leírás |
|---|---|---|
| T | Text Input | Parancs szövege. |
Kimenetek↑
| Rövidítés | Rövid leírás | Leírás | Értékhatár |
|---|---|---|---|
| Lv | Last extracted value | Utoljára kinyert érték | ∞ |
Tulajdonságok↑
| Rövid leírás | Leírás | Alapértelmezett érték |
|---|---|---|
| Parancs felismerése | Az értéket felismerésére szolgáló parancsok: v = érték, 1 = a kimeneti érték első bájtjaként értelmezett bájt (2, 3, ...), h = hexadecimális számként értelmezett érték Karakterek a szövegben való navigáláshoz: . = bármilyen karakter, w = bármilyen szó, # = bármilyen szám, d = 0-9, m = A-Z / a-z / 0-9 karakterek, a = A-Z / a-z karakterek s12 = 12 karakter átugrása iText i = Ugrás a 'Text'-re Speciális karakterek: x = hexadecimális szám (például 0x09), \ = Slash, t = Tab (0x09), b = Space (0x02) vagy Tab (0x09), r = Return (0x0d), n = Új sor (0x0a) | - |
| Érték előjellel | Ha be van jelölve, a parancsfelismerés az 1, 2, 3 stb. algebrai előjellel együtt használják a parancsfelismerésben (Signed Integer). | - |
Programozási példa↑
A parancsfelimerést szövegben, forráskódban való navigáláshoz vagy érték kinyerésére használhatjuk.
Érték kinyeréséhez használt karakterek:
v = számos érték
1 = a kimenet 1. bájtjaként értelmezett bájt értéke (2, 3, ...)
- Ha fogadott adat hexadecimáliskét van értelmezve (pl.: "x0A"), a decimális egyenértéket (ebben a példában 10) kapjuk. Ez a módszer működik több hexadecimális bájt esetén is (pl.:"x0Ax0B"). Ezek a bájtok együttesen a 0x0A0B 32 bites egész számot alkotják, és 21, akkor 2571 decimális értéket kapjuk. Ugyan ez az érték, ha 1 -et használunk, a 10-es decimális értéket adja vissza.
- Ha a fogadott adat szövegként van értelmezve, minden bájt egy ASCII karaktart jelent. Például a „Loxone” a szöveg első nagy "L" betűje a 76-os ASCII-kódú karaktert jelenti.
- Az adatok előjeles egész (signed integer) számként használhatók a helyes bájtsorrend figyelembevételével és szükség esetén előjelkiterjesztéssel.
h = hexadecimális számként értelmezett érték
- Ha a fogadott adat egy hexa karakterlánc, amelyet szövegként ábrázolnak (pl. „0A”), akkor az átkonvertálható a decimális megfelelőjére (ebben a példában 10).
- Ez a módszer több hexa adat esetén is működik (pl. „0A0B”). Hexából decimálisra konvertálva a „0A0B” 2571-nek felel meg.
Szövegben való navigáláshoz használt karakterek:
. = bármilyen karakter
w = bármilyen szó
# = bármilyen szám
d = digitek 0-9
m = karakter A-Z/a-z/0-9
a = karakter A-Z/a-z
s12 = kihagy 12 karaktert
- Például.: s12 kihagy 12 karaktert, ha a fogadott üzenet szöveges üzenet.
- Ha a fogadott adat egy hexa karakterlánc, amelyet escape-szekvenciákkal ábrázolunk (pl. xFExFFx00x12xA0xB0xC1xD2xE3xF4x11x16x17), akkor a s12 12 hexa bájtot fog kihagyni. Ebben az esetben x16 mögé fog ugrani, és így összesen 48 szövegkaraktert fog kihagyni (mivel minden hexa bájtot négy szövegkarakter képvisel).
iTexti = ugrás a szöveg mögé"Text"
Speciális karakterek:
x = Hexadecimális szám (pl.: 0x09)
\ = Slash
t = Tab (0x09)
b = Space (0x02) vagy Tab (0x09)
⧵r = Return (0x0d)
⧵n = Newline (0x0a)
A következő példában, a gáz aktuális árát szeretnénk kinyerni:

Miután a "Natural Gas" egy állandó, ezért ehhez a pozícióhoz tudunk ugrani a szövegben. Az aktuális ár kinyeréséhez, ki kell hagynunk az időt. Itt több megoldás is van:
1. Megoldás: da használata
A d segítségével egy digitet és a a-val egy karaktert tudunk kihagyni:

2. Megoldás: #w használata
A # segítségével egy számot és a w-vel egy szót tudunk kihagyni:

3. Megoldás: s8 használata
Miután a példában az idő minden esetben ugyan annyi számból és digitből fog állni, ezért ki lehet őket hagyni a s8 segítségével:
