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
Annonceindlæg tema
Offentlig digitalisering
Fra effektivisering til digital suverænitet. Hvordan skaber det offentlige en digital fremtid med AI, sikkerhed og kontrol i centrum?
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.
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
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 ?
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.
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;
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
label slut??? Vask straks dit tastatur i sæbe og vand.
Ups ... ja det skal jeg nok det skulle ikke have været med hehe
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;
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 ?
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
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
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
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
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....
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;
Slettet bruger
28. maj 2007 - 14:55
#17
bruger ikke ADO og understøttes ikke pt. af den db jeg bruger
Slettet bruger
28. maj 2007 - 20:57
#19
en 3 parts der hedder minitable
Ok den kender jeg så ikke lige .. men tror principet er det samme
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
Slettet bruger
14. juni 2007 - 22:13
#22
hov den sidste sætning var ikke rigtig Fjerner jeg qeditor kommer fejlen tilbage
Slettet bruger
17. juni 2007 - 08:53
#23
ok...lukker spørgsmålet - smid et svar michael
17. juni 2007 - 10:54
#24
Okay her er et svar
Kurser inden for grundlæggende programmering