* * * *

Privacy Policy

Blog italiano

Clicca qui se vuoi andare al blog italiano su Lazarus e il pascal.

Forum ufficiale

Se non siete riusciti a reperire l'informazione che cercavate nei nostri articoli o sul nostro forum vi consiglio di visitare il
Forum ufficiale di Lazarus in lingua inglese.

Lazarus 1.0

Trascinare un file nel programma
DB concetti fondamentali e ZeosLib
Recuperare codice HTML da pagina web
Mandare mail con Lazarus
Stabilire il sistema operativo
Esempio lista in pascal
File INI
Codice di attivazione
Realizzare programmi multilingua
Lavorare con le directory
Utilizzare Unità esterne
TTreeView
TTreeview e Menu
Generare controlli RUN-TIME
LazReport, PDF ed immagini
Intercettare tasti premuti
Ampliare Lazarus
Lazarus e la crittografia
System Tray con Lazarus
UIB: Unified Interbase
Il file: questo sconosciuto
Conferma di chiusura di un applicazione
Liste e puntatori
Overload di funzioni
Funzioni a parametri variabili
Proprietà
Conversione numerica
TImage su Form e Panel
Indy gestiore server FTP lato Client
PopUpMenu sotto Pulsante (TSpeedButton)
Direttiva $macro
Toolbar
Evidenziare voci TreeView
Visualizzare un file Html esterno
StatusBar - aggirare l'errore variabile duplicata
Da DataSource a Excel
Le permutazioni
Brute force
Indy 10 - Invio email con allegati
La gestione degli errori in Lazarus
Pascal Script
Linux + Zeos + Firebird
Dataset virtuale
Overload di operatori
Lavorare con file in formato JSON con Lazarus
Zeos ... dietro le quinte (prima parte)
Disporre le finestre in un blocco unico (come Delphi)
Aspetto retrò (Cmd Line)
Lazarus 1.0
Come interfacciare periferica twain
Ubuntu - aggiornare free pascal e lazarus
fpcup: installazioni parallele di lazarus e fpc
Free Pascal e Lazarus sul Raspberry Pi
Cifratura: breve guida all'uso dell'algoritmo BlowFish con lazarus e free pascal.
Creare un server multithread
guida all'installazione di fpc trunk da subversion in linux gentoo
Indice
DB concetti fondamentali e connessioni standard
Advanced Record Syntax
DB concetti fondamentali e DBGrid
DB concetti fondamentali e TDBEdit, TDBMemo e TDBText
Advanced Record Syntax: un esempio pratico
Superclasse form base per programmi gestionali (e non)
Superclasse form base per programmi gestionali (e non) #2 - log, exception call stack, application toolbox
Superclasse form base per programmi gestionali (e non) #3 - traduzione delle form
Superclasse form base per programmi gestionali (e non) #4 - wait animation
Un dialog per la connessione al database:TfmSimpleDbConnectionDialog
Installare lazarus su mac osx sierra
immagine docker per lavorare con lazarus e free pascal
TDD o Test-Driven Development
Benvenuto! Effettua l'accesso oppure registrati.
Novembre 23, 2024, 12:46:41 pm

Inserisci il nome utente, la password e la durata della sessione.

45 Visitatori, 0 Utenti

Autore Topic: TTreeView  (Letto 28530 volte)

Avogadro

  • Full Member
  • ***
  • Post: 217
  • Karma: +0/-0
TTreeView
« il: Dicembre 20, 2016, 03:06:59 am »
TTreeView è , mi si passi il termine, un "contenitore" di informazioni che si poggia sulla ben nota tecnica degli alberi binari.

Torna utile in tante applicazioni,  in particoalre lo sto usando per "clonare" i record di tabelle sqllite  legate tra di loro da piu' relazioni master-detail.

Purtuttavia sto avendo difficoltà a trovare informazioni su di esso, dove le potrei reperire ?

Inoltre sto usando ZeosLib e Fortes Reprt, ma anche in questo caso reperire informazioni per usarli al meglio è dura, google et similia non forniscono granchè in merito; qualcuno sa dove reperire informazioni in merito ?
 
