Stoppuhr in Calc erstellen - Konkretes beispiel

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

Moderator: Moderatoren

110jojo
*
Beiträge: 10
Registriert: Sa, 23.11.2013 00:33

Stoppuhr in Calc erstellen - Konkretes beispiel

Beitrag von 110jojo »

Hey Leute,

Im Anhang findet ihr das Dokument, welches zusätzlich zu meiner Problembeschreibung hier, weitere Kommentare und veranschaulichungen meines Problems beinhaltet.
Um mein Problem hier zu verallgemeinern:

Ich habe eine Start-Schaltfläche, welche bei aktivierung eine Stoppuhr starten soll. Die Zeit läuft also kontinuierlich in einer Zelle angezeigt durch.
Nun habe ich 5 SubZeiten welche gemessen werden sollen. Sie werden jeweils dann gemessen, sobald eine gegebene Zelle > 0 ist. (Makrobeispiel zur abfrage wann eine Zelle>0, siehe unten)
Ich habe also 5 SubZeiten welche jeweils bei einer anderen Zelle >0 gemessen werden. Die Zeit soll dabei weiterhin koninuierlich weiterlaufen.
Die Gesamtzeit wird erst dann gestoppt sobald die letzte Zelle einer gegebenen Spalte >0 ist.
Klingt hier zwar erst mal verwirrend, jedoch sollte das Problem einfacher veranschaulicht werden, wenn ihr euch die angehängte Datei anschaut.

Ich verlange NICHT dass ihr mir das komplette Makro programmiert ( nur für die die Spaß daran haben ;) ), sondern eher um euren Aufwands willen, das ihr mir die Vorgehensweise/wie ich einzelne Segmente des Programms umzusetzen hab, näher bringt.
Hier das Makro von F3K Total zur allkemeinen erkennung einer Zelle, ob diese >0 ist.

Code: Alles auswählen

global oModListener

Sub S_register_ModListener
    oModListener = CreateUNOListener("ModListener_","com.sun.star.util.XModifyListener")
    ocell = thiscomponent.sheets.getbyname("Tabelle1").getcellrangebyname("A1")
    ocell.addModifyListener(oModListener)
end sub

Sub ModListener_modified(oEvt)
    if oEvt.source.value > 0 then
        [Anweisungsblock]
    end if
End Sub

Sub ModListener_disposing
End Sub

Sub S_remove_ModListener
    ocell = thiscomponent.sheets(0).getcellbyposition(0,0)
    ocell.RemoveModifyListener(oModListener)
end sub
Mit freundlichen Grüßen und in vorraus für eure Antworten dankend

Johannes

