Visualizzazione dei risultati da 1 a 8 su 8

Discussione: Array a 4 dimensioni??

  1. #1

    Array a 4 dimensioni??

    Buongiorno a tutti! Mi sto incasinando la testa......
    Diciamo che ho questa stringa presa da un cookie:
    codice:
    IDart4=30&quant2=1&IDart1=19&eliminato4=x&eliminato2=o&IDart2=19&eliminato1=o&eliminato3=o&quant3=1&descrizioneopz4=Nessuna+opzione+aggiuntiva&descrizioneopz2=Nessuna+opzione+aggiuntiva&descrizioneopz1=Nessuna+opzione+aggiuntiva&quant1=1&descrizioneopz3=Nessuna+opzione+aggiuntiva&quant4=1&IDart3=49
    Sono dati relativi a 4 articoli (chiaramente potrebbero essere anche di più...). Io vorrei "semplicemente" leggere i dati in modo ordinato per intabellarli.
    La mia idea era creare un array a 4 dimensioni (IDart,quant,eliminato,descrizioneopz) ma non riesco a capire come si fa!!!

    Per ora ho risolto facendo un array ad una dimensione, separando i valori con "$$$", e succesivamente splittandolo. Ma non riesco comunque ad arrivare a quello che voglio!
    Chi mi dà una dritta???
    Sto ancora imparando.... Chiedo comprensione!
    !...Send ME a message...!

  2. #2
    Utente di HTML.it L'avatar di salvod
    Registrato dal
    Feb 2002
    Messaggi
    314
    gli array multidimensionali o matrici vengono realizzate partendo da un array normale e inserendo dentro ogni locazione dell'array un'altro array nel tuo caso di 4 elementi...
    poi per leggere l'array articoli(riga)(colonna)

    riga da 0 a n-1
    colonna da 0 a 3

    cercasi siti con 1000 accessi al giorno di media per testing servizio di statistiche professionale... per info pvt me

  3. #3
    Ciao salvod.
    Si, la teoria la so, l'ho usati spesso per memorizzare i dati da un Recordset con .getRows(), ma in questo caso specifico non so come scrivere la sintassi.
    Ho letto un sacco di cose, sulle funzioni Dim, Redim e Preserve ma niente che mi chiarisse le idee sulla sintassi.... Magari se hai un link che lo spieghi in maniera non solo teorica, io non ho trovato nulla di pratico che possa fare al mio caso.
    (Sono abbastanza imbranata, lo ammetto!)

    Sto ancora imparando.... Chiedo comprensione!
    !...Send ME a message...!

  4. #4
    Utente di HTML.it L'avatar di salvod
    Registrato dal
    Feb 2002
    Messaggi
    314
    io mastico poco VBScript.. preferisco JScript quindi magari sbaglio qualcosa nella sintassi :P se mi spieghi meglio come tiri fuori i dati dal cookie magari buttiamo su un po di codice.. cmq per dichiarare la matrice..
    Dim matrice(5, 4)

    dove 5 sn il numero di articoli e 4 sn le colonne ossia (IDart,quant,eliminato,descrizioneopz)

    per il redim...
    ReDim Preserve matrice(10, 4)


    Salvo
    cercasi siti con 1000 accessi al giorno di media per testing servizio di statistiche professionale... per info pvt me

  5. #5
    Utente di HTML.it L'avatar di Lak3d
    Registrato dal
    Aug 2006
    Messaggi
    1,031
    una matrice a 4 dimensioni??? VVoVe:
    Semmai come dice salvo una matrice a 2 dimensioni...

    codice:
    Dim str As String
    Dim arr() As Variant
    
    str = "IDart4=30&quant2=1&IDart1=19&eliminato4=x&eliminato2=o&IDart2=19&eliminato1=o&eliminato3=o&quant3=1&descrizioneopz4=Nessuna+opzione+aggiuntiva&descrizioneopz2=Nessuna+opzione+aggiuntiva&descrizioneopz1=Nessuna+opzione+aggiuntiva&quant1=1&descrizioneopz3=Nessuna+opzione+aggiuntiva&quant4=1&IDart3=49"
    i = 1
    While (Len(str) > 0)
       start = Left(str, InStr(str, "=") - 1)
       str = Mid(str, InStr(str, "=") + 1)
       If (InStr(str, "&") <> 0) Then
          endr = Left(str, InStr(str, "&") - 1)
       Else
          endr = Mid(str, 1)
       End If
       If (InStr(str, "&") <> 0) Then
          str = Mid(str, InStr(str, "&") + 1)
       Else
          str = ""
       End If
       ReDim Preserve arr(2, i)
       arr(1, i) = start
       arr(2, i) = endr
       i = i + 1
    Wend
    End Sub
    dovrebbe funzionare...

  6. #6
    sono 4 articoli? una matrice a 2 dimensioni, la prima sono le righe (numero di record) la seconda le colonne (campi dei record)
    IP-PBX management: http://www.easypbx.it

    Old account: 2126 messages
    Oldest account: 3559 messages

  7. #7
    Allora, innanzitutto grazie delle risposte.
    Siccome sono testarda, mi sono messa a fare ESPERIMENTI.........
    Ecco il codice che ho scritto (scusate in anticipo se ci sono BESTIALITA', apprezzate la buona volontà.......):

    codice:
    Dim nomecook
    nomecook = "miocookie"
    Dim tot
    tot = 4        ' Questo l'ho scritto così per ora perchè dopo mi servirà dinamico
    
    Redim arrycart1(tot,4)
    for i=1 to tot
    for n=1 to 4
    mystr=Request.Cookies(nomecook)("IDart"&i) & "$$$" & Request.Cookies(nomecook)("descrizioneopz"&i) & "$$$" & Request.Cookies(nomecook)("eliminato"&i) & "$$$" & Request.Cookies(nomecook)("quant"&i)
    
    arrycart0=Split(mystr,"$$$")
    
    arrycart1(i,n)=arrycart0
    next
    next
    Vorrei in questo modo usare i singoli dati dell'array con questa scrittura:

    codice:
    const stringa = 8 
    const data = 7 
    set rst = CreateObject("ADODB.Recordset") 
    
    rst.CursorLocation = 3 
    rst.Fields.Append "IDart", stringa
    '... altri campi
    rst.Open 
    
    for f=1 to 4
    rst.AddNew 
    rst.Fields("IDart").value = arrycart1(f,1) 
    '... altri valori
    next 
    rst.movefirst 
    
    while not rst.EOF 
    Response.Write(UCase(rst("IDart")) & "
    ")
    rst.movenext 
    wend
    Risultato: Ricevo errore alla riga rossa.....
    Microsoft Cursor Engine (0x80040E21)
    Si sono verificati errori in un'operazione composta da più passaggi. Controllare i singoli valori di stato.


    Dove sbaglio?
    :master: :master:
    Sto ancora imparando.... Chiedo comprensione!
    !...Send ME a message...!

  8. #8
    Ho risolto, grazie comunque dell'attenzione.
    Mi sono resa conto che stavo facendo giri inutili, gli array in effetti non mi servivano!
    Saranno i fumi dell'alcool!

    A presto!
    Sto ancora imparando.... Chiedo comprensione!
    !...Send ME a message...!

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 © 2026 vBulletin Solutions, Inc. All rights reserved.