BITTE helfen Sie uns HEUTE mit einer SPENDE
Helfen Sie das LibreOffice Forum zu erhalten!
> KEINE WERBUNG FÜR REGISTRIERTE BENUTZER!<
Ihre Spende wird für die Deckung der laufenden Kosten sowie den Erhalt und Ausbau 🌱 des LibreOffice Forums verwendet.
🤗 Als Dankeschön werden Sie im Forum als LO-SUPPORTER gekennzeichnet. 🤗
[GELÖST] Puristischer Lesemodus gesucht
Re: [GELÖST] Puristischer Lesemodus gesucht
Gefällt mir grundsätzlich gut. Ab und zu werden beim Wiedereinblenden nicht alle Symbolleisten sofort eingeblendet.
Besonders wenn man gescrollt hatte. Wenn ich den Cursor dann auf eine andere Textstelle plaziere, hilft's.
(Das ist aber wohl eher ein LO bug)
Hier ist Dein Dokument ohne input-box. (Das Toggeln ist abhängig vom Status des horizontalen Lineals. Hätte es lieber vom Frame-status abhängig gemacht, aber hab jetzt kein xray zum eintauchen)
Besonders wenn man gescrollt hatte. Wenn ich den Cursor dann auf eine andere Textstelle plaziere, hilft's.
(Das ist aber wohl eher ein LO bug)
Hier ist Dein Dokument ohne input-box. (Das Toggeln ist abhängig vom Status des horizontalen Lineals. Hätte es lieber vom Frame-status abhängig gemacht, aber hab jetzt kein xray zum eintauchen)
- Dateianhänge
-
- Lesemodus_02.odt
- (243.33 KiB) 52-mal heruntergeladen
Win7 Pro, Sibelius 7.1.3, Lubuntu 15.10, LibO 4.4.7, OO 4.1.3
Free Project: LibreOffice Songbook Architect (LOSA)
http://struckkai.blogspot.de/2015/04/li ... itect.html
Free Project: LibreOffice Songbook Architect (LOSA)
http://struckkai.blogspot.de/2015/04/li ... itect.html
Re: [GELÖST] Puristischer Lesemodus gesucht
Wunderbar, DavidG!
... habe mir noch erlaubt, diese beiden Zeilen zu modifizieren:
und das funktioniert sogar
Besten Dank
Lino
... habe mir noch erlaubt, diese beiden Zeilen zu modifizieren:
Code: Alles auswählen
If sText > "-1" Then blnShow=False
...
.ZoomType=sText
Besten Dank
Lino
Re: [GELÖST] Puristischer Lesemodus gesucht
Hallo lino,
vielen Dank für die Blumen!
-------------------------------
Leider ist Deine Anweisung ist nicht korrekt, ZoomType erwartet einen Datentyp Short, Integer ist auch möglich.
Du prüfst und übergibst einen Text, also den Datentyp String.
In diesem Fall gehe ich davon aus, dass der Basic-Interpreter dies als 0 wertet.
siehe LO-Api:
https://api.libreoffice.org/docs/idl/re ... mType.html
Damit wird vermutlich Deine Ansicht wegen der Konstanten 0 auf OPTIMAL gesetzt.
Weitere Erläuterung:
Eine Inputbox liefert immer Strings zurück, also keine Zahlen, sondern Ziffern.
Deshalb habe ich den Variablenamen sText verwendet.
Gibst Du nun in die aufpoppende Inputbox eine "Zahl", dann ist dies in Wahrheit eine ZIffer,
mit der man weder Berechnungen anstellen kann, noch hat sie den richtigen Datentyp.
Man kann die Ziffer aber in eine Zahl umwandeln.
Für die Konvertierung gibt es verschiedene Runtime-Funktionen:
http://www.starbasicfaq.de/WelcheRuntim ... ibtes.html
http://www.starbasicfaq.de/WiekannmanVa ... ieren.html
teste mal diesen Code...
NACHTRAG
Deine IF-Anweisung wird bei genauer Betrachtung NIE WAHR, weil
WENN VARIABLE GRÖSSER "TEXT" DANN VARIABLE=FALSE
Text kann man nur mittels der Operatoren GLEICH (=) oder NICHT (<>) prüfen.
Banane > Apfel mach irgendwie keinen Sinn.
Somit muss erst eine Konvertierung in eine Zahl erfolgen, dann kann man auch < oder > verwenden.
Im Prinzip so:
vielen Dank für die Blumen!
-------------------------------
Leider ist Deine Anweisung ist nicht korrekt, ZoomType erwartet einen Datentyp Short, Integer ist auch möglich.
Du prüfst und übergibst einen Text, also den Datentyp String.
In diesem Fall gehe ich davon aus, dass der Basic-Interpreter dies als 0 wertet.
siehe LO-Api:
https://api.libreoffice.org/docs/idl/re ... mType.html
Code: Alles auswählen
If sText > "-1" Then blnShow=False
...
.ZoomType=sText
Damit wird vermutlich Deine Ansicht wegen der Konstanten 0 auf OPTIMAL gesetzt.
Code: Alles auswählen
REM ------------------------------------------------------------------------------------------------------
REM >>> ZoomType <<<
REM const short OPTIMAL = 0
REM The page content width (excluding margins) at the current selection is fit into the view. More...
REM
REM const short PAGE_WIDTH = 1
REM The page width at the current selection is fit into the view. More...
REM
REM const short ENTIRE_PAGE = 2
REM A complete page of the document is fit into the view. More...
REM
REM const short BY_VALUE = 3
REM The zoom is relative and is to be set via the property ViewSettings::ZoomValue. More...
REM
REM const short PAGE_WIDTH_EXACT = 4
REM The page width at the current selection is fit into the view, with the view ends exactly at the end of the page. More...
REM
.ZoomType=4
REM ------------------------------------------------------------------------------------------------------
Eine Inputbox liefert immer Strings zurück, also keine Zahlen, sondern Ziffern.
Deshalb habe ich den Variablenamen sText verwendet.
Gibst Du nun in die aufpoppende Inputbox eine "Zahl", dann ist dies in Wahrheit eine ZIffer,
mit der man weder Berechnungen anstellen kann, noch hat sie den richtigen Datentyp.
Man kann die Ziffer aber in eine Zahl umwandeln.
Für die Konvertierung gibt es verschiedene Runtime-Funktionen:
http://www.starbasicfaq.de/WelcheRuntim ... ibtes.html
http://www.starbasicfaq.de/WiekannmanVa ... ieren.html
teste mal diesen Code...
Code: Alles auswählen
Sub xConvert
Dim sText as String
Dim nInput as Integer
sText = "12" ' Datentyp STRING (Ziffer)
nInput=cInt(sText) ' Konvertierung in INTEGER
Msgbox nInput*12 ' Ergebnis = 144
REM Fehlermeldung : unzulässiger Datentyp
REM weil Ziffer mal 12 nicht möglich1
Msgbox sText*12
End Sub
Code: Alles auswählen
If sText > "-1" Then blnShow=False
WENN VARIABLE GRÖSSER "TEXT" DANN VARIABLE=FALSE
Text kann man nur mittels der Operatoren GLEICH (=) oder NICHT (<>) prüfen.
Banane > Apfel mach irgendwie keinen Sinn.
Somit muss erst eine Konvertierung in eine Zahl erfolgen, dann kann man auch < oder > verwenden.
Im Prinzip so:
Code: Alles auswählen
Dim sText as String
Dim nText as Integer
Dim blnShow as Boolean
blnShow=True
sText="1" 'Datentyp: STRING
nText= cIt(sText) 'Datentyp: INTEGER
REM Hier die Zahl (-1), NICHT die Ziffer ("-1") eingeben:
If nText > -1 Then blnShow=False
Gruß
David
___________________
WIN 10 PRO
LO 7.4.5.1 (x64)
David
___________________
WIN 10 PRO
LO 7.4.5.1 (x64)
Re: [GELÖST] Puristischer Lesemodus gesucht
@musikai,
mit meinem Benutzerprofil und dachte die Ursache dafür sei hier zu suchen.
Da auch Dir dies Verhalten aufgefallen ist, denke ich darüber nach,
die Steuerung des Fensters nicht aus dem Dokument heraus zu "manipulieren",
sondern über die übergeordnete Ebene des Stardesktops.
Muss mich nochmals mit dem Stardesktop auseinanderseetzen.
Ggf. verschwindet dann dieses kleine Manko.
Der Frame-Status ist erst einmal OK, sicherlich wäre eine andere Lösung eleganter.
Eine globale Variable (Global blnShow as Boolean) mag ich persönlich nicht so gern,
weil diese bis zur Beendigung von LO speicherresident ist.
Außerdem sind dann noch weitere Abfragen erforderlich, denn es kann ja sein,
dass man mehrere Writer-Dokumente geöffnet hat und dann für jedes geöffnete Fenster eine
eigene Abfrage erfolgen muss.
mmmh...? grübel
Nochmals vielen Dank
vielen Dank für Deine Rückmeldung und die Verbesserung.musikai hat geschrieben:Gefällt mir grundsätzlich gut.
Ja, in seltenen Fällen ist mir das auch passiert, allerdings hatte ich ein paar Problememusikai hat geschrieben:Ab und zu werden beim Wiedereinblenden nicht alle Symbolleisten sofort eingeblendet.
Besonders wenn man gescrollt hatte. Wenn ich den Cursor dann auf eine andere Textstelle platziere, hilft's.
(Das ist aber wohl eher ein LO bug)
mit meinem Benutzerprofil und dachte die Ursache dafür sei hier zu suchen.
Da auch Dir dies Verhalten aufgefallen ist, denke ich darüber nach,
die Steuerung des Fensters nicht aus dem Dokument heraus zu "manipulieren",
sondern über die übergeordnete Ebene des Stardesktops.
Muss mich nochmals mit dem Stardesktop auseinanderseetzen.
Ggf. verschwindet dann dieses kleine Manko.
In der Tat hatte ich auch schon darüber nachgedacht.musikai hat geschrieben:(Das Toggeln ist abhängig vom Status des horizontalen Lineals. Hätte es lieber vom Frame-status abhängig gemacht, aber hab jetzt kein xray zum eintauchen)
Der Frame-Status ist erst einmal OK, sicherlich wäre eine andere Lösung eleganter.
Eine globale Variable (Global blnShow as Boolean) mag ich persönlich nicht so gern,
weil diese bis zur Beendigung von LO speicherresident ist.
Außerdem sind dann noch weitere Abfragen erforderlich, denn es kann ja sein,
dass man mehrere Writer-Dokumente geöffnet hat und dann für jedes geöffnete Fenster eine
eigene Abfrage erfolgen muss.
mmmh...? grübel
Nochmals vielen Dank
Gruß
David
___________________
WIN 10 PRO
LO 7.4.5.1 (x64)
David
___________________
WIN 10 PRO
LO 7.4.5.1 (x64)
Re: [GELÖST] Puristischer Lesemodus gesucht
Also ich finde das Lineal als Status-Melder hier völlig ausreichend. Da es ja auch vom Macro ein- und ausgeblendet wird, ist es höchst zuverlässig.
Win7 Pro, Sibelius 7.1.3, Lubuntu 15.10, LibO 4.4.7, OO 4.1.3
Free Project: LibreOffice Songbook Architect (LOSA)
http://struckkai.blogspot.de/2015/04/li ... itect.html
Free Project: LibreOffice Songbook Architect (LOSA)
http://struckkai.blogspot.de/2015/04/li ... itect.html
An alle, die das LibreOffice-Forum nutzen:
Bitte beteiligen Sie sich mit 7 Euro pro Monat und helfen uns bei unserem Budget für das Jahr 2024.
Einfach per Kreditkarte oder PayPal.
Als Dankeschön werden Sie im Forum als LO-SUPPORTER gekennzeichnet.
❤️ Vielen lieben Dank für Ihre Unterstützung ❤️