Avatar billede Slettet bruger
23. maj 2007 - 01:28 Der er 23 kommentarer og
1 løsning

databse sti til billede

Det er som bekendt ikke en god ide at indlæse billeder i en database da det gør den unødig tung.

Men hvordan gør jeg så når man togler mellem posterne.

Skal man så skrive linket i databasen som så via en funktion indlæser stien?

ps. bruger ikke SQL
Avatar billede kroning Nybegynder
23. maj 2007 - 09:46 #1
Ja, jeg plejer at gemme billede navnet + evt. stien til billedet og når der så hentes/skiftes til en post så indlæses og vises biledet.
Avatar billede Slettet bruger
23. maj 2007 - 10:33 #2
Hvis man bruger en Topenpicturedialog, skal jeg have stien læst ind i et dbedit

Hvad skriver man for at få stien ned til billedet

Hvad skriver man for at hente billedet ud fra stien i dbedit
Avatar billede Slettet bruger
23. maj 2007 - 10:38 #3
hov det var vist ikke særligt klart....

Billedet som hentes via Topenpicturedialog skal kopieres til et under bibliotek

\billeder og så skal stien sættes i dbedit

Når man så går til næste post skal billedet indlæses - hvordan ?
Avatar billede kroning Nybegynder
23. maj 2007 - 13:54 #4
For at kopiere en fil benytter du CopyFile
Stien og navnet til billedet finder du i OpenPictureDialog.FileName

