ايران ويج

نسخه‌ی کامل: کمک در مورد پرینت گرفتن...فوری و ضروری
شما در حال مشاهده‌ی نسخه‌ی متنی این صفحه می‌باشید. مشاهده‌ی نسخه‌ی کامل با قالب بندی مناسب.
سلام.من یه برنامه ای نوشتم و اونو به پایگاه داده اکسس وصل کردم.تو بانک اطلاعاتی من نام و آدرس اشخاص زیادی ثبت خواهد شد.من میخوام برنامه یه کاغذ آ-چهار رو برام به مستطیل های مساوی و هم اندازه تقسیم کنه و این نام و آدرس هر شخص رو در هر کدوم از این مستطیل ها چاپ کنه....حضورتون عرض کنم که من از یه روش ابتکاری بهره بردم ولی جواب نداد.من اومدم یه فرم دیگه درست کردم و توش رو پر کردم از تکست باکس بعد اونارو به پایگاه داده وصل کردم و بعد از آن هم برای پرینت از دستور پرینت فرم استفاده کردم اما مشکل این روش اینجاست که اطلاعات چند صفحه باشه نمیشه همشو چاپ کرد و در ضمن بزرگترین بدی این روش اینه که نوشته ها بسیار ناخوانا و کدر دیده میشن ولی اگر از دیتا ریپورت استفاده کنیم اینتوری نیست و نوشته ها خیلی واضح است.حالا من درخواستم از شما اینه که یه روش جامعی ترجیها با دیتا ریپورت به من آموزش بدین که این کار ما رو راه بندازه و اگه سورسی هم که تهیه کردید دیگه حرف ندارین...قبلا هم از زحمات شما دوستان گرامی قدردانی و تشکر می کنم
چرا کسی جوابم رو نمی ده....یعنی هیچ کس نمی دونه این برنامه رو باید چجوری بنویسن؟؟!!...از اساتید خواهش می کنم به سوال من جواب بدنوووومن منتظرم...واقعا هم این بنامه رو لازم دارم
من شدیدا این برنامه رو لازم دارم...از شما دوستان گرامی هم عاجزانه خواهش دارم اگه میتونین منو راهنمایی کنین دریغ نکنین....من منتظر حضور سبزتان هستم
خب ببین راه داره اما سخت ها!!!
من خودم این کار رو یک بار انجام دادم و الان توی برنامه های مختلف ازش استفاده می کنم
باید بشینی دونه دونه بنوسی که هر چیزی کجا قرار بگیره، مثلاً می خوای گوشه سمت چپ کاغذ یه عکس بخوره با دستور DrawImage (تو VB.NET اینه) می گی رو فلان مختصات بکشه
حالا می تونی حتی جدول هم بکشی (با Line و Rectangle)، و متن هاتم توش بذاری جوری که نزنه بیرون(می تونی به یه متن بگی که خودتو توی یه Rectangle جا بده که متنه همین کار رو می کنه)

اگر هم حوصله نداری از این ActiveX های آماده استفاده کن و فکر کنم Crystal Report هم این کار رو می کنه
تو ديتا ريپورت رو نمي دونم اما اگه مي خواي متن نوشته هات داخل اون فرم هنگام پرينت كدر نشه اول بايد رنگ زمينه فرم رو به سفيد تفيير بدي و بعدشم بهتره به جاي تكست باكس از ليبل استفاده كني كه يا رنگ زمينه اش سفيده يا كلا نامرئي هست .
براي رسم مستطيل هم مي توني به كمك رسم خطوط ( دستور Draw ) هر چيزي رو هر جائي كه خواستي رسم كني.
دوستان چطور میشه کار کرد که وقتی می خواهیم از فرمی پرینت بگیریم . قبلش صفحه page setup باز بشه
مثل همون صفحه ایی که وقتی توی برنامه word هستیم و درکه crtl+p رو می زنیم باز میشه
لطفا کمک کنید ............
سلام
(۱۱-فروردین-۱۳۸۸, ۱۴:۱۳:۱۳)rouzbeh_ziafati نوشته است: [ -> ]دوستان چطور میشه کار کرد که وقتی می خواهیم از فرمی پرینت بگیریم . قبلش صفحه page setup باز بشه
برین از componentsها و microsoftcommon dialog control6 رو نصب کنید
بعد تو قسمت کد دکمه چاپتون بنویسید
CommonDialog1.showprinter
اینطوری اون صفحه ای که می خواین باز میشه
مرسی بابت راهنمایی ...
حالا چطور میشه تعداد دفعاتی که از گزارش پرینت گرفته میشه رو حساب کرد و در جایی ذخیره کرد ؟
چطور میشه تشخیص داد که در گزارش گیری از طریق دیتا ریپورت Datareport کاربر از گزارش پرینت گرفته ؟
یک فیلد در بانک دارم که تعداد پرینت ها رو ثبت میکنه . و هر بار که از گزارش پرینت گرفته شد باید این متغییر رو یک واحد اضافه کنم کسی راهی بلده ؟
دقت کنید که دکمه پرینت در دیتا ریپورت منظورمه ، همون دکمه که بطور خودکار در صفحه گزارش گیری اون بالا موجود هست .
تازه ممکنه کاربر اون دکمه رو کلیک بکنه اما از گزارش پرینت نگیره ، باید راهی وجود داشته باشه که ویژوال بیسیک تشخیص بده از گزارش پرینت گرفته شد یا نه . من این راه رو می خوام
لطفا کمک کنید .
راه 100% وجود نداره که بفهمی پرينت گرفته شده يا نه فقط ميتونی چک کنی که طرف چند بار سعی کرده پرينت بگيره.
مثلا اگه پرينتر اصلاً کار نکرد چی? برنامه ميتونه تشخيص بده که فرم واسه پرينتر فرستاده شده يا نه
ولی بقيش رو نميشه چک کرد. يعنی به همين سادگی نميشه.
تنها راه 100 % اینه: دستگاه های پرينتر که counter دارن که وقتی چيزی پرينت ميشه شماره ميندازه
فقط بايد counter پرينتر رو بخونی.