Titolo: Da una lista di elementi in array
Categoria: Codice |
|
Ultimo Aggiornamento: 13/07/04 |
Questo metodo serve a riempire un array di tipo testo con gli elementi di una lista, il cui separatore può essere definito e non limitato ad un carattere. Un suo uso potrebbe essere (vedi gli esempi nel commento): nella lettura di file di testo con i campi separati dal tabulatore, nella individuazione di parole da una frase, delle cartelle in un percorso ad un file, etc
`Metodo: listaInArray
`Nexus srl - www.nexusonline.it
`Descrizione: mette gli elementi di una lista di testo in array
`$0 = ritorna il numero di elementi letti
`Nota:l'array deve essere già dichiarato e passato per parametro
`esempi: $campi:=listaInArray(varLetta;->array_at)
`esempi: $parole:=listaInArray("uno due tre";->array_at;" ")
`esempi: $cartele:=listaInArray("MacHD:Lavori:Personali";->array_at;":")
C_TEXT($1;$3;$lista_t;$separatore_t)
C_POINTER($2;$array_ptr)
C_LONGINT($pos_l;$quanti_l)
$lista_t:=$1 `contiene la lista di parole o termini da leggere
$array_ptr:=$2 `contiene un puntatore ad un array text che conterrà il risultato
If (Count parameters=3)
$separatore_t:=$3 `è opzionale indicare il separatore usato
Else $separatore_t:=Char(9) `altrimenti separatore di default è il Tabulatore
End if ARRAY TEXT($array_ptr->;0) `ridimensiona l'array a zero
$pos_l:=Position($separatore_t;$lista_t) `trova il primo separatore
While ($pos_l#0) `se c'è almeno un separatore
$quanti_l:=Size of array($array_ptr->)+1
INSERT ELEMENT($array_ptr->;$quanti_l) `1 elemento è il default
$array_ptr->{$quanti_l}:=Substring($lista_t;1;$pos_l-1) `estrae il prossimo elemento
$lista_t:=Substring($lista_t;$pos_l+Length($separatore_t)) `e poi lo cancella dalla lista
$pos_l:=Position($separatore_t;$lista_t) `e controlla il prossimo separatore
End while `ne rimane ancora uno, anche se solo vuoto
$quanti_l:=Size of array($array_ptr->)+1
INSERT ELEMENT($array_ptr->;$quanti_l)
$array_ptr->{$quanti_l}:=$lista_t
$0:=$quanti_l
Inviato da: Umberto Migliore |
|
Visite: 12159 |
Se accedi con utente e password, puoi aggiungere dei commenti.