Path: csiph.com!news.mixmin.net!aioe.org!.POSTED!not-for-mail From: mmm Newsgroups: it.comp.lang.visual-basic Subject: Re: Parsing di un file di testo Date: Fri, 28 Aug 2015 09:48:27 +0200 Organization: Aioe.org NNTP Server Lines: 58 Message-ID: References: NNTP-Posting-Host: KWjR5b1s4wg4S3nEXlsp4A.user.speranza.aioe.org Mime-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 8bit X-Complaints-To: abuse@aioe.org User-Agent: Mozilla Thunderbird 1.0.2 (Windows/20050317) X-Accept-Language: en-us, en X-Notice: Filtered by postfilter v. 0.8.2 Xref: csiph.com it.comp.lang.visual-basic:18483 aren.hoxha@gmail.com wrote: > Salve a tutti, > > mi servirebbe un consiglio sull'argomento del parsing di un file di testo delimitato da virgole > > La mia situazione al momento è questa : > > > ecc > > quello che vedete sono valori di temperatura e pressione. Ogni valore ha davanti un numero che sarebbe l'ID di quella temperatura. > > le tante virgole delimitano ogni minuto della lettura non si capisce se sono tante linee o un'unica linea, comunque questo e' un fatto secondario ( elaborazione da fare una linea alla volta o in un colpo solo ) > > Quello che vorrei fare è avere i valori dell'ID 13 tutti in un unico array. > > In genere ci saranno circa 700 letture, quindi ogni array avrà 700 elementi. > > Il quesito ora è questo, come faccio a farlo? > > vorrei avere qualcosa tipo : > > array ID13 con valori (28°C, 28°C ......) > array ID17 con valori (-1.00 bar, -1.00 bar...) > NOTA: per i dettagli sulle funzioni usate nel seguito consulta l'help in linea del VB6 Split ti permette suddividere una stringa in un vettore di stringhe specificando il separatore ( la virgola nel caso specifico ) a questo punto ha un vettore che agli indici pari 0,2,4 ... contiene l'ID e agli indici dispari ( 1,3,5 ... ) contiene i valori UBound e LBound ti danno le dimensioni del vettore un ciclo for con passo 2 ed il gioco e' praticamente fatto Redim ri permette di ridimensionare a piacimento un vettore ( per allargarlo secondo necessita' ) soluzione piu' "elegante" ma piu' complessa da implementare e' non usare split, ma scandire la stringa d'input un carattere alla volta alla ricerca delle singole virgole in modo da avere i singoli campi ( alternativamente ID e valore ) ubno alla volta questa soluzione ti permette di scandire file di dati arbitrariamente grandi senza doverli trasformare in un vettore temporaneo. > Grazie.