Hvis billedet skal vises i en TImage benytter du Image.Picture.LoadFromFile(, og hvordan du gør det når du går til næste post kommer an på hvilken db du benytter eller hvilke komponenter du benytter.
Avatar billede michael-schou Novice
24. maj 2007 - 14:52 #5
Ja du skal selv indlæse billedet og gemme stien i din DB.

EKS :

procedure TForm3.BitBtn2Click(Sender: TObject);
label
Slut;
begin
Form1.OpenPictureDialog1.InitialDir := ('.\');
If Form1.OpenPictureDialog1.Execute Then
  Begin
  Form1.Image1.Picture.LoadFromFile(Form1.OpenPictureDialog1.FileName);
  Form1.DBEdit1.Text := Form3.OpenPictureDialog1.FileName;
  //HUSK AT GEMME STIEN I DIN DB - DET DER STÅR I DBEdit1 Feltet
Slut :
end;

-------------------------------------------------------------------------------

Du kan hente stien fra din DB via et DBEdit Felt og så få din Image komponent til at aflæse stien når du gennemløber dine poster.

EKS :

procedure TForm1.DataSource1DataChange(Sender: TObject; Field: TField);
begin
Form1.Image1.Picture.LoadFromFile(Form3.DBEdit1.Text);
end;
Avatar billede michael-schou Novice
24. maj 2007 - 14:53 #6
UPS Fejl i første EKS

procedure TForm1.BitBtn1Click(Sender: TObject);
label
Slut;
begin
Form1.OpenPictureDialog1.InitialDir := ('.\');
If Form1.OpenPictureDialog1.Execute Then
  Begin
  Form1.Image1.Picture.LoadFromFile(Form1.OpenPictureDialog1.FileName);
  Form1.DBEdit1.Text := Form1.OpenPictureDialog1.FileName;
  //HUSK AT GEMME STIEN I DIN DB - DET DER STÅR I DBEdit1 Feltet
Slut :
end;

Sådan skal den se ud
Avatar billede kroning Nybegynder
24. maj 2007 - 15:27 #7
label slut??? Vask straks dit tastatur i sæbe og vand.
Avatar billede michael-schou Novice
24. maj 2007 - 15:49 #8
Ups ... ja det skal jeg nok det skulle ikke have været med hehe
Avatar billede michael-schou Novice
24. maj 2007 - 17:26 #9
Ups IGEN!!!
EKS 2 skal se sådan her ud :

procedure TForm1.DataSource1DataChange(Sender: TObject; Field: TField);
begin
Form1.Image1.Picture.LoadFromFile(Form1.DBEdit1.Text);
end;
Avatar billede Slettet bruger
24. maj 2007 - 20:26 #10
Tak michael-schou..

Kigger på det i pinsen....

er det ikke nødvendigt at lave en

image.picture.free

For at frigive hukommelse ?
Avatar billede michael-schou Novice
24. maj 2007 - 20:29 #11
Det ved jeg faktisk ikke men når jeg laver reset af image komponenten så bruger jeg

Form1.Image1.Bitmap := Nil;

Jeg bruger ikke image.picture.free
Avatar billede Slettet bruger
24. maj 2007 - 21:32 #12
Lyder måske som et dumt spørgsmål...

Form1.Image1.Bitmap := Nil;

er det generelt for alle billedformater eller kun *.bmp
Avatar billede Slettet bruger
27. maj 2007 - 13:42 #13
Form1.Image1.Picture.LoadFromFile(Form1.DBEdit1.Text);

jeg bruger en actionlist og har tildelt speedbutton diverse actions

problemet er når jeg trykker på insert(ny post) så siger den(unknown picture file(.)') intention

problemet er:

Image1.Picture.LoadFromFile(dbedit1.Text);

stien er rigtig også intension c:\grafik\test.bmp
Avatar billede Slettet bruger
27. maj 2007 - 13:45 #14
koden i dataset udfører eventen når der trykkes på nypost

Form1.Image1.Picture.LoadFromFile(Form1.DBEdit1.Text);

Det er da ikke nødvendigt at koden køres ved ny post
Avatar billede Slettet bruger
27. maj 2007 - 14:10 #15
når man trykker next prior last virker det rigtigt fint

det er kun når jeg indsætter ny post....
Avatar billede michael-schou Novice
28. maj 2007 - 11:42 #16
Den hedder faktisk : Form1.Image1.Picture.Bitmap := Nil; :-)

Kode for "NyPOST" :

--KODE START--

procedure TForm1.BitBtn1Click(Sender: TObject);
Begin
Form1.Image1.Picture.Bitmap := Nil;
Form1.DBEdit1.Text := '';
Form1.ADOTable1.Refresh;
Form1.DataSource1.DataSet.Refresh;
Form1.ADOTable1.Insert;
end;

--KODE SLUT--

Hvis du stadig har problemer så prøv at indsætte

Form1.ADOTable1.Close;
Form1.ADOTable1.Open;

Før linjen : Form1.Image1.Picture.Bitmap := Nil;
Avatar billede Slettet bruger
28. maj 2007 - 14:55 #17
bruger ikke ADO og understøttes ikke pt. af den db jeg bruger
Avatar billede michael-schou Novice
28. maj 2007 - 20:15 #18
Bruger du så BDE?
Avatar billede Slettet bruger
28. maj 2007 - 20:57 #19
en 3 parts der hedder minitable
Avatar billede michael-schou Novice
28. maj 2007 - 21:07 #20
Ok den kender jeg så ikke lige .. men tror principet er det samme
Avatar billede Slettet bruger
14. juni 2007 - 22:11 #21
Er lidt forundret...

Lavede en form2 og smed en Qeditor på og kørte

Form1.Image1.Picture.LoadFromFile(Form1.DBEdit1.Text);

Nu får jeg ikke fejlen (unknown picture file(.)') intention

Fjerner jeg qreport kommer fejlen tilbage
Avatar billede Slettet bruger
14. juni 2007 - 22:13 #22
hov den sidste sætning var ikke rigtig

Fjerner jeg qeditor kommer fejlen tilbage
Avatar billede Slettet bruger
17. juni 2007 - 08:53 #23
ok...lukker spørgsmålet - smid et svar michael
Avatar billede michael-schou Novice
17. juni 2007 - 10:54 #24
Okay her er et svar
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