[ zezanje.co.yu @ 17.08.2008. 22:43 ] @
Pozdrav svima,

Dali mi moze neko pomoci kako da izvedem ovo, kada kliknem u dbGrids na neki od ispisani podataka da sa desne strane za taj podatak prikaze sliku, pokusao sam u bazi da upisem putanju slike gde se nalazi ali to ne funkcinise.. >>


evo slike kako bi trebalo da izgleda..
[ savkic @ 18.08.2008. 19:01 ] @
> Dali mi moze neko pomoci kako da izvedem ovo, kada kliknem u dbGrids na neki od ispisani podataka da sa desne strane za taj
> podatak prikaze sliku, pokusao sam u bazi da upisem putanju slike gde se nalazi ali to ne funkcinise.. >>

Nisam shvatio da li ti u bazi čuvaš samu sliku (u binarnom obliku) ili pitanju do slike? Ako je sama slika onda samo trebaš povezati TDBImage komponentu za polje u kome je slika. Ako koristiš putanju onda ti treba TImage i handlovanje AfterScroll (promena aktivnog sloga) eventa dataseta, u njemu pročitaš putanju i onda učitaš sliku sa te putanje u TImage.
[ zezanje.co.yu @ 18.08.2008. 22:58 ] @
Hmm...koji je nacin laksi da cuvam sliku u bazu kao u binarnom obliku ili da postavim u bazi samo putanju slike gde se nalazi, ta slika koja treba da bude pozvana iz aplikacije.
[ savkic @ 19.08.2008. 01:11 ] @
> Hmm...koji je nacin laksi da cuvam sliku u bazu kao u binarnom obliku ili da postavim u bazi samo putanju slike gde se nalazi,
> ta slika koja treba da bude pozvana iz aplikacije.

Nema egzaktnog odgovora, zavisi od potreba sistema. Ako su to male slike i manji broj njih onda je verovatno lakše u bazi, za veće verovatno kao eksterni fajlovi. Bilo je ranije rasprava na tu temu ali se ne mogu setiti da li u ovoj grupi ili u Baze podataka, potraži.
[ X Files @ 19.08.2008. 08:19 ] @
Citat:
savkic:Ako koristiš putanju onda ti treba TImage i handlovanje AfterScroll (promena aktivnog sloga) eventa dataseta, u njemu pročitaš putanju i onda učitaš sliku sa te putanje u TImage.

Samo da se nadovezem, u kontekstu price o pracenju pozicije trenutnog zapisa, pored TDataSet::AfterScroll moze se korisiti i TDataSource::OnDataChange - koja ce biti izvrsena i u trenutku promene na zapisu i u trenutku promene pozicije trenutnog zapisa. (ako se ne varam)
[ zezanje.co.yu @ 19.08.2008. 23:04 ] @
Sredio sam na jedan nacin na koji sam umeo ali mi se ne dopada , sredio sam ovako Postavio sam Timages - onda dbtext db povezao sa bazom a u bazi se nalazi lokacija slike na hdd gde je smestena i sada to sve radi , ali kada kliknem na polje dbtext on menja sliku ne moze automaski kada izaberem neki tekst. :(

Image2.Picture.LoadFromFile(DSlika.Field.Value);

[ X Files @ 20.08.2008. 07:01 ] @
^
Nisam ovo razumeo, ti me ispravi:

* imas neku tabelu u bazi cije jedno polje u slogu predstavlja putanju do slike (da ne bi drzao veliki bros slika u bazi i time je opteretio)
* zelis da krecuci se kroz slogove nekog grida (ili nekako drugacije, programski recimo) odgovarajuca slika za taj slog bude prikazana u TImage objektu sa strane

Ako je ovo slucaj, onda jedostavno kod za ucitavanje slike na osnovu putanje stavi u jedan od dogadjaja gore pomenutih:
TDataSet::AfterScroll
TDataSource::OnDataChange
... i samo ucitaj sliku (ne znam dobro Pascal sintaksu, valjda je ovako nekako):
Image2.Picture.LoadFromFile(DSlika.FieldByName('naziv_polja_gde_drzis_putanju_slike').AsString);

(nije mi jasno sta ce u toj prici DBText kontrola)