Seite 1 von 2

Entertaste

Verfasst: Mi 20. Mär 2013, 18:16
von erikafuchs
Hallo zusammen,
ich habe mich ganz neu hier angemeldet, weil ich ein Problem habe:
Ich habe ein Makro zum Matheüben für meine Schüler geschrieben. Dieses läuft unter Windows, OpenOffice und auch auf dem Mac (bei den letzten beiden hatte ich allerdings Probleme, da es dort den Befehl Cdec nicht gibt). Soweit so gut. Jetzt habe ich einem Schüler einen ausgemusterten Schulcomputer mit Ubuntu und LibreOffice geschenkt und da klappt es plötzlich nicht mehr. Auf einem Windowsrechner mit LibreOffice läuft mein Makro, auf einem Linuxrechner mit OpenOffice lief es (meines Wissens auch) - jetzt nicht mehr.
Die fragliche Programmzeile lautet:

Code: Alles auswählen

if oEvt.KeyChar=chr(13) then
diese reagiert nicht auf Drücken der Entertaste - hat da jemand eine Idee?
Grüße
Pit

Re: Entertaste

Verfasst: Mi 20. Mär 2013, 20:13
von gogo
welches Event?
mal xray proberien?

Re: Entertaste

Verfasst: Mi 20. Mär 2013, 20:13
von F3K Total
Hi,
so:

Code: Alles auswählen

If (oEvt.KeyCode = 1280) Then
oder so:

Code: Alles auswählen

If (oEvt.KeyCode = com.sun.star.awt.Key.RETURN) Then
sollte es funktionieren.
Gruß R

Re: Entertaste

Verfasst: Mi 20. Mär 2013, 20:57
von erikafuchs
oder so:
Code: Alles auswählen
If (oEvt.KeyCode = com.sun.star.awt.Key.RETURN) Then
sollte es funktionieren.
stimmt, das funktioniert...Irgendwie sieht das aber umständlicher aus.
so:
Code: Alles auswählen
If (oEvt.KeyCode = 1280) Then
... und hat da jemand eine Erklärung, warum aus "chr(13)" "1280" wird - macht das wirklich Sinn?
Grüße
Pit

Re: Entertaste

Verfasst: Mi 20. Mär 2013, 21:05
von F3K Total
erikafuchs hat geschrieben:... und hat da jemand eine Erklärung, warum aus "chr(13)" "1280" wird - macht das wirklich Sinn?
Wird es ja nicht.
Es gibt einen Unterschied zwischen
KeyCode
und
KeyChar
Der numerische Wert für

Code: Alles auswählen

com.sun.star.awt.Key.RETURN
ist numal ... hättest Du durch genaueres Lesen sehen und durch Xray auch selbst herausbekommen können.
Gruß R

Re: Entertaste

Verfasst: Mi 20. Mär 2013, 22:32
von erikafuchs
Meine Sinnfrage betrifft ja mehr die Frage:
Warum funktioniert in drei Betriebssystemen mit openOffice und auch unter Windows mit LibreOffice "chr(30)" und in der Kombination Linux und LibreOffice geht es nicht mehr?!

Re: Entertaste

Verfasst: Mi 20. Mär 2013, 23:18
von F3K Total
Da bin ich kein Fachmann, vermutlich ist CHR(13) ein bestimmter (Uni)code, der ggf. unter Linux fehlt?

Re: Entertaste

Verfasst: Do 21. Mär 2013, 00:10
von gogo
Wie sieht denn der KeyChar unter Windows aus? Ein Paragraph-Zeichen?

Re: Entertaste

Verfasst: Do 21. Mär 2013, 11:26
von karolus
Hallo
F3K Total hat geschrieben:Da bin ich kein Fachmann, vermutlich ist CHR(13) ein bestimmter (Uni)code, der ggf. unter Linux fehlt?
http://de.wikipedia.org/wiki/American_S ... nterchange
Es 'gab' chr(13) ( das Ascii-steuerzeichen CR → CarrigeReturn → Wagenrücklauf ) lange bevor 'Windows' erfunden wurde.
Fast genauso lange gibts schon Unix sozusagen der Grossvater aller 'Linux'e.

Karolus

Re: Entertaste

Verfasst: Do 21. Mär 2013, 19:25
von F3K Total
...
karolus hat geschrieben:Es 'gab' chr(13) ( das Ascii-steuerzeichen CR → CarrigeReturn → Wagenrücklauf ) lange bevor 'Windows' erfunden wurde.
... die Frage war aber , warum chr(13) bei Erika unter Linux nicht funzt.

Gruß R