Sviluppo4d.it
Sito indipendente di informazioni tecniche per sviluppatori 4th Dimension italiani  

Sviluppatori 4D

Utility 4D

Risorse 4D



4d logo
Naviga: Prev Next

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: 5963

Se accedi con utente e password, puoi aggiungere dei commenti.


Accesso

User: Nuovo
Pass: Accedi

Utenti Registrati

Cerca

Se non trovi le informazioni che cerchi scrivi a aiuto@sviluppo4d.it

4D Principali

4D Discussioni

Faq random


Crediti

Dominio registrato da ZetaNet
Sito realizzato da Nexus srl
4D SQL 11.9.0 offerto da 4D & Italsoftware
Icone di FAMFAMFAM
Moderato da Umberto Migliore
264 utenti registrati

Pagina servita il 28/06/17 alle 00:27:50 Valid HTML 4.01! Valid CSS!

Mutuo Facile, Serie Filmcards, Serie Singloids e altre app di Nexus srl per iPhone e iPad

Cidroid, distributore italiano lettori barcode per Apple iPhone, iPod, iPad della IPC