 |
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 |
alfonsospringer
Anmeldungsdatum: 27.04.2006 Beiträge: 445
|
Verfasst am: 17.07.2006, 20:05 Titel: mausrad zurücksetzen |
|
|
wie kann ich die anzahl der umdrehungen des mausrades auf 0 zurücksetzen? _________________ Die Antworten zu fast allen Fragen des Lebens findest du entweder im MonsterFAQ oder der Befehlsreferenz - Und wenn du gar nicht mehr weiter weisst ? -> Wikipedia
ALLE RECHTSCHREIBFEHLER DIE ICH MACHE SIND BEABSICHTIGT, DAMIT DIE LEUTE, DIE SPAß DARAN HABEN SOLCHE ZU FINDEN, ETWAS ZU TUN HABEN |
|
Nach oben |
|
 |
Sebastian Administrator

Anmeldungsdatum: 10.09.2004 Beiträge: 5969 Wohnort: Deutschland
|
|
Nach oben |
|
 |
alfonsospringer
Anmeldungsdatum: 27.04.2006 Beiträge: 445
|
Verfasst am: 17.07.2006, 20:20 Titel: |
|
|
1. ich brauche die variablen
2. setmouse tuts nicht _________________ Die Antworten zu fast allen Fragen des Lebens findest du entweder im MonsterFAQ oder der Befehlsreferenz - Und wenn du gar nicht mehr weiter weisst ? -> Wikipedia
ALLE RECHTSCHREIBFEHLER DIE ICH MACHE SIND BEABSICHTIGT, DAMIT DIE LEUTE, DIE SPAß DARAN HABEN SOLCHE ZU FINDEN, ETWAS ZU TUN HABEN |
|
Nach oben |
|
 |
Michael Frey

Anmeldungsdatum: 18.12.2004 Beiträge: 2577 Wohnort: Schweiz
|
Verfasst am: 17.07.2006, 21:41 Titel: |
|
|
@Sebastian
alfonsospringer hat Recht, das hab ich mich auch schon gefragt.
(Aber weder eine Antwort gesucht noch Gefunden )
Clear geht höstwahrscheinlich nicht. _________________ http://de.wikibooks.org/wiki/FreeBasic Jede Hilfe für dieses Buch ist Willkommen!
http://de.wikibooks.org/wiki/FreeBasic:_FAQ FAQ zu Freebasic (im Aufbau, hilfe Willkommen)
Neu mit Syntax Highlight |
|
Nach oben |
|
 |
alfonsospringer
Anmeldungsdatum: 27.04.2006 Beiträge: 445
|
Verfasst am: 17.07.2006, 22:24 Titel: |
|
|
was mach ich nur?...heul _________________ Die Antworten zu fast allen Fragen des Lebens findest du entweder im MonsterFAQ oder der Befehlsreferenz - Und wenn du gar nicht mehr weiter weisst ? -> Wikipedia
ALLE RECHTSCHREIBFEHLER DIE ICH MACHE SIND BEABSICHTIGT, DAMIT DIE LEUTE, DIE SPAß DARAN HABEN SOLCHE ZU FINDEN, ETWAS ZU TUN HABEN |
|
Nach oben |
|
 |
ytwinky

Anmeldungsdatum: 28.05.2005 Beiträge: 2624 Wohnort: Machteburch
|
Verfasst am: 17.07.2006, 22:57 Titel: |
|
|
Nu weene man nicht, mein Kleener..
Reihe dich einfach ein in die lange Schlange derjenigen, die es vermissen,
daß unter FB der MausInterrupt 33 mit Funktion 0 (Maus-Reset) nicht aufgerufen werden kann..
(Unter Pascal könnte ich ihn benutzen, ach nein, dafür würde ich wichtigere Sachen verlieren)
Gruß
ytwinky _________________
v1ctor hat Folgendes geschrieben: | Yeah, i like INPUT$(n) as much as PRINT USING.. | ..also ungefähr so, wie ich GOTO.. |
|
Nach oben |
|
 |
