QBS >> Doktor Q >> Dokumentacja techniczna >> Instrukcje języka THTML

Instrukcje języka THTML

Na stronie tej przedstawiamy listę obiektów, poleceń standardowych i wyrażeń języka programowania wydruków THTML.

THTML jest elementem Q-Line 3000 służącym do tworzenia wydruków.

Strona wygenerowana technologią QuickWWW w dniu 2006.02.28

Index Obiektów

Index poleceń

Index funkcji wyrażeniowych (Expression Tags)

Obiekty w THTML

Pełna wewnętrznych obiektów THTML wraz z ich metodami


Array
Opis ogólny

Dynamiczna tablica obiektów

Konstruktory Metody
Date
Opis ogólny

Obiek narzędziowy do operacji na datach

Konstruktory Metody
DBFFile
Opis ogólny

Obiekt do exportu z thtml do formatu dbf

Konstruktory Metody
DBRecord
Opis ogólny

Obiekt do operacji na rekordzie z tabeli

Konstruktory Metody
DBRecordBuff
Opis ogólny

Bufor do przechowywania rekordów i wykonywania operacji na nich. Potrafi grupować rekordy.

Konstruktory Metody
Empty
Opis ogólny

Przyjmuje wywołania wszystkich metod i (z wszystkimi argumentami) i zwraca Null. Dobre do podmiany jakiegoś obiektu, jak chcemy np. wyłączyć wypisywanie do out.txt

Konstruktory Metody
FileUtils
Opis ogólny

Narzędzia do operowania na plikach podczas generowania wydruku.

Konstruktory Metody
Math
Opis ogólny

Obiekt różnych operacji liczbowych (statycznych)

Konstruktory Metody
OutStream
Opis ogólny

Obiekt wypisujący komunikaty na standarowe wyjście (out.txt)

Konstruktory Metody
ProgressBar
Opis ogólny

Obiekt paska postępu. Do użycia w celu pokazania postępu wydruku. Ponieważ różne wydruki są różnie realizowane a wyznaczenie pętli głównej jest nie możliwe, bądź pętla główna nie reprezentuje postępu, sterowanie paska kontrolowane jest przez sam wydruk (zależy od projektanta wydruku).Schemat postępowania jest następujący:

  1. Skonstruować pasek
  2. uruchomić go (pokazać) (run)
  3. w trakcie wydruku zwiększać (inc) lub ustawiać wartość paska (set)
  4. zakończyć (stop)
Uwagi: ModalParent jest brany ze zmiennej MPARENT ustawianej automatycznie przy uruchamianiu THTML.

Konstruktory Metody
Record
Opis ogólny

Obiekt będący rekordem, tzn tabelą haszującą (HashTable) z kluczami które są stringami. Analogiczny do qline.basics.Record - nie mylić z rekordem bazodanowym, bo w THTML to jest para TabDefinitionBlock i Record.

Konstruktory Metody
SpreadSheet
Opis ogólny

Budowanie arkusza ( x na y ) do pamięci, z formatowaniem czcionki, ramki, formatu wartości. Posiada właściwość zapisu do pliku Excel, HTML, TXT.

Konstruktory Metody
Table
Opis ogólny

Obiekt do operacji na tablelach. Table otwierane są w transakcji domyślnej, jeśli dana tabela jest na domyślnym serwerze danych. W przeciwnym wypadku otwierana jest oddzielna transakcja, któraj jest zamykana przy zamknięciu tabeli.

Konstruktory Metody
Utils
Opis ogólny

Zespół metod narzędziowych formatujących i obliczeniowych

Konstruktory Metody

Polecenia w THTML

Pełna lista poleceń (Command TAGS)

BREAK
Opis
Polecenie przerwania pętli TABLELOOP. Wychodzi z pętli (zamykając tabelę)
Syntax
{BREAK}
Przykłady
{TABLELOOP(t)}
   {IF (err!="")} {BREAK} {ENDIF}
   ....
{ENDTABLELOOP}
Zobacz także
CONTINUE TABLELOOP
CALLPROC
Opis
Wywołanie procedury bez zwrotu wartości, ale z wydrukowaniem zawartości na bieżący strumień wyjściowy
Syntax
{CALLPROC proc_name(arg1,...,argN)}
Argumenty
Objectsarg1,...,argNargX - Argumenty do przekazania do procedury
Przykłady
{CALLPROC drukuj_nrStr(page_num+1)}
Zobacz także
PROCEDURE
CONTINUE
Opis
Polecenie przerwania pętli TABLELOOP. Wychodzi z pętli
Syntax
{CONTINUE}
Przykłady
{TABLELOOP(t)}
   {IF (skip=true)} {CONTINUE} {ENDIF}
   ....
{ENDTABLELOOP}
Zobacz także
BREAK TABLELOOP
EMPTYLINE
Opis
Drukuje jedną lub żądaną liczbę pustych linii. Działa tylko w bloku NOEMPL, i przeznaczona jest raczej do wydruków igłowych
Syntax
  • {EMPTYLINE}
  • {EMPTYLINE(line_count)}
