Manipolazione dati / Conversioni / Altro

La necessità di elaborare i dati provenienti dal database, la scrittura di procedure che generano il comportamento dell'applicazione, l'invio di dati attraverso il protocollo Http o verso funzioni Javascript, spesso impone l'uso di un certo tipo di dato o l'uso di certi caratteri di rappresentazione.
Highway Application Server mette a disposizione le funzioni di conversione di cui necessita il programmatore che sviluppa applicazioni web utilizzando Javascript, Html con Highway Language.

Sui valori interi e a virgola mobile si possono eseguire copie con %NUMCPY% e %FLOATCPY%.

La necessità di convertire un dato numerico in un formato stringa (con %ITOA%) o viceversa (con %ATOI%) oppure da e verso numeri in virgola mobile (%ATOF% e %FTOA%); conversioni da virgola mobile a interi (%FTOI%), da interi a binari (%ITOM%) e viceversa (%MTOI%), da stringhe ANSI a OEM con %ANSI2OEM% e reciprocamente con %OEM2ANSI%, oppure ancora per conversioni personalizzate utilizzando %MASK% e %UNMASK% o fra numeri esadecimali e binari (%BIN2HEX% e %HEX2BIN%).

Grande importanza assumono pure le funzioni di elaborazione delle stringhe:
sono consentite operazioni di copia mediante %STRCPY%, concatenamenti con %STRCAT%, sostituzioni di sottostringhe con %STRCHG% (e indipendenti dal case con %STRICHG%), ricerche di sottostringhe case sensistive o insensitive con %STRSTR%, %STRISTR%, %STRSTRFROM%, %STRSTRIFROM% o %STRPBRK%, estrazioni di sottostringhe %MID%, %CLASSCOPY%, confronti case sensistive o insensitive fra stringhe %STRCMP% e %STRICMP%, modifica del case %STRLOWER%, %STRUPPER% ecc...
Oppure funzioni sulle stringhe di utilità generale come le %LEFTTRIM% e %RIGHTTRIM% che eliminano gli spazi in testa ed in coda, la %STRLEN% per conoscere la dimensione in byte occupata da una variabile alfanumerica; la %STRCOUNT% e la rispettiva %STRICOUNT% case insensitive per determinare il numero delle occorrenze di una stringa all'interno di un'altra; oppure la %STRBEGIN% che antepone una stringa ad una variabile stringa esistente.

Highway Application Server mette a disposizione anche funzioni per l'elaborazione di aree di memoria individuate da variabili di tipo stringa : %MEMSET% per settare ad un valore, %MEMCMP% e %MEMICMP% per i confronti e %MEMCPY% per le copie di aree in altre aree di memoria.

La dimensione massima disponibile per il buffer di entrata/uscita in funzioni di elaborazione delle stringhe è fissata in 1 megabyte.

L'uso della riga di comando o dell'href di un form per l'invio di coppie chiave-valore potrebbe necessitare di conversioni fra differenti set di caratteri : %str2html%, %qstring%, %parse% ecc... risolvono i problemi di passaggio di caratteri particolari, come apici, barre retroverse ecc... fra ambienti diversi come il Javascript ed attraverso il protocollo http.

Di particolare importanze le funzioni di elaborazione / conversione dei tipi data da e verso la base dati Highway ed i formati internazionali di rappresentazione (%DATE%, %DATE2ATTR%, %DATE$%) o verso espressioni numeriche che consentono di eseguire operazioni matematiche fra date (%DATE2JD% e %JD2DATE%).