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:

Maussteuerung

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



Anmeldungsdatum: 03.11.2007
Beiträge: 156
Wohnort: Dose

BeitragVerfasst am: 10.12.2007, 16:30    Titel: Maussteuerung Antworten mit Zitat

Zu dem Thema, wie man mit der Maus ein erstelltes Programm steuern kann, habe ich recht viel gefunden. Zuletzt die Mausroutinen auf qbasic.de.

Leider wollen die nicht ganz funktionieren, es hängt an

Code:
CALL Absolute


Ganzer Queltext:

Code:
DECLARE SUB MouseDriver (AX%, bx%, CX%, DX%, lb%, RB%, EX%)

DIM SHARED mouse$
SCREEN 12
MouseDriver 1, bx%, CX%, DX%, lb%, RB%, 1
DO
MouseDriver 3, bx%, CX%, DX%, lb%, RB%, 0
COLOR 15
LOCATE 1, 1: PRINT lb%
LOCATE 2, 1: PRINT RB%
LOCATE 3, 1: PRINT CX%
LOCATE 4, 1: PRINT DX%
LOOP
DATA 55,89,E5,8B,5E,0C,8B,07,50,8B,5E,0A,8B,07,50,8B
DATA 5E,08,8B,0F,8B,5E,06,8B,17,5B,58,1E,07,CD,33,53
DATA 8B,5E,0C,89,07,58,8B,5E,0A,89,07,8B,5E,08,89,0F
DATA 8B,5E,06,89,17,5D,CA,08,00

SUB MouseDriver (AX%, bx%, CX%, DX%, lb%, RB%, EX%)
IF EX% = 1 THEN
mouse$ = SPACE$(57)
FOR I% = 1 TO 57
READ A$
H$ = CHR$(VAL("&H" + A$))
MID$(mouse$, I%, 1) = H$
NEXT I%

CLS
END IF
DEF SEG = VARSEG(mouse$)
CALL Absolute(AX%, bx%, CX%, DX%, SADD(mouse$))
lb% = ((bx% AND 1) <> 0)
RB% = ((bx% AND 2) <> 0)
END SUB


Was kann man da machen?

Danke.


Das ganze gabs auch noch mit CALL INTERRUPT, da hats aber leider auch nicht geklappt.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Flo
aka kleiner_hacker


Anmeldungsdatum: 23.06.2006
Beiträge: 1210

BeitragVerfasst am: 10.12.2007, 17:13    Titel: Antworten mit Zitat

tschuldige aber meine glaskugel ist grade kaputt (*freu* dass ich auch mal sowas sagen kann happy zwinkern )
hast du qbasic 1.1
oder quickbasic 4.5/7.1/pds/...
(qbasic ruft man mit qbasic auf, quickbasic mit qb)

wenn qbasic: call interrupt geht da net, call absolute müsste eig gehen
wenn quickbasic: hast du die qb.qlb mitgeladen
starte es mal mit qb.exe /l bzw qb.exe /l qb.qlb
wenns dann auch net geht schmeiß qb runter und nimm freebasic happy
_________________
MFG
Flo

Satoru Iwata: Wer Spaß am Spielen hat, fragt nicht nach Grafik.

zum korrekten Verstaendnis meiner Beitraege ist die regelmaessige Wartung des Ironiedetektors unerlaesslich.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
Elektronix



Anmeldungsdatum: 29.06.2006
Beiträge: 742

BeitragVerfasst am: 10.12.2007, 17:20    Titel: Antworten mit Zitat

entweder Du postest die Fehlermeldungen dazu oder den gesamten Code. Vor dem eigentlichen Programm mußt Du nämlich für call abselute die Register initialisieren bzw. einen UDT für die Registerinhalte einrichten. Wo hast Du das gemacht?
_________________
Und die Grundgebihr is aa scho drin- DOS is jo nett.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Keks



Anmeldungsdatum: 03.11.2007
Beiträge: 156
Wohnort: Dose

BeitragVerfasst am: 10.12.2007, 17:47    Titel: Antworten mit Zitat

Das ist der gesamte Code. Und ich habe nichts gemacht. (was für ein Satz)

Ich glaube (in letzter Zeit bin ich mir wirklich nicht mehr sicher^^), dass ich Quickbasic 4.5 habe, also das Teil mit dem man EXEs erstellen kann. Die 7er funktionieren bei mir nicht (Pif-dateien -> habe gehört, dass man die lsöchen soll, sind aber keine da).

Wie kann ich die QBL-Datei laden? Ich kann sie ja höchstens mit dem Editor öffnen.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Flo
aka kleiner_hacker


Anmeldungsdatum: 23.06.2006
Beiträge: 1210

BeitragVerfasst am: 10.12.2007, 17:55    Titel: Antworten mit Zitat

peinlich

Code:

qb /l qb.qlb



moment... weißt du überhaupt was dos ist xD
das schwarze viech mit der weißen schrift wos keine icons gibt (jedenfalls net ohne gui)
und DARIN (eingabeaufforderung,msdosmodus, virtualpc, wasweißich) wechselst du ins qb verzeichnis... wie? mit cd <verz.name>... dann startest du qb.exe mittels qb, aber übergibst noch den parameter /l qb.qlb
also
Code:

