PDA

View Full Version : سوال: پرینت فرم در سایز مختلف و بدون استفاده از دیتابیس



fardamg
یک شنبه 20 بهمن 1392, 21:52 عصر
با سلام و وقت بخیر
دوستان و اساتید برنامه نویس گرامی لطفا بنده را در مشکلی که پیش آمده راهنمایی کنید
پروژه ای ساده است به زبان سی شارپ که برای یکی از ادارات آماده شده در یک بخش نیاز به چاپ اطلاعات در سایز های آ5 و آ4 است به این نحو که اطلاعات وارد شده در تکس باکس ها و کمبوباکس ها باید در یک طراحی مناسب (متن نامه تنظیم شده و عبارت وارد شده در تکس باکس ها در جای مورد نظر قرار می گیرند) با کلیک روی هر یک از باتون های مشخص شده عمل چاپ انجام گیرد.جهت انجام این کار نباید از دیتابیس استفاده شود و اطلاعات دریافتی از تکس باکس ها و ... صرفا چاپ شود. صفحه توضیح داده شده در تصویر موجود هست.
بسیار ممنون و متشکر میشم راهنمایی کنید.
116581

Mousavmousab
یک شنبه 20 بهمن 1392, 22:27 عصر
سلام

اگه بخوای این آیتم هایی که از Textbox دریافت میشه توی پرینت چاپ بشه بدون اینکه Background کل فرم همراه با داده چاپ بشه ( امیدوارم متوجه منظورم شده باشی) این کار درستی نیست به نظر من. با فتوشاپ خیلی راحت تر می تونی این کار را انجام بدی بدون اینکه هیچ برنامه ای بابت این کار بنویسی. مثلاٌ یک فرم داری که یه سری شماره و .. داره و هر یک از این موارد بالا باید در جای خاصی از کاغذ خاصی چاپ بشه !!! ( درست؟ اگر به این شکل است که شما از همون فتوشاپ استفاده کن)
راه حل استفاده از فتوشاپ : شما باید از اون فرمی که داده ها قرار است در آن چاپ شود یک Scan بگیری و بعد این عکس را بیاری توی فتوشاپ و بعد اون جاهای خالی را پر کنی ( با همون ابزار Text خود فتوشاپ) بعد روی اون چشمک که مربوط به BackGround فتوشاپ میشه Click کنی تا برداشته بشه و بعد فقط داده های شما در لایه ای جدا می مانه که وقتی پرینت بگیری فقط داده های شما توی فرم به جا می ماند.

یعد شما می تونی با پسوند PSD این عکس را ذخیره کنی و در پایگاه داده ی این برنامه ( مثلاٌ) نگه داری کنی.
اگه غیر از این مورد است. بیشتر توضیح بدین تا من یا دوستان در صورتی که بتونیم کمکتون کنیم.
فعلاٌ

Davidd
دوشنبه 21 بهمن 1392, 08:42 صبح
ميتوني از ابزارهاي گزارش گيري مثل crystalreports و يا stimul استفاده كني. يك dataset ميسازي و داخلش يك جدول. ستون هاي جدول متناظر با همين textbox ها و combox ها. بر اساس اين dataset يك گزارش طراحي ميكني. زماني كه دكمه چاپ زده ميشه جدول dataset با اطلاعات textbox ها و combox ها پر ميكني و گزارشو نشون ميدي. حالا كاربر ميتونه تصميم بگيره به چه شكلي و چه سايزي چاپش كنه.

Mousavmousab
دوشنبه 21 بهمن 1392, 12:54 عصر
ميتوني از ابزارهاي گزارش گيري مثل crystalreports و يا stimul استفاده كني. يك dataset ميسازي و داخلش يك جدول. ستون هاي جدول متناظر با همين textbox ها و combox ها. بر اساس اين dataset يك گزارش طراحي ميكني. زماني كه دكمه چاپ زده ميشه جدول dataset با اطلاعات textbox ها و combox ها پر ميكني و گزارشو نشون ميدي. حالا كاربر ميتونه تصميم بگيره به چه شكلي و چه سايزي چاپش كنه.


