Musterdatei " Fortschrittsbalken "
Moderator: Moderatoren
Musterdatei " Fortschrittsbalken "
Hallo,
ich versuche nun schon seit geraumer
Zeit einen Forschrittsbalken hinzubekommen.
Leider umsonst.
Stellt jemand, der mehr Kenntnisse hat als ich,
eine Musterdatei in dieses Forum ?
Wäre nett.
mfg
mike
ich versuche nun schon seit geraumer
Zeit einen Forschrittsbalken hinzubekommen.
Leider umsonst.
Stellt jemand, der mehr Kenntnisse hat als ich,
eine Musterdatei in dieses Forum ?
Wäre nett.
mfg
mike
- komma4
- ********
- Beiträge: 5332
- Registriert: Mi, 03.05.2006 23:29
- Wohnort: Chon Buri Thailand Asia
- Kontaktdaten:
Re: Musterdatei " Fortschrittsbalken "
Ein Muster findest Du in der Bibliothek FormWIzard Deiner OOo Installation.
Wie sehen Deine erfolglosen Versuche aus?
Zeige uns Code, wo's klemmt... dann schau'n 'mer ma'
Wie sehen Deine erfolglosen Versuche aus?
Zeige uns Code, wo's klemmt... dann schau'n 'mer ma'
Cheers
Winfried
aktuell: LO 5.3.5.2 30m0(Build:2) SUSE rpm, unter Linux openSuSE Leap 42.3 x86_64/KDE5
DateTime2 Einfügen von Datum/Zeit/Zeitstempel (als OOo Extension)
Winfried
aktuell: LO 5.3.5.2 30m0(Build:2) SUSE rpm, unter Linux openSuSE Leap 42.3 x86_64/KDE5
DateTime2 Einfügen von Datum/Zeit/Zeitstempel (als OOo Extension)
Re: Musterdatei " Fortschrittsbalken "
Software hat keinen Verstand - benutze deinen eigenen...!
Win 7 SP1/ LibreOffice 3.4.2 OOO340m1 (Build:203) / Firefox 15.0.1 / Notebook ASUS K70IO 64 Bit-Betriebssytem
Win 7 SP1/ LibreOffice 3.4.2 OOO340m1 (Build:203) / Firefox 15.0.1 / Notebook ASUS K70IO 64 Bit-Betriebssytem
Re: Musterdatei " Fortschrittsbalken "
Hallo Winfried,
Hallo Jürgen,
arbeite mit OO Writer 2.0.2 unter Linux.
auf C:/ ...
Ist wohl doch zu kompliziert?
Ich dachte an etwas einfaches. Ich öffne ein Writer Dokument. Beim öffnen soll sich
ein Dialogfenster autom öffnen, es soll ein Fortschrittsbalken eingeblendet werden und
wenn möglich soll sich ein Text einblenden ( Bitte etwas Geduld ... oder so. ).
Trotzdem Danke für Eure Hilfe.
mfg
mike
Hallo Jürgen,
arbeite mit OO Writer 2.0.2 unter Linux.
Bringt leider eine Fehlermeldung bei BasicLibraries.LoadLibrary("WebWizard")Ein Muster findest Du in der Bibliothek FormWIzard Deiner OOo Installation.
Habe ich mir angesehen. Läuft aber nur unter Calc. Pfadangaben beziehen sichSchau Dir doch mal die Extention Color2Rows an.
auf C:/ ...
Ist wohl doch zu kompliziert?
Ich dachte an etwas einfaches. Ich öffne ein Writer Dokument. Beim öffnen soll sich
ein Dialogfenster autom öffnen, es soll ein Fortschrittsbalken eingeblendet werden und
wenn möglich soll sich ein Text einblenden ( Bitte etwas Geduld ... oder so. ).
Trotzdem Danke für Eure Hilfe.
mfg
mike
- komma4
- ********
- Beiträge: 5332
- Registriert: Mi, 03.05.2006 23:29
- Wohnort: Chon Buri Thailand Asia
- Kontaktdaten:
Re: Musterdatei " Fortschrittsbalken "
mike6 hat geschrieben:Bringt leider eine Fehlermeldung bei BasicLibraries.LoadLibrary("WebWizard")
[...]ein Dialogfenster autom öffnen, es soll ein Fortschrittsbalken eingeblendet werden und
wenn möglich soll sich ein Text einblenden ( Bitte etwas Geduld ... oder so. )
Du solltest Dir den Code anschauen, da wird (ganz einfach) eine progressbar verwendet.
Code: Alles auswählen
oProgressbar = ThisComponent.GetCurrentController.GetFrame.CreateStatusIndicator
oProgressbar.Start("Beispiel für mike6", 100 )
oProgressBar.Value = 10
WAIT 2000
oProgressBar.Value = 20
' mach noch etwas
WAIT 2000
oProgressBar.Value = 30
' mach was
WAIT 2000
oProgressBar.Value = 40
' mach weiter
WAIT 2000
oProgressBar.Value = 50
WAIT 2000
' mach was ganz LANGES
' ...
' 10 Sekunden Pause
WAIT 10000
oProgressbar.End
Für die Anzeige eines Textes habe ich das Beispiel
Code: Alles auswählen
' http://www.oooforum.org/forum/viewtopic.phtml?t=36652
' JohnV PostPosted: Wed May 17, 2006 4:27 pmoDoc = thisComponent
t = timer
Blank = StarDesktop.loadComponentFromURL("private:factory/swriter","_blank",0,Array())
Blank.Text.String = "Working ..."
' wait 3000
' ......
REM Work with oDoc
' .......
a = timer - t
Blank.Text.String = "worked: " & a
MsgBox "Elapsed time = " & timer - t
Blank.dispose
Damit kommst Du zurecht?
Cheers
Winfried
aktuell: LO 5.3.5.2 30m0(Build:2) SUSE rpm, unter Linux openSuSE Leap 42.3 x86_64/KDE5
DateTime2 Einfügen von Datum/Zeit/Zeitstempel (als OOo Extension)
Winfried
aktuell: LO 5.3.5.2 30m0(Build:2) SUSE rpm, unter Linux openSuSE Leap 42.3 x86_64/KDE5
DateTime2 Einfügen von Datum/Zeit/Zeitstempel (als OOo Extension)
Re: Musterdatei " Fortschrittsbalken "
Hallo Winfried,
erst mal vielen Dank für Deine Hilfe.
Ich hab's wirklich versucht hinzubekommen.
Ich kann:
Fliesen legen
Mauern
Kochen
...
...
..... aber leiderr nicht programmieren.
Ohne eine Musterdatei ,in der ich was ausprobieren kann,
komme ich leider nicht zurecht.
mfg
mike
erst mal vielen Dank für Deine Hilfe.
Ich hab's wirklich versucht hinzubekommen.
Ich kann:
Fliesen legen
Mauern
Kochen
...
...
..... aber leiderr nicht programmieren.
Ohne eine Musterdatei ,in der ich was ausprobieren kann,
komme ich leider nicht zurecht.
mfg
mike
- komma4
- ********
- Beiträge: 5332
- Registriert: Mi, 03.05.2006 23:29
- Wohnort: Chon Buri Thailand Asia
- Kontaktdaten:
Re: Musterdatei " Fortschrittsbalken "
... und diese Beispiele finden sich doch, auf Deiner Festplatte, hier im Forum, sonstwo im Netz, in meinen Basic-Beispielen, ....mike6 hat geschrieben:Ohne eine Musterdatei ,in der ich was ausprobieren kann,
komme ich leider nicht zurecht.
Was ist an den beiden oben geposteten Codestücken nicht verständlich?
Cheers
Winfried
aktuell: LO 5.3.5.2 30m0(Build:2) SUSE rpm, unter Linux openSuSE Leap 42.3 x86_64/KDE5
DateTime2 Einfügen von Datum/Zeit/Zeitstempel (als OOo Extension)
Winfried
aktuell: LO 5.3.5.2 30m0(Build:2) SUSE rpm, unter Linux openSuSE Leap 42.3 x86_64/KDE5
DateTime2 Einfügen von Datum/Zeit/Zeitstempel (als OOo Extension)
Re: Musterdatei " Fortschrittsbalken "
Ist ja nicht gerade das jüngste Thema, aber habe da mal eine Frage:
Für was steht "Beispiel für mike6" eigentlich? Mit was muss ich es ersetzten? ("Fehler: Eigenschaft oder Methode nicht gefunden.")
Aufgabe:
Beim Laden meiner Datenbank wird diese zuerst minimiert.
- Dann eine Sicherungskopie angelegt (makeDayCopy > Danke "komma4")
- Dann eine Statistik berechnet
- Dann das Startformular geladen / mit Übersicht der Statistik
- Gesamtzeit ca. 10-20 Sekunden
Diese Gesamtdauer möchte ich mit einem Wartedialog "dokumentieren"
Der Dialog funktioniert (Sichtbarkeit per: oDialog.visible() und nicht oDialog.execute() damit der Programmablauf nicht gestoppt wird)
Dafür benötige ich aber noch etwas Hilfe, daher meine obige 1.Frage (in diesem Beitrag)
Kann ich die Progressbar eigentlich nutzen, wenn ich die Makros nicht aus dem Dialog heraus aufrufe?
Code: Alles auswählen
Progressbar.Start("Beispiel für mike6", 100 )
Aufgabe:
Beim Laden meiner Datenbank wird diese zuerst minimiert.
- Dann eine Sicherungskopie angelegt (makeDayCopy > Danke "komma4")
- Dann eine Statistik berechnet
- Dann das Startformular geladen / mit Übersicht der Statistik
- Gesamtzeit ca. 10-20 Sekunden
Diese Gesamtdauer möchte ich mit einem Wartedialog "dokumentieren"
Der Dialog funktioniert (Sichtbarkeit per: oDialog.visible() und nicht oDialog.execute() damit der Programmablauf nicht gestoppt wird)
Dafür benötige ich aber noch etwas Hilfe, daher meine obige 1.Frage (in diesem Beitrag)
Kann ich die Progressbar eigentlich nutzen, wenn ich die Makros nicht aus dem Dialog heraus aufrufe?
Gruß
Stephan
LibreOffice 5.3 - MAC OS/X 10.11
Stephan
LibreOffice 5.3 - MAC OS/X 10.11
- komma4
- ********
- Beiträge: 5332
- Registriert: Mi, 03.05.2006 23:29
- Wohnort: Chon Buri Thailand Asia
- Kontaktdaten:
Re: Musterdatei " Fortschrittsbalken "
Das Beispiel vom 2008-01-30 läuft hier unter 3.0.1 immer noch...geimist hat geschrieben:Beim Laden meiner Datenbank wird diese zuerst minimiert.
Der Code setzt die Statuszeile (bei einer geöffneten Base-, Writer- oder Calc-Datei), mit dem Text "Beispiel für mike6" - er ist nicht für einen Dialog gedacht!
Und: der Code funktioniert auch nicht bei einer minimierten Datei (die ist nicht sichtbar!)
Du hast also einen Dialog gebastelt (in der IDE), mit einem Fortschrittsbalken-Objekt?
Cheers
Winfried
aktuell: LO 5.3.5.2 30m0(Build:2) SUSE rpm, unter Linux openSuSE Leap 42.3 x86_64/KDE5
DateTime2 Einfügen von Datum/Zeit/Zeitstempel (als OOo Extension)
Winfried
aktuell: LO 5.3.5.2 30m0(Build:2) SUSE rpm, unter Linux openSuSE Leap 42.3 x86_64/KDE5
DateTime2 Einfügen von Datum/Zeit/Zeitstempel (als OOo Extension)
Re: Musterdatei " Fortschrittsbalken "
Ach so.
Ich dachte, dass ich den Code auch für einen Fortschrittsbalken in einem Dialog verwenden kann. Ich habe schon einige Beiträge hier im Forum gelesen, aber dahintergeblick habe ich noch nicht wirklich.
Ja, genau so. Der Dialog soll quasi lediglich den Fortschritt der Makros dokumentieren. Und weil ich oben den Beispielcode gefunden habe, wollte ich mich damit erst einmal heran tasten - nun, falscher Code. Und ich stehe da, wie ein Frosch in der Wüste
Gibt es einen kleinen Tipp für mich (ist überhaupt das erste mal, dass ich was mit Dialogen mache ...)
P.S. @ Komma4:
makeDayCopy ist noch auf deiner Seite so programmiert, dass es nicht aus Base heraus funktioniert. Aber ab OOo 3.1 kann man ja Makros direkt in Base verwenden - funktioniert prima / gerade als Datensicherung in Base.
Ich dachte, dass ich den Code auch für einen Fortschrittsbalken in einem Dialog verwenden kann. Ich habe schon einige Beiträge hier im Forum gelesen, aber dahintergeblick habe ich noch nicht wirklich.
Code: Alles auswählen
Du hast also einen Dialog gebastelt (in der IDE), mit einem Fortschrittsbalken-Objekt?

