Pascal Fare Kullanımı

CorsaiR

Emektar
27 Ara 2005
1,228
18
Çekirdekten
Pascalda Fare Kullanımı Size verecegimiz bu Unit ile Pascal içinden mouse kullanmasini ve interrupt çagirmasini ögrenecegiz. Umarim size vermeye çalistigimiz bilgileri fazla demode bulmazsiniz. Ancak amacimiz size eski ve belkide artik isinize yaramayacak bilgiler vermek degil. Su anda kullanmakta oldugunuz Windows isletim sisteminin temelinde de ayni mantikla (belki de baska bir dilde) mouse interrupt'lar yardimiyla kullaniliyorlar.Neyse biz konumuza dönelim... Farenin kullanimi 33 numarali kesme ile mümkün olur. Bu kesmenin fonksiyonlarini ve kisa açiklamalarini listeliyorum. Daha detayli bilgi için foruma soru atabilirsiniz.

Dedigim gibi mouse ile ilgili kesme numaramiz 33. Bunun alt fonksiyonlarini kulanabilmek için AX registerine ilgili fonksiyon numarasinin atayip kesmeyi çagiriyoruz ve gerekirse sonuçlari BX, CX ve DX registerlerinden okuyabiliyoruz. Bazi fonksiyonlarda yardimci islemler için BX ve CX registeri de kullanilabilir.

Fonks. NoAçıklama00Fareyi Başlat/Bitir01Fare İmlecini Göster02Fare İmlecini Gizle03İmlecin Yerini ve Basılan Butonu Öğren04İmleci yerleştir05Basılan butonla ilgili bilgileri döndür06Bırakılan butonla ilgili bilgileri döndür07İmleç için yatay alan sınırlaması belirle08İmleç için dikey alan sınırlaması belirle09Grafik mod için imleci tanımla0AText mod için imleci tanımla0FMouse imlecinin hızını ayarla10İmlecin görünmeyeceği alanı belirle13Verilen limitten sonra hızı katla18Mouse ile birlikte özel tuş hareketi1AMouse hassasiyetini ayarla1BMouse hassasiyetini öğren1FMouse sürücüsünü disable et20Mouse sürücüsünü enable et

Bu bilgilerin sadece küçük bir kismini kullanarak basit bir unit ve örnek program yazdim. Çok fazla açiklama yok ama procedure ve function isimleri kendilerini yeterince açikliyorlar. Örnek program ekranda mouse imlecinin belirmesini sagladiktan sonra sol üst kösede mouse'un durumunu gösteriyor. Sizlerin bu konuda yapabileceklerinizi hayal gücünüze birakiyorum. Ancak örnek programda beni rahatsiz eden bir durum var o da yazilarin sürekli yanip sönmeleri. Belki bu problemi halletmek için neler yapabilecegimizi düsünebiliriz. Mesela yazi imlecini ortadan kaldirmak bir çözüm olabilir.

Sizce Pascal kullanarak yanip sönen imlecimizi ortadan kaldirmak mümkün mü ve nasil?


mouse.zip (7 Kb)

Bu arada benim hatam yüzünden bu döküman tamamen yok olmustu. Yeniden yazmak zaman aldi. Gecikme için hepinizden özür dilerim. Yine de bunun bir faydasi olmadi degil. Üyelerimizden Neset ÖZEREN de bir mouse ünitesi hazirlayip yollamis. Hemen hemen ayni olan bu unitte benimkinden farkli olarak inline komutu yerine assembler deyimleri dogrudan kullanilmis. Her iki örnegi yanyana koyup incelemek açisindan ilginç olabilir.

mouseunt.zip (2 Kb)


Kaplan Cem Eren
 
Üst

Turkhackteam.org internet sitesi 5651 sayılı kanun’un 2. maddesinin 1. fıkrasının m) bendi ile aynı kanunun 5. maddesi kapsamında "Yer Sağlayıcı" konumundadır. İçerikler ön onay olmaksızın tamamen kullanıcılar tarafından oluşturulmaktadır. Turkhackteam.org; Yer sağlayıcı olarak, kullanıcılar tarafından oluşturulan içeriği ya da hukuka aykırı paylaşımı kontrol etmekle ya da araştırmakla yükümlü değildir. Türkhackteam saldırı timleri Türk sitelerine hiçbir zararlı faaliyette bulunmaz. Türkhackteam üyelerinin yaptığı bireysel hack faaliyetlerinden Türkhackteam sorumlu değildir. Sitelerinize Türkhackteam ismi kullanılarak hack faaliyetinde bulunulursa, site-sunucu erişim loglarından bu faaliyeti gerçekleştiren ip adresini tespit edip diğer kanıtlarla birlikte savcılığa suç duyurusunda bulununuz.