Grazie anticipate.

 



 


bonmario

  • Hero Member
  • *****
  • Post: 1360
  • Karma: +11/-1
Re:TTreeView
« Risposta #1 il: Dicembre 20, 2016, 08:01:45 am »
Ciao,
sotto la directory di installazione di Lazarus ci sono degli esempi:
C:\Lazarus\examples\treeview

In rete, io all'epoca ero partito da qui:
http://wiki.freepascal.org/TTreeView
http://wiki.lazarus.freepascal.org/XML_Tutorial#Populating_a_TreeView_with_XML

Ciao, Mario

Avogadro

  • Full Member
  • ***
  • Post: 217
  • Karma: +0/-0
Re:TTreeView
« Risposta #2 il: Dicembre 20, 2016, 04:28:08 pm »
Grazie  :)

Con l'occasione vorrei discutere un'idea.

Da premettere che qualcosa di simile mi pare già di averla vista dalle parte degli applicativi di delphi.

Allora, ai fini della rintracciabilià di tutte le operazioni compiute nell'ambito di un laboratorio di analisi,   ho creato una serie di tabelle (15 )   legate tra di loro in una serie di relazioni uno a molti (o master detail che dir si voglia) .

Applicando le consuete regole di normalizzazione la banca dati va.

Purtuttavia, ai fini di semplificare la vita agli utenti, sto cercando di creare una interfaccia intuitiva  in cui il "cut& paste" dei  record di tabelle tra di loro collegate sia un'operazione affidabile e semplice allo stesso tempo (c'è un "template"  di record da complilare ogni volta)  e in questo il treeviev è stato di grande aiuto.

Osservano pero' il treeview popolato con  i dati delle tabelle sembra possibile questa operazione: e se il treeview si potesse scaricare in campo testo, ad esempio di sqllite, magari come una struttura xml o meglio json ?

Cioè che richiede 15 tabelle master detail potrebbe essere "compresso" in struttura ad albero poi a sua volta compressa in semplice campo testo.

Ovviamente si perderebebro  i vantaggi delle query, ma smanettando un attimo con gli alberi binari e altre cosette carine già presenti in lazarus (es. tstring list - http://www.delphibasics.co.uk/RTL.asp?Name=tstringlist)  la creazione di form, statistiche e report non dovrebbe essere difficile, anzi, dovrebbe essere semplificata per via dell'approccio piu' intuitivo del treeviev (magari addobbato con po' di icone colorate).

Che ne pensate ?  E' fattibile una banca dati non poggiata su tabelle tra di loro collegate ma su alberi binari  ?


 
« Ultima modifica: Dicembre 20, 2016, 04:34:38 pm da Avogadro »

nomorelogic

  • Global Moderator
  • Hero Member
  • *****
  • Post: 2921
  • Karma: +20/-4
Re:TTreeView
« Risposta #3 il: Dicembre 23, 2016, 11:15:43 am »
ciao
quello che dici non è impossibile, anzi, il json si presta benissimo a rappresentare questi tipo di dati.

Il problema potresti averlo più tardi, quando ad esempio fra un po' di tempo potresti trovarti ad aggiungere qualche campo su qualche tabella e/o nuove tabelle, introdurre nuove relazioni e così via.

Se hai già individuato la struttura del database e sai che oramai è difficile che cambi, puoi anche farlo.
Se non sei sicuro di aver terminato i lavori (compresi tutti i tipi di report e statistiche) io rimarrei con i dati in un RDBMS.
Imagination is more important than knowledge (A.Einstein)

Stilgar

  • Global Moderator
  • Hero Member
  • *****
  • Post: 2389
  • Karma: +10/-0
Re:TTreeView
« Risposta #4 il: Dicembre 24, 2016, 09:48:09 am »
Ciao.
Se ho capito bene vorresti mettere in piedi una sorta di back end no sql.se definisci correttamente gli oggetti basse che permettano di essere estesi con strumenti esterni al codice del programma, magari eviti problemi in futuro.
Poi puoi fare la persistenza del dato dentro un database relazionale, xml, json o file binari in un tuo formato.
Diciamo che la questione non è proprio banale.
Suggerirei un disaccoppiamento tra il dato usato e quello salvato.
Il programma , nel tuo caso andrebbe a nozze col pattern proxy classes .
In pratica usando 3 strutture al posto di una sola diretta.
Definisci l'interfaccia che è ti descrive i dati. Ipotesi il classico utente. Nome cognome e altri dati.
Una classe concreta che mantiene le informazioni.
La classe proxy che carica la classe completa solo se vengono accadute le proprietà di quest'ultima.
Il vantaggio lo trovi nelle collezioni di molto oggetti e di oggetti grossi in memoria. Potrebbe essere il tuo caso (da quel che capisco).
Se una riga è collegata ad un'altra la seconda sarà caricata solo se viene espanso l'albero, in modo puntuale e non  avrai memoria occupata per le righe non visibili.

Se implementa correttamente la soluzione con le proxy classes può dare ottimi risultati.

Penso ad hibernate per java o doctrine per php quando cerco astrazioni sui relazionali. Usano meccanismi
 Proxy.

Sappi che all'inizio sarà lunghetto imbastire la soluzione a manina.

Stilgar
Al mondo ci sono 10 tipi di persone ... chi capisce il binario e chi no.

Avogadro

  • Full Member
  • ***
  • Post: 217
  • Karma: +0/-0
Re:TTreeView
« Risposta #5 il: Dicembre 24, 2016, 07:30:28 pm »
Grazie per i suggerimenti.

 :)

