PARAG: Divisione del testo in righe più piccole

Come:

Lingue disponibili: reporting, Maintain

La funzione PARAG divide una stringa di caratteri in stringhe secondarie, evidenziandole con un delimitatore. Esegue la scansione di un numero specifico di caratteri dall'inizio della stringa e sostituisce l'ultimo spazio nel gruppo scansionato con il delimitatore, quindi crea una prima stringa secondaria, conosciuta anche come token. Esegue, quindi, la scansione del prossimo gruppo di caratteri nella riga, cominciando dal delimitatore, e sostituisce l'ultimo spazio con un secondo delimitatore, creando un secondo token. Ripete questo procedimento fino al raggiungimento della fine della riga.

Dopo aver evidenziato ciascun token con il delimitatore, è possibile usare la funzione GETTOK per posizionare i token in campi diversi. Se PARAG non trova nessuno spazio nel gruppo scansionato, sostituisce il primo carattere dopo il gruppo con il delimitatore. Quindi, assicurarsi che ciascun gruppo di caratteri abbia almeno uno spazio. Il numero di caratteri scansionati viene fornito come dimensione massima token.

Per esempio, se si ha un campo chiamato 'subtitle', che contiene una grande quantità di testo consistente in parole separate da spazi, è possibile tagliare il campo in stringhe secondarie approssimativamente uguali, specificando una dimensione massima del token per dividere il campo. Se il campo è lungo 350 caratteri, dividerlo in tre stringhe secondarie, specificando una dimensione massima del token di 120 caratteri. Questa tecnica consente di stampare le righe di testo sotto forma di paragrafo.

Suggerimento: Se le righe sono divise in modo uniforme, è possibile creare più righe di quelle intese. Per esempio, si supponga di dividere righe di testo lunghe 120 caratteri in due righe di massimo 60 caratteri, ma una di queste righe viene divisa per avere rispettivamente una riga secondaria di 50 caratteri e una di 55 caratteri. Questa pratica permette di avere più spazio per una terza riga secondaria di 15 caratteri. Per correggere questa azione, inserire uno spazio (utilizzando una concatenazione debole) all'inizio dell'ulteriore riga secondaria, quindi accodarla (utilizzando una concatenazione forte) alla fine della riga precedente. Notare che la riga secondaria sarà più lunga di 60 caratteri.


Inizio pagina

x
Sintassi: Come dividere il testo in righe più piccole
PARAG(length, source_string, 'delimiter', max_token_size, output)

dove:

length

Valore intero

Numero di caratteri in source_string e output, o un campo che contiene la lunghezza.

source_string

Alfanumerico

Una stringa per dividere i token racchiusa in virgolette singole, o un campo o variabile che contiene il testo.

delimitatore

Alfanumerico

Il delimitatore racchiuso tra virgolette singole. Scegli un carattere che non appare nel testo.

max_token_size

Valore intero

Limite superiore per le dimensioni di ciascun token.

emissione

Alfanumerico

Nome del campo che contiene il risultato o formato del valore di emissione racchiuso tra virgolette singole”.



Esempio: Divisione del testo in righe più piccole

PARAG divide ADDRESS_LN2 in righe più piccole di non oltre dieci caratteri, utilizzando una virgola come delimitatore. Il risultato viene memorizzato in PARA_ADDR:

TABLE FILE EMPLOYEE
PRINT ADDRESS_LN2 AND COMPUTE
PARA_ADDR/A20 = PARAG(20, ADDRESS_LN2, ',', 10, PARA_ADDR);
BY LAST_NAME
WHERE TYPE EQ 'HSM';
END

L'emissione è:

LAST_NAME        ADDRESS_LN2           PARA_ADDR
---------        -----------           ---------
BANNING          APT 4C                APT 4C    ,
CROSS            147-15 NORTHERN BLD   147-15,NORTHERN,BLD
GREENSPAN        13 LINDEN AVE.        13 LINDEN,AVE.
IRVING           123 E 32 ST.          123 E 32,ST.       ,
JONES            235 MURRAY HIL PKWY   235 MURRAY,HIL PKWY
MCKNIGHT         117 HARRISON AVE.     117,HARRISON,AVE.
ROMANS           271 PRESIDENT ST.     271,PRESIDENT,ST.
SMITH            136 E 161 ST.         136 E 161,ST.

WebFOCUS