Italian community of Lazarus and Free Pascal

Programmazione => Componenti Aggiuntivi => Topic aperto da: tito_livio - Marzo 29, 2022, 10:20:27 pm

Titolo: multi line per ogni record della query
Inserito da: tito_livio - Marzo 29, 2022, 10:20:27 pm
Salve a tutti,
dovrei visualizzare a monitor diverse informazioni per ogni record di una query.
Per ogni record però vorrei uno spazio dove posizionare i campi su più linnee insieme a qualche bottone, come nell'immagine che allego.
Cercando in rete ho trovato solo il framework Unigui che è quello che si avvicina di più, fornito solo per Delphi.
Sapete se esiste qualcosa di simile anche per Lazarus?
Titolo: Re:multi line per ogni record della query
Inserito da: nomorelogic - Marzo 30, 2022, 09:10:27 am
quello che mi viene in mente ora è di usare una DrawGrid, so che non è quello che stai cercando ma con un po' di codice lo puoi ottenere tranquillamente
Titolo: Re:multi line per ogni record della query
Inserito da: xinyiman - Marzo 30, 2022, 10:42:58 am
Conoscevo questo

https://wiki.freepascal.org/TSubForm

Ma non sembra essere più mantenuto. Però nulla ti vieta di provare ad usarlo e se fa al caso tuo mantenerlo tu.
Titolo: Re:multi line per ogni record della query
Inserito da: DragoRosso - Marzo 30, 2022, 11:40:34 am
Come vuoi visualizzare i tuoi dati: a lista infinita con barre di scorrimento ? o a blocchi visibili con avanzamento a pagine ?

Comunque l'idea potrebbe essere di creare un pannello di "master riga" con i tuoi dati (controlli db, pulsanti, testi ed altro) e a runtime creare tante copie del pannello quante siano le righe della tua query generale. Un valore intero passato al pannello (ad esempio tramite la proprietà tag) dirà ai componenti db aware a quale record della query accedere.

Nel metodo create del pannello puoi metterci quello che vuoi per personalizzare la "riga stessa" (contatori, nomi de componenti, testi ...).

La procedura che crea i pannelli potrà anche definire il loro "allineamento", in base ad esempio alla dimensione della superfice grafica.

Così, come pensiero al volo .....

Ciao
Titolo: Re:multi line per ogni record della query
Inserito da: tito_livio - Marzo 30, 2022, 08:28:41 pm
Quello che dovrei visualizzare una lista "infinita" con barre di scorrimento, una lista da scorrere su di un monitor touch.
Quindi il suggerimento che mi sembra più interessante è quello di @xinyman cioè il componente TSubForm in: https://wiki.freepascal.org/TSubForm (https://wiki.freepascal.org/TSubForm)
E' un pacchetto scritto molti anni fa e dà errore durante l'installazione anche con le correzioni proposte anche da @xinyman nel forum internazionale alcuni anni fa in: https://forum.lazarus.freepascal.org/index.php/topic,23310.msg139155.html#msg139155 (https://forum.lazarus.freepascal.org/index.php/topic,23310.msg139155.html#msg139155)
Infatti adesso queste correzioni non vanno più bene perché quando cerco di installare il pacchetto ottengo:
 subform.pas(67,13) Fatal: Impossibile trovare BarChart usato da subform del pacchetto SubFormPackage..
Ho provato ad escludere la unit BarChart rinunciando ad alcune funzionalità ma sorgono altre incompatibiltà di tipi. Insomma la cosa si fa complicata, almeno per me.
Comunque grazie a tutti per le risposte.
Titolo: Re:multi line per ogni record della query
Inserito da: tito_livio - Marzo 31, 2022, 12:25:38 pm
Buongiorno,
per curiosità ho provato ad installare il componente SubForm (continuos form) su una vecchia versione di Lazarus (0.9.30.2) e l'installazione avviene perfettamente senza bisogno di correzioni.
Allego un immagine per far vedere cosa fa.
Peccato, era quello che cercavo e secondo me potrebbe dare un aspetto più moderno alle applicazioni.
Magari appena posso mi ci dedico a farla funzionare anche sulle attuali versioni di Lazarus.
Ciao a tutti.
Titolo: Re:multi line per ogni record della query
Inserito da: tito_livio - Aprile 11, 2022, 12:45:34 pm
Buongiorno a tutti,
poi sono riuscito a "correggere" il componente Subform da tempo non più mantenuto.
L'ho testato per adesso su piccoli programmi di prova su Windows a 32 bit.
L'uso del componente non è proprio agevole ma mi accingo a studiarlo meglio per introdurlo e collaudarlo in un progetto vero.
Riporto il componente corretto in allegato.
Titolo: Re:multi line per ogni record della query
Inserito da: xinyiman - Aprile 13, 2022, 08:30:48 am
Ottimo grazie. Magari scrivilo anche sulla community internazionale.
Titolo: Re:multi line per ogni record della query
Inserito da: tito_livio - Aprile 15, 2022, 09:55:30 pm
Fatto