technicorn
Anmeldungsdatum: 18.07.2006 Beiträge: 2
|
Verfasst am: 18.07.2006, 06:57 Titel: |
|
|
Ein Möglichkeit wäre, mit einem Offset zu arbeiten:
Code: |
' Reset mouse wheel
Dim As Integer x, y, w, wo, b
Dim As Integer xl, yl, wl, bl, wOffset
Dim As String s1
Do
GetMouse x, y, w, b
wo = w - wOffset
If (x <> xl) Or (y <> yl) Or (wo <> wl) Or (b <> bl) Then
Print Using"Mouse X:#### Y:#### W:#### B:####";x,y,wo,b
xl = x: yl = y: wl = wo: bl = b
EndIf
s1 = Ucase(Inkey)
If s1 = "R" Then wOffset = w
Loop Until s1 = Chr(27)
|
Nur wenn der maximale Wertebereich des Mausrades überschritten wird,
hilft das auch nicht mehr.
Ich weiß nicht ob der Radwert als 16 oder 32 bit Wert behandelt wird,
aber selbst bei (nur) 16 bit wären es -32768 bit +32767, um das zu überschreiten,
müßte man das Rad schon stundenlang nur in eine Richtung drehen.
Gruß
technicorn |
|
Nach oben |
|
 |
alfonsospringer
Anmeldungsdatum: 27.04.2006 Beiträge: 445
|
Verfasst am: 18.07.2006, 08:13 Titel: |
|
|
reichlich komplex, aber wenns funktioniert was sind
xl, yl, wl, bl und wo? _________________ Die Antworten zu fast allen Fragen des Lebens findest du entweder im MonsterFAQ oder der Befehlsreferenz - Und wenn du gar nicht mehr weiter weisst ? -> Wikipedia
ALLE RECHTSCHREIBFEHLER DIE ICH MACHE SIND BEABSICHTIGT, DAMIT DIE LEUTE, DIE SPAß DARAN HABEN SOLCHE ZU FINDEN, ETWAS ZU TUN HABEN |
|
Nach oben |
|
 |
Michael Frey

Anmeldungsdatum: 18.12.2004 Beiträge: 2577 Wohnort: Schweiz
|
Verfasst am: 18.07.2006, 08:41 Titel: |
|
|
Da sind echt ein paar Gute Ideen drin.
Mal eine kleine Analyse:
Code: | If (x <> xl) Or (y <> yl) Or (wo <> wl) Or (b <> bl) Then
Print Using"Mouse X:#### Y:#### W:#### B:####";x,y,wo,b
xl = x: yl = y: wl = wo: bl = b
EndIf |
Eine Efizente unter drückung des Flimmerns.
Die Werte werden nur ausgegeben, wenn sich etwas ändert.
Um fest zu stellen ob sich was verändert hat, macht er einen "Jetzt"/"Vorher" Vergleich. Der Jetztige Wert ist in x,y,wo, und b, der vorherige ist in xl,yl,wl und bl.
Nun zum wo:
w ist das Mausrad oder besser der Wert des Mausrades, wie es von FB kommt. w kannst du nicht Reseten.
Dafür gibt es jetzt wo, immer wenn du "r" für Reset drückst, wird wo mit hilfe eines kleinen Tricks auf Null gesetzt. Der Trick geht etwa so:
Wenn du r drückst, wird der Aktuelle Wert des Mausrades gespeichert, dieser Wert wird dann immer vom "echten" Wert des Mausrades abgezogen und das Resultat in wo gespeichert.
Zitat: | Ich weiß nicht ob der Radwert als 16 oder 32 bit Wert behandelt wird,
aber selbst bei (nur) 16 bit wären es -32768 bit +32767, um das zu überschreiten,
müßte man das Rad schon stundenlang nur in eine Richtung drehen. |
Ich Tippe auf 32 Bit Wert, schliesslich arbeiten wir mit eine 32 Bit Computer Architektur.
Obwohl der Code sehr Gut ist, hab ich mir erlaubt Details zu verfeinern:
Code: | ' Reset mouse wheel
Dim As Integer x, y, w, wo, b
Dim As Integer xl, yl, wl, bl, wOffset
Dim As String*2 s1
Do
GetMouse x, y, w, b
wo = w - wOffset
If (x <> xl) Or (y <> yl) Or (wo <> wl) Or (b <> bl) Then
locate 1,1,0
Print Using"Mouse X:#### Y:#### W:#### B:####";x,y,wo,b
xl = x: yl = y: wl = wo: bl = b
EndIf
s1 = Ucase(Inkey)
If s1 = "R" Then wOffset = w
sleep 1
Loop Until s1 = Chr(27) |
_________________ http://de.wikibooks.org/wiki/FreeBasic Jede Hilfe für dieses Buch ist Willkommen!
http://de.wikibooks.org/wiki/FreeBasic:_FAQ FAQ zu Freebasic (im Aufbau, hilfe Willkommen)
Neu mit Syntax Highlight |
|
Nach oben |
|
 |
