 |
Das deutsche QBasic- und FreeBASIC-Forum Für euch erreichbar unter qb-forum.de, fb-forum.de und freebasic-forum.de!
|
Vorheriges Thema anzeigen :: Nächstes Thema anzeigen |
Autor |
Nachricht |
Keks
Anmeldungsdatum: 03.11.2007 Beiträge: 156 Wohnort: Dose
|
Verfasst am: 10.12.2007, 16:30 Titel: Maussteuerung |
|
|
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
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 |
|
 |
Flo aka kleiner_hacker
Anmeldungsdatum: 23.06.2006 Beiträge: 1210
|
Verfasst am: 10.12.2007, 17:13 Titel: |
|
|
tschuldige aber meine glaskugel ist grade kaputt (*freu* dass ich auch mal sowas sagen kann )
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  _________________ 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 |
|
 |
Elektronix
Anmeldungsdatum: 29.06.2006 Beiträge: 742
|
Verfasst am: 10.12.2007, 17:20 Titel: |
|
|
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 |
|
 |
Keks
Anmeldungsdatum: 03.11.2007 Beiträge: 156 Wohnort: Dose
|
Verfasst am: 10.12.2007, 17:47 Titel: |
|
|
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 |
|
 |
Flo aka kleiner_hacker
Anmeldungsdatum: 23.06.2006 Beiträge: 1210
|
Verfasst am: 10.12.2007, 17:55 Titel: |
|
|
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
|
 _________________ 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 |
|
 |
Elektronix
Anmeldungsdatum: 29.06.2006 Beiträge: 742
|
Verfasst am: 10.12.2007, 17:57 Titel: |
|
|
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 |
|
 |
Keks
Anmeldungsdatum: 03.11.2007 Beiträge: 156 Wohnort: Dose
|
Verfasst am: 10.12.2007, 18:07 Titel: |
|
|
qb /l qb.qlb klappt nicht.
Meldung: Gültige Optionen: [/RUN] Datei /AH /B /C:puf... |
|
Nach oben |
|
 |
Flo aka kleiner_hacker
Anmeldungsdatum: 23.06.2006 Beiträge: 1210
|
Verfasst am: 10.12.2007, 18:11 Titel: |
|
|
aua?
AUA!
also ENTWEDER hast du qbasic ODER du bist doof
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 |
|
 |
Keks
Anmeldungsdatum: 03.11.2007 Beiträge: 156 Wohnort: Dose
|
Verfasst am: 10.12.2007, 19:54 Titel: |
|
|
Ja das klappt^^
Es lag daran, dass das kleine L wie ein eins aussah.
Nein nein, ich habe beides  |
|
Nach oben |
|
 |
darkinsanity aka sts

Anmeldungsdatum: 01.11.2006 Beiträge: 456
|
Verfasst am: 10.12.2007, 20:18 Titel: |
|
|
also ich würde dafür lieber den Maus-Interrupt nehmen. ist einfacher. (war das der &H13 ?) |
|
Nach oben |
|
 |
Jojo alter Rang

Anmeldungsdatum: 12.02.2005 Beiträge: 9736 Wohnort: Neben der Festplatte
|
Verfasst am: 10.12.2007, 20:30 Titel: |
|
|
ui... INT 13.... hilfe 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 |
|
 |
Mao
Anmeldungsdatum: 25.09.2005 Beiträge: 4409 Wohnort: /dev/hda1
|
Verfasst am: 10.12.2007, 20:34 Titel: |
|
|
Interrupt 0x13 ist für Laufwerkszugriffe. Da wär ich lieber vorsichtig.
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 |
|
 |
darkinsanity aka sts

Anmeldungsdatum: 01.11.2006 Beiträge: 456
|
Verfasst am: 12.12.2007, 19:30 Titel: |
|
|
Mao hat Folgendes geschrieben: | Interrupt 0x13 ist für Laufwerkszugriffe. Da wär ich lieber vorsichtig.  |
Oh, ups  |
|
Nach oben |
|
 |
dreael Administrator

Anmeldungsdatum: 10.09.2004 Beiträge: 2529 Wohnort: Hofen SH (Schweiz)
|
|
Nach oben |
|
 |
|
|
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.
|
|