امتیاز موضوع:
  • 0 رأی - میانگین امتیازات: 0
  • 1
  • 2
  • 3
  • 4
  • 5
پرينت كردن در VB
نویسنده پیام
v.nassiri آفلاین
تازه وارد

ارسال‌ها: 12
موضوع‌ها: 2
تاریخ عضویت: دى ۱۳۸۷

تشکرها : 1
( 4 تشکر در 2 ارسال )
ارسال: #1
Exclamation  پرينت كردن در VB
با درود . . .

من تازه دارم با VB كار ميكنم. الان به يه مشكل بر خوردم حسابي.
موقعي كه دستور پرينت فرم رو ميدم تنها اون مقداري از فرم كه در صفحه نمايش قابل روئيت هست پرينت ميشه. يعني اگه فرم ايجاد شده بزرگتر از صفحه نمايش باشه بايد قيد پرينت كردنشو زد.
از اساتيد اين كاره كسي ميتونه كمكي كنه؟؟؟

يه سوال ديگه هم داشتم: همونطور كه داخل بعضي از نرم‌افزارها ديديد يه كادر توي منوي فايل هست كه معمولا printer setup نام داره و ميشه باهاش تنظيمات پرينتر رو انجام داد(نوع كاغذ و...). توي VB هم ميشه يه چنين كاري رو انجام داد؟

از يكي از دوستام شنيدم كه توي دات نت با كريستال... ميشه اين كارو كرد و تازه سده تر هستش. ولي مشكل من اينه كه بايد با VBباشه

با تشكر . . .
۰۸-فروردین-۱۳۸۹, ۰۱:۳۷:۲۶
ارسال‌ها
پاسخ
krengaroo آفلاین
كاربر دو ستاره
**

ارسال‌ها: 74
موضوع‌ها: 20
تاریخ عضویت: شهریور ۱۳۸۸

تشکرها : 26
( 89 تشکر در 32 ارسال )
ارسال: #2
RE: پرينت كردن در VB پاسخ:
به نام سازنده ای که ساختن را ساخت

(۰۸-فروردین-۱۳۸۹, ۰۱:۳۷:۲۶)v.nassiri نوشته است: موقعي كه دستور پرينت فرم رو ميدم تنها اون مقداري از فرم كه در صفحه نمايش قابل روئيت هست پرينت ميشه. يعني اگه فرم ايجاد شده بزرگتر از صفحه نمايش باشه بايد قيد پرينت كردنشو زد.
از اساتيد اين كاره كسي ميتونه كمكي كنه؟؟؟

يه سوال ديگه هم داشتم: همونطور كه داخل بعضي از نرم‌افزارها ديديد يه كادر توي منوي فايل هست كه معمولا printer setup نام داره و ميشه باهاش تنظيمات پرينتر رو انجام داد(نوع كاغذ و...). توي VB هم ميشه يه چنين كاري رو انجام داد؟

از يكي از دوستام شنيدم كه توي دات نت با كريستال... ميشه اين كارو كرد و تازه سده تر هستش. ولي مشكل من اينه كه بايد با VBباشه

با تشكر . . .


پاسخ سوال اول:

شما باید خاصیت AutoRedraw فرم را برابر True قرار دهید

با استفاده ازاین خصیصه (کی خسیسه ؟)فرم شما دایره ها و خط هایی که

با استفاده از دستور line و circle کشیده اید پاک نمیشوند


پاسخ سوال دوم:

شما باید از یک دیاگ کنترل استف کنی

نام :Microsoft Common Dialog Control

مثال : اگر نام کنترلی که شما افزوده باشید "لارستان_باید_استان_بشه"

باشد آنگاه :

ShowPrinter.لارستان_باید_استان_بشه

نام من:علی

تاریخ تولد:11/4/74


محل تولد : لارستان فارس
(آخرین ویرایش در این ارسال: ۰۸-فروردین-۱۳۸۹, ۱۳:۰۰:۳۳، توسط krengaroo.)
۰۸-فروردین-۱۳۸۹, ۱۲:۵۰:۴۰
وب سایت ارسال‌ها
پاسخ
v.nassiri آفلاین
تازه وارد

ارسال‌ها: 12
موضوع‌ها: 2
تاریخ عضویت: دى ۱۳۸۷

تشکرها : 1
( 4 تشکر در 2 ارسال )
ارسال: #3
RE: پرينت كردن در VB
با تشكر

ام بازم نشد.
autoredraw رو فعال كردم اما بازم كار نميكنه.
قضيه اينه كه من يه فرم A4 ميخوام بسازم كه يه متن توش جا شه و بعد بشه پرينتش كرد.
مشكل اينجاست كه وقتي فرم رو براي A4 تنظيم ميكنيم قسمت پايين فرم از پايين مانيتور ميزنه بيرون و وقتي هم كه پرينمت ميشه فقط قسمتي كه داخل صفحه مانيتور بوده پرينت ميشه.
راه حلي به نظرتون ميرسه؟

