Italian community of Lazarus and Free Pascal

Progetti del forum => Progetti degli utenti => Topic aperto da: Danycop - Giugno 29, 2021, 10:54:13 pm

Titolo: File2Unit: un modo per includere 1 o più file nell'exe e salvarli a runtime...
Inserito da: Danycop - Giugno 29, 2021, 10:54:13 pm
Salve a tutti,
ho aperto il topic per condividere con la community un programmino che ho appena realizzato e penso possa essere di aiuto a molti di voi. il programa è solo un demo funzionante che mostra come creare una unit (Unit_store) che può contenere uno o più file da voi scelti ed espone un metodo da chiamare a RunTime per salvarli sul disco all'occorrenza.
Il programma può generare Unit sia per Lazarus/FPC che per Delphi e sia in chiaro che in modalità compressa per ridurre la grandezza della unit. Un pulsante apre la finestra di dialogo per scegliere i file da inglobare e l'altro mostra come si usa il metodo esposto dalla unit_store, per provare con le unit generate da voi ovviamente il progetto va ricompilato dopo aver incluso la unit_store generata da voi.
Naturalmente il programma può essere modificato per aggiungere nuove funzionalità (per esempio scegliere quali file salvare, adesso il programma li salva tutti oppure solo tramite il nome ma non consente la scelta a runtime).
Non Ho provato il programma in versione Linux o altri sistemi ma ritengo che possa funzionare tranquillamente senza problemi.
Buon divertimento a tutti
Titolo: Re:File2Unit: un modo per includere 1 o più file nell'exe e salvarli a runtime...
Inserito da: nomorelogic - Luglio 01, 2021, 11:56:40 am
l'idea è buona
se non ho capito male si tratta di una gestione di risorse embedded nel sorgente pascal

un concorrente di windres...
quindi lo proverò sicuramente :)
Titolo: Re:File2Unit: un modo per includere 1 o più file nell'exe e salvarli a runtime...
Inserito da: Danycop - Luglio 01, 2021, 02:03:42 pm
Esattamente, come le risorse di windows ma con in più la possibilità della compressione zip in modo da non lasiare in chiaro i file e non occupare troppo spazio, inoltre dovrebbe poter funzionare in altri sistemi operativi come LINUX.
 :)
Titolo: Re:File2Unit: un modo per includere 1 o più file nell'exe e salvarli a runtime...
Inserito da: nomorelogic - Luglio 01, 2021, 03:21:40 pm
inoltre dovrebbe poter funzionare in altri sistemi operativi come LINUX.
 :)

perché ci sono altri sistemi operativi oltre linux?  ;D
Titolo: Re:File2Unit: un modo per includere 1 o più file nell'exe e salvarli a runtime...
Inserito da: Danycop - Luglio 01, 2021, 06:24:26 pm
... Dimenticavo di dire che:
ho usato questo metodo per includere la DLL di sqlite ed il relativo DB Vuoto nell'eseguibile,
evitando di distribuire 3 file enzichè uno solo: l'eseguibile.
All'avvio del programma controllo la presenza dei file su disco e, solo se non presenti, uso il metodo SaveToFile della unit
per crearli.

buon lavoro a tutti.
Titolo: Re:File2Unit: un modo per includere 1 o più file nell'exe e salvarli a runtime...
Inserito da: Danycop - Luglio 03, 2021, 11:53:08 am
inoltre dovrebbe poter funzionare in altri sistemi operativi come LINUX.
 :)

perché ci sono altri sistemi operativi oltre linux?  ;D

Nomorelogic, hai avuto modo di provarlo sotto Linux?
Ti sarei grato per un feedback a riguardo,
Grazie.
Titolo: Re:File2Unit: un modo per includere 1 o più file nell'exe e salvarli a runtime...
Inserito da: nomorelogic - Luglio 05, 2021, 09:24:47 am
ancora no, ma vedo di farlo in giornata
Titolo: Re:File2Unit: un modo per includere 1 o più file nell'exe e salvarli a runtime...
Inserito da: nomorelogic - Luglio 06, 2021, 07:56:40 pm
La compilazione e la generazione del .pas sembrano funzionare
non ho ancora provato il processo inverso ma vedrò di farlo quanto prima

Unica nota bisognerà trovare un tema migliore per il SynEdit in quanto non si legge tutto bene (qualcosa è scritto in bianco su bianco).

Cmq per ora non ci sono stati problemi.

nomorelogic
Titolo: Re:File2Unit: un modo per includere 1 o più file nell'exe e salvarli a runtime...
Inserito da: Danycop - Luglio 07, 2021, 01:59:54 pm
Probabilmente nel synedit avrò scelto dei colori di sistema windows che in linux risultano bianchi, cercherò di cambiare il colore del font....
sto anche modificando la unit generata in modo da avere anche la possibilità di memorizzare un percorso di cartella relativo per ogni file
immagazzinato, potrebbe essere utile per per ricreare una struttura di sottocartelle e file.
Quando avrò finito, il progammino potra anche essere usato come installer....
Titolo: Re:File2Unit: un modo per includere 1 o più file nell'exe e salvarli a runtime...
Inserito da: Danycop - Dicembre 12, 2021, 06:06:48 pm
Ciao a tutti,
ho scoperto un piccolo bug nel mio codice e per questo i file salvati a run-time erano più grandi degli originali... allego la nuova versione corretta, con la speranza di avere il tempo per migliorare il programmino e consentire di aggiungere e togliere file dalla unit in tempi diversi senza dover ogni volta rifare tutto da capo; spero anche di poter dare la possibilità di assegnare ad ogni file la propria cartella di lavoro.
Ricordo a tutti che con la unit_store che ognuno può generare con la mia utility, si può tranquillamente fare a meno dei programmi di setup in quanto tutti i file necessari alla nostra applicazione (.dll, .jpg, ecc.)  potranno essere generati direttamente dal nostro eseguibile a run-time quando non già presenti sul disco.
Buon lavoro a tutti.