Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 13
  1. #1

    [VB6]Oggetti e collezioni

    Ciao a tutti, devo capire e creare un oggetto con le sue collezioni, solo che non ho capito in modo pratico come si fà, qualcumo mi può fare un'esempio completo, ma non complesso.
    Quello che devo fare e estrarre le mail di una casella in pop3 e inserire le informazioni in un mio oggetto mail, quindi se verifico che ci sono due email dovrò avere due istanze di un'oggetto che comprende delle proprità tipo:idmail, body, to

    obj(1).idmail
    obj(1).body
    obj(1).to

    obj(2).idmail
    obj(2).body
    obj(2).to

    come costruisco l'oggetto materialmente con vb?

  2. #2
    idee?..vuol dire che nessuno ha mai fatto oggetti e collezioni in vb? VVoVe:

  3. #3
    troppo difficile?

  4. #4
    non era poi così difficile..ciao a tutti

  5. #5
    Ci sono mille modi, + o - opportuni... da semplici vettori come facevo i primi giorni che programmavo, a strutture (type) o classi...
    idee?..vuol dire che nessuno ha mai fatto oggetti e collezioni in vb?
    troppo difficile?
    (un'ora e venti minuti tra questo commento ed il precedente, peraltro in un orario in cui il pc non so nemmeno cos'è)
    non era poi così difficile..ciao a tutti
    Credo che quasi tutti qui dentro sappiano darti una risposta. Per quel che riguarda me ogni volta che leggo una tua domanda e i post che immancabilmente seguono mi passa la voglia e passo alla successiva.
    Per gli altri invece mi sbatto in 2, spesso faccio un po' di ricerche e ci perdo ore. Magari non trovo neanche io la soluzione, ma lo faccio volentieri.
    Do per scontato che quasi tutti condividano il mio parere...

  6. #6
    Creo un classe in cui definisco le definizioni esplicite

    classe1.cls avrà al suo interno l'oggetto persona in cui definisco le sue proprietà che sono nome, cognome, età
    codice:
    option explicit
    
    public nome as string
    public cognome as string
    public eta as integer
    questo è l'oggetto, poi creo la collezzione..quindi altra classe(cls_C_persona)

    codice:
    Private mCol As Collection
    
    Public Function Add(Optional sKey As String) As classe1
        'create a new object
        Dim objNewMember As classe1
        Set objNewMember = New classe1
    
    
        'set the properties passed into the method
        If Len(sKey) = 0 Then
            mCol.Add objNewMember
        Else
            mCol.Add objNewMember, sKey
        End If
    
    
        'return the object created
        Set Add = objNewMember
        Set objNewMember = Nothing
    End Function
    Public Property Get Item(vntIndexKey As Variant) As classe1
        'used when referencing an element in the collection
        'vntIndexKey contains either the Index or Key to the collection,
        'this is why it is declared as a Variant
        'Syntax: Set foo = x.Item(xyz) or Set foo = x.Item(5)
      Set Item = mCol(vntIndexKey)
    End Property
    
    
    
    Public Property Get Count() As Long
        'used when retrieving the number of elements in the
        'collection. Syntax: Debug.Print x.Count
        Count = mCol.Count
    End Property
    
    
    Public Sub Remove(vntIndexKey As Variant)
        'used when removing an element from the collection
        'vntIndexKey contains either the Index or Key, which is why
        'it is declared as a Variant
        'Syntax: x.Remove(xyz)
    
    
        mCol.Remove vntIndexKey
    End Sub
    Private Sub Class_Initialize()
        'creates the collection when this class is created
        Set mCol = New Collection
    End Sub
    
    
    Private Sub Class_Terminate()
        'destroys collection when this class is terminated
        Set mCol = Nothing
    End Sub
    ora l'oggetto e collezioni sono servite...sarà grezzo, magari nemmeno troppo perfetto per i guru di questo forum..ma almeno lo sforzo lo fatto.

    Ciao a tutti

  7. #7
    Utente di HTML.it L'avatar di Brainjar
    Registrato dal
    Nov 2004
    Messaggi
    1,162
    Intanto mi sembra che il tuo sforzo sia un copia ed icolla.
    Basta vedere i commenti in inglese.
    Ci spieghi, passo passo cosa hai ... incollato ?
    Prima di tutto i nomi delle classi andrebbero scambiati.
    Infatti la classe classe1 ha tutte le caratteristiche per essere
    la classe cls_C_persona.
    In quest'ultima non si fa altro che utilizzare i metodi Add e Remove
    e le proprietà Index e Count, come ti avevo suggerito 3 ore fa.
    In secondo luogo hai un oggetto di classe classe1 che non è
    progettato secondo le elementari regole riferite agli oggetti.
    Le proprietà nome, cognome e eta' dovrebbero essere gestite mediante
    i metodi property Get e Let. In cui dovresti avere un minimo di
    controllo sull'input.

    Passi per la grettezza dell'oggetto. Ma non pretenderai di farlo
    passare come 'sforzo' il tuo brutale cut&paste.

    Ciao,

    PS. Non blatero, sviluppo software per Assicurazioni e Banche.
    Se vai in uno qualsiasi degli sportelli del SANPAOLOIMI, i programmi
    che utilizzano allo sportello sono scritti in VB60, da me e dai miei
    colleghi in collaborazione con il team di Microsoft Italia.
    Non pretendo di essere un guru, come il mitico Francesco Balena, ma
    insegno programmazione OOP (Java) e non (VB60) da molti anni.
    Fin da piccolo, però, ho appreso le basi per qualunque attività
    avessi dovuto svolgere da grande, le buone maniere e l'educazione.
    Ciao, Brainjar

  8. #8
    ah avevi suggerito?..scusa, ma dopo 3 righe ho smesso di leggere.

    grazie lo stesso.addio

  9. #9
    Utente di HTML.it L'avatar di Brainjar
    Registrato dal
    Nov 2004
    Messaggi
    1,162
    Invece sono sicuro che hai letto tutto il mio messaggio.
    Il tuo post di replica me lo conferma. E confermi anche l'opinione
    che mi sono fatto di te.
    Per l'addio, non me ne può importare di meno. Eri tu ad avere
    bisogno.

    Ciao,
    Ciao, Brainjar

  10. #10
    magari facciamo le persone adulte e smettiamo di punzecchiarci nel forum?

    meglio..no?..ciao

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.