21 messaggi dal 04 gennaio 2005
Buongiorno a tutti
Ho bisogno di un suggermiento nel caso in cui quello che voglio fare sia possibile.

Ho un file *.txt che non è altro che una esportazione di dati da un programma che gestisce classifiche. Tale file ha inserito tutti i giocatori con i loro dati sulla gara.

Ora vorrei leggerlo da ASP senza però dover cambiare estensione al file.
Credo sia possibile un po' come avviene con la lettura di un file di excel.

Il problema è questo.
Io dovrei leggerlo non tutto ma solo quello che mi interessa, cioè.
Quando trova
I0000AA
salta 17 righe e legge la riga 18^
poi salta altre 4 righe e legge la successiva
poi salta altre 4 righe e legge la successiva
poi salta 2 righe e legge la successiva che corrisponderà a
I0001AB
ecc.

tutto ciò è possible? immagino di si
ma come?

Grazie
10 messaggi dal 19 marzo 2012
io copierei tutto il contenuto del file che devi leggere in un vettore e poi con un for passerei in rassegna le righe di questo vettore
21 messaggi dal 04 gennaio 2005
leggere tutto il file ok, so come fare.
il resto non ho capito
10 messaggi dal 19 marzo 2012
For Each riga In vettore
If riga= "blablabla" Then
riga= riga+ 17
End If
Next riga

E ripeti con le altre condizioni che ti interessano
10 messaggi dal 19 marzo 2012
Oppure fai così:

Dim fsoMyFile
Dim tsTextStream
Dim sTesto

fsoMyFile = CreateObject("Scripting.FileSystemObject")
'Apertura del file, in lettura dati (1).
tsTextStream = fsoMyFile.OpenTextFile(Server.MapPath("miofile.txt"), 1)

'Legge una riga da un file.
sTesto = tsTextStream.ReadAll
Dim TestoIntero() As String
TestoIntero = Split(sTesto, vbCrLf)
'Chiude il file.
tsTextStream.Close()
Dim TestoCorretto() As String
For i = 0 To TestoIntero.Length
If TestoIntero(i) = "riga da saltare" Then
TestoIntero(i) = TestoIntero(i + 17)
End If
ReDim Preserve TestoCorretto(i)
TestoCorretto(i) = TestoIntero(i)
Next

Non l'ho provato ma dovrebbe funzionare
21 messaggi dal 04 gennaio 2005
non riesco a farle funzionare ne una ne l'altra
21 messaggi dal 04 gennaio 2005
per il secondo esempio mi da errore di prevista fine istrizione alla riga

Dim TestoIntero() As String
10 messaggi dal 19 marzo 2012
Ho dimenticato l'aggiornamento del contatore del for altrimenti va oltre i limiti del vettore

Dim TestoCorretto() As String
For i = 0 To TestoIntero.Length
If TestoIntero(i) = "riga da saltare" Then
TestoIntero(i) = TestoIntero(i + 17)
i = i + 17
End If
ReDim Preserve TestoCorretto(i)
TestoCorretto(i) = TestoIntero(i)
Next

Torna al forum | Feed RSS

ASPItalia.com non è responsabile per il contenuto dei messaggi presenti su questo servizio, non avendo nessun controllo sui messaggi postati nei propri forum, che rappresentano l'espressione del pensiero degli autori.