Dobrý den, tak jsem tu zas. Doufám že už na posled, potřeboval bych pomoc ještě s nahráváním obrázků do DB a zobrazováním obrázků do DB, databáze je typu Paradox*(db)...V tabulce DB mam nastavený typ Graphic (G) a pokouším se to spojit v Delphi s komponentou DBImage(DBctrls) a nějak se nedaří. Přes co tedy a jak nahrát do DB obrázek a následovně jak ho zobrazit? Děkuju za odpovědi.
Fórum › Delphi
Databáze datový typ Graphic nahrávání,zobrazení obrázků
#1 Fil
Nebo pokud by měl někdo jiné řešení jak načítat ty obrázky např. že by se do DB uložil adresář zároveň s tim do adresáře obrázek následně by se načítal tak taky pište :( potřebuju jednoduché řešení prosim nezbejvá mi už moc dnů do odevzdání projektu ve škole a tohle je už jedinej zadrhel
Tak už mám nahrávání do DBImage ale nevím jak to uložit do tabulky :( co napsat do DBimage1.Picture.SaveToFile
procedure TForm1.DBImage1Click(Sender: TObject);
begin
if OpenPictureDialog1.Execute then
DBImage1.picture.LoadFromFile(OpenPictureDialog1.FileName);
DBImage1.Picture.SaveToFile(CO MAM NAPSAT SEM);
end;
end.
teda ty se v tom ale patlas .. :o)) byl jsem na tom jeste nedavno stejne ...
resil jsem ukladani vizualu k zakazce a udelal jsem to takhle.
do adresare s .exe jsem pridal adresar vizualy, protoze jsem chtel mit vsechny obrazky,co jsem kdy priradil k zakazkam pekne pohromade. pak uz staci na udalost OnClick nejakyho Buttonu, v mym pripade Najit napsat toto:
procedure TForm2.BtNajitClick(Sender: TObject);
var novy,novacesta: string;
begin
novy:= (DBEdit1.Text + '.jpg'); // v DBEdit1 je cislo zakazky
novacesta:= ('c:\Program files\zakazky\vizualy\' + novy); // Cesta k adresari s obrazkama
OpenPictureDialog1.execute;
Image1.Visible:= false; // pridal jsem na formular Image a visible nastavil na false,je to jen prostrednik, asi to neni uplne spravna varianta,ale funguje.
Image1.Picture.LoadFromFile(OpenPictureDialog1.FileName);
Image1.Picture.SaveToFile(novacesta);
DBEdit13.Text:= (novacesta); // tady tohle se ti potom ulozi do tabulky .. Typ A
Form1.Image1.Picture.LoadFromFile(novacesta); Tady se konecne obrazek nacita ..
end;
snad ti to pomuze
#5 Fil
hele ja to mam na dvou formularich .. na Form1 mam vsechno jako info a Form2 oteviram jen kdyz chci pridat novej zaznam, nebo upravit stavajici.
zkontroluj si jeste v tabulce tu cestu, kam ukladas ty obrazky,jestli ji mas dobre zapsanou, a jestli ta cesta je vcetne platnyho souboru s priponou.
jinak ve Form1 pro zobrazeni dej do udalosti FormCreate treba toto:
begin
cesta:= DataSource1.Dataset.FieldByName('Vizual').asstring;
If DataSource1.Dataset.FieldByName('Vizual').IsNull then
begin
Image1.Picture.Assign(Image16.Picture) // Image16 jsem opet zneviditelnil a strcil jsem do nej defaultni obrazek s textem nahled neni k dispozici
end
else
begin
Image1.Picture.LoadFromFile(cesta);
end
end;
#6 dyžon
Děkuji ti moc i když za to si moc nekoupíš. Fakt si mi pomohl od 5 ve škole, dík....ještě taková přiblblá otázka pokud ten zobrazovací kod dám v Table1 do udalosti After Scroll tak se mi ten obrázek bude pokud budu na řadku 1 (jedno v jakym koliv sloupci) zobrazovat pro ten danej řadek tedy 1 pokud najedu do 2 (jedno na jakej koliv sloupec) tak zas se načte obrazek z 2 řadku ne?:)
#7 Fil
no DBGrid to ma prej nejak spatne polazeny ... teda aspon v Delphi7,
ja musel na formular vlozit ApplicationEvents a dopsat toto ..
dej to hned na zacatek kodu.
// pohyb koleckem mysi v DBGrid a ostatnich
procedure TForm1.ApplicationEvents1Message(var Msg: tagMSG;
var Handled: Boolean);
var
i: SmallInt;
begin
if Msg.message = WM_MOUSEWHEEL then
begin
Msg.message := WM_KEYDOWN;
Msg.lParam := 0;
i := HiWord(Msg.wParam) ;
if i > 0 then
Msg.wParam := VK_UP
else
Msg.wParam := VK_DOWN;
Handled := False;
end;
end;
Přidej příspěvek
Ano, opravdu chci reagovat → zobrazí formulář pro přidání příspěvku
×Vložení zdrojáku
×Vložení obrázku
×Vložení videa
Uživatelé prohlížející si toto vlákno
Podobná vlákna
Zobrazení obrázků z databáze v DataGridu — založil mates
Dátový typ — založil zonda
Datový typ — založil Rade.k
Špatný datový typ? — založil Díkydíky
Datový typ v tabulce — založil LiDr