PS: Selbe frage bereits in anderem Forum gestellt. Ich frage hier lediglich nochmal um auch hier antworten zu erhalten.( http://www.openoffice-forum.de/viewtopi ... =21&t=5049 )
Dateianhänge
ProblemBeschreibung.ods
(14.18 KiB) 138-mal heruntergeladen
Zuletzt geändert von 110jojo am Sa, 23.11.2013 16:31, insgesamt 1-mal geändert.
pmoegenb
********
Beiträge: 4330
Registriert: Di, 22.06.2004 12:02
Wohnort: 71134 Aidlingen
Kontaktdaten:

Re: Stoppuhr in Calc erstellen - Konkretes beispiel

Beitrag von pmoegenb »

Gruß

Peter
---------------------------------------------------------------------------
Windows 7 Prof. 64-bit SP1, LibreOffice 4.3.6.2 und AOO 4.1.1
110jojo
*
Beiträge: 10
Registriert: Sa, 23.11.2013 00:33

Re: Stoppuhr in Calc erstellen - Konkretes beispiel

Beitrag von 110jojo »

pmoegenb hat geschrieben:Fehlende Verlinkung: http://www.openoffice-forum.de/viewtopi ... 070#p12070
verlinkung ist kein muss! den hinweis auf crossposting brauchst du nicht unnltig als antwort zu verfassen! Crossposting ist NICHT verboten
Bitte entferne deinen beitrag, nachdem ich jetzt die verlinkung hinzugefügt habe, hier sollen hilfreiche antworten und nicht eine 1 zu 1 unterhaltung stattfinden
110jojo
*
Beiträge: 10
Registriert: Sa, 23.11.2013 00:33

Re: Stoppuhr in Calc erstellen - Konkretes beispiel

Beitrag von 110jojo »

Ich denke dabei nur an die anderen Leser, welche ebenso gern die Lösung des Problems erfahren ,möchten.
Wenn ich daran denke wie ich mich als aufrege, wenn ich nach ewiglangem googlen ein passendes Porum mit einem auf mein Problem passenden Beitrag finde, und dann feststellen muss das erst mal 8 seiten hin und her geschreibe zusehen ist wobei auf keiner weise auf das Problem eingegangen wird.
Ein kurzer Hinweis zur verbesserten formulierung ist okay, aber um der Übersicht Willen wäre es besser dies zu vermeiden und es per PN zu klären!
Lassen wir das nun sein, ich werd es mir für die Zukunft merken, kein Grund hier Seite gegen Seite zu schreiben.
Im übrigen ist es mir durchaus bewusst, das Antworten nichts selbverständliches sind, ich würdige jede dieser Tipps und nehme sie dankend an.


Hochachtungsvoll

johannes
110jojo
*
Beiträge: 10
Registriert: Sa, 23.11.2013 00:33

Re: Stoppuhr in Calc erstellen - Konkretes beispiel

Beitrag von 110jojo »

@ Bubblejet auch dich verweise ich zu meinem obigen Erklärungsversuch...Foren sind durch leute wie euch einfach zunehmend unbrauchbar, seht ihr - es nützt nichts wenn die Fragenden immer zurechtgewiesen werden was sie besser zu machen haben, obschon es wichtig ist sie zu verbesserungen anzuregen. Dahingehen estimiere ich es als notwendig mich darauf hinzuweisen, jedoch nicht in der Menge überschüttend mit "Du hast das und das und das und das [...] falsch gemacht". Hingegen ist die Vorgehensweise anderer lieber Member, mich per Nachricht konstruktiv über meine Fehler zu unterrichten und trotzdem eine Antwort oder wenigstens eine Verlinkung( Danke an F3K Total) in Form einer Antwort abzugeben, vorzuziehen und auch für dritte mehr als nur hilfreich im Gegensatz zu einem Beitrag in dem es lediglich um vorwürfe ja sogar schon auf sich gegenseitig rumhackende Kommentare geht.
Und sollte der ein oder andere Satz zu fordernd gerichtet formuliert sein, dann entschuldige ich mich hiermit und werde es mir für die Zukunft merken.

Mit (freundlichen) Grüßen

Johannes
Karolus
********
Beiträge: 7532
Registriert: Mo, 02.01.2006 19:48

Re: Stoppuhr in Calc erstellen - Konkretes beispiel

Beitrag von Karolus »

Hallo
Foren sind durch leute wie euch einfach zunehmend unbrauchbar, seht ihr - ...
Ohne Leute wie uns wären "die Foren" schlicht tot ...

Karolus
LO7.4.7.2 debian 12(bookworm) auf Raspberry5 8GB (ARM64)
LO25.2.3.2 flatpak debian 12(bookworm) auf Raspberry5 8GB (ARM64)
Stephan
********
Beiträge: 12368
Registriert: Mi, 30.06.2004 19:36
Wohnort: nahe Berlin

Re: Stoppuhr in Calc erstellen - Konkretes beispiel

Beitrag von Stephan »

Wer sagt das?
Das findest Du in:
viewtopic.php?f=18&t=54568

unter der Überschrift "Crossposting nicht erwünscht, aber toleriert"


Gruß
Stephan
Stephan
********
Beiträge: 12368
Registriert: Mi, 30.06.2004 19:36
Wohnort: nahe Berlin

Re: Stoppuhr in Calc erstellen - Konkretes beispiel

Beitrag von Stephan »

Foren sind durch leute wie euch einfach zunehmend unbrauchbar, seht ihr


eher nein

Es sind hier die Moderatoren die sich um solche Dinge kümmern und es ist eher eine Frage dessen was dem Forum nutzt (Du kannst das nötigenfalls auch Willkür nennen) insofern wir hier Leute brauchen die Antworten geben können und wir uns darum kümmern müssen das diese sich hier wohlfühlen.

Wir als Moderatoren haben allgemein einen stets wachen Blick auf das was hier geschrieben wird, es ist somit auch bereits eine Meinungsäußerung unsererseits hier nicht löschend in den Streit einzugreifen und keine Nachlässigkeit.


Gruß
Stephan
110jojo
*
Beiträge: 10
Registriert: Sa, 23.11.2013 00:33

Re: Stoppuhr in Calc erstellen - Konkretes beispiel

Beitrag von 110jojo »

seht ihr? genau das meinte ich, jetzt ist der Komplette Beitrag hier zu einer schlichten sidkussion gekommen, ausgelößt dur schlecht formulierte sätze die diekriminierend gegenüber ein paar von euch gewirkt haben... DAS meinte ich damit, versteht ihr?
Ich meinerseits werde spätestens morgen meine oben geschriebenen Beiträge löschen und hoffen das ihr euch, jetzt nachdem ihr mich ja so schon aufgeklärt habt euch ein Beispiel daran nimmt. Vielleicht wird es dan ja doch noch zu einem Beitrag in dem mir etwas zu meinem Problem erklärt wird, dafür sind Foren ja schließlichda: Dass Freiwillige, Interessierte anderen rein freundschaftlich helfen, wenn sie denn wollen, pflicht ist dies jedoch nicht, das habe ich nie versucht zu behaupten
Stephan
********
Beiträge: 12368
Registriert: Mi, 30.06.2004 19:36
Wohnort: nahe Berlin

Re: Stoppuhr in Calc erstellen - Konkretes beispiel

Beitrag von Stephan »

DAS meinte ich damit, versteht ihr?
natürlich verstehe ich das nur hat die Medaille 2 Seiten, denn ich habe durchaus überlegt ob ich hier posten sollte und fand es war mal wieder Zeit.

Es ist also nicht nötig das Du Beiträge jetzt nachträglich löscht, denn diese stören nicht wirklich, sondern erfüllen hier auch den Zweck das Thema über das hier diskutiert wurde, ins Bewusstsein der Öffentlichkeit zu rufen.


Natürlich wäre ein Übermaß solcher Beiträge störend, aber ein 'Normalmaß' ist es schon deshalb nicht weil das Ganze hier ein Prozesss ist, sich Regeln also auch ändern können wenn wir merken das sie nicht mehr zweckmäßig sind, dazu braucht es aber auch Diskussion.
Natürlich wäre es besser diese in einem separaten Thread zu führen, nur ist das nicht immer praktikabel und so ist ein halt ein Kompromiss solche Diskussionen, in Maßen, auch in 'normalen' Threads zu dulden. Zumindest sehe ich das so.



Gruß
Stephan
110jojo
*
Beiträge: 10
Registriert: Sa, 23.11.2013 00:33

Re: Stoppuhr in Calc erstellen - Konkretes beispiel

Beitrag von 110jojo »

Okay gut, dann haben wir das auch geklärt :) Ich hoffe nur dass sich andere Member nun nicht scheuen auf mein eigentliches Problem einzugehen
pmoegenb
********
Beiträge: 4330
Registriert: Di, 22.06.2004 12:02
Wohnort: 71134 Aidlingen
Kontaktdaten:

