- admin
- February 20, 2019
- 0 Comments
VB6 artık kullanılmasa da öğrenmesi basit olduğundan bu örneklere yer verilmiştir. Özellikle, paralel portlar (LPT) ve seri portlar (COM) gibi donanım bileşenlerinin nasıl kullanılacağı ve programlanacağına dair ayrıntılı rehberler sunuyoruz. Aşağıda, seri ve paralel portların kullanılabilirliğini kontrol eden ve mevcut port sayısını bildiren basit bir Visual Basic kod örneği bulabilirsiniz. Paralel ve seri portların var olup olmadığını öğrenmek için fonksiyonlar. Dönen değerler True ise port mevcuttur. |
Seri Port Bulmak için fonksiyon
Function IsComPortAvailable(ByVal portNum As Integer) As Boolean
Dim fnum As Integer
On Error GoTo ErrorHandler
fnum = FreeFile
Open "COM" & CStr(portNum) For Binary Shared As #fnum
Close #fnum
IsComPortAvailable = True
Exit Function
ErrorHandler:
If Err.Number <> 0 Then
IsComPortAvailable = False
Err.Clear
End If
End Function
Paralel Port Bulmak için fonksiyon
Function IsLptPortAvailable(ByVal portNum As Integer) As Boolean
' Dosya numarasını tutacak bir değişken tanımla
Dim fnum As Integer
' Çalışma zamanı hatalarını bastır
On Error Resume Next
' Boş bir dosya numarası al
fnum = FreeFile
' Belirtilen LPT portunu ikili paylaşımlı erişim için açmayı dene
Open "LPT" & CStr(portNum) For Binary Shared As #fnum
' Portu açarken bir hata olup olmadığını kontrol et
If Err = 0 Then
' Port başarıyla açıldıysa, portu kapat
Close #fnum
' Portun kullanılabilir olduğunu belirten dönüş değerini True yap
IsLptPortAvailable = True
End If
' Hata varsa, fonksiyon varsayılan olarak False dönecek
End Function
Portların sayısını bulmak için yukarıdaki fonksiyonları çağırmalıyız.
Bu fonksiyonların kullanılması zorunlu değildir.
Seri Portlar için
Dim count As Integer, i As Integer
' 1'den 16'ya kadar olan port numaraları için döngü başlat
For i = 1 To 16
' Eğer mevcut bir COM portu varsa, sayacı artır
If IsComPortAvailable(i) Then count = count + 1
Next
' Bulunan COM port sayısını mesaj kutusunda göster
MsgBox count & " adet seri port bulundu"
Paralel Portlar için
Dim count As Integer, i As Integer
' 1'den 16'ya kadar olan port numaraları için döngü başlat
For i = 1 To 16
' Eğer mevcut bir LPT portu varsa, sayacı artır
If IsLptPortAvailable(i) Then count = count + 1
Next
' Bulunan LPT port sayısını mesaj kutusunda göster
MsgBox count & " adet paralel port bulundu"
Paralel veya seri portta işlem yapmak için
‘Geçerli Port numarası öğrenildikten sonra bu fonksiyon kullanılarak açılır.
fnum değişkeni açık olduğu bilinen port numarasıdır. Burada sadece LPT için işlem yapılmıştır.
COM için sadece gerekli kısım değiştirilmelidir.
Public Sub OpenPort(ByVal PortNum As Integer)
' Dosya numarasını tutmak için bir değişken tanımla
Dim fnum As Integer
' Boş bir dosya numarası al
fnum = FreeFile
' Belirtilen LPT bağlantı noktasını çıktı modu ile aç
Open "LPT" & CStr(PortNum) For Output As #fnum
' Dosya numarasını global veya modül seviyesindeki bir değişkene ata
FileNumber = fnum
End Sub
‘Açılan porta string değişken bu fonksiyonla gönderilir.
Public Sub SendToPort(ByVal PortNum As Integer, ByVal Data As Byte)
' Belirtilen dosya numarasına (LPT portu) veriyi yaz
Write #CStr(FileNumber), Data
End Sub
Public Sub ClosePort(ByVal PortNum As Integer)
Close #CStr(PortNum)'İşimiz bittiğinde portun kapatılması gereklidir.
End Sub