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:

keyboard buffer poken, TSR

 
Neues Thema eröffnen   Neue Antwort erstellen    Das deutsche QBasic- und FreeBASIC-Forum Foren-Übersicht -> Profi-Forum
Vorheriges Thema anzeigen :: Nächstes Thema anzeigen  
Autor Nachricht
klausthal



Anmeldungsdatum: 05.04.2009
Beiträge: 4

BeitragVerfasst am: 05.04.2009, 19:51    Titel: keyboard buffer poken, TSR Antworten mit Zitat

Hi, liebe Basic-Gemeinde!

also, ich habe mal vor Zeiten eine 8-Finger-Tastatur gebastelt, die über die serielle Schnittstelle mit einem selbstgehäkelten QB45 Editor unter DOS zusammenarbeitet. Der Editor kann aber nur Texte der maximalen Größe 40kbyte bearbeiten, auch kam ich nie zur Programmierung von Blockoperationen, da ist das Projekt halt ein wenig eingeschlafen.

Jetzt kam mir die Idee, einen vorhandenen DOS-Editor, nämlich QEDIT, mit einem kleinen TSR zusammen arbeiten zu lassen. Es gibt ja TSR-Hilfsprogramme, die einen Basic-code als Hintergrundprogramm ins Memory laden. Ich habe einen Basic-code gefunden, der Text in den keyboard-buffer pokt. Diesen Code würde ich (zusammen mit der Umwandlung der Zeichen aus der 8Finger-Tastatur) memoryresident machen.

Aber funktioniert das ganze? Wie geht die Kontrollübergabe zwischen dem TSR und QEDIT vonstatten? Was muss ich beachten? - (übrigens arbeite ich mit DOS unter Windows xp, und die Verfügbarkeit der seriellen Schnittsstelle ist etwas unsicher, aber das ist hier nicht der Hauptpunkt).

Schon mal schönen Dank für eure Antworten von
klausthal
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Sebastian
Administrator


Anmeldungsdatum: 10.09.2004
Beiträge: 5969
Wohnort: Deutschland

BeitragVerfasst am: 05.04.2009, 20:04    Titel: Antworten mit Zitat

Hallo,

wenn das ganze Projekt ohnehin auf Windows XP laufen soll, warum setzt du dann die Tastaturabfrage nicht einfach als Windows-Software (z.B. in FreeBASIC) um? Ein Windows-Programm kann die Schnittstelle wahrscheinlich ohnehin viel komplikationsfreier ansprechen als ein DOS-Programm aus ntvdm heraus. Zudem könnte es die Tastatureingaben per WinAPI für alle Windowsprogramme - egal, ob Notepad, EDIT.COM oder MS Word - verfügbar machen.

Viele Grüße!
Sebastian
_________________

Der Markt regelt das! | Opas Leistung muss sich wieder lohnen - für 6 bis 10 Generationen!
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
klausthal



Anmeldungsdatum: 05.04.2009
Beiträge: 4

BeitragVerfasst am: 05.04.2009, 21:29    Titel: Antworten mit Zitat

hi, Sebastian,

vielen Dank für deine schnelle Antwort. Ehe ich mich mit der ganzen Windos-Problematik auseinandersetze, warte ich noch, ob nicht doch DOS-Lösungen angeboten werden.

Gruß
klausthal
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Sebastian
Administrator


Anmeldungsdatum: 10.09.2004
Beiträge: 5969
Wohnort: Deutschland

BeitragVerfasst am: 05.04.2009, 23:07    Titel: Antworten mit Zitat

Hallo,

du könntest folgenden FreeBASIC-Code mal ausprobieren:
http://www.freebasic-portal.de/index.php?s=fbporticula&mode=show&id=842
Das Programm liest alle Zeichen, die am COM-Port ankommen, ein und simuliert entsprechende Tastenanschläge. Die COM-Parameter müssen ggf. noch angepasst werden. lächeln

Viele Grüße!
Sebastian
_________________

Der Markt regelt das! | Opas Leistung muss sich wieder lohnen - für 6 bis 10 Generationen!
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
klausthal



Anmeldungsdatum: 05.04.2009
Beiträge: 4

BeitragVerfasst am: 06.04.2009, 08:29    Titel: Antworten mit Zitat

Sehr schön. Im Prinzip habe ich die benötigten Programmteile ja selbst, und sie funktionieren auch. Meine grundsätzliche Frage ist, wie und ob die Kontrollübergabe funktioniert. Wenn QEDIT (oder ein anderer Editor) und das TSR geladen sind, muß doch die Kontrolle vom TSR zum QEDIT und wieder zurück übergeben werden. Also: ein character kommt von der seriellen Schnittstelle, wird vom TSR empfangen und per Tabelle umgesetzt, dann in den keyboard buffer gepokt. Und nun? wacht jetzt QEDIT aus seinen Träumen auf, empfängt den character, verarbeitet ihn und gibt die Kontrolle an das TSR zurück? Oder läuft QEDIT nicht vielmehr in seiner keyboard Abfrage-Schleife weiter, so dass das TSR gar nicht mehr zum Zuge kommt und keine Chance mehr hat, einen weiteren character aus der seriellen Schnittstelle zu holen?

klausthal
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Sebastian
Administrator


Anmeldungsdatum: 10.09.2004
Beiträge: 5969
Wohnort: Deutschland

BeitragVerfasst am: 06.04.2009, 12:16    Titel: Antworten mit Zitat

Hallo!

Zitat:
Oder läuft QEDIT nicht vielmehr in seiner keyboard Abfrage-Schleife weiter, so dass das TSR gar nicht mehr zum Zuge kommt und keine Chance mehr hat, einen weiteren character aus der seriellen Schnittstelle zu holen?

Das ist ja gerade der Kniff bei TSR-Programmen, dass sie parallel im Hintergrund zur ausgeführten Anwendung (z.B. EDIT.COM o.ä.) ablaufen können, siehe auch: http://www.antonis.de/faq/QBMonFAQ-Dateien/968111833.html und http://www.antonis.de/faq/QBMonFAQ-Dateien/1298106483.html

Heutzutage würde ich zwar nicht mehr damit anfangen, mit TSR-Programmen zu hantieren, da das in Zeiten von Windows Vista und Co. doch schon ein "bisschen outdated" ist, aber da du es ja anscheinend zwingend möchtest... zwinkern

Viele Grüße!
Sebastian
_________________

Der Markt regelt das! | Opas Leistung muss sich wieder lohnen - für 6 bis 10 Generationen!
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
klausthal



Anmeldungsdatum: 05.04.2009
Beiträge: 4

BeitragVerfasst am: 06.04.2009, 13:14    Titel: Antworten mit Zitat

Hi, Sebastian,

wenn ich mich erst noch in die Eigenheiten von Widows einarbeiten muss, so werde ich nie fertig. Deshalb versuche ich es lieber erst mal unter DOS. Wenn ich dann von der Tastatur überzeugt bin, kann ich mir vorstellen, dass ich aus lauter Begeisterung den Schritt nach Windows wage.

Dir, Sebastian, danke ich jedenfalls für deine Hilfe und wünsche allen einen schönen Tag. Happy programming!

Euer
klausthal
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Beiträge der letzten Zeit anzeigen:   
Neues Thema eröffnen   Neue Antwort erstellen    Das deutsche QBasic- und FreeBASIC-Forum Foren-Übersicht -> Profi-Forum 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