grafik bliver indlæst i database enten via filsystem eller via scanner,
brugeren af programmet kan efter hvormange billeder der er lagret i databasen vælge at se alle billeder fra databasen som thumbnails.NU ved jeg jo ikke hvormange billeder den enkelte bruger indlæser i databasen.
den aktuelle post der er tilknyttet et billede kan så genbruges i en anden post ved valg af et billede som er vist som thumbnails.
valg af billede vil jo være lettere hvis man havde en oversigt over alle billeder som er i databasen.
Lad mig se om jeg forstår dig ret.. Gemmer du fysisk billederne i databasen? Det plejer ikke at være noget jeg vil anbefale. Det er alt for megen data. Istedet plejer jeg at have et link i databasen der på en eller anden måde fortæller mig hvor billedet ligger fysisk, og derefter bruger jeg det til at linke med.
billedernes bliver kun på ca 23kb,så det er ikke noget problem, da jeg har haft indlæst 1000 billeder uden problemer. Databasen laver nye datafiler *.ma1 *.ma2 osv...
angelod har ret. Alle billeddatabaser gemmer IKKE billeddata som blob-felter. Det er for tungt og hvis det laves ordentligt, så fungerer det bedst med links - vil råde dig til at overveje angelod's løsning, også selvom du "bare" kun roder med 23MB data). Den er mere professionel.
Spændende project - og du har da ret i at der eksisterer sådanne programmer som du beskriver .Og de er formentlig lavet i Delphi ?.Men det lyder som en tung opgave (kan dog være jeg tager fejl, som så ofte tidligere i den slags spm.). En HTM-side, der listes via en database med linkadresser virker mere til at overse og vælges formentlig ofte fordi der så osse er mulighed for ikke at hænge fast i "alle billeder", idet du jo kan lave grupper med SQL udfra valg i en combobox f.x..Metoden er osse god til at holde styr på andre former for links.Det er næppe det du er ude efter, men ellers er der et program på about.delphi.com, der laver den ønskede streng til HTM-siden.Kan finde den til dig hvis du har lyst.
ok prøver at kigge på link, og i har ret i at det er nemmere at arbejde via connect til sql, ligeledes tilgangstiden bliver hurtigere ved større datamængder. Det var også fordi jeg ikke ønskede at skifte database, da den jeg bruger for tiden ikke understøtter sql, men måske kan man lave det med 2 databaser så kun billeder bliver styret via sql. eller..... må prøve mig frem til en mere tidsvarig løsning.
Hvis i har yderligere link til emnet må i gerne lægge dem ind...
I kan allle smide et svar så deler jeg mellem jer.
Db-en skal ligge i samme bib som asp-filen (det er et eks jeg fandt på en webside - jeg husker desværre ikke længere hvilken).SQL-kommandoen kan man variere efter lyst - lissom i Delphi.
Wow.. Det ser da ellers godt nok rodet ud det der.. Nu kan jeg huske hvorfor jeg droppede ASP til fordel for PHP.. Hvis man laver det ret meget større end 20 linier langt, så bliver det rodet og uoverskueligt, syntes jeg, men det er jo et spørgsmål om hvad man bedst kan lide.
Nåh, men ellers, jeg ved ikke helt hvor stor hjælp jeg har været til, men jeg skal da nok skrive et svar. Du bestemmer så selv om du vil give point eller ej. :o)
"kernen" i programmet fra db-tut. kap. 20 ligger i nedenstående procedure, der laver et output, der vises i TWebbrowser.Kan varieres ved at ændre på det der skal sættes ind i strengen 'shtml' og man kan f.x. som her sætte en delstreng ind, der aut. laver en adresse om til et link.
procedure TForm1.Button1Click(Sender: TObject); var shtml : widestring; htmlfile : TextFile; i : integer; AvailableFields: set of TFieldType; begin AvailableFields:=[ftWideString, ftDate, ftFloat]; //open query ADOQuery1.SQL.Text:=Edit2.Text; ADOQuery1.Open;
//table header shtml:= shtml + '<table border="0" width="100%">' + #13#10; shtml:= shtml + '<tr>' + #13#10; for i:=0 to AdoQuery1.FieldCount-1 do begin if ADOQuery1.Fields[i].DataType in AvailableFields then begin shtml:= shtml + '<td>'; shtml:= shtml + '<b>' + ADOQuery1.Fields[i].DisplayName + '</b>'; shtml:= shtml + '</td>' + #13#10; end; end;{for} shtml:= shtml + '</tr>' + #13#10;
//table body while not adoquery1.Eof do begin shtml:= shtml + '<tr>' + #13#10; for i:=0 to AdoQuery1.FieldCount-1 do begin if ADOQuery1.Fields[i].DataType in AvailableFields then begin shtml:= shtml + '<td>'; shtml:= shtml + '<a href="' + ADOQuery1.Fields[i].AsString+'">' + ADOQuery1.Fields[i].AsString + '</a>';
// --> browse to the file //WebBrowser1.Navigate(aboutproject1.htm); //WebBrowser1.Navigate('test.htm'); WebBrowser1.Navigate(ChangeFileExt( Application.ExeName,'.htm')); end;{Button1.OnClick}
Det er lidt 'tungt', men meget lærerigt for f.x. een som mig, der ikke er så stiv i srengbehandling. Det fungerer formentlig osse selvom man vælger noget andet end ADO.
Programmets navn sættes lig outputfilen, der sættes som den fil der åbnes aut. når proc. kaldes.Ved mulighed for flere SQL-kombinationer (combobox) sættes en (ADO-)-/ el. query.close ind i starten af proceduren. Der er dog ikke umiddelbart mulighed for flere rækker hvis du ikke vil have samme strengbehandling i hver række - så tricket med at lave aut. links kan ikke bruges i forbindelse med fx kommentarer.Hvilket er en skam, men een der var klogere end mig kunne formentlig løse dette problem.
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.