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:

Maus?

 
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
Sippo



Anmeldungsdatum: 17.04.2008
Beiträge: 125

BeitragVerfasst am: 17.04.2008, 14:26    Titel: Maus? Antworten mit Zitat

Hallo ich habe erst vor kurzer zeit begonnen auf freebasic-basis zu programmieren. Ich bin auch nicht gerade der Pro aber ich habe zuvor mit qbasic einige kleinere Programme erstellt. Nun ist meine Frage ob es oder wie es in freebasic geht eine Maus zu verwenden. Im q basic habe ich das mit meinen Freunden so gemacht, dass wir einen Hintergrund hatten und dann Koordinaten angegeben haben wo man etwas anklicken kann. Würde mich über einige möglichst einfach beschriebene Hilfen freuen. thx schon mal. lächeln lächeln lächeln
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Elektronix



Anmeldungsdatum: 29.06.2006
Beiträge: 742

BeitragVerfasst am: 17.04.2008, 14:38    Titel: Antworten mit Zitat

GetMouse()?
Oder was meintest Du?
_________________
Und die Grundgebihr is aa scho drin- DOS is jo nett.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Mao



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

BeitragVerfasst am: 17.04.2008, 15:06    Titel: Antworten mit Zitat

Für Beschreibung siehe: http://www.fb-referenz.de/GETMOUSE
_________________
Eine handvoll Glück reicht nie für zwei.
--
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Sippo



Anmeldungsdatum: 17.04.2008
Beiträge: 125

BeitragVerfasst am: 17.04.2008, 15:30    Titel: Antworten mit Zitat

thx mit dem Kopf durch die Mauer wollen
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Sippo



Anmeldungsdatum: 17.04.2008
Beiträge: 125

BeitragVerfasst am: 17.04.2008, 15:58    Titel: Antworten mit Zitat

Doch noch eine frge ,weil ich habe danach gesucht, wie man flächen anklicken kann habe aner nichts gefunden. ich habe es nur geschafft ein einzelnes Pixel anzuklichen. traurig
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Elektronix



Anmeldungsdatum: 29.06.2006
Beiträge: 742

BeitragVerfasst am: 17.04.2008, 16:03    Titel: Antworten mit Zitat

Wie hast Du es denn in QBasic gemacht?

Laut Referenz (Lesen!) gibt GetMouse die Koordinaten des Mauscursors zurück. Da muß man nur überprüfen, ob die innerhalb der gefragten Fläche liegen.
_________________
Und die Grundgebihr is aa scho drin- DOS is jo nett.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Sippo



Anmeldungsdatum: 17.04.2008
Beiträge: 125

BeitragVerfasst am: 17.04.2008, 16:15    Titel: Antworten mit Zitat

der anzuklickende Bereich wurde so angegeben:
IF mouseX% >=186 AND mouse x%<= 455 AND mouseY% >= 57 AND mouse <= 78 THEN >Befehl<

aber genauer weiß ich das auch nicht, da ich selbst den Befehl noch nicht verwendet habe sondern zuvor umgestiegen bin. Mein KUmpel hat den Befehl verwendet und ich habe auch versucht ihn zu kapieren aber er war zu schnell mit seiner erklärung^^.

und was den Zwiten Teil deiner Antwort betrifft: Wie gebe ich eine Fläche an oder wo finde ich das in der FAQ unter Area ist nichts.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Elektronix



Anmeldungsdatum: 29.06.2006
Beiträge: 742

BeitragVerfasst am: 17.04.2008, 16:46    Titel: Antworten mit Zitat

Hallo, Sippo,
mal ein paar kleine Tips:

1) für Codeschnippsel verwende bitte Code-Tags (Über dem Eingabefenster steht eine Schaltfläche mit "Code")

2) Gib die Programmzeile richtig wieder und achte auf richtige Zuordnung und Schreibweise der Variablen. Z. B. das hier
Code:
AND mouse <= 78

sagt gar nichts, denn was ist mouse?

3) Wenn Du nicht weißt, wie man Flächen angibt, dann befaß Dich erstmal mit den Grundlagen von QBasic/FreeBasic. Das ist nämlich bei beiden gleich. Mach Dir bewußt, daß die Werte von GetMouse Bildschirmkoordinaten sind. Was auch sonst?

