15. september 2003 - 12:51Der er
18 kommentarer og 1 løsning
Hvordan gemmer jeg jpg-billeder i min tabel
Med nedenstående kode, kan jeg hente et jpeg billede ind fra mine drev til mit DBImagefelt name "DBImage"! Men hvordan får jeg det gemt med i databasens felt til graphic's name "Billed "? Skriver jeg Table1.Post sidst under TRY kommer det ikke med! - Hvad skal jeg gøre? Og hvordan får jeg kan jeg få lov at hente andre billedformater ind og gemme dem med i databasen.
Lige nu accepteres kun billeder af BMP-typen sat ind ved copy og paste fra clipbord. Ser meget gerne et kode-eksempel!!! og udførlig vejledning.
procedure TStart.HentJPEGClick(Sender: TObject); VAR JPEG : TJPEGImage; begin if OpenPictureDialog1.execute then begin JPEG := TJPEGImage.Create; TRY JPEG.LoadFromFile(OpenPictureDialog1.Filename); JPEG.ProgressiveDisplay := True; DBImage1.Picture.Graphic := JPEG ;
okay :) jeg har ikke selv rodet så meget med database i delphi endnu, men jeg har prøvet at kigge på eksemplerne, og synes de var ganske nemme at finde rundt i :)
For at indlæse et billede bruger du bare den kode public Currentfile: string;
begin if Op.Execute then//openpicturedialog op begin currentfile:= Op.FileName; Dbimage1.Picture.LoadFromFile(currentfile); Dbimage1.CopyToClipboard; Dbimage1.PasteFromClipboard; end; end;
Du placerer et dbImage i din database.Derefter får du anbragt dit Jpeg eller bmp billede på clipboardet.Der er et smart program i demosamlingen, men man kan bruge paint-programmet der følger med windows eller whatever - derefter clikker du i feltet med dit dbimage i dit program og trykker shift-insert kapperne ned.Dit bilælede er nu anbragt i feltet og du kan gemme som sædv.. Det er rigtigt at hvis du anbringer meget Mb-tunge billeder bliver db-en hurtigt meget stor og det kan stadig undre mig at når man sletter feltet reduceres størelsen af databasefilen ikke.Så vær lidt nænsom/sparsom hvor det er muligt, men med nutidens harddiskstørrelser skal man nok kvaje sig noget før det beg. at kringle.Vil man have en meget 'let' (mht Mb) database skal man smide databaseprogrammet ind i en browser og bruge et databasefelt, hvor man simpelthen skiver html-koden for at vise et billede, koden bliver så eksekveret når programmet kører og man har alle billeder vist uden at det koster en byte i programstørrelse.
Det er jo svært,når I alle har ret, men da jeg ikke er så erfaren indenfor Delphi, valgte jeg at give mine point til Stone som var hurtigst. Godt nok ville det være bedre med en lettere DB. Tak for hjælpen til jer alle!!:)
Ja, det er ret smart og lave alle procedurerne i een forretningsgang - det kan jeg godt se.Et lille råd mere: lav en slags 'baby'-udgave af database dvs en kopi inden du beg. at fylde en masse billeder i - så kan du altid opdatere den hvis originalen pludselig vokser for voldsomt.
uthsen: Har du i det hele taget kigget på det jeg linker til (eksempler og artikel) ? Det virker slet ikke sådan, siden du kan påstå at stone kom først.
Jo, jeg har faktisk og gør det stadig. Kan ikke finde ADO-komponenten!! og så kan jeg jo ikke komme vidre. Leder stadig, idet det ser ud som om den skal være i Delphi5pro. Faktisk synes jeg du fortjener point, idet det du henviste til, præcis er det jeg mangler. Hele fanebladet med ADO-komponenter er her ikke!! Stone fik det til at virke, selvom jeg hellere vil bruge ADO
spm: Virker Stoneys kode osse med en acces-db ?.Så er det jo helt fedt. delphi-about-linket snakker jo om at putte billederne ind via acces, hvilket virker som om det må være en lidt tung arbejdgang selvom det nok er en nødløsning hvis jeg overhovedet har fattet det (har kun læst den første side).
uthsen: Så vidt jeg husker, så er der kun database komponenter (og dermed ADO) i Prof. og Enterprise udgaverne af Delphi, så hvis du har en Personal, så er det nok derfor du ikke kan finde ADO fanebladet.
Under help-about står der jeg har Borland Delphi Professional Version 5(Build 5.62) og ADO komponenterne findes ikke - ej heller på en anden computer, med samme program installeret. Kan det være fordi jeg har oprettet en paradox-table fra starten at dette faneblad ikke findes?
Nej, ADO fanebladet burde altid være der, men mener som sagt ikke det findes i Prof. udgaven af Delphi.
Snowball
Synes godt om
Ny brugerNybegynder
Din løsning...
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.