temporäres Infofenster
Moderator: Moderatoren
temporäres Infofenster
Hallo Leute,
es gibt Inputbox,die MSGBox. Gibt es auch eine Infobox? Ich brauche ein Box wo nur eine Meldung drin steht ohne Button.
So,wie zum zb. "Wird gespeichert...." und wenn der Vorgang beendet ist,verschwindet diese.
Gruß Hansi
Moderation,4: habe mir erlaubt Deinen Betreff zu ändern - "Dialogfenster" beinhaltet eine Interaktion mit dem Benutzer, und das möchtest Du ja nicht
es gibt Inputbox,die MSGBox. Gibt es auch eine Infobox? Ich brauche ein Box wo nur eine Meldung drin steht ohne Button.
So,wie zum zb. "Wird gespeichert...." und wenn der Vorgang beendet ist,verschwindet diese.
Gruß Hansi
Moderation,4: habe mir erlaubt Deinen Betreff zu ändern - "Dialogfenster" beinhaltet eine Interaktion mit dem Benutzer, und das möchtest Du ja nicht
- komma4
- ********
- Beiträge: 5332
- Registriert: Mi, 03.05.2006 23:29
- Wohnort: Chon Buri Thailand Asia
- Kontaktdaten:
Re: temporäres Infofenster
Nein - ein solches Fenster gibt es IMHO bei OOo nicht.
Nehme statt dessen eine (Suchbegriff:) ProgressBar
Nehme statt dessen eine (Suchbegriff:) ProgressBar
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: temporäres Infofenster
Mahlzeit Hansi,
als fertige Lösung gibts so etwas nicht. Ich denk mir aber das man da vielleicht was machen kann. Schau mal hier, da hatte DPunch etwas ähnliches mal gemacht. Den Code versteh ich noch nicht so recht, aber da läuft eine voreingestellte Zeit (10 sek.) ab, und danach wird dann der eingeblendete Dialog geschlossen.
Gegenfrage.
Wofür brauchst Du das?
Vielleicht kann man da ja auch was anderes machen.
Gruß
balu
als fertige Lösung gibts so etwas nicht. Ich denk mir aber das man da vielleicht was machen kann. Schau mal hier, da hatte DPunch etwas ähnliches mal gemacht. Den Code versteh ich noch nicht so recht, aber da läuft eine voreingestellte Zeit (10 sek.) ab, und danach wird dann der eingeblendete Dialog geschlossen.
Gegenfrage.
Wofür brauchst Du das?
Vielleicht kann man da ja auch was anderes machen.
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
wehr rächtschraipfähler findet khan si behalden

