Applicazione per leggere dati da fonti diverse

di il
22 risposte

22 Risposte - Pagina 2

  • Re: Applicazione per leggere dati da fonti diverse

    jotric ha scritto:


    cali ha scritto:


    Ciao,
    io farei così, siccome hai la lunghezza dei caratteri, ad ogni lunghezza estrai la parola.

    Esempio {5, 8, 9, 12,...., -1}

    Da 1 a 5 è una parola, la seconda è da 5 + 8, la terza sarà da 5+8+9 e così via. Ovviamente controlla se il numero successivo è -1. Se si vai a capo.

    Può andare?

    Ciao
    L'applicazione funziona proprio così. In base alla divisione stringa, legge parola per parola e popola le proprietà di una classe. Ogni singola riga diventa, scomposta nelle parole, il record di un datagrid.
    Ciao,
    se la logica è così basta prendere il vettore e leggere il contenuto.

    Fai una classe dove passi il vettore leggi e crei un oggetto con i dati che poi restituisci.

    Ciao
  • Re: Applicazione per leggere dati da fonti diverse

    Puoi postare un esempio di Model e di ViewModel?

    Se il tuo problema è che le classi del Model cambiano, però i metodi dei vari ViewModel sono sempre gli stessi (ovviamente ridefiniti per ogni model), allora può essere che con i generics e un po' di serializzazione/deserializzazione standard te la cavi.

    Tanto per dare un'idea:
    - Crei il tuo Serializer<T> che si occupa di serializzare/deserializzare i vari model (in base alla tua esperienza e alle tue capacità, può essere un qualcosa di semi-automatico o scritto di volta in volta)

    - Crei il tuo ModelBase che è la classe base di ogni Model che usi

    - Crei il tuo ViewModelBase<T> dove T è la classe del tuo model (che eredita dal ModelBase)



    A quel punto, puoi fare tanti view model semplicemente estendendo ViewModelBase<T>


    E' solo un'idea per partire, però dipende molto da cosa fanno di diverso (e di uguale) i vari ViewModel
  • Re: Applicazione per leggere dati da fonti diverse

    cali ha scritto:



    Ciao,
    se la logica è così basta prendere il vettore e leggere il contenuto.

    Fai una classe dove passi il vettore leggi e crei un oggetto con i dati che poi restituisci.

    Ciao
    SI l'idea di base sarebbe quella, ma come creo un oggetto con le relative property runtime?
  • Re: Applicazione per leggere dati da fonti diverse

    PiGi78 ha scritto:


    Puoi postare un esempio di Model e di ViewModel?

    Se il tuo problema è che le classi del Model cambiano, però i metodi dei vari ViewModel sono sempre gli stessi (ovviamente ridefiniti per ogni model), allora può essere che con i generics e un po' di serializzazione/deserializzazione standard te la cavi.

    Tanto per dare un'idea:
    - Crei il tuo Serializer<T> che si occupa di serializzare/deserializzare i vari model (in base alla tua esperienza e alle tue capacità, può essere un qualcosa di semi-automatico o scritto di volta in volta)

    - Crei il tuo ModelBase che è la classe base di ogni Model che usi
    - Crei il tuo ViewModelBase<T> dove T è la classe del tuo model (che eredita dal ModelBase)

    A quel punto, puoi fare tanti view model semplicemente estendendo ViewModelBase<T>


    E' solo un'idea per partire, però dipende molto da cosa fanno di diverso (e di uguale) i vari ViewModel
    Fino ad ora, ho creato n Model e relativi ViewModel ma è una cosa che vorrei evitare, riguardo ai generics, mi sto documentando, ma non credo si adattino al mio caso perchè nonostante l'astrazione, ogni volta dovrei riscrivere la classe. Sulla serializzazione...zero.
    Posso postare il codice...ma è lunghissimo....
  • Re: Applicazione per leggere dati da fonti diverse

    Posta il codice come ti è stato chiesto.

    Poi vediamo come fare... Però ci serve il codice per capire come è strutturato.

    La logica è semplice...

    Se utilizzi C# puoi creare classi che restituisco oggetti. Se utilizzi php puoi usare i json o array.

    Ciao
  • Re: Applicazione per leggere dati da fonti diverse

    Tempo fa avevo fatto un visualizzatore di liste di testo (parti di ricambio) che avevano struttura variabile.
    L'avevo fatto con Python e le librerie Qt.
    Avevo una classe base che copriva il 70% dei casi, e il restante era fatto da classi derivate.
    La griglia era fatta sulla classe base, ma visualizzava anche le classi derivate, usando gli stessi metodi, essendo che l'unica differenza tra le classi era nel parsing del testo.
    Ne stavo sviluppando una versione più 'intelligente', ma il progetto fu chiuso.
    In sostanza la classe aveva dei metodi per:
    • caricare il file e filtrare le righe inutili (intestazioni, numeri di pagina, ecc)
    • fare il parsing e convertire il testo in un vettore di dizionari
    • altri metodi accessori (tipo conteggio delle righe, degli item, ecc)
    • la classe era fatta come un iteratore, per cui si potevano prelevare tutte le righe con semplice ciclo
    Il progetto più 'intelligente' prevedeva una classe unica che fosse in grado di gestire da sola anche i casi 'anomali', ma era ancora in stato di 'cappello pensatore'. L'idea era di usare le regexp, in unione con la gestione delle eccezioni di Python per iterare tra tutti i modelli disponibili fino a quando non si intercettava un modello che filtrava correttamente il testo.
  • Re: Applicazione per leggere dati da fonti diverse

    Andrea Quaglia ha scritto:


    Tempo fa avevo fatto un visualizzatore di liste di testo (parti di ricambio) che avevano struttura variabile.
    L'avevo fatto con Python e le librerie Qt.
    Avevo una classe base che copriva il 70% dei casi, e il restante era fatto da classi derivate.
    La griglia era fatta sulla classe base, ma visualizzava anche le classi derivate, usando gli stessi metodi, essendo che l'unica differenza tra le classi era nel parsing del testo.
    Ne stavo sviluppando una versione più 'intelligente', ma il progetto fu chiuso.
    In sostanza la classe aveva dei metodi per:
    • caricare il file e filtrare le righe inutili (intestazioni, numeri di pagina, ecc)
    • fare il parsing e convertire il testo in un vettore di dizionari
    • altri metodi accessori (tipo conteggio delle righe, degli item, ecc)
    • la classe era fatta come un iteratore, per cui si potevano prelevare tutte le righe con semplice ciclo
    Il progetto più 'intelligente' prevedeva una classe unica che fosse in grado di gestire da sola anche i casi 'anomali', ma era ancora in stato di 'cappello pensatore'. L'idea era di usare le regexp, in unione con la gestione delle eccezioni di Python per iterare tra tutti i modelli disponibili fino a quando non si intercettava un modello che filtrava correttamente il testo.
    Forse nel tuo caso avevi degli identificatori per usare regexp? Io ho solo il vettore di parsing...L'idea di classe base e n derivate è quello a cui sto pensando ("il cappello pensator mi piace un sacco...")Il problema è che non ho una discriminante.
  • Re: Applicazione per leggere dati da fonti diverse

    jotric ha scritto:


    Forse nel tuo caso avevi degli identificatori per usare regexp? Io ho solo il vettore di parsing...L'idea di classe base e n derivate è quello a cui sto pensando ("il cappello pensator mi piace un sacco...")Il problema è che non ho una discriminante.
    Il mio principale vantaggio era dovuto al fatto che le liste di componenti erano più o meno tutte uguali, anche tra aziende diverse. La discriminante principale era tra meccanico, pneumatico/idraulico ed elettrico, poi al massimo c'erano differenze nell'ordine dei campi e sul multilinea. Poi Python dava una mano...
Devi accedere o registrarti per scrivere nel forum
22 risposte