Path: csiph.com!eternal-september.org!feeder.eternal-september.org!aioe.org!.POSTED!not-for-mail From: Franz_aRTiglio Newsgroups: it.comp.lang.visual-basic Subject: Re: Parsing di un file di testo Date: Fri, 28 Aug 2015 15:21:06 +0200 Organization: Aioe.org NNTP Server Lines: 57 Message-ID: References: NNTP-Posting-Host: ENkQHBURNbOKUVlAp4qMAw.user.speranza.aioe.org Mime-Version: 1.0 Content-Type: text/plain; charset="iso-8859-15"; format=flowed Content-Transfer-Encoding: 8bit X-Complaints-To: abuse@aioe.org X-Notice: Filtered by postfilter v. 0.8.2 X-Newsreader: MesNews/1.08.05.00-it X-ICQ: 1931503972 Xref: csiph.com it.comp.lang.visual-basic:18485 Il 27/08/2015, aren.hoxha@gmail.com ha detto : > mi servirebbe un consiglio sull'argomento del parsing di un file di testo > delimitato da virgole Private Sub Command1_Click() Dim Txt2Ck As String, TxtBuf As String, ThePos As Integer Txt2Ck = "13, 28 °C,14, 28 °C,15, 28 °C,22, 27 °C,23, 26 °C,24, 27 °C,33, 26 °C,34, 27 °C,35, 26 °C,36, 27 °C,49, 29 °C,50, 29 °C,51, 29 °C,54, 27 °C,55, 27 °C,56, 27 °C,61, 29 °C,62, 29 °C,63, 29 °C,64, 29 °C,65, 29 °C,66, 29 °C,11,-1.00 bar,18,-0.99 bar,19,-1.00 bar,20,-1.00 bar,21,-0.99 bar,22,-0.99 bar,23,-0.99 bar,25,-1.00 bar,26,-1.00 bar,27,-0.99 bar,28,-1.00 bar,29,-0.99 bar,30,-0.99 bar,31,-0.99 bar,33,-1.00 bar,34,-0.99 bar,35,-0.99 bar,36,-1.00 bar,37,-1.00 bar,38,-0.99 bar,39,-1.00 bar,41,-1.00 bar,42,-0.99 bar,43,-1.00 bar,44,-0.99 bar,45,-1.00 bar,46,-0.99 bar,47,-1.00 bar,65,-1.00 bar,66,-0.99 bar,67,-0.99 bar,68,-0.99 bar,69,-0.99 bar,70,-0.99 bar,71,-0.99 bar,73,-1.00 bar,74,-1.00 bar,75,-0.99 bar,77,-0.99 bar,78,-0.98 bar,81,-0.99 bar,82,-0.99 bar,83,-0.99 bar,84,-1.00 bar,85,-0.99 bar,86,-0.98 bar,87,-0.99 bar,89,-0.99 bar,90,-1.00 bar,91,-1.00 bar,93,-0.99 bar,94,-0.99 bar,,,,,,,,,,,,,,,,,,,," Dim ArrayVal(800, 2) As String For i = 1 To Len(Txt2Ck) If Mid(Txt2Ck, i, 1) <> "," Then TxtBuf = TxtBuf & Mid(Txt2Ck, i, 1) Else If Len(CStr(Val(TxtBuf))) = Len(TxtBuf) Then ThePos = Val(TxtBuf) Else ArrayVal(ThePos, 0) = ThePos If InStr(TxtBuf, "°C") Then ArrayVal(ThePos, 1) = TxtBuf Else ArrayVal(ThePos, 2) = TxtBuf End If End If TxtBuf = "" End If Next i MSFlexGrid1.Rows = 1 MSFlexGrid1.Cols = 3 MSFlexGrid1.TextMatrix(0, 0) = "" MSFlexGrid1.TextMatrix(0, 1) = "°C" MSFlexGrid1.TextMatrix(0, 2) = "Bar" For i = 0 To 800 MSFlexGrid1.AddItem "" MSFlexGrid1.TextMatrix(i + 1, 0) = ArrayVal(i, 0) MSFlexGrid1.TextMatrix(i + 1, 1) = ArrayVal(i, 1) MSFlexGrid1.TextMatrix(i + 1, 2) = ArrayVal(i, 2) Next i End Sub