In effetti c'è sempre il probema di  base di poter aggiungere o cambiare dei campi o i report in un qualunque momento, in base alle nuove esigenze che man mano sopravvengono;  generalmente un data base relazionale classico, con la sua brava standardizzazione ansi sql,  ben si presta a cio' .

 Pututtavia l' idea di potersi sganciare da un data base classico, che pretende sempre un software di amministrazione ad hoc - non sempre facilmente gestibile e sopratutto reperibile - ,  e il poter e gestire tutto con dei semplici file di testo e un po' di classica programmazione mi intriga .

L' idea del pattern proxy classes mi intriga e vorrei approfondire , un suggerimento dove poter attingere un po' di informazioni in piu' ?


Grazie ancora ed auguri a tutti.

 :)
« Ultima modifica: Dicembre 24, 2016, 07:47:39 pm da Avogadro »

SB

  • Scrittore
  • Sr. Member
  • *****
  • Post: 283
  • Karma: +1/-0
Re:TTreeView
« Risposta #6 il: Dicembre 25, 2016, 08:44:29 am »
La cosa è fattibile e personalmente la uso. Non ci sono particolari problemi per le modifiche se fai il codice in maniera intelligente.
Però mi vengono in mente alcuni problemi, visto che parli di "utenti".
1. c'è accesso multiutente ai dati?
2. quanto deve essere affidabile il salvataggio?
3. che massa di dati hai?
4. dove risiedono i dati?
ecc.
In sostanza i problemi per cui di solito si sceglie un database server...

Stilgar

  • Global Moderator
  • Hero Member
  • *****
  • Post: 2389
  • Karma: +10/-0
Re:TTreeView
« Risposta #7 il: Dicembre 26, 2016, 10:33:34 am »
Avogadro. Inizia con Google e trova articoli che ti spieghino le cose.
Oppure parti da Wikipedia.
Come ti trovi meglio.
Stilgar
Al mondo ci sono 10 tipi di persone ... chi capisce il binario e chi no.

Avogadro

  • Full Member
  • ***
  • Post: 217
  • Karma: +0/-0
Re:TTreeView
« Risposta #8 il: Dicembre 29, 2016, 12:08:19 am »
La cosa è fattibile e personalmente la uso. Non ci sono particolari problemi per le modifiche se fai il codice in maniera intelligente.
Però mi vengono in mente alcuni problemi, visto che parli di "utenti".
1. c'è accesso multiutente ai dati?
2. quanto deve essere affidabile il salvataggio?
3. che massa di dati hai?
4. dove risiedono i dati?
ecc.
In sostanza i problemi per cui di solito si sceglie un database server...

