File txt

lunedì 16 ottobre 2006 - 11.02

cibi74 Profilo | Newbie

Ciao a tutti, ho un problema con un file di testo...dovrei estrapolare solo alcuni caratteri da una riga, che è:

2006.10.13 17:49 A E:\prologs_edi\db07\ftp_out_sending\Copy (2) of 00120592.dat --> 2.16.250.12/ftp/ftptest/copy (2) of 00120592.dat


io devo riuscire a tirar fuori solo l' ultima parte, cioè 00120592.dat

Qualcuno mi dà una mano?

us01739 Profilo | Expert

>Ciao a tutti, ho un problema con un file di testo...dovrei estrapolare solo alcuni caratteri da >una riga, che è:

Ciao,

>2006.10.13 17:49 A E:\prologs_edi\db07\ftp_out_sending\Copy (2) of 00120592.dat --> >2.16.250.12/ftp/ftptest/copy (2) of 00120592.dat


>io devo riuscire a tirar fuori solo l' ultima parte, cioè 00120592.dat

Prova così:
Il codice sorgente non è stato renderizzato qui
perchè non c'è sufficiente spazio.
Clicca qui per visualizzarlo in una nuova finestra


Bye Bye

---------------------------------------------------
Roberto Gelmini - Microsoft Certified Professional
www.robertogelmini.com
---------------------------------------------------

cibi74 Profilo | Newbie

Si così funziona, il problema è che la stringa viene letta da un file di testo con:

---------------------------------------------------------------------------------------------------------------------------------------------
Dim myFileStream As FileStream
Dim myStreamReader As StreamReader

' Apro il file
myFileStream = New FileStream("E:\ftp_logs\ws_ftp.log", FileMode.Open, FileAccess.Read, FileShare.Read)
' Leggo l'output con la classe stream reader
myStreamReader = New StreamReader(myFileStream)

' Visualizzo il contenuto del file
MsgBox(myStreamReader.ReadLine)
---------------------------------------------------------------------------------------------------------------------------------------------

quindi dovrei applicare il tuo suggerimento a "myStreamReader.ReadLine"...molto arduo per me...

us01739 Profilo | Expert

Prova così:
Dim tr As TextReader = File.OpenText("C:\file.txt")
Dim line As String = ""
Dim str As String =""
Do
line = tr.ReadLine()
If (line.contains(".dat") Then
str=line.substring (lung -12)
End If
Loop While (line <> Nothing)
tr.Close()
messagebox.show (str)
Bye Bye

---------------------------------------------------
Roberto Gelmini - Microsoft Certified Professional
www.robertogelmini.com
---------------------------------------------------

cibi74 Profilo | Newbie

Ok perfetto...mi manca solo una cosina, io avrò moltissime righe nel mio txt e devo processarlo tutte, in questo modo però me ne fà solo 1.

us01739 Profilo | Expert

Prova così:
Dim tr As TextReader = File.OpenText("C:\file.txt")
Dim line As String = ""
Dim str As String =""
Do
line = tr.ReadLine()
If (line.contains(".dat") Then
str=str & line.substring (line.lenght -12) & ";" 'CREO UNA STRINGA DIVISA DA ;
End If
Loop While (line <> Nothing)
tr.Close()
str=str.substring (1, (str.lenght-1)) 'RIMUOVO L'ULTIMO ;
dim array_str as string () = str.split (";") 'CREO L'ARRAY DI VALORI SINGOLI
for each s as string in array_str
messagebox.show (s)
next



Bye Bye

---------------------------------------------------
Roberto Gelmini - Microsoft Certified Professional
www.robertogelmini.com
---------------------------------------------------

cibi74 Profilo | Newbie

non funziona, mi dice che "contains" non è un membro di string

us01739 Profilo | Expert

Il codice che ti ho suggerito è sicuramente funzionante con il framework 2.0
Tu per caso stai utilizzando 1.1? Forse in questo caso l'istruzione è del tipo:

if instr (str,";",1) > 0 then
.....
end if
Bye Bye

---------------------------------------------------
Roberto Gelmini - Microsoft Certified Professional
www.robertogelmini.com
---------------------------------------------------
Partecipa anche tu! Registrati!
Hai bisogno di aiuto ?
Perchè non ti registri subito?

Dopo esserti registrato potrai chiedere
aiuto sul nostro Forum oppure aiutare gli altri

Consulta le Stanze disponibili.

Registrati ora !
Copyright © dotNetHell.it 2002-2024
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5