+ Rispondi
Risultati da 1 a 10 di 10

Discussione: Array o simili???

  1. #1
    Neofita della community
    reputazione complessiva: 1 1

    Messaggi
    73

    Array o simili???

    Ciao a tutti...
    con il mio progettino Vb.net porto su una variabile String il contenuto di un file di testo così formattato:

    "Giovanni";"Rossi";33;"biondo";"Tiberio";"Bianchi" ;29;"biondo";"Luciano";"Bucci";44;"pelato"

    Si noti che nell'ordine sono: nome;cognome;anni;capelli;nome;cognome;anni;capell i;nome;cognome;anni;capelli;

    Come posso organizzarli meglio?
    Nel senso, se volessi successivamente (per esempio) sapere l'età di Tiberio come faccio???

    Pensavo a qualcosa tipo array ma, evidentemente più complesso, non so.
    Mi aiutate?

    Grazie

  2. #2
    Collega della community L'avatar di Fix978
    reputazione complessiva: 48 48

    Messaggi
    983
    Blogs
    2
    Sicuramente devi rivedere il metodo di salvataggio perchè così non va bene.

    Potresti creare la Classe "persona", con le proprietà che ti interessano (nome,cognome,anni,capelli) e poi decidere se inserirli in una lista e serializzare la lista, oppure se serializzare direttamente come "persone" singole.

    Successivamente, deserializzando, avrai a disposizione le "persone" cosi come le avrai salvate.
    VB.Net: {Extension Methods} {Lambda Expressions}
    HowTo: {Windows 7 - Installare il Sistema su C e la cartella Users su D}

    è il metodo migliore per ringraziare chi ti è stato di aiuto.

  3. #3
    Neofita della community
    reputazione complessiva: 1 1

    Messaggi
    73
    Riesco a formattare così:
    "Giovanni";"Rossi";33;"biondo";
    "Tiberio";"Bianchi" ;29;"biondo";
    "Luciano";"Bucci";44;"pelato"

    (cioè ogni persona nella propria riga.....)
    Meglio?
    Consigli?

  4. #4
    Collega della community L'avatar di Fix978
    reputazione complessiva: 48 48

    Messaggi
    983
    Blogs
    2
    Già va meglio, però, se ho capito bene il tipo di progetto che vuoi realizzare, il file di testo non è idoneo.

    Dovresti orientarti o sui DataBase, oppure sulle serializzazioni XML per i salvataggi dei dati.

    Sorvolando momentaneamente il metodo di salvataggio, dovresti creare una "Classe Persona" - con le proprietà giuste - per associare i dati salvati.

    Es:
    Codice:
    Public Class Persona
     Public Nome As String
     Public Cognome As String
     Public Anni As UShort
     Public Capelli As String
     
     Public Sub New(ByVal _nome As String, ByVal _cognome As String, ByVal _anni As UShort, ByVal _capelli As String)
         Me.Nome = _nome
         Me.Cognome = _cognome
         Me.Anni = _anni
         Me.Capelli = _capelli
     End Sub
    End Class
    
    Poi associare i dati:
    Codice:
    Dim p As New Persona("Nome", "Cognome", 0, "Colore")
    Poi le persone potrai inserirle o in una matrice o in una lista.

    Per effettuare delle ricerche in base ad una proprietà, o ti scorri l'intero contenitore effettuando un confronto, o utilizzi LINQ per effettuare una Query.
    VB.Net: {Extension Methods} {Lambda Expressions}
    HowTo: {Windows 7 - Installare il Sistema su C e la cartella Users su D}

    è il metodo migliore per ringraziare chi ti è stato di aiuto.

  5. #5
    Collega della community L'avatar di bumm
    reputazione complessiva: 29 29

    Messaggi
    862
    Sono d'accordo con Fix978 ma sostituirei le variabili pubblici con le proprietà adeguate. es:

    Codice:
    ...
    ..
        Dim sName As String
    
        Public Property Name() As String
            Get
                Return sName
            End Get
            Set(ByVal value As String)
                sName = value
            End Set
        End Property
    ...
    ...
    Premi se vuoi commentare l'intervento.

    "HeloWorld.exe" 17 errors, 31 warnings.

  6. #6
    Neofita della community
    reputazione complessiva: 1 1

    Messaggi
    73
    Grazie per adesso, cercherò di farmi capire se riesco del perché quel file di testo è in quel modo:

    Nella mia azienda c'è un DB Oracle con una miriade di dati (tutto questo su un server in uno stabilimento lontano dal mio).
    Tramite Microsoft access, ho collegato le tabelle che mi servono e creato delle query. A questo punto, il risultato della query ho bisogno di leggerlo nello stabilimento distante, quindi creato una macro Access (sempre sullo stabilimento lontano) che esporta su file di testo sul server del mio stabilimento.
    Se pensate che Access faccia esportazioni migliori, consigliatemi pure. Dal file che esporterò, avrò bisogno di fare delle analisi tipo (esempio banale sopra riportato):
    Cerco Tibero e ottengo il Cognome, l'età, i capelli.... (naturalmente è un esempio)....
    Il file di testo lo esportavo perché pensavo fosse più leggero....
    Consigliatemi pure....
    Grazie

  7. #7
    Collega della community L'avatar di Fix978
    reputazione complessiva: 48 48

    Messaggi
    983
    Blogs
    2
    Purtroppo non ho mai avuto a che fare con Oracle, però, facendo un ragionamento contorto, chissà se è possibile stabilire una VPN tra il tuo PC dello stabilimento A ed il PC dello stabilimento B (dove c'è oracle), e poi tentare di connettersi direttamente al DB per effettuare le Query.

    Esiste la Classe OracleClient per effettuare le operazioni.

    Quì ci vuole qualcuno che abbia avuto a che fare con Oracle e che sappia come poter creare la stringa di connessione per permettere il collegamento.

    Appena ho 5 minuti vedo se trovo qualche info in rete.


    @Bumm
    si anche io sono un sostenitore delle Proprietà, però non cosi' estremista , considerando che non vi sono limitazioni da imporre ai valori, verifiche sulle assegnazioni o trattamento delle stesse prima della restituzione del valore, dichiarare una variabile pubblica o il suo equivalente come proprietà pubblica, è la stessa identica cosa.

    Rimane, però, cosa buona e giusta, abituarsi a scrivere con le Proprietà anche in questi casi.
    Ultima modifica di Fix978; 18-03-2010 alle 20:09
    VB.Net: {Extension Methods} {Lambda Expressions}
    HowTo: {Windows 7 - Installare il Sistema su C e la cartella Users su D}

    è il metodo migliore per ringraziare chi ti è stato di aiuto.

  8. #8
    Collega della community L'avatar di bumm
    reputazione complessiva: 29 29

    Messaggi
    862
    @Bumm
    si anche io sono un sostenitore delle Proprietà, però non cosi' estremista , considerando che non vi sono limitazioni da imporre ai valori, verifiche sulle assegnazioni o trattamento delle stesse prima della restituzione del valore, dichiarare una variabile pubblica o il suo equivalente come proprietà pubblica, è la stessa identica cosa.
    [Offtopic]
    beh, valuta anche il binding...
    Perciò mi piace C#

    Codice:
    public string Name{get;set;}
    la dichiarazione e molto più leggibile... in questo caso il compilatore crea una variabile privata in automatico.
    [/Offtopic]
    Premi se vuoi commentare l'intervento.

    "HeloWorld.exe" 17 errors, 31 warnings.

  9. #9
    Neofita della community
    reputazione complessiva: 1 1

    Messaggi
    73
    Grazie a tutti,
    diciamo che ho optato per la soluzione media che mi consentiva anche di non sforzare troppo le mie misere capacità.
    Esporto la query su un file Access nel mio stabilimento (un po' più pesante di un file di testo ma ho già provato che posso fare come mi pare)....
    Grazie a tutti

  10. #10
    Collega della community L'avatar di Fix978
    reputazione complessiva: 48 48

    Messaggi
    983
    Blogs
    2
    Senza voler insistere più di tanto, ho trovato questa discussione (LINK) dove un utente dice di essere riuscito a connettersi ad un DB Oracle Remoto tramite la creazione di un DSN di Sistema.

    La cosa è, quindi, fattibile.

    Giusto per conoscenza.

    Se hai già risolto in altro modo, meglio così.
    VB.Net: {Extension Methods} {Lambda Expressions}
    HowTo: {Windows 7 - Installare il Sistema su C e la cartella Users su D}

    è il metodo migliore per ringraziare chi ti è stato di aiuto.

+ Rispondi

Permessi di Scrittura

  • Tu non puoi inviare nuove discussioni
  • Tu non puoi inviare risposte
  • Tu non puoi inviare allegati
  • Tu non puoi modificare i tuoi messaggi