Appunto , ecco perché finora mi son sempre poggiato sui classici data base relazionali (per adesso uso sqllite).

La mia voleva essere una prima esplorazione di un nuovo approccio  (almeno per me )  al  mondo delle banche dati e mi conforta sapere che la mia idea è una strada già esplorata.

Tornado alle domande:
" 1. c'è accesso multiutente ai dati?"

Si, per adesso gli utenti sono pochi (meno di 10) , ma il loro numero dovrebbe man mano aumentare  , quidi si che c'è il problema della multiutenza.

"2. quanto deve essere affidabile il salvataggio?"

Deve essere piu' che affidabile sia perché nell' ambito in cui lavoro le norme di qualità dei prodotti e dei servizi prevedono la rintracciablità completa dei dati degli ultimi 10 anni (mica uno scherzo, visto che in 10 anni la tecnologia galoppa ma purtutatvia il classico cd di backup non funziona piu' dopo due mesi  o magari l'operatore dell' l'hosting remoto ha chiuso i battenti o, ancora, il cliente non vuole che i suo dati siano chissà dove sul pianeta) , sia perché non puo' assolutamenet accadere che dopo il data entry i dati  vadano persi  per una qualsiasi ragione.

"3. che massa di dati hai?"
Il problema non è solo la massa di dati, che è elevata ,  il problema principale sono le dipendenze tra i dati; il problema  è sorto quando ho applicato le classiche regole di normalizzazione delle banche dati alla mia sitauzione: il numero di tabelle da gestire è attualmente pari a 15,  tutte correlate tra di loro con relazioni uno a molti in cascata ; a queste se ne aggiungeranno altre  che avranno le relazioni del tipo molti a molti (situazione che vorrei evitare perché fonte di problemi da parte di utenti poco ferrati).
Uno dei problemi  è proprio qui: nel complesso delle relazioni che poi si ripercute sull' interfaccia con l' utenza che diventa macchinosa (clonare dei record e i relativi sottorecord , ad esempio, non è banale con 15 tabelle collegate tra di loro- ne' si riesce a diminuire il loro numero senza perdere la normalizzazione dei dati ) ;
Ecc operché vorrei creare un'interfaccia robusta che prevenga data entry errati e che sia nel contempo agevole e non machinosa. Nel mio caso questo non è banale perché i dati sono complessi, le situazioni sempre diverse, il materiale umano disponibile non è il top e con quello bisogna arrangiarsi,  e pertanto ci vuole una forte astrazione  per concepire un modello concettuale che regga.
Proprio per questo avevo pensato ad un approccio ad alberi binari  viusalizzati attarverso il treview, perchè è piu' intuitivo di una serie di tabelle in cascata  che magari si espandono su piu' form .
 
Giusto per chiarire  l' ambito in cui opero: esso è il controllo di qualità delle merci , controlli che devono seguire tutta una serie di regole molto severe,  tra le quali vi è  lo standard  Title 21 cfr ( https://en.wikipedia.org/wiki/Title_21_CFR_Part_11 )  .

Si c'è gia del software commerciale  disponibile, ma le esperienze finora sono non sono state per nulla soddifacenti, anzi sono state un disastro con operatori esasperati dalla loro macchinosità  in quanto tutte le classiche regole di normalizzazione dei dati,  di sicurezza delle transazioni ,  di interfacce che non esauriscano  gli operatori  etc , pare che poi nella realtà non vengano mai applicate .

Quindi vi è il tentativo aziendale di farsi un software ad hoc piuttosto che svenarsi con la ricerca continua del vestito che stia addosso in maniera non dico perfetta ma almeno acettabile .

"4. dove risiedono i dati?"

Ovviamente su un server in remoto,  e quindi c' il problema della sicurezza delle transazioni.


In sintesi:  diceva la pubblicità di  Delphi : "trasformate il caos dei vostri clienti in risorsa",  speriamo di risuscirci.

 
Ciao e grazie

« Ultima modifica: Dicembre 29, 2016, 12:39:50 am da Avogadro »

Avogadro

  • Full Member
  • ***
  • Post: 217
  • Karma: +0/-0
Re:TTreeView
« Risposta #9 il: Dicembre 29, 2016, 12:24:28 am »
Avogadro. Inizia con Google e trova articoli che ti spieghino le cose.
Oppure parti da Wikipedia.
Come ti trovi meglio.
Stilgar

Allora, ho già fatto le ricerche con google, ci mancherebbe altro che non le avessi già fatto; il punto è risucire a trovare le dritte giuste senza annegare nel mare delle migliaia di infomazioni che un motore di ricerca restituisce, per questo avevo chiesto se erano noti dei siti, dei pdf o quant'altro già "collaudati" su questi argomenti.

Il problema di google et silimilia è l' overflow di informazioni: l'eccesso di informazioni paradossalmente puo' rendere poco efficace le decisioni o gli studi su un dato argomento (diceva il filosofo «È inutile fare con più ciò che si può fare con meno» ).

Non solo, ma a qualcuno è venuta l' infelice idea di reificare il pregiudizio di conferma nel codice dei motori di ricerca  i quali studiano l' utente e gli restituiscono sempre le risposte a lui gradite, risposte basate sulle esplorazioni passate e che hanno come effetto di rinchiudere di fatto l' utente in una bolla di pregiudizi e luoghi comuni dalla quale poi non riesce piu' ad uscire (con buona pace del progresso e dell'esplorazione di nuovi orizzonti).

Saludos.
« Ultima modifica: Dicembre 29, 2016, 12:35:31 am da Avogadro »

SB

  • Scrittore
  • Sr. Member
  • *****
  • Post: 283
  • Karma: +1/-0
Re:TTreeView
« Risposta #10 il: Dicembre 29, 2016, 08:47:37 am »
La cosa è fattibile e personalmente la uso. Non ci sono particolari problemi per le modifiche se fai il codice in maniera intelligente.
Però mi vengono in mente alcuni problemi, visto che parli di "utenti".
1. c'è accesso multiutente ai dati?
2. quanto deve essere affidabile il salvataggio?
3. che massa di dati hai?
4. dove risiedono i dati?
ecc.
In sostanza i problemi per cui di solito si sceglie un database server...

Appunto , ecco perché finora mi son sempre poggiato sui classici data base relazionali (per adesso uso sqllite).

La mia voleva essere una prima esplorazione di un nuovo approccio  (almeno per me )  al  mondo delle banche dati e mi conforta sapere che la mia idea è una strada già esplorata.

Tornado alle domande:
" 1. c'è accesso multiutente ai dati?"

Si, per adesso gli utenti sono pochi (meno di 10) , ma il loro numero dovrebbe man mano aumentare  , quidi si che c'è il problema della multiutenza.

"2. quanto deve essere affidabile il salvataggio?"

Deve essere piu' che affidabile sia perché nell' ambito in cui lavoro le norme di qualità dei prodotti e dei servizi prevedono la rintracciablità completa dei dati degli ultimi 10 anni (mica uno scherzo, visto che in 10 anni la tecnologia galoppa ma purtutatvia il classico cd di backup non funziona piu' dopo due mesi  o magari l'operatore dell' l'hosting remoto ha chiuso i battenti o, ancora, il cliente non vuole che i suo dati siano chissà dove sul pianeta) , sia perché non puo' assolutamenet accadere che dopo il data entry i dati  vadano persi  per una qualsiasi ragione.

"3. che massa di dati hai?"
Il problema non è solo la massa di dati, che è elevata ,  il problema principale sono le dipendenze tra i dati; il problema  è sorto quando ho applicato le classiche regole di normalizzazione delle banche dati alla mia sitauzione: il numero di tabelle da gestire è attualmente pari a 15,  tutte correlate tra di loro con relazioni uno a molti in cascata ; a queste se ne aggiungeranno altre  che avranno le relazioni del tipo molti a molti (situazione che vorrei evitare perché fonte di problemi da parte di utenti poco ferrati).
Uno dei problemi  è proprio qui: nel complesso delle relazioni che poi si ripercute sull' interfaccia con l' utenza che diventa macchinosa (clonare dei record e i relativi sottorecord , ad esempio, non è banale con 15 tabelle collegate tra di loro- ne' si riesce a diminuire il loro numero senza perdere la normalizzazione dei dati ) ;
Ecc operché vorrei creare un'interfaccia robusta che prevenga data entry errati e che sia nel contempo agevole e non machinosa. Nel mio caso questo non è banale perché i dati sono complessi, le situazioni sempre diverse, il materiale umano disponibile non è il top e con quello bisogna arrangiarsi,  e pertanto ci vuole una forte astrazione  per concepire un modello concettuale che regga.
Proprio per questo avevo pensato ad un approccio ad alberi binari  viusalizzati attarverso il treview, perchè è piu' intuitivo di una serie di tabelle in cascata  che magari si espandono su piu' form .
 
Giusto per chiarire  l' ambito in cui opero: esso è il controllo di qualità delle merci , controlli che devono seguire tutta una serie di regole molto severe,  tra le quali vi è  lo standard  Title 21 cfr ( https://en.wikipedia.org/wiki/Title_21_CFR_Part_11 )  .

Si c'è gia del software commerciale  disponibile, ma le esperienze finora sono non sono state per nulla soddifacenti, anzi sono state un disastro con operatori esasperati dalla loro macchinosità  in quanto tutte le classiche regole di normalizzazione dei dati,  di sicurezza delle transazioni ,  di interfacce che non esauriscano  gli operatori  etc , pare che poi nella realtà non vengano mai applicate .

Quindi vi è il tentativo aziendale di farsi un software ad hoc piuttosto che svenarsi con la ricerca continua del vestito che stia addosso in maniera non dico perfetta ma almeno acettabile .

"4. dove risiedono i dati?"

Ovviamente su un server in remoto,  e quindi c' il problema della sicurezza delle transazioni.


In sintesi:  diceva la pubblicità di  Delphi : "trasformate il caos dei vostri clienti in risorsa",  speriamo di risuscirci.

 
Ciao e grazie

Per quel che hai scritto la soluzione apparentemente migliore rimane il database relazionale. SQLServer mi pare sia gratuito fino a un certo tot di dati che di solito è sufficiente. SQLLite non lo conosco quindi non mi esprimo.
Non meravigliarti per il numero di tabelle. Per una applicazione fatta bene e di una certa complessità è normale averne decine.
Ti consiglio di fare una buona analisi e di dare al database la struttura che necessita per quanto complessa sia. Ignora le "esigenze" dell'utente. Per l'accesso degli utenti esistono altri strumenti che semplificano la vista dei dati.

Altre forme di archivio dati per il tuo caso a mio parere non sono utilizzabili.
L'accesso multiutente ti obbliga a meccanismi di lock dei dati, e nel tuo caso potrebbe essere l'intero database.
L'affidabilità del salvataggio ti obbliga ad implementare meccanismi di backup temporaneo e controllo della correttezza del salvataggio (transazioni).
La massa di dati ti obbliga al trasferimento in rete, con problemi di tempo e sicurezza.

Spesso usare un software commerciale può risultare stretto, ma tieni presente che esso (se fatto seriamente) è frutto di una analisi da parte di gente esperta (si spera), che per quanto tu sia esperto probabilmente ha più esperienza di te perchè fa quello per lavoro.
Per quello che è la mia esperienza spesso sono le aziende ad operare in maniera "illogica" (gli operatori che fanno a modo loro perchè si fa così...) e si lamentano che poi è il software ad essere fatto male.
La tentazione di farsi il software in casa è forte, ma si sottovalutano nettamente i costi complessivi e le problematiche da affrontare.
Che tu sia interno all'azienda o un programmatore esterno, secondo me faresti meglio a lasciare il software esistente e creare piuttosto delle interfacce di accesso ai dati.
Lavoro ne avresti comunque ed eviteresti di infognarti.



nomorelogic

  • Global Moderator
  • Hero Member
  • *****
  • Post: 2921
  • Karma: +20/-4
Re:TTreeView
« Risposta #11 il: Dicembre 29, 2016, 05:36:41 pm »
Un database relazionale è quello che ti serve, una tree-view è solo un controllo per visualizzare dei dati.

sqlite gestisce la multiutenza ma bloccando tutto il database nel momento della scrittura; già 10 utenti sono troppi per una situazione del genere.

ci sono molte soluzioni: ms sql express, postgressql, firebird

firebird è un ottimo compromesso tra prestazioni e facilità di manutenzione (che prossima allo zero: installi e te lo dimentichi)
Imagination is more important than knowledge (A.Einstein)

xinyiman

  • Administrator
  • Hero Member
  • *****
  • Post: 3274
  • Karma: +12/-0
Re:TTreeView
« Risposta #12 il: Dicembre 29, 2016, 06:27:30 pm »
Suggerisco anche io firebird, di gran lunga il miglior database relazionale al mondo per rapporto qualità/prezzo/semplicità
Ieri è passato, domani è futuro, oggi è un dono...

SB

  • Scrittore
  • Sr. Member
  • *****
  • Post: 283
  • Karma: +1/-0
Re:TTreeView
« Risposta #13 il: Dicembre 29, 2016, 07:08:24 pm »
MS SQLServer è considerato uno dei migliori RDBMS ed è gratuito fino 10GB di dati (che sono tanti). E' un po' difficile scartarlo a priori se si sta pensando ad un programma commerciale, se non altro per il marchio.
A meno che non si voglia qualcosa di multipiattaforma e allora si potrebbe valutare MySQL o PostgreSQL
Non so se Oracle offra gratuitamente una versione ridotta.
Personalmente non conosco firebird e per quanto ne so può anche essere il miglior db del mondo, ma per un componente chiave di una applicazione sarei cauto nell'orientarmi su qualcosa open source con alle spalle una fondazione che non mi dà alcuna garanzia...
Può suonare una bestialità in un forum dedicato ad un ambiente di sviluppo open source, ma se sballa un programma me ne accorgo e lo sistemo, se un database mi perde dati... possono essere guai grossi per l'azienda e per il programmatore.

nomorelogic

  • Global Moderator
  • Hero Member
  • *****
  • Post: 2921
  • Karma: +20/-4
Re:TTreeView
« Risposta #14 il: Dicembre 29, 2016, 07:55:25 pm »
Personalmente non conosco firebird e per quanto ne so può anche essere il miglior db del mondo, ma per un componente chiave di una applicazione sarei cauto nell'orientarmi su qualcosa open source con alle spalle una fondazione che non mi dà alcuna garanzia...

uso firebird da quando fece il fork da Borland Interbase, non voglio fare i conti per non ricordarmi quanti anni ho :D
spesso un programma open source non da garanzia, ma firebird fa parte di quei programmi open source che hanno attraversato lustri (ricordo che siamo nel settore informatico) e sono stati sempre presenti ed efficienti (ho delle installazioni software con ancora la versione 2.0, tra 1 e 8 GB di database e non fanno una piega)
:)
Imagination is more important than knowledge (A.Einstein)

 

Recenti

How To

Utenti
  • Utenti in totale: 803
  • Latest: maXim.FI
Stats
  • Post in totale: 19176
  • Topic in totale: 2287
  • Online Today: 102
  • Online Ever: 900
  • (Gennaio 21, 2020, 08:17:49 pm)
Utenti Online
Users: 0
Guests: 45
Total: 45

Disclaimer:

Questo blog non rappresenta una testata giornalistica poiché viene aggiornato senza alcuna periodicità. Non può pertanto considerarsi un prodotto editoriale ai sensi della legge n. 62/2001.