PDA

View Full Version : آموزش: ارسال عکس به استیمول ریپورت



amir200h
یک شنبه 13 مرداد 1392, 11:21 صبح
سلام به همه دوستان.
سوال:

سلام استاد khokhan. خوبی؟
میخواستم بدونم چطوری یه عکس رو از سی شارپ بفرستم به ی پیکچرباکس در استیمول ریپورت؟
جواب:

سلام
خیلی آسونه
یه تاپیک بزن بیایم با مثال وتصویر بگم
اینطوری 2 خوبی داره هم اینکه اینجا تصویر گذاشتن مشکله
دوم اینکه چند تا بنده خدا هم ممکنه از این کار شما بهره ببرن و براتون ثواب داره

جناب khokhan بسم الله...

Amin69
یک شنبه 13 مرداد 1392, 12:48 عصر
سلام. در این مثال یک پیکچرباکس بنام "logo" در قسمت DataBand1 از فایل customer وجود داره. من یه عکس(بنام Logo) از قسمت resources پروژه رو به استیمول‌ریپورت فرستادم. شما هر عکسی خواستید میتونید بفرستید.
StiReport report = new StiReport();
report.Load(Application.StartupPath + "\\reports\\customer.mrt");
((StiImage)((StiDataBand)report.Pages["Page1"].Components["DataBand1"]).Components["logo"]).File = Properties.Settings.Default.Logo;

khokhan
یک شنبه 13 مرداد 1392, 12:53 عصر
سلام به همه دوستان.
میخواستم بدونم چطوری یه عکس رو از سی شارپ بفرستم به ی پیکچرباکس در استیمول ریپورت؟




سلام. در این مثال یک پیکچرباکس بنام "logo" در قسمت DataBand1 از فایل customer وجود داره. من یه عکس از قسمت resources پروژه رو به استیمول سافت فرستادم. شما هر عکسی خواستید میتونید بفرستید.
StiReport report = new StiReport();
report.Load(Application.StartupPath + "\\reports\\customer.mrt");
((StiImage)((StiDataBand)report.Pages["Page1"].Components["DataBand1"]).Components["logo"]).File = Properties.Settings.Default.Logo;




سلام
امیر خان:لبخند:
تمام شد همین :لبخند::لبخند::لبخند:

sohil_ww
یک شنبه 13 مرداد 1392, 12:58 عصر
با اجازه استاد خوخان
خیلی راحت یک picture box به گزارشت اضافه کن به این صورت


108462


فکر کنم عکس گویا باشه

