+ ارسال نظر
نمایش نتایج: از 1 به 1 از 1

موضوع: برنامه نویسی سخت افزار در ویژوال بیسیک

  1. #1
    مدیرکل انجمنهای نور آسمان vorojax آواتار ها
    تاریخ عضویت
    Jun 2008
    محل سکونت
    همشهری حضرت عشق
    نوشته ها
    7,305
    تشکر
    6
    تشکر شده 0 بار در 0 ارسال

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

    [size=xx-large]برنامه نویسی سخت افزار در ویژوال بیسیک
    مقدمه
    شاید تابحال خواسته باشید از طریق پورت پرینتر و یا پورت سریال یا
    با سخت افزاري که خودتان ساخته اید ارتباط برقرار کنید . ISA باس
    با I/O براي این کار شما نیاز به برنامه اي دارید که بوسیله دستورات
    سخت افزار شما ارتباط برقرار کند . چون ویژوال بیسیک داراي
    نیست بایستی توسط ویژوال سی یک I/O دستورات کار با پورتهاي
    براي کار با این پورتها بسازیم . Dll


    و کاربردهاي آن DLL
    و INPUT برنامه نویسی کرده باشید با دستورات DOS اگر شما در
    آشنا C در outp و inp و با دستورات QuickBasic در زبان OUPUT
    پیاده سازي نشده اند . این توابع براي VB هستید . این توابع در
    و نیز برنامه نویسان سیستم حیاتی PC سازندگان سخت افزار براي
    هستند زیرا به شما اجازه خواندن از پورت و نوشتن به پورت را می
    یا کتابخانه Dll باید از VB دهند . براي ایجاد امکان استفاده ار پورت در
    اجازه می دهند تا یک کد VB ها به Dll . هاي دینامیک استفاده کنیم
    نوشته شده به یک زبان دیگر را در زمان اجرا ( بطور دینامیک ) به
    برنامه لینک شود . چون ویژوال سی داراي توابع خواندن و نوشتن
    موردنظر استفاده Dll پورت است بنابراین ما از این زبان براي ساخت
    می کنیم .
    VC در DLL نوشتن
    ما بایستی دو فایل را ایجاد کنیم . اولین فایل یک فایل Dll براي ساخت
    می CPP یا source ++C است و دومین فایل ، یک فایل DEF یا define
    ایجاد کنید . لیست کد Notepad باشد . هر دو فایل را می توانید توسط
    این دو فایل بصورت زیر است :
    : Port.def file
    LIBRARY Port
    DLL FOR I/O PORT DESCRIPTION
    EXPORTS
    Outp @1
    Inp @2

    : Port.cpp file
    #include "conio.h"x
    PortData)x short _stdcall Outp(int PortAddress,int
    {
    Dummy;x short
    Dummy=(short)(_outp(PortAddress,PortData));x
    return(Dummy);x
    };
    stdcall Inp(int PortAddress)x_ short
    {
    PortData;x short
    PortData=(short)(_inp(PortAddress));x
    return(PortData);x
    };
    پس از نوشتن این دو فایل آنها را در یک دایرکتوري قرار دهید ( مثلا مورد File و سپس وارد محیط ویژوال سی شوید . از منوي ( C:\port
    Projects را انتخاب کنید و در کادري که ظاهر می شود در قسمت New
    را انتخاب کنید . همچنین در Win32 Dynamic-Link Library مورد
    را وارد port عبارت Project name سمت راست همان صفحه در کادر
    را وارد کنید و آنگاه C:\port\port عبارت Location کنید و در کادر
    را کلیک کنید . OK

    !Error
    ایجاد workspace را به cpp و def در مرحله بعدي بایستی فایل هاي
    Port روي عبارت FileView شده اضافه کنیم . براي اینکار در برگه
    را انتخاب کنید . Project Add Files to کلیک راست کرده و مورد files

    را انتخاب کنید . با همین port.cpp در کادري که ظاهر می شود فایل
    را نیز به پروژه اضافه نمائید . port.def روش فایل
    dll را انتخاب کنید تا Build port.dll شده مورد Build حال وارد منوي
    مورد نظر ساخته شود .

    ویندوزتان کپی کنید . system ساخته شده را در دایرکتوري dll
    در ویژوال بیسیک Dll استفاده از
    را In و Out ساخته شده باید ابتدا توابع dll براي استفاده از توابع
    کنید : declare
    Private Declare Function Outp Lib “port.dll” (Byval
    PortAddress as Integer,Byval PortData as Integer) as
    Integer
    Function Inp Lib “port.dll” (Byval Private Declare
    PortAddress as Integer) as Integer
    حال در برنامه تان براي نوشتن به یک پورت از دستور زیر استفاده
    کنید :
    Dummy=Outp(port_number,data)x
    و براي خواندن از پورت از دستور زیر استفاده کنید :

    Portvalue=Inp(port_number)x
    در dll و یک برنامه نمونه استفاده از این port.dll نکته : براي دریافت
    ویژوال بیسیک ، در بخش نظر خواهی آدرس ایمیل خود را بگذارید .
    و برنامه نویسی آن در ویژوال بیسیک Parallel پورت
    تذکر : در مقاله هاي قبلی بخشی تحت عنوان " برنامه نویسی سخت
    افزار در ویژوال بیسیک " نوشتم که در آن روشی براي دسترسی به
    پورتها از طریق ویژوال بیسیک ذکر شد . لازم به تذکر است که این روش
    تنها در ویندوزهاي 95 و 98 امکان پذیر است .
    ( Parallel ) مبانی پورت موازي
    پورت پارالل استاندارد کامپیوتر یک درگاه 25 پینی است که 12 پین آن
    DATA ) خروجی می باشد . از این 12 خط ، 8 خط بعنوان داده خروجی
    می باشند . 5 ( CONTROL Port ) و 4 خط بعنوان خط کنترل ( Port
    ( STATUS Port ) پین نیز ورودي بوده و بعنوان خطوط وضعیت
    استفاده می شوند .
    هستند . ( GROUND ) 8 پین باقیمانده نیز زمین
    که هرکدام متناظر با یکی از I/O خطوط پورت پارالل توسط سه آدرس
    سه پورت داده ، کنترل و و ضعیت است قابل دسترسی می باشند .
    ( LPT می باشد ( 1 x آدرس پایه پورت پارالل در اکثر کامپیوترها 3780
    status براي پورت ، x براي پورت داده برابر 3780 I/O . بنابراین آدرس
    می باشد . x37A برابر 0 command و براي پورت x برابر 3790

    و ECP پورت پارالل استاندارد داراي دو حالت توسعه یافته به نامهاي
    نیز می باشد . EPP
    بوسیله پورت پارالل می توانید مدارهاي جانبی خود را به کامپیوتر
    متصل کنید . تنها نکته اي که در این بین وجود دارد چگونگی برنامه
    نویسی پورت پارالل و در نتیجه برقراري ارتباط با مدار جانبی است .
    براي اطلاعات بیشتر در این زمینه با من تماس بگیرید .
    برنامه نویسی پورت پارالل در محیطهاي مختلف ویندوز
    می توان به dll با استفاده از این : Inpout32.dll استفاده از کتابخانه
    دسترسی داشت Win 9x/NT/2000/XP پورتهاي سیستم در محیطهاي
    .
    dll به این آدرس مراجعه کنید . براي استفاده از این dll براي دریافت این
    ویندوزتان کپی کنید . سپس System کافی است آنرا در دایرکتوري 32
    یک ماژوال به پروژه تان اضافه کرده و عبارت زیرا را در آن قرار دهید :
    Public Declare Function Inp Lib "inpout32.dll" Alias
    Inp32" (ByVal PortAddress As Integer) As Integer"
    inpout32.dll" Alias "Out32" " Public Declare Sub Out Lib
    Integer)x (ByVal PortAddress As Integer, ByVal Value As
    حال براي مثال با دستور زیر می توانید اطلاعاتی را روي پینهاي
    ي مربوط به پورت پارالل بنویسید : DATA
    H378, your_data)x&)Call Out

    آشنایی با شی پرینتر در ویژوال بیسیک
    آشنایی با شی پرینتر در ویژوال بیسیک 6
    مقدمه
    شی پرینتر ، شیی است که پرینتر پیش فرض سیستم را کنترل می کند .
    استفاده از شی پرینتر در ویژوال بیسیک 6 مانند کار با سایر اشیا است
    و بایستی از خواص و متدهاي آن استفاده کرد . در ادامه با برخی از این
    خواص و متدها آشنا خواهید شد .
    چاپ متن توسط شی پرینتر
    و CurrentX براي چاپ متن توسط شی پرینتر کافیست خواص
    که محل قرار گرفتن کرسر می باشد را تنظیم نوده و سپس CurrentY
    متن مورد نظر را چاپ نموده و در پایان با Print با استفاده از متد
    صفحه چاپی را از پرینتر بیرون بدهیم . مثال : EndDoc استفاده از متد
    Printer.CurrentX=150
    Printer.CurrentY=200
    Printer.Print "Visual Basic Printer Object Test"
    Printer.EndDoc
    قرار داده شده Pixel برابر ScaleMode در مثال فوق فرض شده که
    عمل چاپ EndDoc است . توجه داشته باشید که تا قبل از اجراي متد

    انجام نمی شود و فقط بعد از این متد است که چاپ انجام شده و کاغذ
    بیرون می آید .
    دیگري را استفاده کنیم متن Print دستور ، Print اگر پس از یک دستور
    روي خط بعدي چاپ خواهد شد . اگر بخواهیم متن بلافاصله بعد از متن
    اول از علامت ; استفاده کنیم . Print اول چاپ شود باید بعد از دستور
    استفاده CurrentY و CurrentX نکته : براي کنترل دقیق محل چاپ از
    نمائید .
    چاپ گرافیک توسط شی پرینتر
    به 4 روش می توان اشکال گرافیکی را توسط شی پرینتر چاپ کنید :
    می توان یک دایره ، قوس و یا Circle 1 – چاپ دایره : با استفاده از متد
    بیضی را در صفحه چاپ کرد . فرمت کلی این متد بصورت زیر است :
    Circle (x,y),radius,[color],[start],[end],[aspect]
    شعاع آن می باشد . radius مختصات مرکز دایره و y و x که
    اختیاري هستند و بترتیب aspect و end ،start ،color پارامترهاي
    رنگ ، محل شروع قوس ، محل خاتمه قوس و نسبت شعاع بیضی را
    نشان می دهند .
    می توان یک خط و مستطیل را در Line 2 – چاپ خط : با استفاده از متد
    صفحه چاپ کرد . فرمت کلی این متد بصورت زیر است :
    Line (x1,y1)-(x2,y2),[color],[B[F]]
    مختصات y و 2 x مختصات شروع خط ( یا مستطیل ) و 2 y و 1 x که 1
    انتهاي خط ( یا مستطیل ) هستند .

    اختیاري بوده و رنگ خط ( یا مستتطیل ) را نشان می دهد color پارامتر
    .
    اختیاري بوده و نشان می دهد یک مستیل رسم شود . B پارامتر
    می آید و نشان می دهد یک مستطیل B اختیاري بوده و بهمراه F پارامتر
    توپر رسم شود .
    می توان نقطه اي روي صفحه PSet 3 – چاپ نقطه : با استفاده از متد
    چاپ کرد و فرمت کلی آن بصورت زیر است :
    PSet (x,y),[color]
    مختصات نقطه می باشند . y و x که
    اختیاري بوده و رنگ نقطه را نشان می دهد . color پارامتر
    می توان محتویات PaintPicture 4 – چاپ تصویر : با استفاده از متد
    یک فایل گرافیکی را چاپ کرد . فرمت کلی این متد بصورت زیر است :
    Printer.PaintPicture picture, x1, y1, [width1], [height1],
    [x2], [y2], [width2], [height2], [opcode]
    یک picture مختصات قرارگرفتن تصویر در صفحه بوده و y و 1 x1
    است . این شی را می توان از یک IPictureDisp شی از کلاس
    فرم گرفت و یا از دستور Picture یا از خاصیت PictureBox
    استفاده کرد . LoadPicture
    : مثال 1
    Printer.PaintPicture Picture1.Picture, 100, 100
    : مثال 2

    PaintPicture LoadPicture("C:\sample.jpg"), 100, 100
    y و 2 x طول و عرض تصویر چاپی می باشند . 2 height و 1 width1
    می توانند میزان برش از تصویر اصلی height و 2 width نیز بهمراه 2
    براي چاپ را مشخص کنند .
    سایر خواص مهم شی پرینتر
    اگر پرینتر رنگی باشد ، رنگی یا تک رنگ بودن چاپ را : ColorMode
    تعیین می کند .
    تعداد چاپ را مشخص می کند . : Copies
    نوع فونت چاپ متن را مشخص می کند . : Font
    سایز فونت چاپ متن را مشخص می کند . : FontSize
    کیفیت چاپ را مشخص می کند . : PrintQuality
    سایر متدهاي مهم شی پرینتر
    پرینت در حال چاپ را از صف چاپ حذف می کند . : KillDoc
    صفحه جاري را به پایان برده و صفحه جدیدي را براي : NewPage
    چاپ آماده می کند .
    سیستم مختصات کاربر را تعیین می کند . : Scale
    را Scale ارتفاع متن پس از چاپ شدن در مختصات : TextHeight
    تعیین می کند .
    را Scale عرض متن پس از چاپ شدن در مختصات : TextWidth
    تعیین می کند .

    http://sheidaian.persianblog.com[/size]

  2. # ADS
    Circuit advertisement
    تاریخ عضویت
    Always
    محل سکونت
    Advertising world
    نوشته ها
    Many

     

    حرز امام جواد

     

+ ارسال نظر

اطلاعات موضوع

کاربرانی که در حال مشاهده این موضوع هستند

در حال حاضر 1 کاربر در حال مشاهده این موضوع است. (0 کاربران و 1 مهمان ها)

مجوز های ارسال و ویرایش

  • شما نمیتوانید موضوع جدیدی ارسال کنید
  • شما امکان ارسال پاسخ را دارید
  • شما نمیتوانید فایل پیوست کنید.
  • شما نمیتوانید پست های خود را ویرایش کنید
  •  
کانال سپاه