Lage und Zustand eines Tabletts auslesen

Programmierung unter AOO/LO (StarBasic, Python, Java, ...)

Moderator: Moderatoren

erikafuchs
******
Beiträge: 690
Registriert: Di, 13.02.2007 17:38
Wohnort: Büttelborn

Lage und Zustand eines Tabletts auslesen

Beitrag von erikafuchs »

Hallo Leute,
Ihr wisst doch immer alles:
Unsere Schule schafft jetzt Tabletts an und ich will meinen "Rechentrainer" etwas anpassen. Wenn man bei dem Tablett die Tastatur einblendet verschwindet u.U. mein eingeblendeter Dialog hinter dieser. OpenOffice kann ja einige Betriebszustände des Computers auslesen. Kann ich auch erkennen ob die Tastatur eingeblendet wird und ob das Tablett quer oder hochkannt steht?
Pit
F3K Total
********
Beiträge: 3704
Registriert: Mo, 28.02.2011 17:49

Re: Lage und Zustand eines Tabletts auslesen

Beitrag von F3K Total »

Hallo Pit,
welche Art von Tablets will denn deine Schule überhaupt anschaffen? Und, bist du sicher, daß OpenOffice darauf, mit Makros überhaupt vernünftig läuft?
Gruß R
erikafuchs
******
Beiträge: 690
Registriert: Di, 13.02.2007 17:38
Wohnort: Büttelborn

Re: Lage und Zustand eines Tabletts auslesen

Beitrag von erikafuchs »

Da der Rechentrainer fester Bestandteil unserer Arbeit ist und wir nicht so viel Sinn in IPads (ohne USB) oder Android Geräte sehen haben wir Terra Pads 1061 von Wortmann https://www.wortmann.de/de-de/product/a ... 1-pro.aspx bestellt. Diese haben Win10 und arbeiten in einem PadModus und wahlweise mit angedockter Tastatur. OpenOffice und mein Rechentrainer laufen einwandfrei.
Benutzeravatar
balu
********
Beiträge: 3810
Registriert: Fr, 24.08.2007 00:28
Wohnort: Warstein

Re: Lage und Zustand eines Tabletts auslesen

Beitrag von balu »

Hallo Pit,
OpenOffice kann ja einige Betriebszustände des Computers auslesen.
Du sagst es, einige AUSLESEN. Und genau so gut kann man in OO (Kurz für AOO/LO) auch einige Einstellungen von OO AUSLESEN. Das Problem dabei ist jedoch, das bestimmte OO Einstellungen während einer OO Sitzung wohl ausgelesen, aber nicht geändert werden können, dazu muss dann OO neu gestartet werden.

Kann ich auch erkennen ob die Tastatur eingeblendet wird und ob das Tablett quer oder hochkannt steht?
Da ich so ein Pad nicht besitze, kann ich dir nicht sagen ob OO das irgendwie kann.


Wenn man bei dem Tablett die Tastatur einblendet verschwindet u.U. mein eingeblendeter Dialog hinter dieser.
Ich kann mir im wahrsten Sinne des Wortes davon kein Bild machen. Denn ich weiss nämlich nicht wie groß die eingeblendete Tastatur ist, und wieviel man dann noch von OO sieht. Und da ich nicht weiss wie deine aktuellen Dialoge aussehen, kann ich dir auch nicht garantieren ob folgender Vorschlag dir behilflich ist.

Wenn zwischen eingeblendeter Tastatur und oberste Kante von OO (also Titelzeile) noch genügend Platz für einen Dialog ist, dann würde ich folgendes versuchen:
1.
Setze die Größe für den Dialog (genauer gesagt für alle deine Dialoge) passend zu diesem zwischenraum. Mit anderen Worten, Du musst die Dialoge von Hand in der Größe anpassen.

2.
Gehe daher und setze für den Dialog eine feste Position an.


Zu Punkt 2.

Code: Alles auswählen

Sub Blabla
[...]
    DialogLibraries.loadLibrary("Standard")
    oHptDialog = CreateUnoDialog(DialogLibraries.Standard.HauptDialog)
[...]
    oHptDialog.Model.PositionX = 11
    oHptDialog.Model.PositionY = 12
[...]
    oHptDialog.execute
End sub
Das wäre eine Art die Position für einen Dialog festzusetzen. Und so wende ich das auch selber an.
Das hat den Vorteil, das der Dialog immer an einer ganz bestimmten Stelle steht, wenn er aufgerufen wird.

Probiers mal selber aus. Mehr kann ich dir momentan auch nicht helfen.

Vielleicht kannst Du ja mal einige Screenshot davon machen wieviel Platz oberhalb der eingeblendeten Tastaur ist, und wie groß der Größte Dialog ist, der außerdem von der Tastatur überblendet wird.



Gruß
balu
Sei öfter mal ein Faultier, sag öfter mal "Ach was!" Dann kriegst du keinen Herzinfarkt, und hast ne menge Spass.

wehr rächtschraipfähler findet khan si behalden :D
erikafuchs
******
Beiträge: 690
Registriert: Di, 13.02.2007 17:38
Wohnort: Büttelborn