cd <qb-verz>
qb /l qb.qlb

Kopf schütteln
_________________
MFG
Flo

Satoru Iwata: Wer Spaß am Spielen hat, fragt nicht nach Grafik.

zum korrekten Verstaendnis meiner Beitraege ist die regelmaessige Wartung des Ironiedetektors unerlaesslich.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
Elektronix



Anmeldungsdatum: 29.06.2006
Beiträge: 742

BeitragVerfasst am: 10.12.2007, 17:57    Titel: Antworten mit Zitat

Dann hast du definitiv die Initialisierung der Register vergessen.

Also, qbasic und QuickBasic(4.5) sollte man schon erkennen können. Ein Hinweis: bei qbasic erhältst Du beim Starten immer eine Einführungsmeldung, bei QuickBasic gibt es in der Menüzeile ein Menü "Debuggen" oder "Debug". Wie man qlb lädt, wurde schon gesagt.
_________________
Und die Grundgebihr is aa scho drin- DOS is jo nett.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Keks



Anmeldungsdatum: 03.11.2007
Beiträge: 156
Wohnort: Dose

BeitragVerfasst am: 10.12.2007, 18:07    Titel: Antworten mit Zitat

qb /l qb.qlb klappt nicht.

Meldung: Gültige Optionen: [/RUN] Datei /AH /B /C:puf...
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Flo
aka kleiner_hacker


Anmeldungsdatum: 23.06.2006
Beiträge: 1210

BeitragVerfasst am: 10.12.2007, 18:11    Titel: Antworten mit Zitat

aua?
AUA!
also ENTWEDER hast du qbasic ODER du bist doof happy
oder qb4.5 spinnt noch mehr...
macl mal nur qb /L
_________________
MFG
Flo

Satoru Iwata: Wer Spaß am Spielen hat, fragt nicht nach Grafik.

zum korrekten Verstaendnis meiner Beitraege ist die regelmaessige Wartung des Ironiedetektors unerlaesslich.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
Keks



Anmeldungsdatum: 03.11.2007
Beiträge: 156
Wohnort: Dose

BeitragVerfasst am: 10.12.2007, 19:54    Titel: Antworten mit Zitat

Ja das klappt^^
Es lag daran, dass das kleine L wie ein eins aussah.

Nein nein, ich habe beides lächeln
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
darkinsanity
aka sts


Anmeldungsdatum: 01.11.2006
Beiträge: 456

BeitragVerfasst am: 10.12.2007, 20:18    Titel: Antworten mit Zitat

also ich würde dafür lieber den Maus-Interrupt nehmen. ist einfacher. (war das der &H13 ?)
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Jojo
alter Rang


Anmeldungsdatum: 12.02.2005
Beiträge: 9736
Wohnort: Neben der Festplatte

BeitragVerfasst am: 10.12.2007, 20:30    Titel: Antworten mit Zitat

ui... INT 13.... hilfe happy INT 33 ist das... und dieser code fragt den eig auch nur ab...
_________________
» Die Mathematik wurde geschaffen, um Probleme zu lösen, die es nicht gäbe, wenn die Mathematik nicht erschaffen worden wäre.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
Mao



Anmeldungsdatum: 25.09.2005
Beiträge: 4409
Wohnort: /dev/hda1

BeitragVerfasst am: 10.12.2007, 20:34    Titel: Antworten mit Zitat

Interrupt 0x13 ist für Laufwerkszugriffe. Da wär ich lieber vorsichtig. durchgeknallt

Die DATA-Zeilen enthalten bloß ein in Assembler geschriebenes Programm, welches durch den Assembler in den "Code" übersetzt wurde, den dein Prozessor lesen und verarbeiten kann. Dargestellt sind die jetzt hier hexadezimal.
_________________
Eine handvoll Glück reicht nie für zwei.
--
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
darkinsanity
aka sts


Anmeldungsdatum: 01.11.2006
Beiträge: 456

BeitragVerfasst am: 12.12.2007, 19:30    Titel: Antworten mit Zitat

Mao hat Folgendes geschrieben:
Interrupt 0x13 ist für Laufwerkszugriffe. Da wär ich lieber vorsichtig. durchgeknallt


Oh, ups happy
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
dreael
Administrator


Anmeldungsdatum: 10.09.2004
Beiträge: 2529
Wohnort: Hofen SH (Schweiz)

BeitragVerfasst am: 12.12.2007, 20:45    Titel: Antworten mit Zitat

An dieser Stelle noch einmal der Verweis auf

http://forum.qbasic.at/viewtopic.php?p=71299#71299

bezüglich Mausprogrammierung. Zu INT 13h: Das Festplattenlöschtool ist eine praktische Anwendung davon.
_________________
Teste die PC-Sicherheit mit www.sec-check.net
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
Beiträge der letzten Zeit anzeigen:   
Neues Thema eröffnen   Neue Antwort erstellen    Das deutsche QBasic- und FreeBASIC-Forum Foren-Übersicht -> Allgemeine Fragen zu QBasic. 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