Re: temporäres Infofenster
Hallo komma4 und balu,
also das mit "progressbar" gefällt mit gut,ich hab da auch schon ein paar Beispiele gesehen,aber ich versteh den Code nicht.
Bei meiner Windberechnung,(balu kennt diese ja schon) lagere ich die Daten aus.Sprich ich kann diese in einer extra Datei speichern.Nur, da das jetzt schon ca. 20000 Datenpunkte sind,dauert das etwas länger. und man sieht nicht,ob überhaupt gespeichert wird,oder wie lange es noch dauert.
Gruß Hansi
also das mit "progressbar" gefällt mit gut,ich hab da auch schon ein paar Beispiele gesehen,aber ich versteh den Code nicht.
Bei meiner Windberechnung,(balu kennt diese ja schon) lagere ich die Daten aus.Sprich ich kann diese in einer extra Datei speichern.Nur, da das jetzt schon ca. 20000 Datenpunkte sind,dauert das etwas länger. und man sieht nicht,ob überhaupt gespeichert wird,oder wie lange es noch dauert.
Gruß Hansi
- komma4
- ********
- Beiträge: 5332
- Registriert: Mi, 03.05.2006 23:29
- Wohnort: Chon Buri Thailand Asia
- Kontaktdaten:
Re: temporäres Infofenster
Den Zeitraum wirst Du auch kaum vorab einschätzen können ... aber Du hast die Anzahl Datensätze, vllt. kannst Du da was konstruieren.Hansi hat geschrieben:oder wie lange es noch dauert.
Aus meiner Mottenkiste:
Code: Alles auswählen
Sub de48719
' 2011-06-04
' Beispiel Progressbar
oCurFrame = StarDesktop.CurrentFrame
oPB = _
oCurFrame.createStatusIndicator()
maxWert = 100
oPB.Start( _
"ich mache gerade was..." , maxWert )
wait 1000
for i = 1 to 10
oPB.Value = 10 * i
wait 1000
Next i
oPB.end()
End Sub
Kommst Du damit 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: temporäres Infofenster
Hallo Leute
Begründung folgt gleich.
Wenn Du jetzt meinst das Du z.B. durch eine Progressbar dir anzeigen lassen kannst wie weit der Speicherungsvorgang ist, dann kann ich nur aus eigener Erfahrung eins dazu sagen:
"Vergess es! Null Chance!"
Begründung.
Denn, so habe ich es zumnidest hier beobachten können, wenn OOo eine sehr große Calc-Datei speichert, dann schlägt die Prozessorlast (WinXP) bis zu 100% hoch und das so lange bis das die Datei fertig geschrieben ist. Und während diesem Vorgang ist OOo nicht dazu bereit irgendeinen anderen Befehl zu befolgen, geschweige denn eine Makroschleife abzuarbeiten. OOo kennt während dieser Zeit nur einen einzigen Befehl: "Speichern!", und diesen befolgt OOo Stur und Star und lässt sich durch nichts davon abbringen noch was anderes zu machen.
Ich stand auch schon vor diesem "Problem" und konnte nichts finden wie man eine Simultan-Aktion ausführt, Speichern und Makroausführung. Das gleiche Prozedere ist auch beim Öffnen/Laden einer Datei. Es kann nur das eine gemacht werden, jedoch aber nicht auch noch eine Makroschleife ausführen.
Selbst ein Versuch mit einer Animierten Grafik im Tabellenblatt hat nichts gebracht. Während des Speicherns friert dann auch diese Grafik ein.
Es wäre natürlich echt super-spitzen-klasse wenn es doch diese Möglichkeit gibt.
@Winfried
Wo soll mann denn in deinem Beispielcode den Speicherbefehl einbauen? Was natürlich nicht geht.
Vor der Schleife, oder in der Schleife?
Egal wo, es funktioniert nicht! Denn ein Makro wird ja Zeilenweise abgearbeitet (stimmt doch, oder?), und von daher spielt es fast keine Rolle wo der speichern Befehl steht. Vor der Schleife bringt nichts, da ja OOo dann nur damit beschäftigt ist zu speichern. Und wenn es dann damit fertig ist, kommt die Schleife dran. Jedoch ist dann die Schleife aber auch schon nutzlos, da ja alles erledigt ist.
Und wenn man den Befehl zum speichern in die Schleife einbaut, hagelt es Fehlermeldung da ja schon die Datei von OOo als "Blockiert" markiert ist.
Hab mich ja jetzt wohl nicht zu sehr als Besserwisser angehört, oder Winfried?
Denn wie gesagt, ich hatte mich selber schon mit diesem "Problem" befasst und keine Lösung finden können. Und diese Erfahrungswerte hab ich jetzt nur mal wieder gegeben.
Ich weiß jedoch nicht wie sich das verhalten könnte, wenn man anstatt eines Basic-Codes etwas vielleicht mit Java Basteln würde. Aber davon ha ich erst recht keine Ahnung.
Sorry Hansi das ich keine bessere Nachrichten für dich habe.
Gruß
balu
No no! Geht doch nicht!komma4 hat geschrieben: aber Du hast die Anzahl Datensätze, vllt. kannst Du da was konstruieren.
Begründung folgt gleich.
Ach darum gehts. Nun, da hab ich schlechte Nachrichten für dich.Hansi hat geschrieben: und man sieht nicht,ob überhaupt gespeichert wird,oder wie lange es noch dauert.
Wenn Du jetzt meinst das Du z.B. durch eine Progressbar dir anzeigen lassen kannst wie weit der Speicherungsvorgang ist, dann kann ich nur aus eigener Erfahrung eins dazu sagen:
"Vergess es! Null Chance!"
Begründung.
Denn, so habe ich es zumnidest hier beobachten können, wenn OOo eine sehr große Calc-Datei speichert, dann schlägt die Prozessorlast (WinXP) bis zu 100% hoch und das so lange bis das die Datei fertig geschrieben ist. Und während diesem Vorgang ist OOo nicht dazu bereit irgendeinen anderen Befehl zu befolgen, geschweige denn eine Makroschleife abzuarbeiten. OOo kennt während dieser Zeit nur einen einzigen Befehl: "Speichern!", und diesen befolgt OOo Stur und Star und lässt sich durch nichts davon abbringen noch was anderes zu machen.
Ich stand auch schon vor diesem "Problem" und konnte nichts finden wie man eine Simultan-Aktion ausführt, Speichern und Makroausführung. Das gleiche Prozedere ist auch beim Öffnen/Laden einer Datei. Es kann nur das eine gemacht werden, jedoch aber nicht auch noch eine Makroschleife ausführen.
Selbst ein Versuch mit einer Animierten Grafik im Tabellenblatt hat nichts gebracht. Während des Speicherns friert dann auch diese Grafik ein.
Es wäre natürlich echt super-spitzen-klasse wenn es doch diese Möglichkeit gibt.
@Winfried
Wo soll mann denn in deinem Beispielcode den Speicherbefehl einbauen? Was natürlich nicht geht.
Vor der Schleife, oder in der Schleife?
Egal wo, es funktioniert nicht! Denn ein Makro wird ja Zeilenweise abgearbeitet (stimmt doch, oder?), und von daher spielt es fast keine Rolle wo der speichern Befehl steht. Vor der Schleife bringt nichts, da ja OOo dann nur damit beschäftigt ist zu speichern. Und wenn es dann damit fertig ist, kommt die Schleife dran. Jedoch ist dann die Schleife aber auch schon nutzlos, da ja alles erledigt ist.
Und wenn man den Befehl zum speichern in die Schleife einbaut, hagelt es Fehlermeldung da ja schon die Datei von OOo als "Blockiert" markiert ist.
Hab mich ja jetzt wohl nicht zu sehr als Besserwisser angehört, oder Winfried?
Denn wie gesagt, ich hatte mich selber schon mit diesem "Problem" befasst und keine Lösung finden können. Und diese Erfahrungswerte hab ich jetzt nur mal wieder gegeben.
Ich weiß jedoch nicht wie sich das verhalten könnte, wenn man anstatt eines Basic-Codes etwas vielleicht mit Java Basteln würde. Aber davon ha ich erst recht keine Ahnung.
Sorry Hansi das ich keine bessere Nachrichten für dich habe.
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
wehr rächtschraipfähler findet khan si behalden

