Řetězce

zpět

deleteMultipleSpace() – odstranění přebytečných mezer v řetězci

function deleteMultipleSpace returns character (result as character):
    assign result = trim(result).
    do while index( result, “ “ ) > 0:
        assign
            result = replace( result, “ „, “ “ )
            result = replace( result, “ „, “ “ ).
    end.
    return result.
end. /* function deleteMultipleSpace */

assign lv_nejaky_retezec = deleteMultipleSpace(lv_nejaky_retezec).

 

CODEPAGE-CONVERT() – konverze kódové stránky

lv_popis_produktu = codepage-convert(ef_pt_cu_text, session:charset, „utf-8“).
 

STRING() – převádí jiný datový typ na řezězec

STRING(TIME,“HH:MM AM“)

STRING(Customer.CustNum, „>>>9“) FORMAT „x(30)“

ASSIGN table-row = ‚<tr id=“tab_‘ + string(id) + ‚“>‘ + ‚<td>‘ + string(date) + ‚</td>‘ + ‚<td>‘ + jml_nbr +  ‚</td>‘ + ‚</tr>‘.

 

Operátor zřetězení: +

FOR EACH Customer NO-LOCK:
     DISPLAY SKIP(1) Customer.Name SKIP Customer.Address SKIP
     Customer.City + „, “ + Customer.State FORMAT „x(16)“ Customer.Country
     Customer.PostalCode SKIP(2).
END.
DISPLAY fname + “ “ + (IF minit <> ? THEN minit + „. “ ELSE „“) + “ “ + lname FORMAT „x(36)“.
DISPLAY fname + “ “ + minit + “ “ + lname FORMAT „x(36)“.

 

NUM-ENTRIES() – vrací počet prvků ze seznamu

NUM-ENTRIES (seznam [, oddělovač])

Příklad:

DEFINE VARIABLE sentence AS CHARACTER NO-UNDO INITIAL „To je nějaký řetězec, který obsahuje několik slov, a já si zobrazím kolik.“.
DISPLAY NUM-ENTRIES (sentence, “ „).     /* 13 */
 

Příklad:

DEFINE VARIABLE i AS INTEGER NO-UNDO.
DEFINE VARIABLE svetove_strany AS CHARACTER NO-UNDO INITIAL „východ,západ,sever,jih“.

REPEAT i = 1 TO NUM-ENTRIES(svetove_strany):
    DISPLAY ENTRY(i, svetove_strany) FORMAT „x(12)“.

END.

┌─────────┐
│ východ  │
│ západ   │
│ sever   │
│ jih     │
└─────────┘

Příklad:

DEFINE VARIABLE i AS INTEGER NO-UNDO.
REPEAT i = 1 TO NUM-ENTRIES(PROPATH):
    DISPLAY ENTRY(i, PROPATH) FORMAT „x(64)“.
END.
┌────────────────────────┐
│/opt/dlc/tty            │
│/opt/dlc/tty/adeshar.pl │
│/opt/dlc/tty/adecomp.pl │
│/opt/dlc/tty/adeedit.pl │
│/opt/dlc/tty/adecomm.pl │
│/opt/dlc/tty/prodict.pl │
│/opt/dlc                │
│/opt/dlc/bin            │
└────────────────────────┘
 

LOOKUP() – vrací první pozici výrazu v seznamu

LOOKUP(hledaný_výraz, seznam [, oddělovač])

Pokud není výraz nalezen, vrací 0.

define variable seznam_statu as character no-undo initial „ME,MA,VT,RI,CT,NH,ME“.
define variable zadej as character no-undo format „x(2)“.
define variable pozice as integer no-undo.

repeat:
    set zadej label „Zadej zkratku státu v Nové Anglii: „.
    assign pozice = lookup(zadej, seznam_statu).
    if pozice > 0
    then message „Ano, “ + zadej + “ je zkratka státu v Nové Anglii. V seznamu se vyskytuje na pozici “ + string(pozice) + „.“.
    else message „Ne, “ + zadej + “ není zkratka státu v Nové Anglii!“.
end.

 

 

zpět