Avatar billede uthsen Nybegynder
15. september 2003 - 12:51 Der 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 ;

      FINALLY
        JPEG.Free
      END;
    end;
end;
Avatar billede TRoXa Novice
15. september 2003 - 12:55 #1
for at kunne åbne jpeg billeder skal du smide jpeg i din "uses" i toppen.

For at gemme billeder i din database skal du have et blob felt. Og der er et udemærket eksempel på dette i delphi i

dansk windows
c:\programmer\borland\delphiX\demos

engelsk windows
c:\program files\borland\delphiX\demos

I de eksempler kan du ikke gå helt forkert :)
Avatar billede uthsen Nybegynder
15. september 2003 - 13:01 #2
Har sat jpeg i uses
Prøver at se på demoerne
Avatar billede TRoXa Novice
15. september 2003 - 13:03 #3
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 :)
Avatar billede snowball Novice
15. september 2003 - 13:15 #4
Prøv og læs "Pictures inside a database" - http://delphi.about.com/library/weekly/aa030601a.htm

Source coden kan hentes her: http://delphi.about.com/library/dbcadopic.zip

Alternativt kan du prøve og læse http://www.elists.org/pipermail/delphi-db/2002-June/005872.html

Snowball
Avatar billede stone Forsker
15. september 2003 - 13:25 #5
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;

din gem button:
Datasetpost1

Det virker fint.

stone
Avatar billede uthsen Nybegynder
15. september 2003 - 14:12 #6
Hallo Stone
Troede ikke du var hjemme!
Prøver din ide i aften. Skal på teateret nu!
Avatar billede uthsen Nybegynder
15. september 2003 - 14:42 #7
Du er altså bare så GENIAL Stone - det virker
Avatar billede stoney Nybegynder
15. september 2003 - 15:51 #8
Øøøhhh med den kode ligger dine JPG billeder som BMP,
det vil sige din database bliver meget hurtigt MEGET stor.

Kig på stream så kan du gemme alle fil-typer i din tabel

Stoney
Avatar billede snowball Novice
15. september 2003 - 15:54 #9
Det eksempel jeg linker til benytter sig netop af stream !

Snowball
Avatar billede janbb Juniormester
15. september 2003 - 17:22 #10
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.
Avatar billede stone Forsker
15. september 2003 - 17:55 #11
hej uthsen... go tur...

ja..stoney du har ret det er ikke den bedste metode hvis man ikke har hd plads.
Avatar billede uthsen Nybegynder
15. september 2003 - 20:29 #12
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!!:)
Avatar billede janbb Juniormester
15. september 2003 - 22:05 #13
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.
Avatar billede snowball Novice
15. september 2003 - 22:47 #14
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.

Snowball
Avatar billede uthsen Nybegynder
15. september 2003 - 23:18 #15
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
Avatar billede janbb Juniormester
16. september 2003 - 03:48 #16
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).
Avatar billede snowball Novice
16. september 2003 - 08:12 #17
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.

Snowball
Avatar billede uthsen Nybegynder
16. september 2003 - 09:45 #18
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?
Avatar billede snowball Novice
16. september 2003 - 10:43 #19
Nej, ADO fanebladet burde altid være der, men mener som sagt ikke det findes i Prof. udgaven af Delphi.

Snowball
Avatar billede Ny bruger Nybegynder

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.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester

Seneste spørgsmål Seneste aktivitet
I dag 10:21 Ny printer, men hvilken Af mort1 i Printere
I går 19:41 USB på Linux Af Uvanga i Linux
12/0818:26 Hvilken type mus Af mort1 i PC
11/0813:21 ms Forms Af leahcim i Andet software
10/0821:30 Blokeret på Snapchat? Af LineP i Chat & Messaging