بعد فقط کافی دیتا ست پر کنی بر طبق همین روشی که تو آموزش گفتی
آموزش خودت (http://barnamenevis.org/showthread.php?407106-%D8%B0%D8%AE%DB%8C%D8%B1%D9%87-%D8%AA%D8%B5%D9%88%DB%8C%D8%B1-%D8%AF%D8%B1-%D8%A8%D8%A7%D9%86%DA%A9-(%D8%A2%D8%AF%D8%B1%D8%B3-%D8%B9%DA%A9%D8%B3-%D8%B0%D8%AE%DB%8C%D8%B1%D9%87-%D9%85%DB%8C%D8%B4%D9%87-%D9%88-%D8%A7%D8%B2-%D8%B7%D8%B1%DB%8C%D9%82-%D8%A2%D8%AF%D8%B1%D8%B3-%D8%B9%DA%A9%D8%B3-%D8%B1%D8%A7-%D9%84%D9%88%D8%AF-%D9%85%DB%8C%DA%A9%D9%86%DB%8C%D9%85))


خیلی خوش گل عکس ها به پروژت اضافه می شن آماده نمایش به دوشتریه

در ضمن آقای خوخان اگه روشی بهتری هست دریغ نکن دیگه

amir200h
یک شنبه 13 مرداد 1392, 12:59 عصر
بله به جواب رسیدم. ولی قرار شد تصویری بزارین تا دوستان مبتدی هم استفاده کنن.
این کدی که دوستمون گذاشته از ریسورس ارسال میشه ولی ما میخوایم از بانکمون ارسال کنیم و ...

sohil_ww
یک شنبه 13 مرداد 1392, 13:11 عصر
بله به جواب رسیدم. ولی قرار شد تصویری بزارین تا دوستان مبتدی هم استفاده کنن.
این کدی که دوستمون گذاشته از ریسورس ارسال میشه ولی ما میخوایم از بانکمون ارسال کنیم و ...

تصویری که من گذاشتم برای استفاده از بانک فقط کافی دیتاست پر کنیم
اگه فکر می کنی برای بچه های مبتدی کافی نیست 1 فیلم آموزشی بزاریم

amir200h
یک شنبه 13 مرداد 1392, 13:23 عصر
تصویری که من گذاشتم برای استفاده از بانک فقط کافی دیتاست پر کنیم
اگه فکر می کنی برای بچه های مبتدی کافی نیست 1 فیلم آموزشی بزاریم

هر طور صلاح میدونی. فیلم که باشه عالیه

khokhan
یک شنبه 13 مرداد 1392, 13:25 عصر
بله به جواب رسیدم. ولی قرار شد تصویری بزارین تا دوستان مبتدی هم استفاده کنن.
این کدی که دوستمون گذاشته از ریسورس ارسال میشه ولی ما میخوایم از بانکمون ارسال کنیم و ...
باشه چشم :لبخند::لبخند:
من تازه گرم صحبت می شدم که دوستان مرحمت نموده ............... :لبخند::لبخند:

عرض کنم به چندروش این کار انجام می شه که دوستان هم اشاره نمودند
یکی رو هم من عرض می کنم
فرض می کنیم ما در پوشه اصلی برنامه یه پوشه داریم و چند تا عکس توشه و می خواهیم یکی از اینها رو به گزارش ارسال کنیم
یه کنترل از نوع image به گزارش اضافه می کنیم و یه نام براش می گذاریم

amir200h
یک شنبه 13 مرداد 1392, 13:29 عصر
باشه چشم :لبخند::لبخند:
من تازه گرم صحبت می شدم که دوستان مرحمت نموده ............... :لبخند::لبخند:

عرض کنم به چندروش این کار انجام می شه که دوستان هم اشاره نمودند
یکی رو هم من عرض می کنم
فرض می کنیم ما در پوشه اصلی برنامه یه پوشه داریم و چند تا عکس توشه و می خواهیم یکی از اینها رو به گزارش ارسال کنیم
یه کنترل از نوع image به گزارش اضافه می کنیم و یه نام براش می گذاریم

هر چندتا بلدی بگو :لبخند:

sahel65
یک شنبه 13 مرداد 1392, 13:31 عصر
دوستان من آقا خوخان رو خیلی قبولش دارم؛ ازش بخوایم یه فیلم یا آموزش قشنگ تهیه کنه و اینجا بذاره. باشه؟؟؟:تشویق:

sohil_ww
یک شنبه 13 مرداد 1392, 13:34 عصر
دوستان من آقا خوخان رو خیلی قبولش دارم؛ ازش بخوایم یه فیلم یا آموزش قشنگ تهیه کنه و اینجا بذاره. باشه؟؟؟:تشویق:

کی که قبول نداشته باشه اگه همچین کاری کنن که عالیه
اگه حجم برای آپلود هم نداری عکس بزار با توضیحات من باز گو می کنم برای بچه ها

khokhan
یک شنبه 13 مرداد 1392, 13:34 عصر
باشه چشم :لبخند::لبخند:
من تازه گرم صحبت می شدم که دوستان مرحمت نموده ............... :لبخند::لبخند:

عرض کنم به چندروش این کار انجام می شه که دوستان هم اشاره نمودند
یکی رو هم من عرض می کنم
فرض می کنیم ما در پوشه اصلی برنامه یه پوشه داریم و چند تا عکس توشه و می خواهیم یکی از اینها رو به گزارش ارسال کنیم
یه کنترل از نوع image به گزارش اضافه می کنیم و یه نام براش می گذاریم

بعد می ریم سمت برنامه :

باز فرض می کنیم همه کارها ی ابتدایی رو کردیم مثل افزودن رفرنسها و گذاشتن فایلهای dll غیره

یه باتن می گذاری توی فرم و دابل کلیک و کد نویسی :

ابتدا یه متد می نویسی تا از طریق فایل استریم بتونی اون فایل داخل پوشه رو بخونی :
اینطوری :

Image bmp = null;
System.IO.FileStream stream = null;
string fileName = (Application.StartupPath + @"\Images\" + "myjpeg.jpg");

stream = new System.IO.FileStream(fileName, System.IO.FileMode.Open, System.IO.FileAccess.Read);
byte[] buf = new byte[stream.Length];
stream.Read(buf, 0, buf.Length);
bmp = Image.FromStream(new System.IO.MemoryStream(buf));
بعد گزارشی رو که درست کردی رو به برنامه معرفی می کنی و مسیرش رو میدی :


Stimulsoft.Report.StiReport stiReport1 = new Stimulsoft.Report.StiReport();
stiReport1.Load(System.Windows.Forms.Application.S tartupPath + @"\stirpt.mrt");

stiReport1.Compile();

خوب قسمت اصلی کار اینجاست که اون پیکچر باکس رو معرفی کنیم و فایل داخل استریم رو بهش اختصاص بدیم :


(stiReport1.GetComponentByName("rajab") as StiImage).Image = bmp;

و سرانجام هم گزارش رو فراخوانی ونمایش بدیم :

stiReport1.Design();
stiReport1.Show();

sahel65
یک شنبه 13 مرداد 1392, 13:41 عصر
البته من یک یا دو ماه دیگه کارم به این پست میفته؛ خواستم از الان پیشگیری کرده باشم که باز اونجا هی جستجو نکنم :متفکر::گریه:؛ خودت رو برای سوالات احتمالی یه عده دیگه از بچه ها (منظور خودم هستم:قهقهه:) آماده کن.

khokhan
یک شنبه 13 مرداد 1392, 13:42 عصر
اینم از آشی که پختیم :لبخند::لبخند::لبخند:
رفرنسها رو دوباره اضافه کنین و اجرا کنین

sohil_ww
یک شنبه 13 مرداد 1392, 13:51 عصر
البته من یک یا دو ماه دیگه کارم به این پست میفته؛ خواستم از الان پیشگیری کرده باشم که باز اونجا هی جستجو نکنم

کارت گیر می افته 1 چیزی یاد می گیری دمت گرم خدایی :افسرده:

آقای خوخان خیلی ممنون بابت این آموزشا که برای دوستان قرار می دی فکر کنم باید یک تالار بزنیم آموزش های آقای خوخان فکر کنم اونوقت دیگه نیاز نباشه کسی بیاد تالار c# :لبخندساده:

setareh2013
یک شنبه 27 بهمن 1392, 09:22 صبح
سلام
من طبق فایلی که برای دانلود گذاشتید به صورت زیر کدهامو نوشتم

DataTable dt = new DataTable();
dt = ct.showpatien(); SqlConnection cn = new SqlConnection("Data Source=(local);Initial Catalog=DB;Integrated Security=True");
Image bmp = null;
System.IO.FileStream stream = null;
string fileName = (Application.StartupPath + @"\images\" + "myjpeg.jpg");
stream = new System.IO.FileStream(fileName, System.IO.FileMode.Open, System.IO.FileAccess.Read);
byte[] buf = new byte[stream.Length];
stream.Read(buf, 0, buf.Length); bmp = Image.FromStream(new System.IO.MemoryStream(buf));
stiReport1.Dictionary.DataStore.Clear(); stiReport1.Load(Application.StartupPath + @"\Report\stiReport1.mrt");
stiReport1.RegData("Data", cn);
stiReport1.Compile(); (stiReport1.GetComponentByName("Image1") asStiImage).Image = bmp;
stiReport1.Show();

یک کنترل Image1 هم داخل استیمول سافت گذاشتم ولی عکسو نشون نمید ه. آدرس رو نشون میده ولی عکسو نه میدونین مشکل از کجاست ؟

setareh2013
یک شنبه 27 بهمن 1392, 21:23 عصر
کسی نمی تونه راهنماییم کنه ؟
من نمی دونم مشکل از کجاست . چون کدهام دقیقا مثل کدهایی هست که شما نوشتید

setareh2013
یک شنبه 27 بهمن 1392, 21:43 عصر
اینم از آشی که پختیم :لبخند::لبخند::لبخند:
رفرنسها رو دوباره اضافه کنین و اجرا کنین
این سورسی که گذاشید اگر عکس رو داخل استیمول سافت مستقیم قرار بدیم نشون میده . ولی اگر بخواهیم آدرس عکس رو از داخل برنامه بخونه و نمایش بده ، چیزی نشون نمیده

ghasem110deh
چهارشنبه 14 مرداد 1394, 18:41 عصر
آقا خوخان
من از این نمونه که گذاشتین استفاده کردم ، اینجا هم باز اون خطا رو میده !!؟
رفرنسی چیزی میخواد ؟
سه روز و سه شب الاف این شدم :عصبانی++:


Parameter is Not Valid

بیخیال دیتابیس شدم ... اینجا نمیشه :(

ghasem110deh
پنج شنبه 15 مرداد 1394, 16:52 عصر
دوستان کسی راه حلی واسه ان مشکل نداره !؟

بعید میدونم به کد ربطی داشته باشه ... 10 مدل تبدیل به بایت و بلعکس رو امتحان کردم ولی باز خطای پارامتر رو میه !

sohil_ww
پنج شنبه 15 مرداد 1394, 18:05 عصر
آقا خوخان
من از این نمونه که گذاشتین استفاده کردم ، اینجا هم باز اون خطا رو میده !!؟
رفرنسی چیزی میخواد ؟
سه روز و سه شب الاف این شدم :عصبانی++:


Parameter is Not Valid

بیخیال دیتابیس شدم ... اینجا نمیشه :(

نوع داده ایت تو بانک چیه ؟!
باید از نوع varbainary باشه

ghasem110deh
پنج شنبه 15 مرداد 1394, 20:07 عصر
دیتابیس اکسس هستش !
OLE Object