Gibt es einen kleinen Tipp für mich (ist überhaupt das erste mal, dass ich was mit Dialogen mache ...)
P.S. @ Komma4:
makeDayCopy ist noch auf deiner Seite so programmiert, dass es nicht aus Base heraus funktioniert. Aber ab OOo 3.1 kann man ja Makros direkt in Base verwenden - funktioniert prima / gerade als Datensicherung in Base.
Gruß
Stephan
LibreOffice 5.3 - MAC OS/X 10.11
Stephan
LibreOffice 5.3 - MAC OS/X 10.11
- komma4
- ********
- Beiträge: 5332
- Registriert: Mi, 03.05.2006 23:29
- Wohnort: Chon Buri Thailand Asia
- Kontaktdaten:
Re: Musterdatei " Fortschrittsbalken "
Stephan,
habe mal ein kleines Beispiel konzipiert und hier angehängt.
Edit: Einfach das der Datei angehängte Makro ausführen.
Die Wartezeit (bis Ende) wird aus Zelle F4 der Tabelle1 genommen, eingestellt sind hier 15 Sekunden.
Wenn ich Zeit finde, dann stelle ich das auch noch auf die Website ... und aktualisiere die Beschreibung zu makeDayCopy (Danke für den Hinweis!).
Kommst Du damit zurecht?
habe mal ein kleines Beispiel konzipiert und hier angehängt.
Edit: Einfach das der Datei angehängte Makro ausführen.
Die Wartezeit (bis Ende) wird aus Zelle F4 der Tabelle1 genommen, eingestellt sind hier 15 Sekunden.
Wenn ich Zeit finde, dann stelle ich das auch noch auf die Website ... und aktualisiere die Beschreibung zu makeDayCopy (Danke für den Hinweis!).
Kommst Du damit zurecht?
- Dateianhänge
-
- calc_DialogFortschrittsbalken.ods
- Beispiel Calc mit Dialog, Fortschrittsbalken-Demo
- (14.88 KiB) 225-mal heruntergeladen
Cheers
Winfried
aktuell: LO 5.3.5.2 30m0(Build:2) SUSE rpm, unter Linux openSuSE Leap 42.3 x86_64/KDE5
DateTime2 Einfügen von Datum/Zeit/Zeitstempel (als OOo Extension)
Winfried
aktuell: LO 5.3.5.2 30m0(Build:2) SUSE rpm, unter Linux openSuSE Leap 42.3 x86_64/KDE5
DateTime2 Einfügen von Datum/Zeit/Zeitstempel (als OOo Extension)
Re: Musterdatei " Fortschrittsbalken "
Vielen Dank schon mal.
Jetzt kommen die Fragen . . .
So funktioniert es jetzt beim mir (zumindest als Attrappe - denn es ist ja so noch nicht wirklich eine Visualisierung des Makrofortschritts)
- Warum lässt du die Bibliothek "Tools" laden - es funktioniert ja auch ohne?
- Wie kann ich jetzt mit dem Fortschrittsbalken die Arbeitszeit der anderen Makros visualisieren (ich arbeite ja keine Zellen in Calc ab, sondern erstelle z.B. mit makeDayCopy eine Sicherungskopie und noch ein paar andere Sachen?
Jetzt kommen die Fragen . . .
So funktioniert es jetzt beim mir (zumindest als Attrappe - denn es ist ja so noch nicht wirklich eine Visualisierung des Makrofortschritts)
Code: Alles auswählen
Sub de15899Bereinigt
' Tools
With GlobalScope.BasicLibraries
If ( Not .isLibraryLoaded( "Tools" ) ) Then
.LoadLibrary( "Tools" )
End If
End With
GlobalScope.DialogLibraries.LoadLibrary ("Globalmakro_Gebiete")
oBib = DialogLibraries.getByName("Globalmakro_Gebiete")
oDgl = oBib.getByName("DLG_START")
oDialog = CreateUnoDialog(oDgl)
' Fortschrittsbalken
oBalken = oDialog.getControl( "ProgressBarFull" )
iWartezeit = 1000
With oBalken.Model
.ProgressValueMin = 0
.ProgressValueMax = iWartezeit
End With
' Dialog anzeigen
oDialog.setVisible( TRUE )
' Schleife
For i = 0 To iWartezeit Step 1
oBalken.Model.ProgressValue = i
Wait 1
Next i
wait 2000
oDialog.setVisible( FALSE )
End Sub
- Wie kann ich jetzt mit dem Fortschrittsbalken die Arbeitszeit der anderen Makros visualisieren (ich arbeite ja keine Zellen in Calc ab, sondern erstelle z.B. mit makeDayCopy eine Sicherungskopie und noch ein paar andere Sachen?
Gruß
Stephan
LibreOffice 5.3 - MAC OS/X 10.11
Stephan
LibreOffice 5.3 - MAC OS/X 10.11
- komma4
- ********
- Beiträge: 5332
- Registriert: Mi, 03.05.2006 23:29
- Wohnort: Chon Buri Thailand Asia
- Kontaktdaten:
Re: Musterdatei " Fortschrittsbalken "
Ich nutze diegeimist hat geschrieben:- Warum lässt du die Bibliothek "Tools" laden - es funktioniert ja auch ohne?
Code: Alles auswählen
Function LoadDialog(Libname as String, DialogName as String, Optional oLibContainer)
Wenn Du keinen Zähler hast, dann musst Du selbst einen Maximalwert festlegen und die Schritt-Aktualisierung schätzen.
Cheers
Winfried
aktuell: LO 5.3.5.2 30m0(Build:2) SUSE rpm, unter Linux openSuSE Leap 42.3 x86_64/KDE5
DateTime2 Einfügen von Datum/Zeit/Zeitstempel (als OOo Extension)
Winfried
aktuell: LO 5.3.5.2 30m0(Build:2) SUSE rpm, unter Linux openSuSE Leap 42.3 x86_64/KDE5
DateTime2 Einfügen von Datum/Zeit/Zeitstempel (als OOo Extension)
Re: Musterdatei " Fortschrittsbalken "
Ok.
Jetzt ist es ja so: Wenn ich den Dialog vor den 1.Makro starten lasse, dann wartet das Programm ja so lange, bis der Dialog fertig ist. Es müsste ja irgend wie parallel laufen. Ich vermute mal, dass ich die anderen Makros über den Code des Dialogs starten müsste. Wahrscheinlich in der Schleife. Ist das richtig? Wenn ja, dann könnte ich ja zumindest den Fortschrittsbalken in 3 Teile teilen (ich meine 3 Schritte) - für jedes Makro einen. Nachdem jeweils ein Makro durchgeführt wurde, geht der Balken einen Schritt weiter.
Kannst du mir einen Tipp geben, wie ich bei jedem Schleifendurchlauf ein anderes Makro aufrufen kann?
Jetzt ist es ja so: Wenn ich den Dialog vor den 1.Makro starten lasse, dann wartet das Programm ja so lange, bis der Dialog fertig ist. Es müsste ja irgend wie parallel laufen. Ich vermute mal, dass ich die anderen Makros über den Code des Dialogs starten müsste. Wahrscheinlich in der Schleife. Ist das richtig? Wenn ja, dann könnte ich ja zumindest den Fortschrittsbalken in 3 Teile teilen (ich meine 3 Schritte) - für jedes Makro einen. Nachdem jeweils ein Makro durchgeführt wurde, geht der Balken einen Schritt weiter.
Kannst du mir einen Tipp geben, wie ich bei jedem Schleifendurchlauf ein anderes Makro aufrufen kann?
Gruß
Stephan
LibreOffice 5.3 - MAC OS/X 10.11
Stephan
LibreOffice 5.3 - MAC OS/X 10.11
- komma4
- ********
- Beiträge: 5332
- Registriert: Mi, 03.05.2006 23:29
- Wohnort: Chon Buri Thailand Asia
- Kontaktdaten:
Re: Musterdatei " Fortschrittsbalken "
irgendwie so:
Wenn Du die Variable oBalken öffentlich (PUBLIC oder GLOBAL - je nach "Standort"*** der U.-Routinen) deklarierst, dann kann die Zuweisung der Werte auch innerhalb der Unterroutinen erfolgen.
Soweit klar?
*** Zur Sichtbarkeit der Variablen: s. F1 Onlinehilfe
Code: Alles auswählen
' für "hundert-Prozent" Anzeige
With oBalken.Model
.ProgressValueMin = 0
.ProgressValueMax = 100
End With
'
' andere Anweisungen (anzeigen)
'
oBalken.Model.ProgressValue = 5
Call meine_unterroutine1
oBalken.Model.ProgressValue = 30
Call meine_unterroutine2
oBalken.Model.ProgressValue = 60
Call meine_unterroutine3
Soweit klar?
*** Zur Sichtbarkeit der Variablen: s. F1 Onlinehilfe
Cheers
Winfried
aktuell: LO 5.3.5.2 30m0(Build:2) SUSE rpm, unter Linux openSuSE Leap 42.3 x86_64/KDE5
DateTime2 Einfügen von Datum/Zeit/Zeitstempel (als OOo Extension)
Winfried
aktuell: LO 5.3.5.2 30m0(Build:2) SUSE rpm, unter Linux openSuSE Leap 42.3 x86_64/KDE5
DateTime2 Einfügen von Datum/Zeit/Zeitstempel (als OOo Extension)