Vorheriges Thema anzeigen :: Nächstes Thema anzeigen |
Autor |
Nachricht |
Leader4
Anmeldungsdatum: 20.01.2005 Beiträge: 99 Wohnort: Leipzig
|
Verfasst am: 19.04.2005, 16:04 Titel: Probleme mit Mausroutinen |
|
|
Ich wollte eine Mausroutine in mein Programm einbauen, aber trotz der hiesigen Beitrage bezüglich dem Thema Mausroutine stellten sich mir mehrere Probleme in den Weg.
Ich hab erst einmal die gefundenen Programmcodes zur Mausschleife aus diesem Forum direkt in den Editor kopiert, um zu schauen, ob das funktioniert. Und schon dabei gabs den ersten Fehler: Das Programm zeigte eine Fehlermeldung an. Vermutlich fehlt da noch etwas, oder musste vorher noch definiert werden, wovon ich jedoch keine Ahnung habe.
Dann habe ich mal probiert, ob man nicht einfach mit getmousestate x oder getmousestate (x,y) direkt die Koordinaten beziehen kann - dies führte auch zu Fehlermeldungen.
Zuletzt weiß ich auch trotz der hiesigen Beiträge nicht, welchen Befehl ich für das Registrieren von MAUSKLICKS benutzen soll.
Im Grunde genommen stelle ich mir das etwa so vor, ohne Ahnung zu haben, ob das so richtig ist:
Do
If XCord < 200 And XCord > 150 And YCord > 100 And YCord < 120 Then
If < Mausklick links > Then ...
End If
Loop
XCORD / YCORD seien die Koordinaten der Maus
Kann mir jemand noch mal zeigen, wie man eine Mausroutine in ein Programm einbaut und wie man dann wieder darauf zugreift. Ich hab bis jetzt nur mit lokalen Unterroutinen (Gosub - Return) gearbeitet, so dass ich noch nicht viel Ahnung habe, was an den Mausroutinen, die ich ausprobiert habe, falsch sein oder fehlen könnte. Eine Mausfunktion in meinen Programmen wäre nämlich echt cool, da ich häufig von leuten, die meine Programme nutzen, höre, dass ohne Mausfunktion die Programmbedienung sehr kompliziert ist. _________________ Ein richtiger Programmierer muss so richtig faul sein und sich den ganzen Tag mit der Frage beschäftigen, wie man mal wieder etwas einfacher machen kann. |
|
Nach oben |
|
|
Dusky_Joe
Anmeldungsdatum: 07.01.2005 Beiträge: 1007 Wohnort: Regensburg/Oberpfalz
|
Verfasst am: 19.04.2005, 16:27 Titel: |
|
|
Getmouse ist sozusagen eine SUB, der ein Pointer zu vier Integer-Variablen übergeben werden (falls du ncoh nichts von Pointern gehört hast: Musst du nicht verstehen, auch wenn du pointer später brauchen wirst.)
Benutze Getmouse so:
Code: |
DIM MoX AS INTEGER 'X-Koordinate
DIM MoY AS INTEGER 'Y-Koordinate
DIM MoW AS INTEGER 'Mausrad-Status
DIM MoB AS INTEGER 'Buttons
DO
GETMOUSE MoX, MoY, MoW, MoW
LOCATE 10, 10
PRINT USING "###|###, ###"; MoX; MoY; MoW
LOOP UNTIL MoB AND 1 'Linke Maustaste
|
Sollte Funktionieren.
SETMOUSE (ab Version 0.12) hat übrigens die selbe Syntax, nur dass du keine Buttons bzw Mausradstatus übergeben kannst.
Stattdessen kannst du die Sichtbarkeit der Maus bestimmen:
SETMOUSE MoX, MoY, SichtbarFlag
SichtbarFlag ist dabei ein Integer, der 1 ist, wenn die Maus sichtbar sein soll, oder 0, wenn nicht.
Sollte helfen.
Viel Spaß mit FB!
Have a nice day
Ciao _________________ fully biological degradable
Once, the big wave arrives, you've got two ways, you can go:
Either, you ride it, or you don't do.
But, if you don't ride, you'll never know wether you'd have gone wet. |
|
Nach oben |
|
|
Michael Frey
Anmeldungsdatum: 18.12.2004 Beiträge: 2577 Wohnort: Schweiz
|
Verfasst am: 19.04.2005, 17:42 Titel: Zum Click |
|
|
Das Problem mit den Mausklicks kenn ich ...
Nun, in der Berufsschule nahmen wir vor kurzem Flipflops durch und da gab es etwas namens Positve Flankern Triggerung ...
Um kurz zu machen:
Code: | screen 12
do
getmouse x,y,scroll,t
if t=1 and t10=0 then
click=1
end if
t10=t
loop
|
Clicks erkennt man am wechseln von 0 zu 1 (bei Linker Maustaste).
Zuletzt bearbeitet von Michael Frey am 21.04.2005, 18:33, insgesamt einmal bearbeitet |
|
Nach oben |
|
|
Leader4
Anmeldungsdatum: 20.01.2005 Beiträge: 99 Wohnort: Leipzig
|
Verfasst am: 19.04.2005, 19:24 Titel: |
|
|
Vielen Dank, ich konnte jetzt mit der Mausschleife realisieren, was ich machen wollte. Das es so einfach geht, hätte ich auch nicht gedacht.
Schönen Abend noch. _________________ Ein richtiger Programmierer muss so richtig faul sein und sich den ganzen Tag mit der Frage beschäftigen, wie man mal wieder etwas einfacher machen kann. |
|
Nach oben |
|
|
Devilkevin aka Kerstin
Anmeldungsdatum: 11.11.2004 Beiträge: 2532 Wohnort: nähe Mannheim
|
Verfasst am: 19.04.2005, 20:12 Titel: |
|
|
Warum kommt bei mir ein Syntaxfehler (aufgrund von GETMOUSE) ??
Vllt. weil ich ne USB Maus verwende ? _________________ www.piratenpartei.de |
|
Nach oben |
|
|
Mecki Igel
Anmeldungsdatum: 10.09.2004 Beiträge: 985 Wohnort: Niederbayern
|
|
Nach oben |
|
|
Devilkevin aka Kerstin
Anmeldungsdatum: 11.11.2004 Beiträge: 2532 Wohnort: nähe Mannheim
|
Verfasst am: 19.04.2005, 20:20 Titel: |
|
|
Ich habe dir Codes von Oben verwendet.
Muss sowieso noch das ganze Dings ans laufen bekommen neue IDE runterladen und so ... naja ich lad mir mal die neuste IDE runter und melde mich dann wieder !! _________________ www.piratenpartei.de |
|
Nach oben |
|
|
Mecki Igel
Anmeldungsdatum: 10.09.2004 Beiträge: 985 Wohnort: Niederbayern
|
|
Nach oben |
|
|
Devilkevin aka Kerstin
Anmeldungsdatum: 11.11.2004 Beiträge: 2532 Wohnort: nähe Mannheim
|
Verfasst am: 19.04.2005, 20:30 Titel: |
|
|
Das habe ich natürlich vorher ausgebessert
Aber du könntest mal in den "Compile Error" Fred vorbeischauen damit ich ne IDE überhaupt richtig ans laufen bekomme _________________ www.piratenpartei.de |
|
Nach oben |
|
|
Mecki Igel
Anmeldungsdatum: 10.09.2004 Beiträge: 985 Wohnort: Niederbayern
|
|
Nach oben |
|
|
Devilkevin aka Kerstin
Anmeldungsdatum: 11.11.2004 Beiträge: 2532 Wohnort: nähe Mannheim
|
Verfasst am: 19.04.2005, 20:42 Titel: |
|
|
Fred => Thread
Schau mal ins freeBASIC Forum da gibts nen Thread der "Compile Error" heist, wäre dir dankbar wen du (DU DER freeBASIC Gott ) mal reinschauen würdest _________________ www.piratenpartei.de |
|
Nach oben |
|
|
Mecki Igel
Anmeldungsdatum: 10.09.2004 Beiträge: 985 Wohnort: Niederbayern
|
|
Nach oben |
|
|
|