<!-- CF legge il file --> <CFFILE ACTION="Read" FILE="c:\starwars\jarjarmustdie.txt" VARIABLE="file_content">
<!-- Per visualizzare il file su schermo --> <CFOUTPUT> #file_content# </CFOUTPUT>
Se utilizzate questo codice noterete che coldfusion non tiene conto degli a capo scritti nel file. infatti li visualizza in una riga sola. Cercheremo ora di assicurarci che CF riconosca gli a capo del file originale, e visualizzi soltanto delle linee specifiche del file, diciamo le righe da 10 a 200 Per fare questo, avremo bisogno dell’aiuto degli array (vettori) e del tag <CFLOOP> se non conoscete uno di questi od entrambi vi raccomando il sito ufficiale dell’allaire, purtroppo è in inglese, cercherò prossimamente di tradurre alcuni tag in modo che siano consultabili dal sito etechs.it. Dateci comunque un’occhiata: Allaire documentation
Il codice ASCII 10 significa “nuova riga” detto CR (Carriedge Return) ed anche se noi non lo vediamo scritto sul file, esso esiste, il riferimento a quel carattere in CF si fa così: #Chr(10)#
<!-- Visualizzazione riga per riga --> <CFLOOP List="#file_content#" Index="rc" Delimiters="#Chr(10)#"> <CFOUTPUT> #rc#<BR> </CFOUTPUT> </CFLOOP>
<!-- Ogni riga diventa un elemento dell'array --> <CFSET file_array = ArrayNew(1)> <CFLOOP List="#file_content#" Index="rc" Delimiters="#Chr(10)#"> <CFSET rc = ArrayAppend(file_array, rc)> </CFLOOP> <!-- possiamo quindi visualizzarle singolarmente --> <CFOUTPUT> Line 1: #file_array[1]#<BR> Line 3: #file_array[3]#<BR> Line 5: #file_array[5]# </CFOUTPUT>
<!-- CF legge il file --> <CFFILE ACTION="Read" FILE="c:\starwars\jarjarmustdie.txt" VARIABLE="file_content"> <!-- Ogni riga diventa un elemento dell'array --> <CFSET file_array = ArrayNew(1)> <CFLOOP List="#file_content#" Index="rc" Delimiters="#Chr(10)#"> <CFSET rc = ArrayAppend(file_array, rc)> </CFLOOP> <!-- per visualizzare le righe dalla 10 all 200 utilizzando CFLOOP --> <CFLOOP INDEX="loopcount" FROM="10" TO="200"> <CFOUTPUT> #file_array[loopcount]#<BR> </CFOUTPUT> </CFLOOP>
Congratulazioni avete imparato a visualizzare le singole linee di un file di testo
]]>