Re: Stoppuhr in Calc erstellen - Konkretes beispiel

Beitrag von pmoegenb »

110jojo hat geschrieben:Ich hoffe nur dass sich andere Member nun nicht scheuen auf mein eigentliches Problem einzugehen
Der Link von F3K Total » Gestern 23:46 reicht Dir nicht ?
Gruß

Peter
---------------------------------------------------------------------------
Windows 7 Prof. 64-bit SP1, LibreOffice 4.3.6.2 und AOO 4.1.1
F3K Total
********
Beiträge: 3720
Registriert: Mo, 28.02.2011 17:49

Re: Stoppuhr in Calc erstellen - Konkretes beispiel

Beitrag von F3K Total »

Na,
zwei habe ich noch:
eins
zwei
Gruß R
Karolus
********
Beiträge: 7532
Registriert: Mo, 02.01.2006 19:48

Re: Stoppuhr in Calc erstellen - Konkretes beispiel

Beitrag von Karolus »

Hallo
Dein eigentliches Problem ist trivial lösbar:

1. Setze die Anfangs- Endzeiten jeweils mit einem Datums/Zeitstempel in die aktuelle Zelle ***
2. Für die Ermittlung der Gesamtzeit subtrahiere die Startzeit von der Endzeit per Formel, z.B

Code: Alles auswählen

=B5-B2
***das ist mit einem Shortcut (→Extras→Anpassen→Tastatur ...) zu einem Makro getan, mit beispielsweise folgendem Code:

Code: Alles auswählen

sub Zeitstempel

	doc = thisComponent
	sel = doc.CurrentSelection
	sel.Formula = "=now()" ' Formel schreiben
	sel.Formulalocal = sel.String ' Ergebnis der Formel als Text eintragen
	document   = doc.CurrentController.Frame
	dispatcher = createUnoService("com.sun.star.frame.DispatchHelper")
	dispatcher.executeDispatch(document, ".uno:Calculate", "", 0, Array()) 'Eingabe simulieren
	
end sub

Karolus
LO7.4.7.2 debian 12(bookworm) auf Raspberry5 8GB (ARM64)
LO25.2.3.2 flatpak debian 12(bookworm) auf Raspberry5 8GB (ARM64)
Antworten