Argumenty
AutFunLongline_countliczba pustych linii do wydrukowania.Opcjalny argument.
Przykłady
{NOEMPL}
{EMPTYLINE(4)}
{ENDNOEMPL}
Zobacz także
NOEMPL
GENERPAGE
Opis
Instrtukcja uruchamiająca wydruk THTML (podstrona). Istnieje możliwość przekazania zmiennych do podwydruku.
Syntax
  • {GENERPAGE(src_file,dst_file)}
  • {GENERPAGE(src_file,dst_file,var1,...,varN)}
Argumenty
AutFunStringsrc_filenazwa pliku źródłowego z wydrukiem THTML
AutFunStringdst_filenazwa pliku docelowego z wydrukiem THTML
AutFunStringvar1,...,varNNazwy zmiennych do przekazania do podwydruku. Argument opcjonalny
Przykłady
{GENERPAGE("bomb.thtml","bomb.html",bombkolor)}
IF
Opis
Instrukcja warunkowa. Jeżeli podany warunek jest prawdziwy, wykonywany jest blok po IF. Opcjonalnie można podać blok ELSE, który będzie wykonany w przeciwnym przypadku
Syntax
  • {IF(cond)}...{ENDIF}
  • {IF(cond)}...{ELSE}...{ENDIF}
