Das deutsche QBasic- und FreeBASIC-Forum Foren-Übersicht Das deutsche QBasic- und FreeBASIC-Forum
Für euch erreichbar unter qb-forum.de, fb-forum.de und freebasic-forum.de!
 
FAQFAQ   SuchenSuchen   MitgliederlisteMitgliederliste   BenutzergruppenBenutzergruppen  RegistrierenRegistrieren
ProfilProfil   Einloggen, um private Nachrichten zu lesenEinloggen, um private Nachrichten zu lesen   LoginLogin
Zur Begleitseite des Forums / Chat / Impressum
Aktueller Forenpartner:

Sacncode2 auswerten funktioniert nicht.

 
Neues Thema eröffnen   Neue Antwort erstellen    Das deutsche QBasic- und FreeBASIC-Forum Foren-Übersicht -> Allgemeine Fragen zu FreeBASIC.
Vorheriges Thema anzeigen :: Nächstes Thema anzeigen  
Autor Nachricht
arduno



Anmeldungsdatum: 12.05.2011
Beiträge: 252

BeitragVerfasst am: 09.05.2014, 19:09    Titel: Sacncode2 auswerten funktioniert nicht. Antworten mit Zitat

Hallo, guten Tag.
Ich möchte einen empfangenen Scancode : http://www.marjorie.de/ps2/scancode-set2.htm
als Zahl ausgeben. Es klappt aber mit dem unteren Code nicht.
Was muss man machen damit man den Set2-Code hier als Zahl printen kann?

Wo liegt der Fehler?

Danke.
Gruss

Code:

ScreenRes 300,300,32

Open Com "com4: 9600, N, 8, 1,cs0,ds0,cd0,rs" As #1

Dim As String Puffer, Taste
 
Do
    Taste = Inkey
    If (Taste <> "") Then 
        Put #1, , Taste
    End If
   
    If Loc(1) > 0 Then
        Puffer = Space(Loc(1)) 
        get #1, , Val(Puffer)
        Print Puffer;
    End If
    Sleep 100
Loop Until Taste = CHR(27)

Close #1
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
grindstone



Anmeldungsdatum: 03.10.2010
Beiträge: 1278
Wohnort: Ruhrpott

BeitragVerfasst am: 10.05.2014, 00:14    Titel: Antworten mit Zitat

Hallo arduno!

Der Fehler liegt beim Auslesen des Ports.
Um deinen Beispielcode zum Laufen zu bringen, muß an dem angesprochenen Com-Port ein Loopback - Kabel (http://www.ni.com/white-paper/3450/en/) angeschlossen sein. Da ich so etwas im Augenblick leider nicht zur Hand habe und auch auf die Schnelle nicht basteln kann, simuliere ich den Vorgang mal mit einer Datei, deren Zeiger nach jedem Auslesen zurückgesetzt wird:
Code:
ScreenRes 300,300,32

'Open Com "com4: 9600, N, 8, 1,cs0,ds0,cd0,rs" As #1
Open "c:\test.txt" For Binary As #1

Dim As String Puffer, Taste
 
Do
    Taste = InKey
    If (Taste <> "") Then
        Put #1, , Taste
    End If
   
    If Loc(1) > 0 Then
        Puffer = Space(Loc(1))
        Get #1, 1, Puffer
        Seek 1,1 '<<< simuliertes Leeren des Empfangspuffers
        Print Puffer;
    End If
    Sleep 100
Loop Until Taste = Chr(27)

Close #1
Kill("c:\test.txt")


Gruß
grindstone
_________________
For ein halbes Jahr wuste ich nich mahl wie man Proggramira schreibt. Jetzt bin ich einen!
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden
Beiträge der letzten Zeit anzeigen:   
Neues Thema eröffnen   Neue Antwort erstellen    Das deutsche QBasic- und FreeBASIC-Forum Foren-Übersicht -> Allgemeine Fragen zu FreeBASIC. Alle Zeiten sind GMT + 1 Stunde
Seite 1 von 1

 
Gehe zu:  
Du kannst keine Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum nicht antworten.
Du kannst deine Beiträge in diesem Forum nicht bearbeiten.
Du kannst deine Beiträge in diesem Forum nicht löschen.
Du kannst an Umfragen in diesem Forum nicht mitmachen.

 Impressum :: Datenschutz