راجع به اون ديالوگ كنترل هم انجامش دادم اما اونم نشد. كادر پرينتر مياد بالا ولي وقتي دكمه پرينت رو ميزنم كار نميكنه و وقتي چند بار فشارش ميدم كادر بسته ميشه.
۰۸-فروردین-۱۳۸۹, ۱۳:۳۶:۴۹
ارسال‌ها
پاسخ
krengaroo آفلاین
كاربر دو ستاره
**

ارسال‌ها: 74
موضوع‌ها: 20
تاریخ عضویت: شهریور ۱۳۸۸

تشکرها : 26
( 89 تشکر در 32 ارسال )
ارسال: #4
RE: پرينت كردن در VB
دقیقا توضیح بدید که چی رو پرینت کنه


من کد پرینتر تو VB دارم که میاد اونچه که تو textbox هست رو پرینت میگیره

Printer.ScaleMode = vbCentimeters
Printer.Height = 34.5
Printer.Width = 24.5
Printer.RightToLeft = True
Printer.Font.Name = "nazanin"
Printer.Font.Size = 12
Printer.CurrentX = 10
Printer.CurrentY = 10
Printer.Print Text1.Text
Printer.EndDoc

اگر میخواهید از آبجکت های روی فرم پرینت گرفته شود:

Me.PrintForm

اگر میخواهید از عکس پرینت گرفته شود :


پروژه ی زیر را دانلود کنید :

http://uploading.com/files/6491bdm5/Printdatagrid.zip <---منبع:http://vb-access.blogfa.com/post-21.aspx


من احساس کردم که در فروم زیر سوالی همانند سوال شما مطرح شده بود:

http://forum.p30world.com/showthread.php?t=238184
(آخرین ویرایش در این ارسال: ۰۸-فروردین-۱۳۸۹, ۲۱:۱۲:۴۴، توسط krengaroo.)
۰۸-فروردین-۱۳۸۹, ۲۰:۵۴:۱۶
وب سایت ارسال‌ها
پاسخ
v.nassiri آفلاین
تازه وارد

ارسال‌ها: 12
موضوع‌ها: 2
تاریخ عضویت: دى ۱۳۸۷

تشکرها : 1
( 4 تشکر در 2 ارسال )
ارسال: #5
RE: پرينت كردن در VB
با تشكر از اينكه جواب ميديد
كل ماجرا رو بگم بهتره:
من رشته تحصيليم الكترونيكه و يه خورده تو بيسيك هم دستو پا ميزنيم
حالا براي كارمون احتياج داريم كه هي نامه بفرستيم و منم گفتم بيام سادش كنم.ديگه از WORD خسته شدم از بس باهاش كار كردم...
كل فرم تقريبا يه چنين حالتي داره البته يه عكس هم (يه لوگو) بعدا قراره بالاش بذاريم.

[تصویر:  1269806248.jpg]


نوع كاغذ در اكثر موارد A5 و بعضي مواقع هم كه متن زيادتري بايد نوشته بشه A4 هستش.
يه چند باري امتحان كردم و براي پرينت كردن از دستور form1.printform استفاده كردم. موقع پرينت قسمت راست صفحه (حدود 1 سانت) پرينت نميشد كه بچه ها گفتن پيشفرض پرينتر كاغذ لتر هستش و دليلش اونه.
حالا از اين بگذريم وقتي اندازه فرم رو به 12000 و 19000 (تقريبا برابر A4) در مياريم فرم به اندازه اي بزرگ ميشه كه پايين فرم از مانيتور ميزنه بيرون و زماني هم كه هر نوشته اي توي اون قسمت پايين باشه پرينت نميشه.

فكر كنم كامل گفتم ها؟؟

حالا يه قضيه اي اون كادر تنظيمات پرينتر كه معرفي كرديد چطور بايد باهاش كار كرد؟ وقتي روي دكمه پرينت كليك ميكنم كار نميكنه؟؟؟


با تشكر و معذرت از اينكه سرتونو درد آوردم.
(آخرین ویرایش در این ارسال: ۰۸-فروردین-۱۳۸۹, ۲۱:۵۰:۲۱، توسط v.nassiri.)
۰۸-فروردین-۱۳۸۹, ۲۱:۴۷:۰۵
ارسال‌ها
پاسخ
v.nassiri آفلاین
تازه وارد

ارسال‌ها: 12
موضوع‌ها: 2
تاریخ عضویت: دى ۱۳۸۷