Argumenty
AutFunBoolcondWarunek wejścia w blok IF
Tag zamykający
ENDIF
Przykłady
{TABLELOOP(t)}
   {IF (skip=true)} {CONTINUE} {ENDIF}
   ....
{ENDTABLELOOP}
INCLUDE
Opis
Instrukcja wklejająca zawartość innego pliku (typowy INCLUDE).
Syntax
{INCLUDE(file_name)}
Argumenty
AutFunStringfile_nameNazwa pliku do wklejenia
Przykłady
{INCLUDE("lib.thtml")}
LET
Opis
Przypisanie istniejącej zmiennej nowej wartości. W przypadku gdy zmiennej nie ma w bięzącym bloku zmiennych następuje sięgnięcie do wyższego bloku, itd.
Syntax
{LET x=<expresssion>}
Przykłady
{VAR x=5}
{LET x=x+1}
Zobacz także
VAR
NOEMPL
Opis
Blok bez pustych linii. Wszystkie liine puste w tym bloku będą usuwane.
Syntax
{NOEMPL}...{ENDNOEMPL}
Tag zamykający
ENDNOEMPL
Przykłady
{NOEPML}
{VAR a=3}
linia pierwsza
{LET a=a+1}
ta lnia jest tuż pod pierwszą!
{ENDNOEMPL}
Zobacz także
EMPTYLINE
PROCEDURE
Opis
Deklaracja procedury. Kolejność nie gra roli. Ponieważ THTML traktuje ten kawałek jak zwykły kod więc ciało zostanie normalnie wydrukowane. Procedury należy zatem umieszczać w bloku {SB}.Procedurę wyznacza jej nazwa.
Syntax
{PROCEDURE proc_name(arg1_name,arg2_name,...,argN_name)}
....
{ENDPROCEDURE}
Tag zamykający
ENDPROCEDURE
Przykłady
{PROCEDURE Sum(a,b)}
{RETURN a+b}
{ENDPROCEDURE}
Zobacz także
CALLPROC SB
RETURN
Opis
Wyjście z procedury z podaniem wyniku. Jeżeli wołamy return ze środka TABLELOOP, to tabela jest zamykana, (don't worry)
Syntax
{RETURN <expression>}
Przykłady
{RETURN a+2}
Zobacz także
PROCEDURE
SB
Opis
Wszystkie instrukcje w takim bloku będą wykonane ale nic się nie wypisze.Idealne do obliczeń deklaracji procedur .....
Syntax
{SB}...{ENDSB}
Tag zamykający
ENDSB
Przykłady
{SB}
{VAR a=5}
{LET a=a+1}
To się nie wydrukuje!
{ENDSB}
Zobacz także
SILENT
SILENT
Opis
Wyrażenie po słowie SILENT jest obliczane, ale nie jest drukowane.
Syntax
{SILENT <expression>}
Przykłady
{SILENT "i tak się nie wydrkukję!!!!"}
Zobacz także
SB
TABLELOOP
Opis
Pętla po wszystkich rekordach podanej tabeli. Treść pętli powtarzana jest dla każdego rekordu. (next wykonywany jest automatycznie).
UWAGA: Tabela jest zamykana automatycznie po zakończeniu pętli.
Syntax
{TABLELOOP(table)} {ENDTABLELOOP}
Argumenty
Pairtabletabela THTML po której będzie pętla - ustawienie się na początku jest wykonywane automatycznie.
Tag zamykający
ENDTABLELOOP
Przykłady
{TABLELOOP(t)}
   {FLD("IMIE")} {FLD("NAZWISKO")}
   ....
{ENDTABLELOOP}
Zobacz także
BREAK CONTINUE RETURN
VAR
Opis
Deklaracja zmiennej. Może być połączona z przypisaniem. W przypadku istnienia tej zmiennej w bieżącym bloku zmiennych - THTML zgłosi błąd. W przypadku istnienia takiej zmiennej wyżej, poprzednia zostanie przykryta. Uwaga: W THTML obowiązuje dynamiczne wiązanie zmiennych (odwrotnie niż w normalnych językach takich jak C, PASCAL, Java), tzn. bloki zmiennych są tworzone zgodnie z kolejnością wywołań a nie deklaracji.Nowe bloki zmiennych tworzone są przez PROCEDURE, TABLELOOP.
Syntax
  • {VAR x}
  • {VAR x=<expresssion>}
Przykłady
{VAR x=5}
{LET x=x+1}
Zobacz także
LET VAREXISTS
WHILE
Opis
Pętla while wykonywana dopóty, dopóki warunek wejściowy jest prawdziwy.
Syntax
{WHILE(cond)}...{ENDWHILE}
Argumenty
AutFunBoolcondWarunek wejścia do pętli
Tag zamykający
ENDWHILE
Przykłady
{VAR I=0}
{VAR sum=0}
{WHILE(I<arr.getSize())}
{LET sum=sum+arr.get(I)}
{LET I=I+1}
{ENDWHILE}

Wyrażenia w THTML

Pełna lista funkcji wyrażeniowych (Expression Tags)

BEGINENDTABLE
Opis
Obiekt tabeli zawężającej do przedziału domkniętego (od do) Można podać dla jakich pól będziemy grupować, oraz jqakie pola będą sumowane w ramach każdej grupy. - Tabela wejściowa musi być w uporządkowaniu tak aby rekordy należące do przedziału następowały po sobie.Musimy podać listę wartości l od i do dla których zawężamy. Pola zawężenia będą brane z uporządkowania tabeli wejściowej.
Syntax
{GRPTABLE( TABLE(table) BEGIN(from1,...,fromN) END(to1,...,toN) )}
Argumenty
Pair (THTML Table)tabletabela którą zawężamy do przedziału
Objectsfrom1,...,fromNwartości początkowe przedziału
Objectsto1,...,toNwartości końcowe przedziału
Przykłady
{VAR t = OPENTABLE("PEOPLE","AGE","LASTNAME")}
{VAR t = BEGINENDTABLE( TABLE(t) BEGIN(20) END(30))}
{TABLELOOP(t)}
...
...
C
Opis
Zwraca kod sterujący dla wybranej przez użytkownika drukarki. Ma zastosowanie jedynie jeśli wydruk korzysta z parametrów drukarek igłowych.
Syntax
{C(code)}
Argumenty
Identifiercodekod sterujący drukarki: Możliwe kody to : CON, COFF, BON, BOFF ......... Argument ten nie jest wyrażeniem tylko identyfikatorem
Przykłady
{C(BON)}
CLOSETABLE
Opis
Zamyka podaną tabelę. Uwaga: po instrukcji TABLELOOP nie zamyka się tabel
Syntax
{CLOSETABLE(table)}
Argumenty
Pair (THTML Table)tabletabela którą zamykamy
Przykłady
{WHILE(NEXT(t))}
{FLD("LASTNAME",GETRECORD(t))}
{ENDWHILE}
{CLOSETABLE(t)}
COPY
Opis
Kopiuje podstring od podanego miejsca o określonej długości znaków. Działa dokładnie tak jak copy w języku Pascal.
Syntax
{COPY(str,from,len)}
Argumenty
AutFunStringstrstring z którego wycinamy podstring
AutFunLongfromindeks od którego kopiujemy (licząc od 0)
AutFunLonglendługość kopiowanego kawałka (w znakach)
Przykłady
liczba wycięta z AB458CD to: {COPY("AB458CD",2,3)}
Zobacz także
JUSTIFY
CURDATE
Opis
Zwraca biężącą datę z systemowego zegara
Syntax
{CURDATE}
Przykłady
Data bieżąca: {CURDATE}
Od dziś za tydzień: {CURDATE+7}
CURREC
Opis
Zwraca bieżący rekord. Jeśli jesteśmy w pętli jest to bieżący rekord tabeli, jeżeli jesteśmy poza pętlą, a wydruk był wywaołany na jakimś rekordzie
Syntax
{CURREC}
Przykłady
{VAR rec=CURREC}
{FLD("LASTNAME",rec)}
Zobacz także
FLD GETRECORD
CURTIME
Opis
Zwraca biężący czas z systemowego zegara
Syntax
{CURTIME}
Przykłady
Bieżący czas: {CURTIME}
DSTDIR
Opis
Zwraza ścieżkę pliku tworzonego.
Syntax
DSTDIR
ENTRYTABLE
Opis
Otwiera tabelę bazodanową wejściową tzn tą z browsera z którego wywołaliśmy wydruk. Podajemy uporządkowanie
Syntax
{ENTRYTABLE(ord1,...,ordN)}
Argumenty
AutFunStringsord1,...,ordNuporządkowanie wg. którego otwieramy tabelę - jeżeli podamy zero argumentów to pobierane jest wejściowe uporządkowanie tabeli.
Przykłady
{VAT t= ENTRYTABLE("LASTNAME")} lub
{VAT t= ENTRYTABLE()}
{TABLELOOP(t)}
Nazwisko:{NFLD("LASTNAME")}
{ENDTABLELOOP}
Zobacz także
OPENTABLE
EVALPROC
Opis
Wywołuje funkcję (procedurę) i oblicza jej wynik, lecz bez drukwania treści na strumień wyjściowy
Syntax
{EVALPROC procName(arg1,...,argN)}
Argumenty
Objectsarg1,...,argNargumenty procedury
Przykłady
4={EVALPROC sumuj(2,2)}
Zobacz także
CALLPROC PROCEDURE RETURN
FLD
Opis
Zwraca wartość rekordu, rekord źródłowy może być albo wskazany albo bieżący.
Syntax
  • FLD(field_name)
  • FLD(field_name,record)
Argumenty
AutFunStringfield_namenazwa pola z którego pobieramy wartość
Pair (THTML Record)recordRecord z którego pobieramy wartości UWAGA: Nie mylić z obiektem Rekord!
Przykłady
{TABLELOOP(t)}
{FLD("LASTNAME")}
{ENDTABLELOOP}

lub

{FLD("LASTNAME",rec)}
Zobacz także
CURREC FLDNAME NFLD RECPARAM SFLD TABLELOOP
FLDNAME
Opis
Zwraca nazwę pola rekordu (bieżącego lub wskazanego)
Syntax
  • FLDNAME(field_name)
  • FLDNAME(field_name,record)
Argumenty
AutFunStringfield_nameidentyfikator pola którego nazwa będzie zwrócona
Pair (THTML Record)recordrecord z którego bieżemy nazwę
Przykłady
Pole {FLDNAME("KODO")} jest ma wartość: {FLD("KODO")}
Zobacz także
FLD NFLD RECPARAMNAME SFLD
FORMATEDSTRING
Opis
zwraca ten sam string, tyle że wszystkie znaki specjalne zamienia na postać stringową, tak by można string było zapisać jako string.NP znaki końca linii zamnienia na '\n', znaki " zamienia na \" .....
Syntax
{FORMATEDSTRING(string)}
Argumenty
AutFunStringstringstring który będzie formatowany
Przykłady
{FORMATEDSTRING(s)}
FORMATS
Opis
Formatuje obiekt do podanego formatu. Różne AutFunObjects formaty reagują na różne formaty
  • AutFunMoney - format - liczba miejsc po przecinku
  • AutFunDate - format przy użyciu :D M Y
Syntax
{FORMATS(object,format)}
Argumenty
AutFunObjectobjectobiekt który ma być sformatowany
AutFunStringformatformat wg którego ma być sformatowany obiekt
Przykłady
m z 3 miejscami po przecinku: {FORMATS(m,3)}
double z 2 miejscami po przecinku: {FORMATS(2.1233,2)}
daty:  {FORMATS(d,"DD.MM.YYYY")},
       {FORMATS(d,"YY.MM.DD")}
       {FORMATS(d,"DD.MM.YY")}
Zobacz także
SFLD
GETRECORD
Opis
Pobiera rekord bieżący z podanej tabeli. Musimy być na jakimś rekordzie
Syntax
{GETRECORD(tabela)}
Argumenty
Pair (THTML Table)tabelatabela z której pobieramy rekord
Przykłady
{WHILE(NEXT(t))}
{FLD("LASTNAME",GETRECORD(t))}
{ENDWHILE}
GRPTABLE
Opis
Obiekt tabeli Grupującej. Można podać dla jakich pól będziemy grupować, oraz jqakie pola będą sumowane w ramach każdej grupy. - Tabela wejściowa musi być w uporządkowaniu tak aby rekordy należące do jednej grupy następowały po sobie.
Syntax
{GRPTABLE( TABLE(table) GRP(grp1,...,grpN) SUM(sum1,...,sumN) )}
Argumenty
Pair (THTML Table)tabletabela wejściowa która ma być pogrupowana, już odpowiednio uporządkowana.
AutFunStringsgrp1,...,grpNgrpX - pole z których jest złożony klucz grupy
AutFunStringssum1,...,sumNgrpX - pola które będą sumowane dla każdej grupy
Przykłady
{VAR t = OPENTABLE("PEOPLE","COLOR","LASTNAME")}
{VAR t = GRPTABLE( TABLE(t) GRP("RED") SUM("SALARY"))}
{TABLELOOP(t)}
...
...
Zobacz także
OPENTABLE
ISEOF
Opis
Zwraca czy ustawieni jesteśmy za ostatnim rekordem tabeli.
Syntax
{ISEOF(table)}
Argumenty
Pair (THTML Table)tabletabela w której sprawdzamy pozycję
Przykłady
{IF (~SEARCH(t,534))}
  {IF (~ISEOF(t))}

  {ENDIF}
{ENDIF}
Zobacz także
NEXT OPENTABLE SEARCH
isNull
Opis
funkcja mówiąca czy argument jest null'em. (zarówno uwzględniany jest null jaki AutFunNull)
Syntax
isNull(obj)
Argumenty
Objectobjobiekt który ma być porównany do null (lub AutFunNull)
Przykłady
{IF isNull(FLD("DATA"))}
  Data pusta
{ELSE}
  Data to {SFLD("DATA")}
{ENDIF}
Zobacz także
NFLD
ISSEL
Opis
Funkcja do sprawdzania czy użytkownik zaznaczył rekord.
Syntax
{ISSEL(record)}
Argumenty
Pair (THTML Record)recordrekord który będzie sprawdzony czy był zaznaczony przez użytkownika. Musiał zostać pobrany z tabeli otworzonej przez OPENSELTABLE
Przykłady
{VAR t=OPENSELTABLE("PEOPLE","ID")}
{TALBELOOP(t)}
{IF (ISSEL(rec))}
....
Zobacz także
OPENSELTABLE SELTABLE
JUSTIFY
Opis
Polecenie do formatowania napisów do określonej długości i dosuwania ich do lewej prawej, lub na środek, gdy napis jest za krótki znaki są obcinane z odbowiedniej strony.Polecenie to nie ma sensu dla genenrowania stron HTML bo, tam białe znaki są i tak ignorowane.
Syntax
{JUSTIFY(tobeFormatted,type,len)}
Argumenty
ObjecttobeFormattedString (lub obiekt na którym wykona się toString() który ma być sformatowany
IdenttypeSposób formatowania stringu:
  • LEFT
  • RIGHT
  • CENTER
      UWAGA: Argument ten nie jest wyrażeniem,tylko identyfikatorem!
AutFunLonglenilość znaków na jakiej formatujemy string
Przykłady
{JUSTIFY(FLD("KWOTA"),RIGHT,20)}
Zobacz także
COPY FORMATEDSTRING STR_REPLACEALL
LB
Opis
Zwraca lewą klamerkę {. Jest to potrzebne, bo nie da się w THTML napisać normalnie klamerki bo jest uznawana za początek wyrażenia
Syntax
{LB}
Przykłady
{LB}tekst wklamerkach{RB}
Zobacz także
RB
MONEY2WORDS
Opis
Zwraca słowny zapis kwoty pieniężnej (jak na czekach i przekazach)
Syntax
{MONEY2WORDS(money)}
Argumenty
AutFunMoneymoneykwota która ma być wpisana słownie - może też być podana jako DOUBLE i INT (np stałe)
Przykłady
{MONEY2WORDS(FLD("KWOTA"))}
{MONEY2WORDS(50)}
{MONEY2WORDS(51.23)}
NARROWTABLE
Opis
Obiekt tabeli zawężonej (po prefiksie). Budowana jest na podstawie tabeli wejściowej. Uwaga: Tabela wejściowa musi być uporządkowania wg. pól po których chcemy zawężać.O tabeli wejściowej musimy zapomnieć.
Syntax
{NARROWTABLE(table,val1,...,valN)}
Argumenty
Pair (THTML Table)tableTabela wejściowa która będzie zawężona - musi być w odpowiednim uporządkowaniu
Objectsval1,...,valNlista wartości zawężających tabele, odpowiadają one polom z uporządkowania tabeli wejściowej
Przykłady
{VAR t = OPENTABLE("PEOPLE","COLOR","LASTNAME")}
{VAR t = NARROWTABLE(t,"RED")}
{TABLELOOP(t)}
...
...
Zobacz także
BEGINENDTABLE OPENTABLE TABLELOOP
NEW
Opis
Konstruuje obiekt THTML. Później można na nim wywoływać metody.
Syntax
{NEW THTMLObjectName(arg1,...,argN)}
Argumenty
Objectsarg1,...,argNargumenty konstruktora obiektu
Przykłady
{VAR out=NEW OutStream()}
{out.println("Hello World")}
NEXT
Opis
Przesuwa się na następny rekord w tabeli (lub na EOF jeśli nie ma następnego)
Syntax
{NEXT(table)}
Argumenty
Pair (THTML Table)tabletabela po której chodzimy
Przykłady
{WHILE(NEXT(t))}
{FLD("LASTNAME",GETRECORD(t))}
{ENDWHILE}
NFLD
Opis
Zwraca wartość pola, rekord źródłowy może być albo wskazany albo bieżący. Działa podobnie jak FLD tylko w przypadku wartości null zwraca pusty string, aby się sensownie drukowało na ekranie
Syntax
  • NFLD(field_name)
  • NFLD(field_name,record)
Argumenty
AutyFunStringfield_namenazwa pola z którego pobieramy wartość
Pair (THTML Record)recordRecord z którego pobieramy wartości.
Przykłady
{TABLELOOP(t)}
{FLD("LASTNAME")}
{ENDTABLELOOP}

lub

{NFLD("LASTNAME",rec)}
Zobacz także
FLD SFLD
OPENMEMTABLE
Opis
Otwiera memory table, w ustalonym uporządkowaniu
Syntax
{OPENMEMTABLE(memory_table_name,ord1, ...., ordN)}
Argumenty
AutFunStringmemory_table_name
AutFunStringord1, ...., ordNlista pól, z których złożone jest uporządkowanie
Przykłady
{VAR T = OPENMEMTABLE("PEOPLE", "LASTNAME")}
{TABLELOOP(T)}
Nazwisko : {NFLD("LASTNAME")}
{ENDTABLELOOP}
OPENSELTABLE
Opis
Otwiera tabelę tak jak OPENTABLE, lecz z dodatkowymi lookupami zaznaczeń. Można następnie sprawdzić czy rekord jest zaznaczony lub po prostu zawęzić do zaznaczonych przez SELTABLE
Syntax
{OPENSELTABLE(table_name,ord1,...,ordN)}
Argumenty
AutFunStringtable_namejest to nazwa bazy. Uwaga: Jest to nazwa TabDef'a a nie BaseTabDefBlock'a
AutFunStringsord1,...,ordNlista pól z których złożenie jest uporządkowaniem
Przykłady
{VAR t=OPENSELTABLE("PEOPLE","ID")}
{TABLELOOP(t)}
{IF (ISSEL(CURREC)}
.....
{ENDIF}
{ENDTABLELOOP}
albo
{VAR t=OPENSELTABLE("PEOPLE","ID")}
{LET t=SELTABLE(t)}
{TABLELOOP(t)}
.....
{ENDTABLELOOP}
Zobacz także
ISSEL OPENTABLE SELTABLE
OPENTABLE
Opis
Otwiera tabelę bazodanową, w ustalonym uporządkowaniu
Syntax
{OPENTABLE(table_name,ord1,...,ordN)}
Argumenty
AutFunStringtable_namejest to nazwa bazy. Uwaga: Jest to nazwa TabDef'a a nie BaseTabDefBlock'a
AutFunStringsord1,...,ordNlista pól z których złożone jest uporządkowaniem
Przykłady
{VAT t= OPENTABLE("PEOPLE","LASTNAME")}
{TABLELOOP(t)}
Nazwisko:{NFLD("LASTNAME")}
{ENDTABLELOOP}
Zobacz także
BEGINENDTABLE CLOSETABLE GETRECORD GRPTABLE ISEOF NARROWTABLE NEXT OPENSELTABLE SEARCH SETFIRST TABLELOOP
RB
Opis
Zwraca prawą klamerkę }. Jest to potrzebne, bo nie da się w THTML napisać normalnie klamerki bo jest uznawana za koniec wyrażenia
Syntax
{RB}
Przykłady
{RB}tekst wklamerkach{RB}
Zobacz także
LB
RECPARAM
Opis
Pobiera wartość z rekordu parametrów systemowych. Przedrostek "Sys_" jest automatycznie dodawany. Działa analogicznie do FLD.
Syntax
{RECPARAM(tabname,field_name,isLocal)}
Argumenty
AutFunStringtabnamenazwa tab'a parametrów - przedrostek "Sys_" jest automatycznie dodawany
AutFunStringfield_nameidentyfikator pola pobieranego
AutFunBoolisLocalCzy parametry jest lokalny (dla użytkownika) (true). Domyślna wartość false
Przykłady
{RECPARAM("DANE_FIRMY","NIP")}
{RECPARAM("DANE_FIRMY","NIP",true)}
Zobacz także
FLD RECPARAMNAME RECPARAMSTRING
RECPARAMNAME
Opis
Pobiera nazwe pola rekordu parametrów systemowych. Przedrostek "Sys_" jest automatycznie dodawany. Działa analogicznie do FLDNAME.
Syntax
{RECPARAMNAME(tabname,field_name)}
Argumenty
AutFunStringtabnamenazwa tab'a parametrów - przedrostek "Sys_" jest automatycznie dodawany
AutFunStringfield_nameidentyfikator pola którego nazwa ma być pobrana
Przykłady
{RECPARAMNAME("DANE_FIRMY","NIP")}
Zobacz także
FLDNAME
RECPARAMSTRING
Opis
Pobiera wartość z rekordu parametrów systemowych. Przedrostek "Sys_" jest automatycznie dodawany. Działa analogicznie do SFLD.
Syntax
{RECPARAMSTRING(tabname,field_name,isLocal)}
Argumenty
AutFunStringtabnamenazwa tab'a parametrów - przedrostek "Sys_" jest automatycznie dodawany
AutFunStringfield_nameidentyfikator pola, którego wartość ma być zamieniona na reprezentację stringową
AutFunBoolisLocalCzy parametry jest lokalny (dla użytkownika) (TRUE). Domyślna wartość FALSE
Przykłady
{RECPARAM("DANE_FIRMY","DATA_BLOKADY")}
Zobacz także
FLD NFLD RECPARAM RECPARAMNAME SFLD
REVERSETABLE
Opis
Tabela odwrotnie uporządkowana niż źródłowa
Syntax
{REVERSETABLE(table)}
Argumenty
Pair (THTML Table)tabletabela która będzie "odwrócona"
Przykłady
{LET t = REVERSETABLE(t)}
Zobacz także
OPENTABLE
SEARCH
Opis
Wyszukuje rekord o podanych wartościach klucza. Jeśli takiego rekordu nie ma ustawia się na najmniejszym większym od szukanego.
Syntax
{SEARCH(table,arg1,...,argN)}
Argumenty
Pair (THTML Table)tabletabela w której wyszukamy rekord
Objectsarg1,...,argNlista wartości których szukamy (wartości odpowiadają kolejnym polom bieżcego uporządkowania
Przykłady
{IF (SEARCH(t,532))}
{GETRECORD(t)}
{ENDIF}
Zobacz także
GETRECORD ISEOF NEXT OPENTABLE
SELTABLE
Opis
Tabel która zawęża tabelę wejściową tylko do pozycji zaznaczonych. UWAGA:Tabela wejściowa musi być otwart instrukcją OPENSELTABLE
Syntax
{SELTABLE(table)}
Argumenty
Pair (THTML Table)tabletabela wejściowa - na początku musiała być otworzona instrukcją OPENSELTABLE
Przykłady
{VAR t = OPENSELTABLE("PEOPLE","ID")}
{VAR t = SELTABLE(t)}
{TABLELOOP(t)}
...
...
Zobacz także
ISSEL OPENSELTABLE OPENTABLE
SETFIRST
Opis
Ustawia się na pierwszym rekordzie tabeli. Jeśli tabela jest pusta to na pozycji EOF
Syntax
{CLOSETABLE(table)}
Argumenty
Pair (THTML Table)tabletabela w której przestawiamy pozycję
Przykłady
{SETFIRST(t)}
{WHILE(NEXT(t))}
{FLD("LASTNAME",GETRECORD(t))}
{ENDWHILE}
{CLOSETABLE(t)}
SFLD
Opis
Zwraca wartość pola w rekordzie podobnie jak FLD, tyle że wynikiem jest zawsze string - co więcej obiekty zamieniane są na string metodą getStringRepresentation (tą samą której używa browser). Oznacza to że pieniądze daty , a także własne maski drukują się poprawnie.
Syntax
  • SFLD(field_name)
  • SFLD(field_name,record)
Argumenty
AutFunStringfield_namenazwa pola z którego pobieramy wartość
Pair (THTML Record)recordRecord z którego pobieramy wartości
Przykłady
Data:{SFLD("DATA")}
Zobacz także
FLD FORMATS NFLD
SQL
Opis
Polecenie wykonujące zapytanie SQL i zwracające tabelę
Syntax
{SQL(sql_query)} - gdzie polecenie SQL jest postaci
  • SELECT <*>|<field_ident> [<as_ident>] [,<field_ident> [<as_ident>]]
  • FROM <table_ident>
  • WHERE (<field_ident> <rel> <exp>)[< & >|< | >(<field_ident> <rel> <exp>)]
  • GROUP BY <dest_field_ident>[,<dest_field_ident>]
  • ORDER BY <dest_field_ident>[,<dest_field_ident>];
Argumenty
AutFunStringsql_queryzapytanie SQL wg. którego ma być stworzona tabela
Przykłady
{VAR dataOd=RECPARAM("EDIT_PRINTER_TAB_OKRES_STAT_SPRZED","DATAOD")}

{VAR TUSLUGI=SQL("
SELECT PLATNIK,KOD_LEK, SUM(SZTUK) SSZTUK  FROM SPECYFIKACJA_DOK  
WHERE (USL_WYK=0) & ( DATASPRZ>= parse( \"DATASPRZ\",\""+ dataOd + "\"))  
GROUP BY PLATNIK,KOD_LEK ;")}
STR_REP
Opis
Formatuje podaną wartość do stringu wg definicji pola z bieżącej tabeli. Tak jak SFLD, tylko nie bieże wartości z rekordu a z podanego obiektu
Syntax
{STR_REP(field_name,object)}
Argumenty
AutFunStringfield_namenazwa pola z bieżącej table wg. którego formatujemy wartość pola
Objectobjectwartość pola do sformatowania
Przykłady
{STR_REP("KURS",5)}
Zobacz także
SFLD
STR_REPLACEALL
Opis
Zamienia wszystkie wystąpienia ciągu znaków na inny w podanym stringu i zwraca nowy string. Używane często do zamian "\n" na "" . Zamiany wystąpień na linki... itd..
Syntax
{STR_REPLACEALL(find_pattern,replace_pattern,wholestr)}
Argumenty
AutFunStringfind_patternwystąpienia tego siągu znaków mają być zamienione
AutFunStringreplace_patternnowy ciąg znaków
AutFunStringwholestrstring w którym podmieniamy wystąpienia
Przykłady
{STR_REPLACEALL("\n","<BR>",FLD("DESC"))}
Zobacz także
COPY FORMATEDSTRING JUSTIFY
TEXTARRAY
Opis
Łamie jeden długi string na kilka linii nie większej niż określona długość. To tak jak byśmy chcieli długi string obejrzeć w okienku. Procedura ta stara się nie łamać wyrazów. Metoda potępiona, raczej należy użyć StringUtil
Syntax
{TEXTARRAY(cText,line)}
Argumenty
AutFunStringcText"długi" text do połamania
AutFunLonglinedługość linii
Przykłady
{VAR arr = TEXTARRAY("trele morele",6)}
linia 1:{ARRAY.GET(arr,1)}
linia 2:{ARRAY.GET(arr,2)}
Zobacz także
JUSTIFY
VAL
Opis
Zwraca wartość podanej zmiennej. UWAGA: Jesto polecenie potępione. Należy po prostu wpisać wartość zmiennej a uzyska się ten sam efekt
Syntax
{VAL(varid)}
Przykłady
{VAL(rec)}
VAREXISTS
Opis
Funkcja mówiąca czy zmienna istnieje - używać w konieczności. Uwaga: jej argumentem jest nazwa zmiennej a nie wyrażenie
Syntax
{VAREXISTS(varname)}
Przykłady
{IF VAREXISTS(licznik)}
{LET licznik=0}
{ENDIF}
Zobacz także
VAR