technicorn
Anmeldungsdatum: 18.07.2006 Beiträge: 2
|
Verfasst am: 18.07.2006, 20:05 Titel: |
|
|
Hallo
Ok, mit Kommentaren war ich wohl etwas zu sparsam
@alfonsospringer:
Wie Michael Frey schon richtig erkannt hat, sind die xl, yl... nur zur Erkennung, ob sich etwas geändert hat, das 'l' steht hier für 'last value', also 'letzter Wert'.
Für Dich ist eigentlicht nur der Teil:
Code: |
GetMouse x, y, w, b
wo = w - wOffset
|
intererssant, wobei dann 'wo' die Variable ist in der der Wert des Mausrades landet.
Wenn der Radwert wieder Nullbasiert sein soll,
an die Variable 'wOffset' den aktuellen Wert von 'w' zuweisen.
@Michael Frey
Bei Windows wäre ich mir mit den 32 bit, weils ja ein 32 bit Betriebssystem ist, nicht so sicher.
Bis Windows 98 sind so ziemlich alle Werte die mit den Fenstern und Grafik zu tun haben nur 16 bit Koordinaten, auch die Laufleisten am Fensterrand haben bis Win98 nur einen Wertebereich von 16 bit.
Gruß
technicorn |
|
Nach oben |
|
 |
