Newsgroup: it.comp.lang.visual-basic
Titolo: Collection vs Array

Ciao ragazzi....
ho letto su una rivista (un po datata ma sempre validissima) alcuen
differenze tra i due elementi in oggetto....
io vorrei realizzare una function parametrizzata, che mi consenta di
ricercare in un database qualsiasi, un valore qualsiasi da me indicato, in
una qualsiasi tabella al suo interno....
Per agevolarmi il compito e non dover ripetere la query di selezione con la
quale popolo una msfg, ho pensato di caricare i dati letti in precedenza
(all'apertura della form) per visualizzare i dati, in un collection....ma ho
trovato difficolta a incrementarla..essendo la collection priva di indice,
non ho capito come fare per passare all'elemento successivo, e passare i
dati dal recordset alla collection...vorrei usare gli array, ma mi si
presenta il problema inverso...se devo cercare una certa parola, devo
scandire tutto il vettore alla riccerca di tale parola
Cosa mi consigliate?
Ritorno ad usare i recordset, cerco di usare la collection, o mi ammazzo di
cicli con gli array?
Grazie
ps: accetto indirizzi di siti dove delucidarmi sull'uso delle collection e
degli oggetti in generale (vorrei imparare a programmare ad oggetti)

 degli oggetti in generale (vorrei imparare a programmare ad oggetti)
Un programma completamente orientato agli oggetti è 
VB.NET
I libri di Francesco Balena, sia per VB6 che per 
VB.NET
,
sono validi.
Ave
giuseppeD

 Dagli uno sguardo.
E come ti è sembrato?
Ciao

[big cut]
Grazie Giuseppe....
faro come dici..guardero il sito, provero il tuo script e vedro il progetto
Francesco Balena, lo conosco, nel senso che ho letto parecchia roba sua....
Grazie
Emanuele

 E come ti č sembrato?
E' passato piů di un anno dalla comparazione con la classe che utilizzavamo.
Se ricordo, il vantaggio si presentava per un numero elevato di record da
caricare;
per pochi, parliamo di un centinaio di righe da memorizzare,
era piů veloce la nostra.
Ave
giuseppeD

 faro come dici..guardero il sito, provero il tuo script e vedro il
progetto
Per precisare, la classe è di Zanna
Ave
giuseppeD

 era più veloce la nostra.
E la vostra su che "concetto" si basava?
Ciao

 ha scritto nel messaggio
news:c6qf1v$ertf0$2...@ID-184808.news.uni-berlin.de...

Arry
giuseppeD

 Arry
Arry?
No, intendo, su che algoritmi si basava per essere cosě veloce?
Ciao

 No, intendo, su che algoritmi si basava per essere così veloce?
Intendevo Array
Una classe che non utilizzo da parecchio .
L'idea era di incamerare tutta una o più tabelle in memoria,
ed eseguire le varie operazioni con i dati in memoria.
In fase di costruzione del proggetto poteva andare,
ma se la tabella si gonfiava con miglia di righe ?
e se in memoria incameravi i dati di più tabelle ?
In successione l'idea è stata abbandonata,
ma la classe può risultare utile per eventuali impieghi più ristretti.
Leggo il contenuto della classe
presenta una serie di metodi
il costruttore iniziale
Private Sub Class_Initialize()
  ReDim IV(START_SIZE)
  ReDim IK(START_SIZE)
  IMax = START_SIZE
  ICount = 0
End Sub
di seguito un metodo:
Private Function FoundKey(pKey As Variant, Optional pError As Boolean =
True) As Integer
  Dim IX As Integer
  If VarType(pKey) = vbString Then
    For IX = 1 To ICount
      If IK(IX) = pKey Then
        FoundKey = IX
        Exit Function
      End If
    Next
    FoundKey = -1
  Else
    If pKey > 0 And pKey <= ICount Then
      FoundKey = pKey
    Else
      If pError Then
        Err.Raise 520, "XCollection", "Index is out of range" & Chr(13) &
"Current Size: " & str(ICount)
      Else
        FoundKey = -1
      End If
    End If
  End If
End Function
Ci sono metodi per aggiungere, eliminare, leggo un
Private Sub BubbleSort(N As Integer)
Passando a .NET l'ho abbandonata.
Ave
giuseppeD