PDA

View Full Version : سوال: نمايش عكس هاي ذخيره شده بصورت گزارش



DlphIran
جمعه 15 خرداد 1388, 14:46 عصر
سلام
من در مورد اين قضيه زياد جستجو كردم ، حتي مشكل من مال 1 سال پيش بود ، اما به جواب نرسيدم ،‌حالا بازم اومدم تا جواب درست رو بدست بيارم

بانك اطلاعاتي من اس كيوال سرور 2000 هست، و زبان برنامه نويسي ام دلفي 6

من مي خوام واسه يه برنامه ثبت نام كارت عضويت صادر كنم بطوري كه مثلا حدود 700 كارت با عكسهايي كه از قبل ذخيره شده رو يكجا چاپ كنه.

فيلد عكس رو از نوع image گذاشتم ،‌ براي ذخيره هم از همين خط
parameters.ParamByName('a').LoadFromFile(OpenPictu reDialog1.FileName,ftBlob);
استفاده كردم ،‌باتوجه به چستجوهايي كه تو مطالب داشتم.
حالا موقع چاپ يا نمايش كارتها در quick report پيغام bitmap image is not valid ظاهر ميشه و برنامه متوقف ميشه.
منظورم اينه كه لود كردن عكس رو مشكل داره .
لطفا راهنماييم كنيد .

DlphIran
یک شنبه 17 خرداد 1388, 17:27 عصر
كسي با مشكل من برخورد نكرده با اون پيغام خطا ؟

merced
دوشنبه 18 خرداد 1388, 00:40 صبح
شما داري فايل jpg‌ رو تو جدول ذخيره مي كني . به همين علته. (حداقل يك ركورد داري كه عكس jpg‌ رو ذخيره داره) /

merced
دوشنبه 18 خرداد 1388, 00:46 صبح
شما براي اينكه هر نوع فايلي رو بخواي بتوني ذخيره كني بايد اولاً چك كني عكسي كه دخيره شده بود چه پسونديه (يه فيلد ميتوني بذاري براي ذخيره پسوند و موقع Before Post‌ اونو مقدار بدي)

با همون دستور عكسا اون رو ذخيره كن.
براي بازيابي تو رويداد BeforePrint مربوط به باند داده Quick Rep مي نويسي (از كامپوننت qrDBImage ‌استفاده نمي كني)


procedure TForm1.QRBand1BeforePrint(Sender: TQRCustomBand;
var PrintBand: Boolean);
begin
ADOTable1Pic.SaveToFile('x.jpg');
QRImage1.Picture.LoadFromFile('x.jpg');
end;
فرض كردم كه فقط jpg‌ تو جد.ل ذخيره شده. درضمن Table ‌رو هم ميبيني. فيلدهاش صريح تعريف شده (دابل كليك روي كامپوننت و راست كليك و ... )

DlphIran
دوشنبه 18 خرداد 1388, 12:08 عصر
بله تمام عكسها حدود 700 عكس ، از نوع jpg هست
خوب لطفا نوع عكسي كه براحتي با اون دستوارت قبلي من كار كنه رو بگين تا تبديلش كنم به نوع ديگر
چاره اي جز ذخيره عكس در بانك ندارم ،‌در ضمن براي چاپ كارت عضويت همه 700 نفر كه نمي شه دونه دونه عكس رو جاگذاري كرد بلكه فقط با qrdbimage .
راستي بعد از اين آيا راهي دارد كه سرعت كار با بانك اطلاعاتي بالا ببرم يعني با 700 عكس 3*2 شايد سرعت پايين بياد.

merced
دوشنبه 18 خرداد 1388, 23:48 عصر
فرمت فايلت بايد bmp باشه تا بتوني از qrdbimage استفاده كني

راهي هم كه بالا گفتم (نوشتن تو رويداد BeforePrint مربوط به باند ) درست كار مي كنه با همون فرمت jpg‌ هم مي توني نشون بدي و باهمون دو خط كار مي كنه