Serielle Port-/Parallelport-Operationen für Visual Basic 6.0

Obwohl VB6 nicht mehr verwendet wird, sind diese Beispiele enthalten, da es einfach zu erlernen ist.
Insbesondere bieten wir detaillierte Anleitungen zur Verwendung und Programmierung von Hardwarekomponenten wie parallelen Ports (LPT) und seriellen Ports (COM).Unten finden Sie ein einfaches Visual Basic-Codebeispiel, das die Verfügbarkeit von seriellen und parallelen Ports prüft und die Anzahl der verfügbaren Ports meldet.
Funktionen, um herauszufinden, ob parallele und serielle Ports vorhanden sind.
Wenn die Rückgabewerte True sind, ist der Port verfügbar.
 

Funktion zum Suchen des seriellen Ports

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

Funktion zum Finden des Parallelports

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

Wir müssen die oben genannten Funktionen aufrufen, um die Anzahl der Ports zu ermitteln.
Die Verwendung dieser Funktionen ist nicht zwingend erforderlich.

Für serielle Ports

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"

Für parallele Ports

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"

Zum Betrieb am parallelen oder seriellen Port

„Sobald die aktuelle Portnummer gelernt wurde, wird sie mit dieser Funktion geöffnet.
Die fnum-Variable ist die Portnummer, von der bekannt ist, dass sie offen ist. Hier sollte für LPT nur der notwendige Teil geändert werden.
Für COM sollte nur der notwendige Teil geändert werden.

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

‘Mit dieser Funktion wird die String-Variable an den geöffneten Port gesendet.

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