Avatar billede michael-schou Novice
13. februar 2006 - 08:54 Der er 18 kommentarer og
1 løsning

Jpg i Paradox7 Tabel - Hvordan?

Hejsa.

Jeg har en Tabel som jeg har oprettet i Paradox 7, den
indeholder : Navn, Tlf, Adresse, Post.Nr, By og Billede.

Databasen hedder : PersonDataB.db

Nå man så har udfyldt alle felterne, kan man sætte et billede ind af personen. Det virker fint med *.bmp filer men kan ikke få det til at virke med *.jpg filer - hvordan gør man så lige det?

Man kan også gå ind og redigere en person, dvs. man har mulighed for at rette en stave fejl eller navn o.s.v. her skal man så også kunne indsætte et andet billede, hvis personen har fået taget et nyt.

Håber der er nogen der ude der kan hjælpe. :)

/Michael
Avatar billede martinlind Nybegynder
13. februar 2006 - 09:36 #1
Du kan gemme jpg og andet binært data i et felt af typen blob.
Avatar billede michael-schou Novice
13. februar 2006 - 09:48 #2
Okay, mit felt i Paradox er et : G = GraphicField, og når jeg så trykker på min "Indsæt billede Knap" og åbner OpenPictureDialog1 og vælger et *.jpg billede så får jeg fejlen : "Bitmap image is not valid".
Avatar billede martinlind Nybegynder
13. februar 2006 - 10:19 #3
Der har du problemet, jeg bruger altid blob-felter så "bestemmer jeg selv"

/Martin
Avatar billede michael-schou Novice
13. februar 2006 - 10:33 #4
Nu har jeg lige ændret feltet til B = Binary, det hjalp ikke får stadig fejlen "Bitmap image is not valid".
Avatar billede martinlind Nybegynder
13. februar 2006 - 11:38 #5
Det kunne tyde på at du ikke får læst det rigtig ind eller ud, du skal bruge en blobstream.

For øvrigt skulle du nok overveje at skifte base evt. til firebird, paradox er en gl. base der er på vej ud :)
Avatar billede michael-schou Novice
13. februar 2006 - 12:01 #6
Kan du ikke vise noget kode til den der BlobStream? :)

Kigger lige på den der firebird base :)
Avatar billede janbb Juniormester
13. februar 2006 - 13:26 #7
Michael:
Har somme tider oplevet at man ikke er i stand til at ændre en felttype i en database, selv om det virker som om det burde være en teoretisk mulighed.
Mit råd er derfor
Opret en ny database (selvom det er surt) med de specifikationer martinlind beskriver.
Avatar billede michael-schou Novice
13. februar 2006 - 13:57 #8
Okay det vil jeg da overveje men venter lige og ser om der kommer noget kode til BlobStream :)
Avatar billede martinlind Nybegynder
13. februar 2006 - 15:08 #9
Jeg slettede delphi for 2 dage siden :(, så du må lige kigge i hjælpen, jeg mener der er et eks. du kan bruge.
Avatar billede michael-schou Novice
13. februar 2006 - 15:27 #10
Det gør jeg bare :)
Avatar billede martinlind Nybegynder
13. februar 2006 - 15:57 #11
var
b : TBlobStream;

begin
  b := TBlobStream.Create(Dintable.fieldbyname('Bitmapfelt'));
  b.read.......

end;
Avatar billede hrc Mester
14. februar 2006 - 21:48 #12
MartinLind:
Sjovt nok har Paradox været en database "på vej ud" fra den dag den blev frigivet... Men den lever endnu, det lille grimme dyr! (Skift endelig til FireBird som ikke har problemer med indeksene og lock-filer.)

I øvrigt sletter man ikke bare en Delphi! Man skal tage ordentlig afsked med den!
Avatar billede hrc Mester
14. februar 2006 - 21:55 #13
I øvrigt så kan du overveje at gemme billeder sådan som man gør på professionelle billeddatabaser: I filer udenfor databaserne. Billederne køres gennem en MD5-tingest der genererer et tilnærmelsesvist unikt filnavn og det (navnet) gemmes så i tabellen. Det andet dur ikke i længden. Eksempelvis kører PACS-systemerne på hospitalernes radiologiske afdelinger på den måde.
Avatar billede janbb Juniormester
15. februar 2006 - 02:51 #14
Man kan godt blive 'træt' af billeddatabaser, der bl.a. er pladskrævende.Udover det er det svært at rense op i gammelt mat., der har en tendens til at 'blive hængende' i mb-filen.
Meget 'sjovere' er det at bruge løse filer.Og lade databasen indeholde en filhenvisning til billedfilen - synes jeg.Har osse et eks. med database-opsætning et sted, men princippet fremgår af nedenstående, hvor jeg har brugt en listbox.
(Man kan jo let lave en knap, der kalder billedet frem i stedet - i DB-sammenhæng):

procedure Tfmain.ListBox1Click(Sender: TObject);
Var
  Run :Array of Char;
  strRun : String;
  I : Integer;

Begin

  //fmain.Edit1.Text:=listbox1.items[ListBox1.ItemIndex];
  strRun := fmain.Edit1.Text;
  setLength(Run,Length(strRun));

  For I := 0 to (Length(strRun)-1) do
  Begin
    Run[I] := strRun[I+1];
  End;
  WinExec(PChar(strRun),SW_SHOWNORMAL);

End;

Bare et simpelt forslag.
Avatar billede michael-schou Novice
15. februar 2006 - 09:41 #15
Hey :)

Tak for alle de gode idéer, det lyder som om at jeg skulle tage og lave henvisninger til mine billeder i stedet for at ligge dem ind i min DB :).

Jeg har faktisk lige løst problemet, jeg convertere bare mit image fra *.jpg til *.bmp, og sletter det converterede billde når det er lagt i db'en :) ved ikke om det er en holbar løsning i forhold til at henvise til hvor billederne ligger :)

/Michael
Avatar billede janbb Juniormester
15. februar 2006 - 12:17 #16
Jo, der er self. osse fordele ved at have billedfilerne liggende i det 'autoriserede' format, bl.a. muligheder for at lægge 'password' ind for at få adgang til filerne og den slags.Men hold lige lidt øje med filstørrelserne på databasefilerne.Det er muligvis mig der er for forsigtig anlagt, men når de beg. at vokse for hurtigt kan det være tegn på at man har valgt en forkert løsning.
Spændende programtype at 'tumle' med :).
Avatar billede michael-schou Novice
15. februar 2006 - 12:30 #17
hehe ja det har jeg fundet ud af :) Det er ikke sådan lige til :)
Avatar billede michael-schou Novice
15. februar 2006 - 12:34 #18
Jeg er sådan lidt i tvivl om hvem der skal have point :) I har alle sammen nogen gode agumenter :) og på den anden side har jeg jo selv løst problemet :)
Avatar billede michael-schou Novice
20. februar 2006 - 14:16 #19
JEg snupper dem selv :)
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