سلام دوستان عزيز
من ميخوام از طريق پورت سريال يه دستور چاپ به چاپگر بفرستم ولي موفق نشدم.به عنوان مثال كلمه "Salam" را چطوري ميتونم ارسال كنم؟؟؟؟
اگه ميشه برام يه مثال كوچيك بزنيد دوستان
علیک سلام!
از دستور زیر استفاده کنید:
کد:
Private Sub Command1_Click()
Printer.CurrentX = 150
Printer.CurrentY = 200
Printer.Print "Salam"
End Sub
و اگر خواستید از TextBox پرینت بگیرید بجای "Salam" بنویسید text1.text
ممنون از جوابتون
ولي اين مثالي كه زدين براي پورت پارالل جواب ميده اما من ميخوام كه با پورت سريال چاپ بگيرم در اين مورد هم اطلاعاتي دارين؟
دوست عزيز
شما در وي بي لازم نيست مستقيما با پورت ها كار كنيد، كافيه دستور پرينت رو به چاپگر مورد نظرتون ارسال كنيد، براي اين
كار بايد يا چاپگر مورد نظرتون رو ديفالت قرار بديد يا اينكه قبل از پرينت گرفتن پنجره انتخاب چاپگر رو باز كنيد و از داخل اون
پرينتر رو انتخاب كنيد. البته در هر صورت بهتره براي چاپ از نرم افزارهايي مثل كريستال ريپورت استفاده كنيد.
دوست عزيز
اين روشي كه گفتيد براي ارسال چاپ به چاپگر هايي هست كه به پورت پارال(25پين) متصل شدهاند اما براي ارسال چاپ به پورت سريال (9پين) روشي وجود داره كه من بلد نيستم اگه ميشه راهنمايي كنيد.
معمولا چاپگرهايي كه از پورت سريال (9 پين) استفاده ميكنند اسليپ پرينترهاي بانكي هستند كه نياز به دريافت اطلاعات حجم كم و به تعداد بالا ميباشند
اگه كسي بتونه راهنمايي كنه ممنون ميشم.
حجم اطلاعات و تنظيم پورت و ... رو خود ويندوز زحمتش رو مي كشه شما فقط تو وي بي پيرنتر رو پيدا كن چاپ رو بفرست براش
الان اين كاري كه گفتم رو انجام دادي يا نه؟ چه مشكلي داره؟
اين چاپگرها درايوري براي ويندوز ندارن و براي تست اونها از CMD استفاده ميكنم به اين صورت :
C:\>MODE COM1 9600,N,8,1
C:/> DIR>COM1
و با دستور بالا ليست فايها و پوشههاي درايو جاري رو چاپ ميگيرم.
الان من ميخوام برنامهاي بنويسم كه با فشار يك دكمه يك متن دلخواه رو چاپ كنه يا همين كار دستورات بالا را بكنه ولي چيزي پيدا نكردم اگه ميتونيد كمكم كنيد .
حتي اگه يك نقطه هم چاپ كنه برام كافيه !!!
بسیار خوب شما همین دستورات رو از طریق VB به محیط DOS ارسال کنید
قبلا در مورد اجرای دستورات DOS در VB مفصلا بحث شده که با جستجو در فروم می تونید اونها رو پیدا کنید
خب اگه فقط کافیه که متن رو به پورت سریال بفرستید.. ( فقط نمیفهمم آخر ارسال رو چجوری میفهمه!؟)
میتونید هر متنی که خواستید رو به پورت سریال بفرستید.( مثلا توی .net با شیئ serialport و تابع write )
البته تنظیماتش رو هم باید انجام بدید (buadrate و اینا ). که اینو باید از manual پرینتر احتمالا به دست بیارید. یا از cmd تنظیمات رو در بیارید ( با دستور mode میتونید تنظیمات پورت سریال رو ببینید ).
ممنون از راهنمايتون
توي vb چجوري ميشه اينكارو كرد
تنظيمات چاپگر من اينه:
BAUD:9600
PARITY:NONE
DATA BITS:8
STOP BITS:1
به عنوان مثال براي ارسال يك كلمه مثل "TEST" چكار بايد كرد
؟؟
از کنترل Microsoft Comm Control باید استفاده کنید.(از تو رفرنس ها با همین اسم پیداش میکنید)
همین تنظیماتو اونجا اعمال میکنید و متنو میفرستید (البته فک کنم یه vbcrlf هم باید آخر متن بگذارید)