4) Einen Befehl "Area" kenne ich nicht. Steht auch nicht in der Referenz. Was willst Du damit?

5) Mit einer gescheiten Rechtschreibung wäre Deine Frage viel verständlicher.

Ich würde das so machen:
Code:
IF mouseX% >=186 AND mouse x%<= 455 AND mouseY% >= 57 AND mouseY% <= 78 THEN
Print "Treffer"
EndIf

Die Fläche ist mit den Abfragen in der If-Anweisung schon angegeben.
_________________
Und die Grundgebihr is aa scho drin- DOS is jo nett.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Sippo



Anmeldungsdatum: 17.04.2008
Beiträge: 125

BeitragVerfasst am: 17.04.2008, 16:52    Titel: Antworten mit Zitat

oK danke

und für den obrigen Beitrag entschuldige ich mich denn da sieht man ja eigentlich nichts wegen der vielen Variablen. missbilligen missbilligen missbilligen
Aber wie oben steht kenne ich dummerweiise nicht den ganzen code.

Weiteres Problem wie soll ich denn die Variablen definieren? =0? oder einfach nur
Code:
 DIM mausX% as INTEGER


Zuletzt bearbeitet von Sippo am 17.04.2008, 16:59, insgesamt einmal bearbeitet
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Elektronix



Anmeldungsdatum: 29.06.2006
Beiträge: 742

BeitragVerfasst am: 17.04.2008, 16:59    Titel: Antworten mit Zitat

Dann ist es auch schwer, Dein Problem zu verstehen.

Hast Du in QBasic mal versucht, Maus-Routinen einzusetzen? Nur um zu erfahren, welche Vorkenntnisse Du hast.

Prinzipiell sollte GetMouse in eine Schleife eingebaut werden, weil die Funktion eben nur einmal abfragt und dann wiederholt werden muß.
_________________
Und die Grundgebihr is aa scho drin- DOS is jo nett.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Sippo



Anmeldungsdatum: 17.04.2008
Beiträge: 125

BeitragVerfasst am: 17.04.2008, 17:03    Titel: Antworten mit Zitat

Nein in qb habe ich selbst noch keine Maus verwendet nur Koordinaten eingegeben happy. (Aber immerhin kann ich schon einzelne Pixel anklicken^^) mit den Augen rollen

mit dem Befehl:
Code:
Dim As Integer x, y, buttons, Ergebnis
Dim c as integer

c=0

Screen 13

Do
    Ergebnis = GetMouse (x, y, , buttons)
    Locate 1, 1
    If Ergebnis <> 0 Then
      Print "Maus nicht vorhanden oder nicht im Fenster"
    Else
      Print Using "Maus-Position: ###:###  Buttons: "; x; y;
      If buttons And 1 Then Print "L"; c = 1
      If buttons And 2 Then Print "R"; c = 2
      If buttons And 4 Then Print "M"; c = 3
      if buttons and 1 and x =50 and y = 50 then goto start
      Print Space(5)
    End If
   
Loop While Inkey = ""
End

start:
print "geht!"
sleep
end
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
nemored



Anmeldungsdatum: 22.02.2007
Beiträge: 4704
Wohnort: ~/

BeitragVerfasst am: 17.04.2008, 17:42    Titel: Antworten mit Zitat

Dann ersetze doch mal die Zeile
Code:
IF buttons AND 1 AND x =50 AND y = 50 THEN GOTO start

durch die vielzitierte Anweisung
Code:
IF buttons AND 1 AND x >= 186 AND x <= 455 AND y >= 57 AND y <= 78 THEN GOTO start

_________________
Deine Chance beträgt 1:1000. Also musst du folgendes tun: Vergiss die 1000 und konzentriere dich auf die 1.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Sippo



Anmeldungsdatum: 17.04.2008
Beiträge: 125

BeitragVerfasst am: 17.04.2008, 17:52    Titel: Antworten mit Zitat

oh mann darauf hätt ich auch kommen können mit dem Kopf durch die Mauer wollen mit dem Kopf durch die Mauer wollen mit dem Kopf durch die Mauer wollen mit dem Kopf durch die Mauer wollen mit dem Kopf durch die Mauer wollen mit dem Kopf durch die Mauer wollen mit dem Kopf durch die Mauer wollen

danke
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 -> 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