Newsgroup: it.comp.programmare.win32
Titolo: Il componente TJpeg per il BCB 3

richiesta:
tra i componenti gratuiti presenti sul sito  
www.borland.com
 c'è tale
componente in forma sorgente, ma non si compila propio!!!
sicuramente sbaglio qualcosa, ma se qualcuno di voi lo ha compilato mi dica
come !  mi serve assolutamente perchè devo realizzare un DB che contiene
delle immagini che sarebbe opportuno convertire in jpeg .
grazie per la pazienza
-- 
~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   Remove ICE from e-Mail
~~~~~~~~~~~~~~~~~~~~~~~~~~~~

delle immagini che sarebbe opportuno convertire in jpeg .
Con BCB4 si compila bene. Il package (badaben che non è
un componente) è un wrapper per una libreria freeware JPEG.
Praticamente il package è in Objective Pascal ed "avvolge"
una libreria in C. Vuoi i passi? Sono quelli del readme:
a) Esplodi TJPEG.ZIP  (che dovrebbe essere 1.352.004 bytes)
   in una directory a tuo piacimento. Dopodiché dovresti
   trovare una struttura di subdir con dentro un po' di roba.
   Non alterare i nomi delle directory e lascia la struttura
   che "scaturisce" dal file zippato. Il successivo passo
   dovrà copiare dei files obj da una directory (src) ad un
   altra directory (package). Se non le trova al posto
   giusto son dolori: ti tocca modificare il makefile.
b) Vai subito nella directory jpeg\src e scrivi:
   make -DDELPHI
   La macchina "macina" un po', bestemmiando qualche 
   warning se non ricordo male. Ok?
c) Ti sposti nella directory jpep\package
   Qua digiti con cura 
   make -f jpegpkg.bpk
 
   idem con patate, anche qua il sistema "trita" un po'
   di codice con tanto di fantomatici avvertimenti
d) Adesso devi copiare jpegpkg.lib e jpegpkg.bpi (parte del
   sottoprodotto delle operazioni di compilazione) dalla
   directory jpeg\package nella directory $(BCB)\Lib alias
   (nel mio caso) C:\Programmi\Borland\CBuilder4\Lib.
e) Poi devi copiare jpegpkg.bpl (ancora una parte del
   sottoprodotto della compilazione) dalla directory 
   jpeg\package nella directory $(BCB)\Bin alias (sempre 
   nel mio caso) C:\Programmi\Borland\CBuilder4\Bin.
f) Infine devi copiare jpeg.hpp in $(BCB)\include\vcl alias
   (ancora nel mio caso) C:\Programmi\Borland\CBuilder4\include\vcl.
Ci siamo?
Adesso proviamo ad usare tutto "l'ambaradano". Piccolo 
programmino d'esempio:
File->New Application
"Droppi" un componente TImage sulla form, ok?
Metti un pulsante (TButton) nei paraggi, sulla form.
Scrivi 'sta porcheria qua nel corpo dell'event handler
del suddetto bottone.
void __fastcall TForm1::Button1Click(TObject *Sender)
{
    TJPEGImage *Jpg = new TJPEGImage;
    Jpg->LoadFromFile( "NomeDelTuoFileJPeg.jpg" );
    Image1->Picture->Assign( Jpg );
    delete Jpg;
}
Non dimenticarti di mettere 
#include <Jpeg.hpp>
nel file .cpp della tua form (in pratica nella unit),
prima dell'handler del bottone (Button1Click) sennò
il compilatore non saprà mai cos'è TJPEGImage.
Non appena clicchi il bottone dovresti vedere il tuo jpg
sul Image1.
Se non usi "build with runtime package" nella pagina
Package di Project->Options, devi mettere nel tuo
flusso (in inizializzazione presumo) questa immondizia qua:
#if !defined(USEPACKAGES)
    FakeInitJPEGLib();
#endif
sennò non va un cavolo. Ma siccome per 'sta prova non lo
usi, fregatene altamente.
Spero di non essermi dimenticato qualcosa...
Buona fortuna.
Ciao!
Giuliano

 Giuliano
grazie!!!


cribbio ,non va, solo se uso il runtime packages funziona,
Non va? Sorry, non ho avuto modo di provare. Di chi è
la colpa??? Chi può dirlo? :-)
Ciao!
Giuliano