Paralel ve seri portların var olup olmadığını öğrenmek için fonksiyonlar. Dönen değerler True ise port mevcuttur. |
Seri Port isimlerini bulmak için fonksiyon
Function IsComPortAvailable(ByVal portNum As Integer) As Boolean
Dim fnum As Integer
On Error Resume Next
fnum = FreeFile
Open "COM" & CStr(portNum) For Binary Shared As #fnum
If Err = 0 Then
Close #fnum
IsComPortAvailable = True
End If
End Function
Paralel Port isimlerini bulmak için fonksiyon
Function IsLptPortAvailable(ByVal portNum As Integer) As Boolean
Dim fnum As Integer
On Error Resume Next
fnum = FreeFile
Open "LPT" & CStr(portNum) For Binary Shared As #fnum
If Err = 0 Then
Close #fnum
IsLptPortAvailable = True
End If
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
For i = 1 To 16
If IsComPortAvailable(i) Then count = count + 1
Next
MsgBox count & "adet seri port bulundu"
Paralel Portlar için
Dim count As Integer, i As Integer
For i = 1 To 16
If IsLptPortAvailable(i) Then count = count + 1
Next
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)
Dim fnum As Integer
fnum = FreeFile
Open "LPT" & CStr(PortNum) For Output As #fnum
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)
Write #CStr(FileNumber), Data
End Sub
İşimiz bittiğinde portun kapatılması gereklidir.
Public Sub ClosePort(ByVal PortNum As Integer)
Close #CStr(PortNum)
End Sub