- komma4
- ********
- Beiträge: 5332
- Registriert: Mi, 03.05.2006 23:29
- Wohnort: Chon Buri Thailand Asia
- Kontaktdaten:
Re: temporäres Infofenster
Nö, absolut nicht. Du hast ja recht.balu hat geschrieben:Hab mich ja jetzt wohl nicht zu sehr als Besserwisser angehört, oder Winfried?
Also geht nur:
a) Dialog (selbst bauen, Bibliothek: Standard, Name: "BitteWarten") anzeigen
b) Speichern
c) Dialog schliessen
Code: Alles auswählen
GlobalScope.BasicLibraries.LoadLibrary( "Tools" )
oDialog = LoadDialog( "Standard", "BitteWarten" )
oDialog.visible = TRUE
' hier die SPEICHERN-Routine
oDialog.endExecute()
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)
- komma4
- ********
- Beiträge: 5332
- Registriert: Mi, 03.05.2006 23:29
- Wohnort: Chon Buri Thailand Asia
- Kontaktdaten:
Re: temporäres Infofenster
Nö, absolut nicht. Du hast ja recht.balu hat geschrieben:Hab mich ja jetzt wohl nicht zu sehr als Besserwisser angehört, oder Winfried?
Also geht nur:
a) Dialog (selbst bauen, Bibliothek: Standard, Name: "BitteWarten") anzeigen
b) Speichern
c) Dialog schliessen
Code: Alles auswählen
GlobalScope.BasicLibraries.LoadLibrary( "Tools" )
oDialog = LoadDialog( "Standard", "BitteWarten" )
oDialog.visible = TRUE
' hier die SPEICHERN-Routine
oDialog.endExecute()
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: temporäres Infofenster
Klar gibt es sowas, z.B. hat mottcxo (http://www.calc-info.de/makros.htm#mottco) einen entsprechenden Dialog:es gibt Inputbox,die MSGBox. Gibt es auch eine Infobox? Ich brauche ein Box wo nur eine Meldung drin steht ohne Button.
So,wie zum zb. "Wird gespeichert...." und wenn der Vorgang beendet ist,verschwindet diese.
Der Orginal-Code aus mottco ist:
Code: Alles auswählen
Sub erzeuge_warten()
warten_model = CreateUnoService("com.sun.star.awt.UnoControlDialogModel")
warten_model.setPropertyValue("Width", 150) '343
warten_model.setPropertyValue("Height", 20)
warten_model.SetPropertyValue("Title","Bitte etwas Geduld")
oMod_warten = warten_model.createInstance("com.sun.star.awt.UnoControlFixedTextModel")
With oMod_warten
.setPropertyValue("Name","warten1")
.setPropertyValue("PositionX",5) '192
.setPropertyValue("PositionY",5)
.setPropertyValue("Width",140)
.setPropertyValue("Height",13)
.setPropertyValue("Label","Formatierung wird gelesen ...")
'.setPropertyValue("Align",1)
'nicht verfügbar in OOo 1.x
'.setPropertyValue("VerticalAlign",1)
End With
warten_model.insertByName("warten1", oMod_warten)
warten_dialog = CreateUnoService("com.sun.star.awt.UnoControlDialog")
warten_dialog.setModel(warten_model)
oWin2 = CreateUnoService("com.sun.star.awt.Toolkit")
warten_dialog.createPeer(oWin2, null)
warten_dialog.setVisible(True)
End Sub
Gruß
Stephan