Skriptovací jazyk - funkce: Porovnání verzí

Z K.A.P.
Skočit na navigaciSkočit na vyhledávání
m
 
(Není zobrazeno 17 mezilehlých verzí od 2 dalších uživatelů.)
Řádek 3: Řádek 3:
 
| '''Funkce ''' || colspan=2|'''Popis '''
 
| '''Funkce ''' || colspan=2|'''Popis '''
 
|-valign=top
 
|-valign=top
|'''''Function DelAll(s: String) : String '''''||rowspan=20 align=center valign=center colspan=2|Do skriptovacího jazyka doplněny [[Funkce používané při vyhodnocování výrazů#Řetězcové funkce používané při zadávání výrazů |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á.
+
|'''''Function DelAll(s: String) : String '''''||rowspan=20 align=center valign=center colspan=2|Ve [[Skriptovací programovací jazyk|skriptovacím programovacím jazyku]] jsou k dispozici [[Funkce používané při vyhodnocování výrazů#Řetězcové funkce používané při zadávání výrazů |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á.
 
|-valign=top
 
|-valign=top
 
|'''''Function DelLeft(s: String) : String'''''
 
|'''''Function DelLeft(s: String) : String'''''
Řádek 75: Řádek 75:
 
|-valign=top
 
|-valign=top
 
|''''' Procedure LogWrite(Msg : String)'''''||colspan=2|zapisuje informaci Msg do textového logu aplikace
 
|''''' Procedure LogWrite(Msg : String)'''''||colspan=2|zapisuje informaci Msg do textového logu aplikace
 +
|-valign=top
 +
|''''' Function FileExists(FileName: String): Boolean'''''||colspan=2|Testuje, jestli soubor specifikovaný parametrem FileName existuje
 +
|-valign=top
 +
|''''' Function FileAge(FileName: string): TDateTime'''''||colspan=2|Vrací datum a čas poslední změny souboru nebo zápornou hodnotu, pokud soubor neexistuje
 +
|-valign=top
 +
|''''' Function DeleteFile(FileName: string): Boolean'''''||colspan=2|Smaže soubor FileName z disku
 +
|-valign=top
 +
|''''' Function RemoveDir(Dir: string): Boolean'''''||colspan=2|Smaže neprázdnou složku Dir z disku
 +
|-valign=top
 +
|''''' Function DirectoryExists(Dir: String):String'''''||colspan=2|Testuje, jestli složka specifikovaná parametrem Dir existuje
 +
|-valign=top
 +
|''''' Function CreateDir(Dir: string): Boolean'''''||colspan=2|Vytvoří složku specifikovanou parametrem Dir
 +
|-valign=top
 +
|''''' Function RenameFile(OldName: string; NewName: string): Boolean'''''||colspan=2|Přejmenuje soubor OldName na soubor NewName
 
|-valign=top
 
|-valign=top
 
|''''' Function ExtractFileName(FileName: String):String'''''||colspan=2|Z textového parametru FileName obsahujícího celé jméno souboru vrátí jen jméno souboru včetně přípony
 
|''''' Function ExtractFileName(FileName: String):String'''''||colspan=2|Z textového parametru FileName obsahujícího celé jméno souboru vrátí jen jméno souboru včetně přípony
Řádek 82: Řádek 96:
 
|''''' Function ChangeFileExt(FileName, NewExt: String):String'''''||colspan=2|Funkce vezme textového parametru FileName obsahujícího celé jméno souboru a vrátí jméno souboru , ve kterém je nahrazena přípona souboru dle přípony určené parametrem NewExt. Parametr NewExt může obsahovat počáteční tečku. Funkce nepřejmenovává samotný soubor, jen vrací text obsahující jméno souboru se změněnou příponou.
 
|''''' Function ChangeFileExt(FileName, NewExt: String):String'''''||colspan=2|Funkce vezme textového parametru FileName obsahujícího celé jméno souboru a vrátí jméno souboru , ve kterém je nahrazena přípona souboru dle přípony určené parametrem NewExt. Parametr NewExt může obsahovat počáteční tečku. Funkce nepřejmenovává samotný soubor, jen vrací text obsahující jméno souboru se změněnou příponou.
 
|-valign=top
 
|-valign=top
|''''' Function RunExternalCommand(CmdLine: String; WaitToEnd: Boolean = False; CurrentDirectory: String = \'\'; AppName: String = ''''''): Cardinal'''''||colspan=2|Funkce spustí externí aplikaci (s případnými parametry) určenou parametrem CmdLine pomocí CreateProcess. Pokud je parametr WaitToEnd nastaven na true, tak program čeká na dokončení externí aplikace.
+
|''''' Function SetCurrentDir(Dir: string): Boolean'''''||colspan=2|Nastaví aktuální pracovní adresář podle parametru Dir
 +
|-valign=top
 +
|''''' Function GetCurrentDir: string'''''||colspan=2|Vrací aktuální pracovní adresář
 +
|-valign=top
 +
|''''' Function GetEnvironmentVariable(Name: string): string'''''||colspan=2|Vrací hodnotu proměnné Name z prostředí
 +
|-valign=top
 +
|''''' Function ParamStr(Index: Integer): string'''''||colspan=2|Vrací parametr ze seznamu parametrů určených při spouštění programu
 +
|-valign=top
 +
|''''' Function ParamCount: Integer'''''||colspan=2|Vrací počet parametrů v seznamu parametrů určených při spouštění programu
 +
|-valign=top
 +
|''''' Function RunExternalCommand(CmdLine: String; WaitToEnd: Boolean = False; CurrentDirectory: String = ' '; AppName: String = ' ' ): Cardinal'''''||colspan=2|Funkce spustí externí aplikaci (s případnými parametry) určenou parametrem CmdLine pomocí CreateProcess. Pokud je parametr WaitToEnd nastaven na true, tak program čeká na dokončení externí aplikace.
 +
|-valign=top
 +
|''''' Function [[Skriptovací jazyk - tvorba sestav|GSRunReport]](SkupinaSestav : Integer; SestavaCislo : Integer; Parametry: String): String;'''''||colspan=2|Funkce spustí určenou sestavu z generátoru sestav. Parametry sestavy jsou složeny v jednom textovém parametru.
 +
|-valign=top
 +
|''''' Function [[Skriptovací jazyk - tvorba sestav|GSRunReportV]](SkupinaSestav : Integer; SestavaCislo : Integer; JmenaParametru: Array of String; Hodnoty: array of Variant): String;'''''||colspan=2|Funkce spustí určenou sestavu z generátoru sestav. Parametry sestavy jsou předávány formou seznamu jmen proměnných a druhého seznamu obsahující odpovídající hodnoty proměnných.
 +
|-valign=top
 +
|''''' Function [[Skriptovací jazyk - odesílání mailů pomocí SMTP|SendMailBySMTP]](From, SendTo, FileAttach, Subject, SMTPServer, SMTPSenderName, SMTPPassword, BodyString : String; var ErrMessage : String) : Boolean;'''''||colspan=2|Funkce pošle e-mail na určenou adresu pomocí protokolu SMTP
 +
|-valign=top
 +
|''''' Function [[Skriptovací jazyk - funkce MsgDlg|MsgDlg]](AText, ACaption: String; DlgType: TMsgDlgType; Buttons: Integer; btnCaptions: String = ' '): TModalResult;'''''||colspan=2|zobrazí dialog s jedním nebo více tlačítky
 +
|-valign=top
 +
|''''' Function [[Objekt TKAPADOConnection|CreateADOConnectionStringDlg]](ConnectionString: String): String;'''''||colspan=2|zobrazí dialog pro nastavení ConnectionString v databázovém prostředí ADO
 +
|-valign=top
 +
|''''' Function [[Objekt TKAPRegOptions|GetAppBaseRegistryKey]]: String;'''''||colspan=2|vrací základní klíč aplikace, ve kterém jsou ukládány vybrané parametry (v registru Windows)
 +
|-valign=top
 +
|''''' Function [[Objekt TKAPBtrTable|BtrBeginTransaction]]: Boolean;'''''||colspan=2|Zahájí transakci (pro práci s BTR tabulkami). Každá transakce musí být ukončena pomocí BtrEndTransaction nebo BtrAbortTransaction.
 +
|-valign=top
 +
|''''' Procedure [[Objekt TKAPBtrTable|BtrEndTransaction]];'''''||colspan=2|ukončí transakci a potvrdí změny (pro práci s BTR tabulkami)
 +
|-valign=top
 +
|''''' Procedure [[Objekt TKAPBtrTable|BtrAbortTransaction]];'''''||colspan=2|zruší transakci a případné změny od zahájení transakce vrátí zpět (pro práci s BTR tabulkami)
 +
|-valign=top
 +
|''''' Function MatchMask(Mask, Data: string):  Boolean;'''''||colspan=2|vrací hodnotu True, pokud textový řetězec Data vyhovuje masce specifikované řetězcem Mask, jinak vrací hodnotu False. Rozlišují se malá a velká písmena, diakritika i mezery na začátku nebo na konci textu. Maska může obsahovat speciální znaky: znak * pro označení skupiny libovolných znaků (včetně prázdného textu) a znak ? pro označení právě jednoho znaku. Příklady: MatchMask('*black', Nazev) bude vracet True pro Nazev končící slovem black, MatchMask("*black*white*", Nazev) bude vracet 1 pokud Nazev bude obsahovat slovo black následované slovem white, MatchMask("???black*", Nazev) bude vracet True pokud Nazev má na čtvrté pozici počínaje slovo black a končí libovolným textem.
 +
|-valign=top
 +
|''''' Function MatchMasks(Masks, Data: string): integer;'''''||colspan=2|První parametr Masks musí být vyplněn seznamem masek, jimž má vyhovovat údaj Data. V parametru Masks lze použít znaky * jako zástupný znak pro libovolnou skupinu znaků, znaky ? jako zástupný znak pro právě jeden znak. Lze použít současně více masek. V tom případě je nutné jednotlivé masky oddělit znakem /. Pokud maska začíná znakem !, tak se chápe jako negativní maska (čili pokud údaj Data vyhovuje této negativní masce, tak je celý výraz vyhodnocen jako nevyhovující. Funkce vrací jako výsledek pořadí masky (číslováno od 0), které vyhovuje Data. Funkce vrací záporné číslo pokud žádná maska nevyhovuje (popř. vrací záporné pořadí negativní masky - číslováno od -2).
 +
|-valign=top
 +
|''''' Function StringReplace(S, OldPattern, NewPattern: String; ReplaceAll: Boolean = true; IgnoreCase: Boolean = true):String'''''||colspan=2|funkce umožňuje nahrazení jednoho subřetězce jiným řetězcem znaků:
 +
|-valign=top
 +
|''''' Function GetParamByName(ParamName: string): string'''''||colspan=2|Funkce umožní zjistit hodnotu parametru při spuštění programu. Parametr musí být zapsaný ve formátu <br/> '''paramname:hodnota nebo /paramname:hodnota'''.
 
|}
 
|}

Aktuální verze z 29. 4. 2021, 17:57

Funkce Popis
Function DelAll(s: String) : String Ve skriptovacím programovacím jazyku jsou k dispozici 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á.
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
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.
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
Function FileExists(FileName: String): Boolean Testuje, jestli soubor specifikovaný parametrem FileName existuje
Function FileAge(FileName: string): TDateTime Vrací datum a čas poslední změny souboru nebo zápornou hodnotu, pokud soubor neexistuje
Function DeleteFile(FileName: string): Boolean Smaže soubor FileName z disku
Function RemoveDir(Dir: string): Boolean Smaže neprázdnou složku Dir z disku
Function DirectoryExists(Dir: String):String Testuje, jestli složka specifikovaná parametrem Dir existuje
Function CreateDir(Dir: string): Boolean Vytvoří složku specifikovanou parametrem Dir
Function RenameFile(OldName: string; NewName: string): Boolean Přejmenuje soubor OldName na soubor NewName
Function ExtractFileName(FileName: String):String Z textového parametru FileName obsahujícího celé jméno souboru vrátí jen jméno souboru včetně přípony
Function ExtractFileExt(FileName: String):String Z textového parametru FileName obsahujícího celé jméno souboru vrátí jen příponu souboru včetně případné tečky
Function ChangeFileExt(FileName, NewExt: String):String Funkce vezme textového parametru FileName obsahujícího celé jméno souboru a vrátí jméno souboru , ve kterém je nahrazena přípona souboru dle přípony určené parametrem NewExt. Parametr NewExt může obsahovat počáteční tečku. Funkce nepřejmenovává samotný soubor, jen vrací text obsahující jméno souboru se změněnou příponou.
Function SetCurrentDir(Dir: string): Boolean Nastaví aktuální pracovní adresář podle parametru Dir
Function GetCurrentDir: string Vrací aktuální pracovní adresář
Function GetEnvironmentVariable(Name: string): string Vrací hodnotu proměnné Name z prostředí
Function ParamStr(Index: Integer): string Vrací parametr ze seznamu parametrů určených při spouštění programu
Function ParamCount: Integer Vrací počet parametrů v seznamu parametrů určených při spouštění programu
Function RunExternalCommand(CmdLine: String; WaitToEnd: Boolean = False; CurrentDirectory: String = ' '; AppName: String = ' ' ): Cardinal Funkce spustí externí aplikaci (s případnými parametry) určenou parametrem CmdLine pomocí CreateProcess. Pokud je parametr WaitToEnd nastaven na true, tak program čeká na dokončení externí aplikace.
Function GSRunReport(SkupinaSestav : Integer; SestavaCislo : Integer; Parametry: String): String; Funkce spustí určenou sestavu z generátoru sestav. Parametry sestavy jsou složeny v jednom textovém parametru.
Function GSRunReportV(SkupinaSestav : Integer; SestavaCislo : Integer; JmenaParametru: Array of String; Hodnoty: array of Variant): String; Funkce spustí určenou sestavu z generátoru sestav. Parametry sestavy jsou předávány formou seznamu jmen proměnných a druhého seznamu obsahující odpovídající hodnoty proměnných.
Function SendMailBySMTP(From, SendTo, FileAttach, Subject, SMTPServer, SMTPSenderName, SMTPPassword, BodyString : String; var ErrMessage : String) : Boolean; Funkce pošle e-mail na určenou adresu pomocí protokolu SMTP
Function MsgDlg(AText, ACaption: String; DlgType: TMsgDlgType; Buttons: Integer; btnCaptions: String = ' '): TModalResult; zobrazí dialog s jedním nebo více tlačítky
Function CreateADOConnectionStringDlg(ConnectionString: String): String; zobrazí dialog pro nastavení ConnectionString v databázovém prostředí ADO
Function GetAppBaseRegistryKey: String; vrací základní klíč aplikace, ve kterém jsou ukládány vybrané parametry (v registru Windows)
Function BtrBeginTransaction: Boolean; Zahájí transakci (pro práci s BTR tabulkami). Každá transakce musí být ukončena pomocí BtrEndTransaction nebo BtrAbortTransaction.
Procedure BtrEndTransaction; ukončí transakci a potvrdí změny (pro práci s BTR tabulkami)
Procedure BtrAbortTransaction; zruší transakci a případné změny od zahájení transakce vrátí zpět (pro práci s BTR tabulkami)
Function MatchMask(Mask, Data: string): Boolean; vrací hodnotu True, pokud textový řetězec Data vyhovuje masce specifikované řetězcem Mask, jinak vrací hodnotu False. Rozlišují se malá a velká písmena, diakritika i mezery na začátku nebo na konci textu. Maska může obsahovat speciální znaky: znak * pro označení skupiny libovolných znaků (včetně prázdného textu) a znak ? pro označení právě jednoho znaku. Příklady: MatchMask('*black', Nazev) bude vracet True pro Nazev končící slovem black, MatchMask("*black*white*", Nazev) bude vracet 1 pokud Nazev bude obsahovat slovo black následované slovem white, MatchMask("???black*", Nazev) bude vracet True pokud Nazev má na čtvrté pozici počínaje slovo black a končí libovolným textem.
Function MatchMasks(Masks, Data: string): integer; První parametr Masks musí být vyplněn seznamem masek, jimž má vyhovovat údaj Data. V parametru Masks lze použít znaky * jako zástupný znak pro libovolnou skupinu znaků, znaky ? jako zástupný znak pro právě jeden znak. Lze použít současně více masek. V tom případě je nutné jednotlivé masky oddělit znakem /. Pokud maska začíná znakem !, tak se chápe jako negativní maska (čili pokud údaj Data vyhovuje této negativní masce, tak je celý výraz vyhodnocen jako nevyhovující. Funkce vrací jako výsledek pořadí masky (číslováno od 0), které vyhovuje Data. Funkce vrací záporné číslo pokud žádná maska nevyhovuje (popř. vrací záporné pořadí negativní masky - číslováno od -2).
Function StringReplace(S, OldPattern, NewPattern: String; ReplaceAll: Boolean = true; IgnoreCase: Boolean = true):String funkce umožňuje nahrazení jednoho subřetězce jiným řetězcem znaků:
Function GetParamByName(ParamName: string): string Funkce umožní zjistit hodnotu parametru při spuštění programu. Parametr musí být zapsaný ve formátu
paramname:hodnota nebo /paramname:hodnota.