تبلیغات :
ماهان سرور
آکوستیک ، فوم شانه تخم مرغی ، پنل صداگیر ، یونولیت
دستگاه جوجه کشی حرفه ای
فروش آنلاین لباس کودک
خرید فالوور ایرانی
خرید فالوور اینستاگرام
خرید ممبر تلگرام

[ + افزودن آگهی متنی جدید ]




نمايش نتايج 1 به 2 از 2

نام تاپيک: فعال کردن موس در پاسکال

  1. #1
    اگه نباشه جاش خالی می مونه mofi's Avatar
    تاريخ عضويت
    Mar 2007
    محل سكونت
    بی خیال
    پست ها
    477

    13 فعال کردن موس در پاسکال

    من یه کاربر ناشی هستم.
    حالا یه سؤال داشتم.
    که چه جوری میشه موس را در پاسکال فعال کرد؟
    راستش من خودم تو یه سایتی این عنوان را دیدم ولی نتوانستم از آن استفاده کنم.و در آن سایت با تعریف یک پروسیجر این کار را کرده بودند.کدهای آن را اینجا می گذارم تا کمکم کنید.
    مثلاً می خواهم با یک جمله ی شرطی که اگر Xموس یعنی مکان آن روی محور Xها 30 شد و کاربر کلیک چپ کرد یک جمله ای را چاپ کند.



    اینم عین اون مطلبی که تو اون سایت دیدم:
    براي استفاده از Mouse در محيط گرافيكي بايد وقفه مربوط به فعالسازي Mouse را فراخواني كنيم . اين وقفه 33Hex (هگزادسيمال) نام دارد و شامل يكسري توابع است كه هر تابع با يك شماره مشخص شده و كاربرد خاصي دارد . هركدام از توابع مذكور داراي ثباتهاي ورودي و خروجي هستند . ثباتهاي ورودي بايد قبل از فراخواني وقفه مقدار دهي شوند تا وقفه عمل مورد نظر ما را انجام دهد و ثباتهاي خروجي نتايج اجراي وقفه را برمي گردانند .
    تابع 00Hex از وقفه 33Hex :
    اين تابع اعمال زير را انجام مي دهد :
    1- پارامترهاي Mouse را با مقادير پيش فرض Set مي كند .
    2- اشاره گر Mouse را به مركز صفحه منتقل مي كند .
    ثبات ورودي :
    Ax := 0 ;
    ثبات خروجي :
    درايور Mouse نصب شده است . Ax = ffff Hex
    درايور Mouseنصب نشده است . Ax = 0000 Hex
    تعداد كليد هاي Mouse را مشخص مي كند . Bx = 3
    function mreset:integer;
    var i:integer;
    begin
    asm;{ اين دستور براي نوشتن دستورات اسمبلي بكار مي رود . }
    mov ax,0;
    int 33h; {فراخواني وقفه }
    mov i,ax;
    end;
    end;
    نكته : اين تابع فقط Mouse را فعاي مي كند ولي اشاره گر Mouse را آشكار نمي كند . براي نمايان شدن اشاره گر Mouse بايد از تابع بعدي استفاده كنيم .
    تابع 01Hex از وقفه 33Hex :
    اين تابع اشاره گر Mouse را در صفحه نشان مي دهد . قبل از اجراي اين تابع بايد تابع Mreset اجرا شده باشد .
    ثبات ورودي :
    Ax := 01 ;
    ثبات خروجي : ندارد .
    procedure mshow;
    begin
    asm;
    mov ax,01h;
    int 33h;
    end;
    end;
    اين تابع براي تشخيص مكان اشاره گر Mouse در هر لحظه و تعيين كليد فشره شده بكار مي رود .
    ثبات ورودي :
    Ax := 03 ;
    ثبات خروجي :
    مختصات اشاره گر Mouse روي محور Xها :Cx
    مختصات اشاره گر Mouse روي محور Yها :Dx
    تعيين كليد فشرده شده : Bx
    کلید چپ : 0 کلید راست : 1 کلید وسط : 2

    ساختار ثبات Bx بصورت شكل بالا است پس به ازاي فشرده شدن هر كليد مقادير زير را خواهيم داشت .
    كليد چپ Bx = 1 :
    كليد راست Bx = 2 :
    كليد وسط Bx = 4 :
    procedure mbutton(var x1:integer;var y1:integer;var k1:integer);
    var x,y,k:integer;
    begin
    asm
    mov ax,03;
    int 33h;
    mov x,cx;
    mov y,dx;
    mov k,bx;
    end;
    x1:=x;
    y1:=y;
    k1:=k;
    end;








    اگه حال نداشتید این ها را تایپ کنید من خودم تایپ شده ی آن ها را این جا با فر مت .pas می گذارم.


    [ برای مشاهده لینک ، با نام کاربری خود وارد شوید یا ثبت نام کنید ]

  2. #2
    پروفشنال MasterData's Avatar
    تاريخ عضويت
    Jul 2005
    محل سكونت
    مشهدالرضا
    پست ها
    623

    پيش فرض

    اینجا یه سری سورس کد به پاسکال هست که برنامه های گرافیکی و .......... چیز دیگه داره
    [ برای مشاهده لینک ، با نام کاربری خود وارد شوید یا ثبت نام کنید ]

Thread Information

Users Browsing this Thread

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

User Tag List

قوانين ايجاد تاپيک در انجمن

  • شما نمی توانید تاپیک ایحاد کنید
  • شما نمی توانید پاسخی ارسال کنید
  • شما نمی توانید فایل پیوست کنید
  • شما نمی توانید پاسخ خود را ویرایش کنید
  •