Pagina 1 di 3 1 2 3 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 26
  1. #1
    Utente di HTML.it L'avatar di zoccolo
    Registrato dal
    Jun 2004
    Messaggi
    430

    Ordinamento di un array

    Ciao,
    vorrei sapere una cosa. Posso creare dinamicamente un array e poi ordinarlo in ordine crescente o decrescente?
    La vita è come una scatola di cioccolatini. Non sai mai quello che ti capita!

  2. #2
    non esistono comandi diretti. devi farlo da solo. esistono tanti algoritmi di sorting. cerca (il piu' semplice e' il bubble sort). in alternativa, puoi creare e popolare un recordset in memoria, e poi usare il comando .sort

  3. #3
    Utente di HTML.it L'avatar di zoccolo
    Registrato dal
    Jun 2004
    Messaggi
    430
    Ho sempre usato i recordset accoppiati al database. Come dovrei generarlo in memoria?
    La vita è come una scatola di cioccolatini. Non sai mai quello che ti capita!

  4. #4
    considera questo stralcio di codice

    codice:
    <% 
    Option Explicit
    
    Dim orsRecord 
    Set orsRecord = Server.CreateObject ("ADODB.RecordSet") 
    
    With orsRecord
    
       .ActiveConnection = Nothing
       .CursorLocation = 3
       .CursorType = 3
    
       .Fields.Append "Campo",200,50
    
       .Open 
       
       .AddNew 
       .Fields("Campo") = "Carlo" 
       .AddNew 
       .Fields("Campo") = "Antonio"
       .AddNew 
       .Fields("Campo") = "Bruno"
       .AddNew 
       .Fields("Campo") = "Ciccio"
       .AddNew 
       .Fields("Campo") = "Dario" 
       .AddNew 
       .Fields("Campo") = "Carlo" 
       .AddNew 
       .Fields("Campo") = "Ciccio" 
       .Update 
    
       Response.Write "Prima" & "
    " 
       .MoveFirst 
       Do While .EOF = False
          Response.Write "... " & .Fields("Campo") & "
    " 
          .MoveNext 
       Loop 
       Response.Flush
    
       .Sort = "Campo ASC" 
    
       Response.Write "Dopo" & "
    " 
       .MoveFirst 
       Do While .EOF = False 
          Response.Write "... " & .Fields("Campo") & "
    " 
          .MoveNext
       Loop 
       Response.Flush
    
       .Close
    	
    End With
    
    Set orsRecord = Nothing
    
    %>

  5. #5
    Utente di HTML.it L'avatar di zoccolo
    Registrato dal
    Jun 2004
    Messaggi
    430
    Mi da questo errore

    ADODB.Recordset (0x800A0CC1)
    Impossibile trovare l'oggetto nell'insieme corrispondente al nome o al numero richiesto.

    codice:
    Dim orsRecord 
    						Set orsRecord = Server.CreateObject ("ADODB.RecordSet") 
    
    						With orsRecord
    
       						.ActiveConnection = Nothing
       						.CursorLocation = 3
       						.CursorType = 3
    
       						.Fields.Append "Campo",200,50
    
       						.Open 
       
    					   .AddNew 
    					   .Fields("Corpo") = Corpo
    					   .AddNew 
    					   .Fields("Quant") = Quant
    					   .Update 
    
    						.MoveFirst 
    
       Response.Flush
    
       .Sort = "Quant Asc" 
    	.MoveFirst 
       Do While .EOF = False 
         ' Response.Write "... " & .Fields("Campo") & "
    "
    	 outStream.Write(Corpo) 
         .MoveNext
       Loop 
       Response.Flush
    
       .Close
    	
    End With
    La vita è come una scatola di cioccolatini. Non sai mai quello che ti capita!

  6. #6
    con .Fields.Append devi crearti la struttura dei campi che ti servono (corpo, quant, ecc)

  7. #7
    Utente di HTML.it L'avatar di zoccolo
    Registrato dal
    Jun 2004
    Messaggi
    430
    Quindi dovrei scrivere
    Fields.Append "Corpo",400,50
    Fields.Append "Quant",10,50
    La vita è come una scatola di cioccolatini. Non sai mai quello che ti capita!

  8. #8
    Utente di HTML.it L'avatar di zoccolo
    Registrato dal
    Jun 2004
    Messaggi
    430
    Il tuo pezzo di codice funziona alla perfezione ma l'ho provato adattandolo alle mie esigenze e mi dà errore

    Tipo di errore:
    Errore di run-time di Microsoft VBScript (0x800A01B6)
    Proprietà o metodo non supportati dall'oggetto: 'Fields'
    /diamont/sviluppo.asp, line 119

    codice:
    Dim orsRecord
    orsRecord=server.CreateObject("ADODB.recordset")
    		
    With orsRecord
      	.ActiveConnection= Nothing
       	.CursorLocation = 3
      	.CursorType = 3
       						
    	.Fields.Append "Articolo",200,50
    					   	.Fields.Append "Descrizione",200,50
       					   	.Fields.Append "Quant",200,50
       	.Open 
    
       	.AddNew 
       	.Fields("Articolo") = Articolo			
       	.AddNew 
       	.Fields("Descrizione") = Descrizione
       	.AddNew 
       	.Fields("Quant") = Quant
      	.AddNew 
       	.Sort = "Quant DEC" 
    
             Do While .EOF = False 
         	 						  
                 Response.Write "... " & .Fields("Articolo") & "
    " 
    							   	  
                 Response.Write "... " & .Fields("Descrizione")  
    	   	   						  
                 Response.Write "... " & .Fields("Quant") 
          	.MoveNext
             Loop 
       Response.Flush
    
       .Close
    	
    End With
    La vita è come una scatola di cioccolatini. Non sai mai quello che ti capita!

  9. #9
    Utente di HTML.it L'avatar di zoccolo
    Registrato dal
    Jun 2004
    Messaggi
    430
    Anzi più precisamente l'errore comincia da quì

    Errore di run-time di Microsoft VBScript (0x800A01B6)
    Proprietà o metodo non supportati dall'oggetto: 'ActiveConnection'
    La vita è come una scatola di cioccolatini. Non sai mai quello che ti capita!

  10. #10
    1. riga dell'errore?
    2. nel sort c'e' scritto DEC invece di DESC

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.