Visualizzazione dei risultati da 1 a 7 su 7
  1. #1

    Conversione da JScript a VBScript

    Ciao, sto convertendo una chat scritta in JScript in VBScript.
    La parte di codice che mi da problemi riguarda la visualizzazione degli utenti collegati.
    La lista degli utenti viene memorizzata in una Application chiamata "online" con delimitatore $.
    Quindi come prima cosa viene splittata la stringa online in stringa_utente
    Codice PHP:
    var stringa_utente online.split("$"); 
    e poi viene effettuato questo ciclo:
    Codice PHP:
    for (i=0;i<stringa_utente.length;i++) { 
    Io ho riscritto il tutto in VBScript in questo modo:
    Codice PHP:
    stringa_utente Split(online"$""-1")
    For 
    0 to Len(stringa_utente
    Ma ricevo un errore nella riga corrispondente al ciclo:

    Errore di run-time di Microsoft VBScript- Error '800a000d'
    Tipo non corrispondente: 'stringa_utente'
    /siti/tdd/chat_leggi.asp, line 25

    A questo punto l'unico dubbio che ho riguarda la funzione Len() che a quanto pare non riesce a lavorare sul vettore stringa_utente, mentre in JScript la stessa proprietà .length funziona perfettamente...
    Qualcuno sa come risolvere il problema??
    http://www.firesoftweb.it - Servizi gratuiti per il tuo sito web: forum, guestbook, contatori visite...

  2. #2
    Moderatore di ASP e MS Server L'avatar di Roby_72
    Registrato dal
    Aug 2001
    Messaggi
    19,559
    codice:
    For i = 0 to Ubound(stringa_utente)
    Roby

  3. #3
    Grazie, funziona perfettamente!
    Adesso pero ho un problema un po piu avanti.
    Prima del ciclo che ho postato sopra veniva inizializzata la variabile booleana cisono = false
    Questa serviva poi per determinare se l'utente che sta visualizzando la pagina è gia dentro l'application online oppure se lo devo inserire.
    Nel caso in cui dopo il ciclo cisono sia ancora false procederei all'aggiunta in fondo all'array del nuovo utente.
    In JScript è stato scritto:
    Codice PHP:
    if (!cisono)
    stringa_utente[stringa_utente.length] = nickname "@" t
    Io l'ho convertita cosi:
    Codice PHP:
    If Not cisono Then stringa_utente(Ubound(stringa_utente)) = nickname "@" 
    E restituisce questo errore:

    Errore di run-time di Microsoft VBScript- Error '800a0009'
    Indice non incluso nell'intervallo: 'Ubound(...)'
    /siti/tdd/chat_leggi.asp, line 35
    http://www.firesoftweb.it - Servizi gratuiti per il tuo sito web: forum, guestbook, contatori visite...

  4. #4
    Moderatore di ASP e MS Server L'avatar di Roby_72
    Registrato dal
    Aug 2001
    Messaggi
    19,559
    codice:
    If Not cisono Then
    Redim stringa_utente(Ubound(stringa_utente)+1)
    stringa_utente(Ubound(stringa_utente)+1) = nickname & "@" & t
    end if

    Se stringa_utente è un array devi ridimensionarlo aggiungendo un elemento (l'ultimo) e poi valorizzarlo.

    Roby

  5. #5
    Stranissimo, ora nella riga
    codice:
    stringa_utente(Ubound(stringa_utente)+1) = nickname & "@" & t
    Restituisce questo errore:
    Errore di run-time di Microsoft VBScript- Error '800a0009'
    Indice non incluso nell'intervallo: '[number: 1]'
    /siti/tdd/chat_leggi.asp, line 38

    Se faccio un response.write di Ubound(stringa_utente) restituisce -1 quindi con quella procedura la ridimensionerei a 0 e dovrebbe funzionare...
    http://www.firesoftweb.it - Servizi gratuiti per il tuo sito web: forum, guestbook, contatori visite...

  6. #6
    Moderatore di ASP e MS Server L'avatar di Roby_72
    Registrato dal
    Aug 2001
    Messaggi
    19,559
    mmm stringa_utente non è un array lì ma solo una stringa...
    Quindi farei una cosa del genere.

    codice:
    If Not cisono Then
    stringa_utente = stringa_utente &" nickname & "@" & t
    end if

  7. #7
    Ho trovato l'errore
    C'era un +1 di troppo nella riga
    codice:
    stringa_utente(Ubound(stringa_utente)+1) = nickname & "@" & t
    infatti quando esegue questa riga l'array era gia stata ridimensionata e quindi un ulteriore +1 andrebbe a cercare l'indice successivo che si trova ancora fuori dall'array!

    Comunque grazie di tutto!

    Certo che in JScript è molto più semplice non ridimensionano neanche l'array!!
    http://www.firesoftweb.it - Servizi gratuiti per il tuo sito web: forum, guestbook, contatori visite...

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.