Visualizzazione dei risultati da 1 a 7 su 7

Discussione: array invertito

  1. #1
    Utente di HTML.it
    Registrato dal
    Mar 2005
    Messaggi
    43

    array invertito

    Salve volevo porvi un quesito, ho un file che legge le linee di un txt e le va a posizionare in un array e me lo stampa a video. Volevo sapere se esite una funzione o qualcosa che mi parte dalla riga + bassa all'ultima riga. Vi posto il codice...

    <%
    Dim strLinea, FileObject, Instream, intVisite, intTipo, OutStream, i, k, arrMsg(1300), fine, allMsg
    'stringa è la variabile che viene passata da Flash e contiene il nuovo messaggio
    'dell'utente così composto : "nickname - messaggio"

    stringa = Trim(Request("stringa"))
    strFile = Server.MapPath("public/msg.txt")

    ' creo l'oggetto
    Set FileObject = Server.CreateObject("Scripting.FileSystemObject")
    'apro in lettura
    intTipo = 1 ' lettura
    Set InStream = FileObject.OpenTextFile(strFile,IntTipo,true)
    'aggiungo la data al nuovo messaggio inviato dall'interfaccia Flash e metto questo messaggio al primo posto
    'dell'array che conterrà tutti i messaggi della chat
    i = 0
    arrMsg(i) = FormatDateTime(Now(),3)&" - "&stringa

    'con questo ciclo while leggo tutte le righe del file di testo e le metto
    ' ad una ad una nell'array. su ogni riga c'è un messaggio diverso
    Do While not InStream.AtEndOfStream
    StrLinea = InStream.ReadLine()
    i=i+1
    arrMsg(i) = StrLinea
    'Response.Write(arrMsg(i))
    Loop

    'questo è un commento che può servirvi per visualizzare tutto il contenuto
    'dell'array
    'Response.Write(arrMsg(i))

    Set OutStream = FileObject.CreateTextFile(strFile, true)
    'verifico quanti messaggi sono presenti nella chat
    if i>1300 then
    fine=1300
    else
    fine=i
    end if
    k=0

    'adesso leggo il contenuto dell'array dove ho memorizzato i messaggi della chat
    'e scrivo sul file di testo su ogni riga un messaggio e allo stasso modo metto
    'tutti i messaggi separandoli dal
    in una variabile chiamata allMsg, questa
    'variabile verrà quindi inviata a Flash per visualizzare i messaggi della chat
    Do While k<=fine
    OutStream.WriteLine(arrMsg(k))
    allMsg=allMsg&arrMsg(k)&"
    "
    'Response.Write(arrMsg(k)&"
    ")
    k=k+1
    Loop
    OutStream.Close
    Set OutStream = Nothing
    InStream.Close
    Set InStream = Nothing

    ' libero risorse
    Set FileObject = Nothing
    'Response.Write("ok")

    'invio a Flash tutti i messaggi della chat
    Response.Write("corpo="&allMsg)
    %>

    grazie in anticipo

  2. #2
    Dato un array
    codice:
    for i = uBound(myArray) to lBound(myArray) step -1
    response.write myArray(i) & "
    "
    next

  3. #3
    Utente di HTML.it
    Registrato dal
    Mar 2005
    Messaggi
    43
    non ho capito scusa... la sintassi è sbagliata

  4. #4
    a me la sintassi pare invece corretta. posta il tuo codice e l'errore che ottieni

  5. #5
    Moderatore di JavaScript L'avatar di br1
    Registrato dal
    Jul 1999
    Messaggi
    19,998

    Re: array invertito

    cambia:
    codice:
    
    if i>1300 then
    fine=1300
    else
    fine=i
    end if
    k=0
    
    'adesso leggo il contenuto dell'array dove ho memorizzato i messaggi della chat
    'e scrivo sul file di testo su ogni riga un messaggio e allo stasso modo metto
    'tutti i messaggi separandoli dal 
     in una variabile chiamata allMsg, questa
    'variabile verrà quindi inviata a Flash per visualizzare i messaggi della chat
    Do While k<=fine
    OutStream.WriteLine(arrMsg(k))
    allMsg=allMsg&arrMsg(k)&"
    "
    'Response.Write(arrMsg(k)&"
    ")
    k=k+1
    Loop
    in
    codice:
    
    fine = i - 1300
    if fine < 0 then fine = 0
    k = i
    
    'adesso leggo il contenuto dell'array dove ho memorizzato i messaggi della chat
    'e scrivo sul file di testo su ogni riga un messaggio e allo stasso modo metto
    'tutti i messaggi separandoli dal 
     in una variabile chiamata allMsg, questa
    'variabile verrà quindi inviata a Flash per visualizzare i messaggi della chat
    Do While k>=fine
    OutStream.WriteLine(arrMsg(k))
    allMsg=allMsg&arrMsg(k)&"
    "
    'Response.Write(arrMsg(k)&"
    ")
    k = k-1
    Loop
    ciao
    Il guaio per i poveri computers e' che sono gli uomini a comandarli.

    Attenzione ai titoli delle discussioni: (ri)leggete il regolamento
    Consultate la discussione in rilievo: script / discussioni utili
    Usate la funzione di Ricerca del Forum

  6. #6
    Utente di HTML.it
    Registrato dal
    Mar 2005
    Messaggi
    43
    Vi ringrazio ragazzi della disponibilità. Per br1, io avevo provato di fare una cosa del genere ma c'è qualcosa di sbagliato. All'aggiornamento della pagina mi da l'ora in ordine crescente, cioè partendo dall'alto, dalla più vecchia alla più recente, ma ogni volta che riaggiorno la pagina, la penultima data me la ritrovo all'inizio e così via per tutte.. Esempio:

    12.06.00
    12.03.00
    12.04.00
    12.05.00
    12.07.00

    Come potrei ovviare sto problema? Sto perdendo la testa appresso sta cosa. Grazie anticipatamente.

  7. #7
    Utente di HTML.it
    Registrato dal
    Mar 2005
    Messaggi
    43
    nessuno mi sa spiegare questo mistero?

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.