Bugs & Co
In der Framwork-Datei PictureBox.jsrc wurde sich vertippt.
Dort steht unter Public Sub Line(x1 As Single, y1 As Single, x2 as Single, y2 as Single, Rect As Boolean, FillColor As Long)
gemeint war aber
(statt dem letzten x1 ein y1)
Und der ToggleButton, bei dem ist einmal geklickt, für immer gedrückt.
Ich denke mal, beide Bugs sind schon seit langem bekannt und in der neuen Version schon lange behoben. Aber leider gibt es hier auf der Webseite keinen Bereich wo steht "Known Bugs" und "Known Bugs fixed".
Ein weiteres Problem ist das Zeichnen von Linien, Kreisen und so generell.
Wird unter Frame_Load gezeichnet, dann zeichnet er es schnell und dann wird es direkt wieder gelöscht.
Sagt man, daß beim Klicken eines Buttons etwas gezeichnet werden soll, dann zeichnet er beim ersten Klick alles und löscht es direkt danach wieder. Erst ab dem zweiten Klick zeichnet er es und es bleibt auch da (sofern kein anderes Fenster drüber kommt etc).
Und existiert eigentlich soetwas wie INKEY$ für Jabaco?
Also Inkex$ selber kennt es jedenfalls nicht.
Manche Basic-Dialekte haben auch KEY_DOWN, KEY_PRESSED und so. FreeBasic kennt zusätzlich MULTIKEY. Damit ist möglich zu erkennen, wenn mehrere bestimmte Tasten gleichzeitig gedrückt werden.
Ich habe in der IDE gesehen, daß es
gibt. Ist das Teik von Jabaco oder Teil von Java?
Wäre jedenfalls schön, wenn es eine einfache Art für Tastaturabfragen gibt. Ob man gerade eine Cursertaste, eine Buchstabentaste, ALT, Strg oder so gedrückt hat oder eine Kombination davon.
Grüße
theuserbl
PS: Bin jetzt erst mal den ganzen Tag mit Freuden in das neue Jahr am Feiern. Guten Rutsch ins neue Jahr an alle hier.
Dort steht unter Public Sub Line(x1 As Single, y1 As Single, x2 as Single, y2 as Single, Rect As Boolean, FillColor As Long)
|
|
Source code |
1 |
Call my2DGraphics.fillRect(x1 +1, y1 + 1, x2 - x1 - 1, y2 - x1 - 1) |
gemeint war aber
|
|
Source code |
1 |
Call my2DGraphics.fillRect(x1 +1, y1 + 1, x2 - x1 - 1, y2 - y1 - 1) |
(statt dem letzten x1 ein y1)
Und der ToggleButton, bei dem ist einmal geklickt, für immer gedrückt.
Ich denke mal, beide Bugs sind schon seit langem bekannt und in der neuen Version schon lange behoben. Aber leider gibt es hier auf der Webseite keinen Bereich wo steht "Known Bugs" und "Known Bugs fixed".
Ein weiteres Problem ist das Zeichnen von Linien, Kreisen und so generell.
Wird unter Frame_Load gezeichnet, dann zeichnet er es schnell und dann wird es direkt wieder gelöscht.
Sagt man, daß beim Klicken eines Buttons etwas gezeichnet werden soll, dann zeichnet er beim ersten Klick alles und löscht es direkt danach wieder. Erst ab dem zweiten Klick zeichnet er es und es bleibt auch da (sofern kein anderes Fenster drüber kommt etc).
Und existiert eigentlich soetwas wie INKEY$ für Jabaco?
Also Inkex$ selber kennt es jedenfalls nicht.
Manche Basic-Dialekte haben auch KEY_DOWN, KEY_PRESSED und so. FreeBasic kennt zusätzlich MULTIKEY. Damit ist möglich zu erkennen, wenn mehrere bestimmte Tasten gleichzeitig gedrückt werden.
Ich habe in der IDE gesehen, daß es
|
|
Source code |
1 |
keyDown (a as Event, b as Integer) As Boolean |
Wäre jedenfalls schön, wenn es eine einfache Art für Tastaturabfragen gibt. Ob man gerade eine Cursertaste, eine Buchstabentaste, ALT, Strg oder so gedrückt hat oder eine Kombination davon.
Grüße
theuserbl
PS: Bin jetzt erst mal den ganzen Tag mit Freuden in das neue Jahr am Feiern. Guten Rutsch ins neue Jahr an alle hier.
ist das ein fehler? du musst einfach 2 togglebuttons erstellen ...
Quoted
Und der ToggleButton, bei dem ist einmal geklickt, für immer gedrückt.
was ist langfristig die beste lösung für dieses problem? hast du einen guten vorschlag? momentan schwanke ich noch zwischen bugzilla und trac ...
Quoted
Ich denke mal, beide Bugs sind schon seit langem bekannt und in der neuen Version schon lange behoben. Aber leider gibt es hier auf der Webseite keinen Bereich wo steht "Known Bugs" und "Known Bugs fixed".
ja - du könntest "autoredraw" auf true stellen, dann wird das im hintergrund gespeichert...
Quoted
Ein weiteres Problem ist das Zeichnen von Linien, Kreisen und so generell.
Wird unter Frame_Load gezeichnet, dann zeichnet er es schnell und dann wird es direkt wieder gelöscht.
dafür gibt es mehr als eine methode. per stdin geht das zb so: MsgBox in.read()
Quoted
Und existiert eigentlich soetwas wie INKEY$ für Jabaco?
Also Inkex$ selber kennt es jedenfalls nicht.
es kommt ganz drauf an wo / wie du das abfragen möchtest. einige jabaco-controls geben dir ein event zurück. zb.
Quoted
Manche Basic-Dialekte haben auch KEY_DOWN, KEY_PRESSED und so. FreeBasic kennt zusätzlich MULTIKEY. Damit ist möglich zu erkennen, wenn mehrere bestimmte Tasten gleichzeitig gedrückt werden.
|
|
Jabaco Source |
1 2 3 |
Public Sub Text1_KeyDown(KeyCode As Integer, Shift As Integer) MsgBox KeyCode End Sub |
alternativ kannst du das auch java-like mit einem observer machen. zum beispiel:
noch eine methode:
Quoted
Public Sub Form_Load()
Call Text1.Parent.addKeyListener(Me)
End Sub
es gibt da noch einige weitere möglichkeiten, wobei du meistens die jabaco-methode verwenden kannst...
Quoted
Winapi Function GetAsyncKeyState Lib "user32" (ByVal vKey As Long) As Integer
schwer zu sagen - wo hast du das gefunden?
Quoted
![]()
Jabaco Source
1 keyDown (a as Event, b as Integer) As Boolean
Ist das Teil von Jabaco oder Teil von Java?
Oh, danke stimmt. Dachte der ToggleButton sei wie eine Checkbox. Aber es ist wie bei einem Radiobutton.ist das ein fehler? du musst einfach 2 togglebuttons erstellen ...
Quoted
Und der ToggleButton, bei dem ist einmal geklickt, für immer gedrückt.
Bleibt dann nur die Frage, wie man mehrere von denen gruppiert. Wenn ich in einem Form einmel drei ToggleButton habe und einmal zwei, von denem man jweils einen auswählen soll, dann geht es nicht zu trennen. Dann kann man nur einen von fünf auswählen.
Oder es gibt eine Möglichkeit dafür und ich weiß es nicht. Freu mich schon auf die Dokumentation.
Danke bei der TextBox und dem CommandButton funktioniert es tatsächlich.dafür gibt es mehr als eine methode. per stdin geht das zb so: MsgBox in.read()
Quoted
Und existiert eigentlich soetwas wie INKEY$ für Jabaco?
Also Inkex$ selber kennt es jedenfalls nicht.es kommt ganz drauf an wo / wie du das abfragen möchtest. einige jabaco-controls geben dir ein event zurück. zb.
Quoted
Manche Basic-Dialekte haben auch KEY_DOWN, KEY_PRESSED und so. FreeBasic kennt zusätzlich MULTIKEY. Damit ist möglich zu erkennen, wenn mehrere bestimmte Tasten gleichzeitig gedrückt werden.
![]()
Jabaco Source
1 2 3 Public Sub Text1_KeyDown(KeyCode As Integer, Shift As Integer) MsgBox KeyCode End Sub
Aber für die PictureBox gibt es das nicht.
Die PictureBox wäre das Gegenstück zum normalen Fenster der anderen Basic-Dialekte (QBasic, FreeBasic, BlitzMax, GLBasic, ...) die alle ohne GUI einherkommen. Dort kann man z.B. mit den Cursertasten eine Figur steuern oder so.
Hmmm... irgendwie hat Jabaco mit dem Java Code-Abschnitt bei mir Probleme....
Quoted
alternativ kannst du das auch java-like mit einem observer machen. zum beispiel:
noch eine methode:
Quoted
Public Sub Form_Load()
Call Text1.Parent.addKeyListener(Me)
End Subes gibt da noch einige weitere möglichkeiten, wobei du meistens die jabaco-methode verwenden kannst...
Quoted
Winapi Function GetAsyncKeyState Lib "user32" (ByVal vKey As Long) As Integer
Und auf eine Windows-Funktion zuzugreifenb ist nicht gerade plattformunabhängig.
Quoted
schwer zu sagen - wo hast du das gefunden?
Quoted
![]()
Jabaco Source
1 keyDown (a as Event, b as Integer) As Boolean
Ist das Teil von Jabaco oder Teil von Java?
In der IDE. Wenn ich dort irgendwo ein
keyDown(
eingeben, öffnet sich ein Tooltip
1/1 keyDown(arg2 As Event, arg3 As Integer) As Boolean
Die werden automatisch gruppiert. Verwende einen Frame, oder eine PictureBox, wenn du mehr als eine Gruppe hast...
Quoted
Bleibt dann nur die Frage, wie man mehrere von denen gruppiert.
Das Framework kann von jedem modifiziert und erweitert werden
Quoted
Aber für die PictureBox gibt es das nicht.

Du könntest natürlich auch StdIn abfragen ...
Quoted
Die PictureBox wäre das Gegenstück zum normalen Fenster der anderen Basic-Dialekte (QBasic, FreeBasic, BlitzMax, GLBasic, ...)
Du musst das passende Interface implementieren.
Quoted
Hmmm... irgendwie hat Jabaco mit dem Java Code-Abschnitt bei mir Probleme....
Das war auch nur eine Möglichkeit. Mit der Windows-Funktion kannst du das systemweit abfragen. Es kommt ganz drauf an was du tun möchtest.
Quoted
Und auf eine Windows-Funktion zuzugreifenb ist nicht gerade plattformunabhängig.
Similar threads
-
General topics, questions and discussions »-
Will jabaco always be free ?
(Dec 18th 2008, 12:20pm)
-
Allgemeine Themen, Fragen und Diskussionen »-
Jabaco meets Jubaca
(Dec 6th 2008, 5:50pm)