سلام
آره درسته میشه این کارو کرد ولی مشکل اینجاست که فقط یک فرم نیست که چندین فرم است آماده کردن یک فرم که دقیقاٌ روی اون کاغذ خاص مورد نظر ( از نظر ابعاد و اندازه و ..) به تنهایی کار سختی است چه برسد به اینکه بعداٌ قرار بشه چندین فرم ساخته بشه و انها هم چنین حالتی دارن بعنی باید هر کدام از این فرم های جدید باز تنظیم بشه که این TextBox یا فیلد قرار است کجا چاپ بشه !!! به نظر من برای این فرمی که دوستمون نشون داده این کار اصلاٌ کار معقولی نیست.

Mousavmousab
دوشنبه 21 بهمن 1392, 12:59 عصر
دوستان اگر کسی راه حلی میدونه کمک کنه من خودم همچین موردی را نتونستم خوب حلش کنم. ره حل مناسبی گیر نیاوردم.

مدیران ، صاحبنظران نظرات خودتونو بدین

tehran11
دوشنبه 21 بهمن 1392, 18:26 عصر
دوست عزیز, اگر هدفت اینه که یه سری اطلاعات رو روی فرم های یک شکل چاپ کنی, یه راه حل به ذهن من میرسه و اون اینکه این کارو با آفیس انجام بدی
اطلاعاتت رو تو اکسس یا اکسل وارد بکن و فرمت رو تو ورد طراحی کن و از قابلت mail merge ورد استفاده کن

توضیحات بیشتری خواستی بگو تا بگم

fardamg
دوشنبه 21 بهمن 1392, 21:07 عصر
سلام و ممنون از توجه و پاسخ ها تون
دوستان روش های انجام این کار بدون استفاده از برنامه مستقل رو میدونم و متوجهم که میشه با آفیس و حتی فتوشاپ هم و بهتر با اکسس قضیه رو حل کرد ولی این پروژه بخشی از یه نرم افزار هس و نیازه که به این صورت انجام بشه...
همون طوری که در تصویر معلوم هست اطلاعات از کاربر گرفته میشه و بعد این اطلاعات در هر فرم در جای مناسب خود چاپ میشه و به عبارتی در هر گزارش این اطلاعات چینش مختلفی داره...
مشکل من ارسال این اطلاعات در قالب پارامتر به گزارش هست.من میخوام اگه بشه با سیستم گزارش گیری خود ویژوال این کار رو انجام بدم و اگه نشد با کریستال ریپورت خیلی ممنون میشم بیشتر راهنمایی کنید.
از لطف و توجه تون ممنونم.

fardamg
دوشنبه 21 بهمن 1392, 21:29 عصر
راستی دوستان ببخشید لازم هست بگم در هر گزارش و به عبارتی نامه ، فقط یک مورد باید چاپ بشه...
ساده تر این فیلدها پارامتر ها و عبارات یک نامه اداری هستند

Mousavmousab
دوشنبه 21 بهمن 1392, 22:56 عصر
دوست عزیز من یه پیشنهادی به شما می کنم.
شما اون فرم هایی که اطلاعات این نرم افزار باید توش چاپ بشه را اینجا می زاری ما ببینیم ؟ آخه بین حرف اول شما و این چیزی که الان گفتین یه اختلافی است.
مثلاٌ اون اول عکسی که گذاشتین 40 تا فیلد است و پست قبلی گفتین => "فقط یک مورد باید چاپ بشه" من و دوستان شاید گیج بشیم.
چون راه حل برای حل مشکل شما است ، مشکل اینجاست که راه جل باید درست باشه که بشه برای مسئله های دیگه تعمیمش داد.
حالا شما عکس از فرمتون بزارین تا ما به حل مسئله نزدیک تر بشیم.
منتظریم.

fardamg
دوشنبه 21 بهمن 1392, 23:49 عصر
دوست عزیز من یه پیشنهادی به شما می کنم.
شما اون فرم هایی که اطلاعات این نرم افزار باید توش چاپ بشه را اینجا می زاری ما ببینیم ؟ آخه بین حرف اول شما و این چیزی که الان گفتین یه اختلافی است.
مثلاٌ اون اول عکسی که گذاشتین 40 تا فیلد است و پست قبلی گفتین => "فقط یک مورد باید چاپ بشه" من و دوستان شاید گیج بشیم.
چون راه حل برای حل مشکل شما است ، مشکل اینجاست که راه جل باید درست باشه که بشه برای مسئله های دیگه تعمیمش داد.
حالا شما عکس از فرمتون بزارین تا ما به حل مسئله نزدیک تر بشیم.
منتظریم.