alfonsospringer
Anmeldungsdatum: 27.04.2006 Beiträge: 445
|
Verfasst am: 18.07.2006, 20:54 Titel: |
|
|
wo bekomme ich den wert fuer woffset her?/Was ist woffset? (abgesehen von einer Variable? _________________ Die Antworten zu fast allen Fragen des Lebens findest du entweder im MonsterFAQ oder der Befehlsreferenz - Und wenn du gar nicht mehr weiter weisst ? -> Wikipedia
ALLE RECHTSCHREIBFEHLER DIE ICH MACHE SIND BEABSICHTIGT, DAMIT DIE LEUTE, DIE SPAß DARAN HABEN SOLCHE ZU FINDEN, ETWAS ZU TUN HABEN |
|
Nach oben |
|
 |
ytwinky

Anmeldungsdatum: 28.05.2005 Beiträge: 2624 Wohnort: Machteburch
|
Verfasst am: 18.07.2006, 20:59 Titel: |
|
|
If s1 = "R" Then wOffset = w _________________
v1ctor hat Folgendes geschrieben: | Yeah, i like INPUT$(n) as much as PRINT USING.. | ..also ungefähr so, wie ich GOTO.. |
|
Nach oben |
|
 |
alfonsospringer
Anmeldungsdatum: 27.04.2006 Beiträge: 445
|
Verfasst am: 19.07.2006, 11:41 Titel: |
|
|
kann mir jemand mal diese zeilen erklären?
xl = x: yl = y: wl = wo: bl = b
s1 = Ucase(Inkey)
was ist ucase(inkey)? _________________ Die Antworten zu fast allen Fragen des Lebens findest du entweder im MonsterFAQ oder der Befehlsreferenz - Und wenn du gar nicht mehr weiter weisst ? -> Wikipedia
ALLE RECHTSCHREIBFEHLER DIE ICH MACHE SIND BEABSICHTIGT, DAMIT DIE LEUTE, DIE SPAß DARAN HABEN SOLCHE ZU FINDEN, ETWAS ZU TUN HABEN |
|
Nach oben |
|
 |
ytwinky

Anmeldungsdatum: 28.05.2005 Beiträge: 2624 Wohnort: Machteburch
|
Verfasst am: 19.07.2006, 12:22 Titel: |
|
|
alfonsospringer hat Folgendes geschrieben: | kann mir jemand mal diese zeilen erklären?
xl = x: yl = y: wl = wo: bl = b
s1 = Ucase(Inkey)
was ist ucase(inkey)? | 1. Mehrere Anweisungen dürfen, durch ':' getrennt, in eine Zeile geschrieben werden, äquivalent wäre: Code: |
xl=x 'Integer-Variable xl erhält als Wert den Inhalt von x
yl=y 'Integer-Variable yl erhält als Wert den Inhalt von y
wl=wo 'Integer-Variable wl erhält als Wert den Inhalt von wo
bl=b 'Integer-Variable bl erhält als Wert den Inhalt von b |
2. Ist gleichbedeutend mit: Code: | s1=Inkey[$] ' s1 enthält das Zeichen/die Zeichenfolge als Auswertung von Inkey[$]
s1=UCase(s1) 'Der (String-)Inhalt von s1 wird in Großbuchstaben umgewandelt | [$] bedeutet, daß du daß '$'-Zeichen entweder anhängen kannst oder nicht, wie du möchtest..
(Nein, ich erkläre dir nicht, warum das so ist )
Diese Funktionen werden aber auch ausführlich in der Hilfe beschrieben..
..welches Ausgabedatum hat eigentlich deine deutsche Hilfedatei? _________________
v1ctor hat Folgendes geschrieben: | Yeah, i like INPUT$(n) as much as PRINT USING.. | ..also ungefähr so, wie ich GOTO.. |
|
Nach oben |
|
 |
alfonsospringer
Anmeldungsdatum: 27.04.2006 Beiträge: 445
|
Verfasst am: 19.07.2006, 17:37 Titel: |
|
|
an sich habe ich keine probleme mit englisch...hab einige jahre in usa gelebt,
aber ich steig bei dem mathematischen krimskrams nicht immer gleich durch den sinn dahinter durch, weil ich die unterschiedlichen befehle reservierten begriffe usw. nocht nicht alle as dem effeff (o.a. ff) kann
zb. ucase hätte mir garnichts geagt nd ich hab daran gerätselt was für ein merkwürdiger befehl das wohl ist, wenn mans gesagt bekommt is gleich klar
Ucase=UpperCase (Große Buchstaben)
Dim As String*2 s1
was ist ein sting*2 für ein vartyp?
ich verstehe jetzt wie es funktioniert (alles bis auf den sinn hinter sting*2)
also vielen dank schon mal _________________ Die Antworten zu fast allen Fragen des Lebens findest du entweder im MonsterFAQ oder der Befehlsreferenz - Und wenn du gar nicht mehr weiter weisst ? -> Wikipedia
ALLE RECHTSCHREIBFEHLER DIE ICH MACHE SIND BEABSICHTIGT, DAMIT DIE LEUTE, DIE SPAß DARAN HABEN SOLCHE ZU FINDEN, ETWAS ZU TUN HABEN |
|
Nach oben |
|
 |
Michael Frey

Anmeldungsdatum: 18.12.2004 Beiträge: 2577 Wohnort: Schweiz
|
Verfasst am: 19.07.2006, 18:08 Titel: |
|
|
alfonsospringer hat Folgendes geschrieben: | Dim As String*2 s1
was ist ein sting*2 für ein vartyp? |
Ich halte fest: Ich hab String geschrieben und nicht sting .
Zu Erklärung:
String*2 ist ein String, der nur aus 2 Zeichen besteht.
Das spart etwas Speicher/Rechenzeit, ist aber nicht nötig. _________________ http://de.wikibooks.org/wiki/FreeBasic Jede Hilfe für dieses Buch ist Willkommen!
http://de.wikibooks.org/wiki/FreeBasic:_FAQ FAQ zu Freebasic (im Aufbau, hilfe Willkommen)
Neu mit Syntax Highlight |
|
Nach oben |
|
 |
ytwinky

Anmeldungsdatum: 28.05.2005 Beiträge: 2624 Wohnort: Machteburch
|
Verfasst am: 19.07.2006, 21:06 Titel: |
|
|
alfonsospringer hat Folgendes geschrieben: | zb. ucase hätte mir garnichts geagt nd ich hab daran gerätselt was für ein merkwürdiger befehl das wohl ist, wenn mans gesagt bekommt is gleich klar
Ucase=UpperCase (Große Buchstaben) | Warum um alles in der Welt mußt du da rätseln?
Da wird die Hilfedatei aufgerufen und unter 'U' nach UCase geschaut..
..welches Ausgabedatum hat eigentlich deine deutsche Hilfedatei? _________________
v1ctor hat Folgendes geschrieben: | Yeah, i like INPUT$(n) as much as PRINT USING.. | ..also ungefähr so, wie ich GOTO.. |
|
Nach oben |
|
 |
alfonsospringer
Anmeldungsdatum: 27.04.2006 Beiträge: 445
|
Verfasst am: 19.07.2006, 21:50 Titel: |
|
|
ich weiss nicht mal ob ich eine habe... _________________ Die Antworten zu fast allen Fragen des Lebens findest du entweder im MonsterFAQ oder der Befehlsreferenz - Und wenn du gar nicht mehr weiter weisst ? -> Wikipedia
ALLE RECHTSCHREIBFEHLER DIE ICH MACHE SIND BEABSICHTIGT, DAMIT DIE LEUTE, DIE SPAß DARAN HABEN SOLCHE ZU FINDEN, ETWAS ZU TUN HABEN |
|
Nach oben |
|
 |
ytwinky

Anmeldungsdatum: 28.05.2005 Beiträge: 2624 Wohnort: Machteburch
|
Verfasst am: 19.07.2006, 22:03 Titel: |
|
|
Ach du armes Würstchen,
Zeit genug im Forum Beiträge zu lesen und schreiben hast du..
..aber es hat noch nicht gereicht, um die deutsche Hilfe auf freebasic.de zu finden!
Hier ist ein Link dafür(da mußt du draufklicken und auf der Seite dann die CHM-Datei herunterladen)
http://www.freebasic.de/FBtuts.php?zeig=tuts&view=Referenz-Befehlsreferenz.txt
Achso, und wenn du sie gedownloadet hast, solltest du sie auch mal aufrufen..
Wenn du Schreibfehler findest, gibt es hier einen Thread, wo du sie posten kannst.
[Edit]
Aber auch die englische Hilfe erklärt dir die Befehle..
..und da du ja englisch kannst..
..und sie dir mal http://ytwinky.freebasic.de/links.htm an, vielleicht findest du ja was Brauchbares. _________________
v1ctor hat Folgendes geschrieben: | Yeah, i like INPUT$(n) as much as PRINT USING.. | ..also ungefähr so, wie ich GOTO.. |
|
Nach oben |
|
 |
alfonsospringer
Anmeldungsdatum: 27.04.2006 Beiträge: 445
|
Verfasst am: 19.07.2006, 23:00 Titel: |
|
|
danke fuer den Link - zu guetig von dir.
Aber das mit dem Wuerstchen nimmst du gefaelligst wieder zurueck
(Scherz) _________________ Die Antworten zu fast allen Fragen des Lebens findest du entweder im MonsterFAQ oder der Befehlsreferenz - Und wenn du gar nicht mehr weiter weisst ? -> Wikipedia
ALLE RECHTSCHREIBFEHLER DIE ICH MACHE SIND BEABSICHTIGT, DAMIT DIE LEUTE, DIE SPAß DARAN HABEN SOLCHE ZU FINDEN, ETWAS ZU TUN HABEN |
|
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.
|
|