bis jetzt war das noch einfach, aber hast du schon mal dran gedacht die Zählerstände nicht via ⇒Auge ⇒ Hirn ⇒ Tastatur … einzugeben, sondern via Bildverarbeitung … z.B. python pillow
❤️ Helfen Sie noch heute, unser LibreOffice Forum zu erhalten! ❤️
>> Dank Ihrer Unterstützung -> Keine Werbung für alle registrierten LibreOffice-Forum User! <<
🤗 Als Dankeschön werden Sie im Forum als LO-SUPPORTER gekennzeichnet. 🤗
Click-Ereigniss? abfangen
Re: Click-Ereigniss? abfangen
LO25.2.x.y debian 13(trixie) auf Raspberry5 8GB (64bit)
LO25.8.x.y flatpak debian 13(trixie) auf Raspberry5 8GB (64bit)
LO25.8.x.y flatpak debian 13(trixie) auf Raspberry5 8GB (64bit)
Re: Click-Ereigniss? abfangen
... schön das 'HIrn' benannt wurdevia ⇒Auge ⇒ Hirn ⇒ Tastatur …
Nö, habe ich noch nicht ... die 'bastelei' ist ziemlich anstrengend.
Meinst Du pillow kann solche Bilder analysieren?

Danke - Stefan
Re: Click-Ereigniss? abfangen
Genaugenommen wohl eher https://pypi.org/project/pytesseract/ was aber u.a. eben PIL|pillow als Abhängigkeit hat.
( Und die »Genauigkeit« hängt natürlich von der Qualität des Bildmaterials ab,… bei deinem Beispiel muss $Mensch ja schon etwas genauer hinschauen um die 7 nicht als 2 zu identifizieren )
LO25.2.x.y debian 13(trixie) auf Raspberry5 8GB (64bit)
LO25.8.x.y flatpak debian 13(trixie) auf Raspberry5 8GB (64bit)
LO25.8.x.y flatpak debian 13(trixie) auf Raspberry5 8GB (64bit)
Re: Click-Ereigniss? abfangen
Hallo
Gebunden ans Ereignis »Doppellick« kannst du die Funktions-definition ändern auf:
Gebunden ans Ereignis »Doppellick« kannst du die Funktions-definition ändern auf:
Code: Alles auswählen
def jpg_timestamp_via_file_dialog(event):
dialog = createUnoService("com.sun.star.ui.dialogs.FilePicker")
dialog.DisplayDirectory= (Path.home() / "Pictures" / "Neu").as_uri()
dialog.Title = "…jpg … Auswahl"
dialog.appendFilter("JPG", "*.jpg")
if dialog.execute():
try:
file_name = Path( uri2path( dialog.Files[0] ) ).name
_date = dt.strptime(file_name ,'IMG_%Y%m%d_%H%M%S.jpg')
event.FormulaLocal= f"{_date:%Y-%m-%d %H:%M:%S}"
except ValueError:
event.String = "Datei-name passt nicht" LO25.2.x.y debian 13(trixie) auf Raspberry5 8GB (64bit)
LO25.8.x.y flatpak debian 13(trixie) auf Raspberry5 8GB (64bit)
LO25.8.x.y flatpak debian 13(trixie) auf Raspberry5 8GB (64bit)
Re: Click-Ereigniss? abfangen
Sorry für die Verspätung dieser Antwort …
Dabei kann man die Zell(adress)e auslesen, die das Ereignis triggert.
Ein (Einzel-)Click löst 4 Ereignisse für dieselbe Zelle aus (eins bei Drücken der Taste und 3 beim wieder Loslassen).
'Inhalt geändert' ist genau die (etwas unglückliche) "Übersetzung"/"Eindeutschung" von 'onSelect'.
Dabei kann man die Zell(adress)e auslesen, die das Ereignis triggert.
Ein (Einzel-)Click löst 4 Ereignisse für dieselbe Zelle aus (eins bei Drücken der Taste und 3 beim wieder Loslassen).
LO 24.2.0.3 (X86_64) auf Linux 6.6.26-1-MANJARO, gnome 45.4, (gtk 4) gtk3 für LO
Re: Click-Ereigniss? abfangen
Hallo,
Es gibt die Tabellenereignisse
"Inhalt geändert" -> onChange
"Auswahl geändert" -> onSelect
"Formel geändert" -> onCalculate
Das Ereignis "Inhalt geändert" wird ausgelöst, sobald der Inhalt einer Zelle (Text, Wert, Formel) geändert wird. Dabei wird die Zelle an das Makro weitergegeben, in der die Änderung erfolgte.
Ändert sich in einer Zelle das Formelergebnis (aufgrund der Änderung in einer anderen Zelle) so löst die Zelle mit der Formel kein Ereignis aus.
Dafür wäre das Ereignis "Formel geändert" zuständig. Dieses Ereignis gibt aber kein Objekt an das Makro weiter. Man weiß also nur, dass sich irgendwo in der Datei (mindestens) ein Formelergebnis geändert hat. (Damit scheint mir dieses Ereignis praktisch unnütz zu sein.)
Interessant ist das Ereignis "Auswahl geändert". Dieses Ereignis wird sehr unterschiedlich ausgelöst:
a) wenn man mit sich den Cursortasten im Dokument bewegt
- geht man nur zu einer anderen Zelle (links, rechts, hoch, runter, Seite hoch, Seite runter) so wird das Ereignis einmal ausgelöst und liefert die Zielzelle als Übergabe
- wählt man dabei (per Shift) jedoch mehrere Zellen an, so wird das Ereignis zweimal ausgelöst und liefert den Zellbereich
- hat man z. B. den Bereich A10:B12 gewählt (A10 ist aktiv) und geht dann eine Zelle nach oben, dann wird das Ereignis zweimal ausgelöst und liefert einmal die Zelle A10 und dann A9. Ich vermute mal, dass de facto zunächst der Bereich A10:B12 auf A10 kollabiert (1. Auswahländerung) und dann (2. Auswahländerung) zu A9 gewechselt wird
b) wenn man in einer Zelle per Taste F2 in den Bearbeitungsmodus oder in die Eingabezelie wechselt, wird das Ereignis einmal ausgelöst und liefert die Zelle
c) macht man das ganze per Maus, so wird das Ereignis mehrfach ausgelöst, soweit ich es testete mindestens 4 mal:
- zweimal beim Anklicken einer Zelle (Maustaste gedrückt) und zweimal beim Loslassen der Maustaste.
- klickt ma eine Zelle an (z. B. A10), hält die Maustaste gedrückt und wählt dann zusätzlich B10 aus, und lässt dann los, dann wird das Ereignis 4 mal ausgelöst und liefert:
$Tabelle1.$A$10
$Tabelle1.$A$10:$B$10
$Tabelle1.$A$10:$B$10
$Tabelle1.$A$10:$B$10
(jede Erweitung der Auswahl liefert eine weitere Auslösung des Ereignisses)
Das stimmt so nicht ganz (soweit ich es getestet habe).'Inhalt geändert' ist genau die (etwas unglückliche) "Übersetzung"/"Eindeutschung" von 'onSelect'.
Es gibt die Tabellenereignisse
"Inhalt geändert" -> onChange
"Auswahl geändert" -> onSelect
"Formel geändert" -> onCalculate
Das Ereignis "Inhalt geändert" wird ausgelöst, sobald der Inhalt einer Zelle (Text, Wert, Formel) geändert wird. Dabei wird die Zelle an das Makro weitergegeben, in der die Änderung erfolgte.
Ändert sich in einer Zelle das Formelergebnis (aufgrund der Änderung in einer anderen Zelle) so löst die Zelle mit der Formel kein Ereignis aus.
Dafür wäre das Ereignis "Formel geändert" zuständig. Dieses Ereignis gibt aber kein Objekt an das Makro weiter. Man weiß also nur, dass sich irgendwo in der Datei (mindestens) ein Formelergebnis geändert hat. (Damit scheint mir dieses Ereignis praktisch unnütz zu sein.)
Interessant ist das Ereignis "Auswahl geändert". Dieses Ereignis wird sehr unterschiedlich ausgelöst:
a) wenn man mit sich den Cursortasten im Dokument bewegt
- geht man nur zu einer anderen Zelle (links, rechts, hoch, runter, Seite hoch, Seite runter) so wird das Ereignis einmal ausgelöst und liefert die Zielzelle als Übergabe
- wählt man dabei (per Shift) jedoch mehrere Zellen an, so wird das Ereignis zweimal ausgelöst und liefert den Zellbereich
- hat man z. B. den Bereich A10:B12 gewählt (A10 ist aktiv) und geht dann eine Zelle nach oben, dann wird das Ereignis zweimal ausgelöst und liefert einmal die Zelle A10 und dann A9. Ich vermute mal, dass de facto zunächst der Bereich A10:B12 auf A10 kollabiert (1. Auswahländerung) und dann (2. Auswahländerung) zu A9 gewechselt wird
b) wenn man in einer Zelle per Taste F2 in den Bearbeitungsmodus oder in die Eingabezelie wechselt, wird das Ereignis einmal ausgelöst und liefert die Zelle
c) macht man das ganze per Maus, so wird das Ereignis mehrfach ausgelöst, soweit ich es testete mindestens 4 mal:
- zweimal beim Anklicken einer Zelle (Maustaste gedrückt) und zweimal beim Loslassen der Maustaste.
- klickt ma eine Zelle an (z. B. A10), hält die Maustaste gedrückt und wählt dann zusätzlich B10 aus, und lässt dann los, dann wird das Ereignis 4 mal ausgelöst und liefert:
$Tabelle1.$A$10
$Tabelle1.$A$10:$B$10
$Tabelle1.$A$10:$B$10
$Tabelle1.$A$10:$B$10
(jede Erweitung der Auswahl liefert eine weitere Auslösung des Ereignisses)
Gruß,
mikele
mikele
An alle, die das LibreOffice-Forum gern nutzen und unterstützen wollen:
Bitte helfen Sie uns mit 7 Euro pro Monat.
Durch Ihren Beitrag tragen Sie dazu bei, unsere laufenden Kosten für die kommenden Monate zu decken.
Unkompliziert per Kreditkarte oder PayPal.
Als ein kleines Dankeschön werden Sie im LO-Forum als SUPPORTER gekennzeichnet.