تشکرها : 1
( 4 تشکر در 2 ارسال )
ارسال: #6
RE: پرينت كردن در VB
كسي نيست جواب بده؟؟؟
۰۹-فروردین-۱۳۸۹, ۱۸:۰۱:۵۳
ارسال‌ها
پاسخ
Di Di آفلاین
مدير بخش هك و كرك
*****

ارسال‌ها: 2,358
موضوع‌ها: 116
تاریخ عضویت: اسفند ۱۳۸۵

تشکرها : 1816
( 4046 تشکر در 1321 ارسال )
ارسال: #7
RE: پرينت كردن در VB
دوست عزیز

برای نمایش دیالوگ باکس پرینتر بعد از قرار دادن عنصر CommonDialog1 بر روی فرم، از دستور زیر برای نمایش کادر تنظیمات پرینتر استفاده کنید:

CommonDialog1.ShowPrinter

برای چاپ یک صفحه کامل خیلی خیلی بهتره که از برنامه هایی مثل کریستال ریپورت استفاده کنید چون این برنامه ها به سادگی هرچه تمامتر هر اونچه که احتیاج دارید رو به صورت حرفه ای در اختیارتون قرار می ده و می تونید از اون در سیستم های مختلف هم بدون اشکال استفاده کنید

اما در هر صورت در خود VB هم می تونید این کار رو انجام بدید، کافیه کل محتوای فرم رو داخل یک PictureBox بریزید و از محتوای اون پرینت بگیرید.

۱۰-فروردین-۱۳۸۹, ۰۲:۳۱:۰۴
وب سایت ارسال‌ها
پاسخ
تشکر شده توسط : v.nassiri
v.nassiri آفلاین
تازه وارد

ارسال‌ها: 12
موضوع‌ها: 2
تاریخ عضویت: دى ۱۳۸۷

تشکرها : 1
( 4 تشکر در 2 ارسال )
ارسال: #8
RE: پرينت كردن در VB
با تشكر از راهنماييتون
من از يه چنين روشي استفاده كردم

Private Sub print1_Click()
Dim intLoopIndex As Integer
On Error GoTo Cancel
pprint.PrinterDefault = True
pprint.ShowPrinter
For intLoopIndex = 1 To pprint.Copies
Printform
Next intLoopIndex
Cancel:
End Sub
[align=right]

به نظرتون درسته؟؟؟

اين روش فقط همون مقداري رو كه توي صفحه نمايش داده ميشه پرينت ميكنه.
اندازه فرم من 16000 در 12000 هستش.
اين قضيه picture رو ميشه بگيد چطور بايد پرينتش كرد؟؟

ميتونيد لطف كنيد كدش رو برام بنويسيد؟؟
با تشكر . . .
۱۰-فروردین-۱۳۸۹, ۱۱:۱۸:۱۳
ارسال‌ها
پاسخ
v.nassiri آفلاین
تازه وارد

ارسال‌ها: 12
موضوع‌ها: 2
تاریخ عضویت: دى ۱۳۸۷

تشکرها : 1
( 4 تشکر در 2 ارسال )
ارسال: #9
RE: پرينت كردن در VB
كسي نميدونه؟؟؟
۱۱-فروردین-۱۳۸۹, ۱۴:۰۳:۴۴
ارسال‌ها
پاسخ
krengaroo آفلاین
كاربر دو ستاره
**

ارسال‌ها: 74
موضوع‌ها: 20
تاریخ عضویت: شهریور ۱۳۸۸

تشکرها : 26
( 89 تشکر در 32 ارسال )
ارسال: #10
RE: پرينت كردن در VB
(۰۸-فروردین-۱۳۸۹, ۲۱:۴۷:۰۵)v.nassiri نوشته است: حالا از اين بگذريم وقتي اندازه فرم رو به 12000 و 19000 (تقريبا برابر A4) در مياريم فرم به اندازه اي بزرگ ميشه كه پايين فرم از مانيتور ميزنه بيرون و زماني هم كه هر نوشته اي توي اون قسمت پايين باشه پرينت نميشه.

اولا شما نباید بگید تقریبا 19000 و12000 هست اندازه دقیق رو بدست بیارید

و سپس واحد اندازه گیری فرم رو از Twip به pixel تغییر بدید و اندازه ی کاغذ رو

با پیکسل وارد کنید

پیشنهاد:

اگر شما یک تکست باکس مخفی بگذارید که کاربر پس از وارد کردن موضوع ، تاریخ

، شماره و متن و کلیک روی دکمه ی پرینت همه ی اینها در آن تکست باکس

مخفی یک جا بشه;مثلا:

کد:
Private Sub پرينت_Click()
' لارستان بايد استان بشه استان لارستان بشه
تکست_مخفي.Text = تکست_مخفي.Text + شماره.Text + vbNewLine


تکست_مخفي.Text = تکست_مخفي.Text + تاريخ.Text + vbNewLine