Re: Lage und Zustand eines Tabletts auslesen

Beitrag von erikafuchs »

Hallo Balu,
lange nicht mehr kontaktet! Ich wollte ja keine oO Zustände auslesen, sondern Betriebszustände des Gerätes. Ich weiß, dass ich z.B. das Betriebssystem und die Bildschirmauflösung in oO auslesen kann.

Hier ein Screenshot:
Screenshot2 Tablett.jpg
Screenshot2 Tablett.jpg (31.4 KiB) 3055 mal betrachtet
Klar, ich könnte jetzt den Dialog immer oben rechts in die Ecke plazieren. Wie du siehst, nimmt die Tastatur die Hälfte der Anzeige ein und wenn dann der Dialog immer oben rechts ist, finde ich das im "Normalbetrieb" nicht so schön - daher möchte ich ihn nur im Bedarfsfall verschieben. Ich habe immer noch einen 4:5 (oder ist es 3:4) Bildschirm und in der Schule haben wir auch bisher nur wenige Breitbildschirme (ich mag die eh nicht).

Ich habe das Tablett schon ausprobiert und die eine oder andere Anwendung ändert ihre Anzeige abhängig von der eingeblendeten Tastatur - jetzt frage ich mich (Euch), ob OpenOffice die Bildschirmtastatur auch "erkennt".
Pit
Benutzeravatar
balu
********
Beiträge: 3810
Registriert: Fr, 24.08.2007 00:28
Wohnort: Warstein

Re: Lage und Zustand eines Tabletts auslesen

Beitrag von balu »

Hallo Pit,
lange nicht mehr kontaktet!
Und doch wiedererkannt :wink:

Ich habe das Tablett schon ausprobiert und die eine oder andere Anwendung ändert ihre Anzeige abhängig von der eingeblendeten Tastatur - jetzt frage ich mich (Euch), ob OpenOffice die Bildschirmtastatur auch "erkennt".
Wie ich ja schon sagte; ich weiß es nicht. Und es ist auch fraglich ob man dann überhaupt noch etwas auf dem Dialog erkennt, beziehungsweise ob OO den Dialog überhaupt proportional verkleinert.

Vielleicht kann ja noch jemand anderer etwas dazu sagen. Und so lange das nicht geklärt ist, sehe das kommende bitte als einen Würkarount an.

Wie du siehst, nimmt die Tastatur die Hälfte der Anzeige ein [...]
Ja! Das ist schon gewaltig, was die Tatatur an Platz verschwendet. Aber auf der Tastatur ist oben rechts neben dem großen X noch ein Symbol, 2 Rechtecke, ist das nur zum minimieren, oder steckt da noch mehr dahinter?

[...] und wenn dann der Dialog immer oben rechts ist, [...]
Warum denn oben rechts? Der Beispielcode von mir setzt ihn nach links oben.

Ich arbeite hier persönlich wohl mit einem Breitbild (16:9), aber ich hatte mal für jemanden eine Datei erstellt der mit 4:3 Monitor arbeitet und dementsprechend musste ich die Dialoge auf seine größe und Auflösung einstellen. Und dabei hatte sich herausgestellt, das die feste "Startposition" links oben eine gute Idee war, weil er sonst immer den Dialog zurecht rücken musste, da ohne Positionsvorgabe der Dialog beim aufruf immer an einer anderen Stelle erschien. Die Startposition hatte ich ja nicht per Makro geschüzt/gesperrt, so das er noch immer frei beweglich ist.


Also wenn Du auch eine Startposition vorgibst, und diese nicht schüzt, so kann er ja noch immer woanders hin verschoben werden.

Ich persönlich würde sogar dahergehen und die 2. und 3. sichtbare Symbolleiste ausblenden, und die 1. so weit abspecken das wirklich nur die allernötigsten Symbole zu sehen sind. Dadurch würdest Du wieder mehr "Luft" nach oben bekommen.

[...] finde ich das im "Normalbetrieb" nicht so schön
Warum?
Ich weiß ja nicht was Du in all den Jahren an deinem Rechentrainer geändert hast, aber so wie ich in einer Version von 2012 von dir jetzt gesehen habe, hattest Du da ja auch schon mit Positionsvorgaben gearbeitet. Hast Du das wieder rausgenommen?


Hätte ich beinhe vergessen.
Ich wollte ja keine oO Zustände auslesen, sondern Betriebszustände des Gerätes.
Okay, da habe ich mich wohl nicht eindeutig ausgedrückt. Also Ergänzung.
Es kann sein das Du mit OO bestimmte Betriebszustände auslesen kannst, aber um diese auch in OO anzuwenden muss dann höchstwahrscheinlich OO neu gestartet werden. Sicher bin ich mir da aber nicht.



Gruß
balu
Sei öfter mal ein Faultier, sag öfter mal "Ach was!" Dann kriegst du keinen Herzinfarkt, und hast ne menge Spass.

wehr rächtschraipfähler findet khan si behalden :D
Antworten