Skriptovací jazyk - funkce: Porovnání verzí
m |
m |
||
Řádek 1: | Řádek 1: | ||
− | + | Function IniReadString(Sekce: String; Promenna: Byte; TestUzivatel: Boolean; Sklad: integer; Default: String): String | |
- vrací textovou hodnotu proměnné z CISELNIK.BTR (číselník 161) | - vrací textovou hodnotu proměnné z CISELNIK.BTR (číselník 161) | ||
Function IniWriteString(Sekce : String; Promenna : Byte; TestUzivatel: Boolean; Sklad: integer; Hodnota: String): Boolean | Function IniWriteString(Sekce : String; Promenna : Byte; TestUzivatel: Boolean; Sklad: integer; Hodnota: String): Boolean | ||
Řádek 13: | Řádek 13: | ||
Do skriptovacího jazyka doplněny funkce zajišťující kompatibilitu s množinou funkcí dostupnou v rámci vyhodnocování výrazů v jiných částech programu (např. generátor sestav,filtrování pomocí výběrových podmínek). Syntaxe je stejná nebo obdobná. | Do skriptovacího jazyka doplněny funkce zajišťující kompatibilitu s množinou funkcí dostupnou v rámci vyhodnocování výrazů v jiných částech programu (např. generátor sestav,filtrování pomocí výběrových podmínek). Syntaxe je stejná nebo obdobná. | ||
Dostupné funkce: | Dostupné funkce: | ||
− | Function DelAll(s: String) : String | + | {| border=1 style="background:#ddddff; color:black" class = "wikitable" |
− | Function DelLeft(s: String) : String | + | |-valign=top |
− | Function DelRight(s: String) : String | + | | Funkce || Popis |
− | Function EnumStr(s: String; Index: integer; Delimiter:Char = '/‘) : String | + | |-valign=top |
− | Function GetVar(VarName: String) : String | + | |'''''Function DelAll(s: String) : String '''''|| |
− | Function Left(s: String; Count: Integer) : String | + | |-valign=top |
− | Function Len(s: String) : Integer | + | |'''''Function DelLeft(s: String) : String'''''|| |
− | Function Mid(s: String; Index, Count: Integer) : String | + | |-valign=top |
− | Function PosUp(SubStr, Source: String) : Integer | + | |'''''Function DelRight(s: String) : String '''''|| |
− | Procedure SetVar(Name: String; Value: Variant) | + | |-valign=top |
− | Function Str(Num: Extended; Size, Decimal: integer) : String | + | |'''''Function EnumStr(s: String; Index: integer; Delimiter:Char = '/‘) : String '''''|| |
− | Function Right(s: String; Count: Integer) : String | + | |-valign=top |
− | Function Using(s: String, Size: Integer) : String | + | |'''''Function GetVar(VarName: String) : String '''''|| |
− | Function Val(s: String) : Extended | + | |-valign=top |
− | Function WinFmt(s: String) : String | + | |'''''Function Left(s: String; Count: Integer) : String '''''|| |
− | function DateValue(Datum: String):Integer | + | |-valign=top |
− | function DV(Datum: String):Integer | + | |'''''Function Len(s: String) : Integer '''''|| |
− | function StrDate(Datum: Integer):String | + | |-valign=top |
− | function Abs(e: Extended): Extended | + | |'''''Function Mid(s: String; Index, Count: Integer) : String '''''|| |
− | Function Trim(s: String): String | + | |-valign=top |
+ | |'''''Function PosUp(SubStr, Source: String) : Integer '''''|| | ||
+ | |-valign=top | ||
+ | |'''''Procedure SetVar(Name: String; Value: Variant)'''''|| | ||
+ | |-valign=top | ||
+ | |'''''Function Str(Num: Extended; Size, Decimal: integer) : String'''''|| | ||
+ | |-valign=top | ||
+ | |'''''Function Right(s: String; Count: Integer) : String '''''|| | ||
+ | |-valign=top | ||
+ | |'''''Function Using(s: String, Size: Integer) : String '''''|| | ||
+ | |-valign=top | ||
+ | |'''''Function Val(s: String) : Extended '''''|| | ||
+ | |-valign=top | ||
+ | |'''''Function WinFmt(s: String) : String '''''|| | ||
+ | |-valign=top | ||
+ | |'''''function DateValue(Datum: String):Integer '''''|| | ||
+ | |-valign=top | ||
+ | |'''''function DV(Datum: String):Integer '''''|| | ||
+ | |-valign=top | ||
+ | |'''''function StrDate(Datum: Integer):String '''''|| | ||
+ | |-valign=top | ||
+ | |'''''function Abs(e: Extended): Extended '''''|| | ||
+ | |-valign=top | ||
+ | |'''''Function Trim(s: String): String '''''|| | ||
+ | |} | ||
Dostupné jsou také funkce IfS a IfL se syntaxí obdobnou funkci IF (ta není ve skriptovacím jakyku dostupná). | Dostupné jsou také funkce IfS a IfL se syntaxí obdobnou funkci IF (ta není ve skriptovacím jakyku dostupná). |
Verze z 23. 11. 2012, 11:07
Function IniReadString(Sekce: String; Promenna: Byte; TestUzivatel: Boolean; Sklad: integer; Default: String): String
- vrací textovou hodnotu proměnné z CISELNIK.BTR (číselník 161) Function IniWriteString(Sekce : String; Promenna : Byte; TestUzivatel: Boolean; Sklad: integer; Hodnota: String): Boolean - zapisuje hodnotu proměnné (TestUzivatel=true: platí jen pro akt.uživatele; Sklad=0:platí pro všechny sklady) Function IniReadInteger(Sekce : String; Promenna : Byte; TestUzivatel: Boolean; Sklad: integer; Default: integer): integer - vrací číselnou hodnotu proměnné Function IniWriteInteger(Sekce : String; Promenna : Byte; TestUzivatel: Boolean; Sklad: integer; Hodnota: integer): Boolean - zapisuje číselnou hodnotu proměnné Procedure LogWrite(Msg : String) - zapisuje informaci Msg do textového logu aplikace
Do skriptovacího jazyka doplněny funkce zajišťující kompatibilitu s množinou funkcí dostupnou v rámci vyhodnocování výrazů v jiných částech programu (např. generátor sestav,filtrování pomocí výběrových podmínek). Syntaxe je stejná nebo obdobná.
Dostupné funkce:
Funkce | Popis |
Function DelAll(s: String) : String | |
Function DelLeft(s: String) : String | |
Function DelRight(s: String) : String | |
Function EnumStr(s: String; Index: integer; Delimiter:Char = '/‘) : String | |
Function GetVar(VarName: String) : String | |
Function Left(s: String; Count: Integer) : String | |
Function Len(s: String) : Integer | |
Function Mid(s: String; Index, Count: Integer) : String | |
Function PosUp(SubStr, Source: String) : Integer | |
Procedure SetVar(Name: String; Value: Variant) | |
Function Str(Num: Extended; Size, Decimal: integer) : String | |
Function Right(s: String; Count: Integer) : String | |
Function Using(s: String, Size: Integer) : String | |
Function Val(s: String) : Extended | |
Function WinFmt(s: String) : String | |
function DateValue(Datum: String):Integer | |
function DV(Datum: String):Integer | |
function StrDate(Datum: Integer):String | |
function Abs(e: Extended): Extended | |
Function Trim(s: String): String |
Dostupné jsou také funkce IfS a IfL se syntaxí obdobnou funkci IF (ta není ve skriptovacím jakyku dostupná).
Následující funkce mají svoji obdobu ve funkcích pro zpracování výrazů. Jsou ale mírně odlišné.
Funkce | Popis | |
Function Conv(s: String; CP: Byte) : String | Převede text v kódování Windows do jiné kódové stránky.
Hodnoty pro CP: | |
0 | ASCII | |
1 | Kamenický (CP 895) | |
2 | ASCII2 (ASCII s rámečky) | |
3 | LATIN2 (CP 852) | |
4 | Windows 1250 | |
Function Date: TDateTime | Vrací hodnotu aktuálního data (jako číslo). | |
Function Time: TDateTime | Vrací hodnotu aktuálního času (jako číslo). | |
Function Now: TDateTime | Vrací hodnotu aktuálního data a času (jako číslo). | |
Function IfS(Condition: Boolean; IfTrue, IfFalse: String) : String | Funkce vyhodnotí podmínku, pokud bude hodnota True, tak vrátí text z parametru IfTrue, při False vrátí text z IfFalse. Parametry IfTrue, IfFalse i výsledek funkce jsou typu string | |
Function IfL(Condition: Boolean; IfTrue, IfFalse: Integer) : Integer | Funkce vyhodnotí podmínku, pokud bude hodnota True, tak vrátí číslo z parametru IfTrue, při False vrátí číslo z IfFalse. Parametry IfTrue, IfFalse i výsledek funkce jsou typu celé číslo. |
Příklad skriptu v syntaxi Pascal:
var i: integer; s: String; begin s:=IniReadString('ScriptTest', 1, True, _AktualniSklad_, '5'); ShowMessage(Settings.Values['INI.FirmaJmeno']+chr(13)+Settings.Values['USER.JmenoUziv']+chr(13)+_KonfigDir_); LogWrite('Direktivy:'+_Direktivy_); if s <> then i := StrToInt(s)+1 else i := -10; if not IniWriteInteger('ScriptTest', 1, True, _AktualniSklad_, i) then ShowMessage('V IniWriteInteger se vyskytla chyba'); end.
Skripty nelze v programu spouštět přímo (pouze v integrovaném editoru skriptů, kde je možné i jednoduché krokování skriptů), ale je třeba je nejdříve tzv. podepsat. To zajišťuje nová funkce s kódem menu 90,21, která k vybranému vstupnímu souboru se souborem skriptu vytvoří soubor s podepsaným skriptem (stejné jméno jako zdrojový soubor, ale s příponou FSC). K tomu je třeba určit jméno uživatele a heslo, pod kterým se bude program do aplikace přihlašovat (pokud skript připravujete pro jinou instalaci aplikace, tak heslo nemusí souhlasit s aktuálním heslem).
Je možné určit také jméno databáze (to je ale nepovinné, lze ho určit až při spouštění skriptu parametrem DB:jmenodatabaze). Podepsané soubory lze spouštět pomocí nového parametru FSC:jménopodepsanéhoskriptu, např.
SKLAD6.EXE S:SYSTEM FSC:Test.FSC
Výsledný podepsaný soubor je uložený v interním formátu a nelze ho již znovu podepisovat (je třeba podepisovat vždy zdrojový soubor). Program při podepisování nekontroluje syntaxi skriptu. Ta je kontrolována vždy až při spouštění skriptu. Chyby skriptu jsou zapisovány do textového LOG souboru (ne všechny jsou hlášeny na obrazovku). Obě funkce jsou ve výchozím stavu umístěny do menu Nástroje pro správu, které nahradilo stávající menu Rekonstrukce dat.