سلام
دوست عزیز حق باشماست بنده یکم با عجله و غیرشفاف قضیه رو توضیح دادم...
ببنید قرار هست این اطلاعات از کاربر گرفته بشه و در یه فرم مثلا نامه اداری با متن برای مثال " آقا ........ فرزند ...... با شماره ......
جهت...... با آدرس و شماره .........
معرفی میگردد." قرار گرفته و در سایز آ5 چاپ شود.
به عباراتی در جاهای خالی مقادیر این تکس باکس ها و کمبوباکس ها قرا میگیره.
در اولین فرصت عکسی هم از فرم پرینت هم میزارم.

Mousavmousab
سه شنبه 22 بهمن 1392, 01:31 صبح
سلام
من می دونستم دقیقاٌ این چیزی است که الان شما صراحتاٌ ذکر کردین فقط کمی شک داشتم که برطرف شد. می دونستم همین است ولی گفتیم شاید تفاوتی هم داشته باشه که الان دیگه مطمئنم.
خوب شما یه عکس قرار بدین تا ببینیم چند تا فیلد است و باید چیکار کرد؟
منتظریم.

fardamg
سه شنبه 22 بهمن 1392, 12:32 عصر
سلام
من می دونستم دقیقاٌ این چیزی است که الان شما صراحتاٌ ذکر کردین فقط کمی شک داشتم که برطرف شد. می دونستم همین است ولی گفتیم شاید تفاوتی هم داشته باشه که الان دیگه مطمئنم.
خوب شما یه عکس قرار بدین تا ببینیم چند تا فیلد است و باید چیکار کرد؟
منتظریم.

سلام دوست عزیز نمونه یکی از فرم ها رو قرار دادم. ممنون میشم راهنمایی کنید

Mousavmousab
سه شنبه 22 بهمن 1392, 22:08 عصر
سلام

چرا شما می خواهید داده هایی در داخل این فرم روی فرمی که قبلاٌ چاپ شده به آن اضافه شود؟ من در این تصویر چیزی ( مثلاٌ کد خاصی) نمی بینم که شما می بایست حتماٌ روی اون کاغذ خاص این فیلد ها را چاپ کنید.؟

همان طور که قبلاٌ گفته بودم درست کردن قالب برای فرمی که شما نشون دادین به طوری که داده ها فلان جای کاغذ پرینت شود کار بسیار طاقت فرسایی است و اصلاٌ منطقی نیست.
شما بیایید سناریو را عوض کنید. به اون سرکت یا جایی که قرار است با فرم ها تعامل داشته باشد بگویید که فرم ها را شما چاپ کنید.
چون فرض کنید شما این فرم را قالب بندی کردید فرم های بعدی چی ؟ اصلاٌ کار درستی نیست.
موفق باشید.

fardamg
سه شنبه 22 بهمن 1392, 22:45 عصر
سلام

چرا شما می خواهید داده هایی در داخل این فرم روی فرمی که قبلاٌ چاپ شده به آن اضافه شود؟ من در این تصویر چیزی ( مثلاٌ کد خاصی) نمی بینم که شما می بایست حتماٌ روی اون کاغذ خاص این فیلد ها را چاپ کنید.؟

همان طور که قبلاٌ گفته بودم درست کردن قالب برای فرمی که شما نشون دادین به طوری که داده ها فلان جای کاغذ پرینت شود کار بسیار طاقت فرسایی است و اصلاٌ منطقی نیست.
شما بیایید سناریو را عوض کنید. به اون سرکت یا جایی که قرار است با فرم ها تعامل داشته باشد بگویید که فرم ها را شما چاپ کنید.
چون فرض کنید شما این فرم را قالب بندی کردید فرم های بعدی چی ؟ اصلاٌ کار درستی نیست.
موفق باشید.
فرض کنید قرار باشد کل این فرم توسط خودمان چاپ و طراحی شود.در این صورت روش چگون خواهد بود.... به عبارتی چینش مشابه این فرم داشته باشد.

Mousavmousab
سه شنبه 22 بهمن 1392, 23:08 عصر
خوب دوست عزیز اگر قرار باشه همه را خودتان پرینت کنید همه را خودتان باید تایپ کنید دیگه !!! این میشه همون برنامه Word ، حالا می تونید خودتان Word را کمی ساده تر در برنامه خودتان بنویسیدش
یا کار بهتر اینه که شما در برنامه Word تایپ کنید و زمانی که تمام شد Copy و Paste کنید در برنامه خودتان و آن را ذخیره شده داشته باشید.