تکست_مخفي.Text = تکست_مخفي.Text + موضوع.Text + vbNewLine

تکست_مخفي.Text = تکست_مخفي.Text + "باسمه تعالي" + vbNewLine


تکست_مخفي.Text = تکست_مخفي.Text + متن.Text


Printer.ScaleMode = vbCentimeters
Printer.Height = 34.5
Printer.Width = 24.5
Printer.RightToLeft = True
Printer.Font.Name = "nazanin"
Printer.Font.Size = 12
Printer.CurrentX = 10
Printer.CurrentY = 10
Printer.Print تکست_مخفی.Text
Printer.EndDoc







End Sub


در ضمن من سورس یه برنامه داشتم (حالا یادم نیست آزمون گیر بود یا ثبت شماره

تلفن) که میومد از اطلاعات داده شده پرینت میگرفت


در مورد پرینت از عکس هم باید بگم که من سورسش رو بالا (تو اولین پاسخی که

دادم) برات گذاشتم اما اشکال نداره یه لینک دیگه برات میذارم اما ممکنه

سورسش فرق کنه

سایت:http://www.barnamenevis.org/forum/showthread.php?p=583113


آقا همگی برای استان شدن لارستان کهن دعا کنید
(آخرین ویرایش در این ارسال: ۱۱-فروردین-۱۳۸۹, ۲۲:۱۱:۱۴، توسط krengaroo.)
۱۱-فروردین-۱۳۸۹, ۲۱:۵۳:۵۲
وب سایت ارسال‌ها
پاسخ
Di Di آفلاین
مدير بخش هك و كرك
*****

ارسال‌ها: 2,358
موضوع‌ها: 116
تاریخ عضویت: اسفند ۱۳۸۵

تشکرها : 1816
( 4046 تشکر در 1321 ارسال )
ارسال: #11
RE: پرينت كردن در VB

.zip   A4 Printing solution.zip (اندازه: 97.56 KB / تعداد دفعات دریافت: 405)

امیدوارم کمک کنه

۱۱-فروردین-۱۳۸۹, ۲۲:۱۲:۱۵
وب سایت ارسال‌ها
پاسخ
تشکر شده توسط : PRO


موضوعات مرتبط با این موضوع...
موضوع نویسنده پاسخ بازدید آخرین ارسال
  كپي كردن فايل toopdanlod 6 7,412 ۰۸-آبان-۱۳۹۵, ۱۱:۱۲:۴۵
آخرین ارسال: za215487
Question دستور حذف كردن فايل ها در وبي ΛΛ Θ l-l $ Σ Ω 14 11,340 ۱۱-خرداد-۱۳۹۲, ۲۳:۳۱:۳۷
آخرین ارسال: ترانسپورتر
  مشکل در رجيستر كردن كامپوننت aleas 0 2,236 ۲۵-فروردین-۱۳۹۲, ۰۰:۴۷:۳۷
آخرین ارسال: aleas
Question سوال درباره چگونگي سرچ كردن در ديتابيس PRO 17 11,943 ۰۸-شهریور-۱۳۹۱, ۱۹:۵۲:۲۷
آخرین ارسال: PRO
Question [سوال] ضميمه كردن فونت با برنامه Hamidreza95 1 3,038 ۰۲-مهر-۱۳۹۰, ۲۰:۱۱:۱۱
آخرین ارسال: Di Di
Question [سوال] امكان auto number كردن يك فيلد در ديتابيس هاي vb6 hamed_Arfaee 3 5,613 ۰۲-مهر-۱۳۹۰, ۱۲:۴۲:۱۹
آخرین ارسال: hamed_Arfaee
Rolleyes مخفي كردن برنامه در msconfig و Registry و processes aliyarat 17 12,881 ۱۱-مهر-۱۳۸۹, ۰۹:۵۵:۳۶
آخرین ارسال: lord_viper
Question پيدا كردن تصاوير در يك صفحه اينترنتي saeedvir 3 3,989 ۰۹-مرداد-۱۳۸۹, ۲۱:۴۷:۴۳
آخرین ارسال: CRazYFULL
  پر كردن فيلد در يك سايت و ارسال--> كارت شارژ هم ميدم m.talaie 14 10,448 ۰۸-اردیبهشت-۱۳۸۹, ۲۱:۳۸:۴۴
آخرین ارسال: m.talaie
  ذخيره كردن متن داخل تكس باكس محمدعلي 1 2,709 ۰۳-فروردین-۱۳۸۹, ۰۲:۰۰:۳۹
آخرین ارسال: CRazYFULL

پرش به انجمن:


کاربرانِ درحال بازدید از این موضوع: 1 مهمان

صفحه‌ی تماس | IranVig | بازگشت به بالا | | بایگانی | پیوند سایتی RSS