drpagel.log.ag  
DrPagel-Biografie...


.... schreibe ich, wenn ich älter bin.
Wem das zu lange dauert, kann sich inzwischen schon die Zeit mit dem Besuch meiner anderen Homepageseiten vertreiben:
Jedoch hat mich der Datencrash im Juli 2005 soweit zurückgeworfen, dass ich danach keine meiner Webseiten mehr mit NOF aktualisiert und immer noch nicht alle defekten Dateien auf Wiederherstellung geprüft habe. Bei der Festplattenanalyse bei Vobis wurde in 2005 kein Virus gefunden, jedoch ein Jahr später hat mir die aktualisierte Antiviren-Software gezeigt, dass auch auf gewerbliche Virenscans leider kein Verlass ist.

Hier meine unvollständige Lieblings-Webseiten-Liste (z.B.: backlinks für PageRank):
  • Ranking-Hits
  • der-reimer.log.ag/
  • diewebloghilfe.log.ag
  • [favicon]drpagel.log.ag
  • frausoundso.log.ag !
  • koerberbox.log.ag
  • tagesgeschehen.jubiiblog.de/
  • fraeuleinvomamt.log.ag/
  • cleverle2003.log.ag/
  • Ehemalige Weblogs sind in meiner Gesamtliste aufgeführt.
    Zur Kenntnisnahme: Alle mit (dp) gekennzeichneten lyrischen Ergüsse sind durch Copyright © by Dr.Detlef Pagel urheberrechtlich geschützt. Bis auf Widerruf ist die auszugsweise Wiedergabe mit Quellenangabe nur zum privaten nichtkommerziellen Gebrauch gestattet.

    Hinweise zu Weblog-Code-Fehlern>>

    Forum zu Weblog (siehe auch rechte Leiste); Homepage(freenet-Administrator)

    NOTFALL-HINWEISEfreenet-service-info (siehe auch mein Eintrag vom 9.6.2005)

    Hinweise zu Internet-Störungen allgemein >>



    Gebrauchsanleitung: es wird (zur Zeit) auf dieser Site immer nur der Weblog-Inhalt der letzten 5 Beiträge angezeigt. Zum Suchen anderer Einträge können
  • die Inhaltsverzeichnisse (webtropia-Weiterleitung zum Loomes-Server, Loomes-Server) oder
  • alternativ zum Freenet-Kalendariums am rechten Rand dieser Site ein eigener Kalender 2004, 2005 durch Anklicken der Wunschtage oder
  • ein internes Suche-Formular:google-Suche oder
  • die Index-Seite für mein Tagebuch-ZentralArchiv
  • For translation of my websites click here please
  • chines.Schriftzeichen zhong für innen, mitten, zentral (zhōng=#20013)
  • Wetter in Wetzlar
    benutzt werden.

    Der erste Tagebucheintrag fand am 16.Mai 2004 statt, also vor gut vier Jahren. Seitdem wurden
    mehr als 2003 [drpagel-favicon] Beiträge
    zu verschiedenen Themen verfasst. Als kleines Dankeschön für das zunehmende Leserinteresse hier seit Mai2005 meine Bilder des Monats:


    [jpgBild: Löwenzahnblüte vom 18.5.2005 © by Dr.Detlef Pagel, Wetzlar]
    Mai 2005
    [jpgBild: Gelbe Irisblüte (in Krofdorf) am 02.5.2005 © by Dr.Detlef Pagel, Wetzlar]
    Juni 2005
    [jpgBild: Rosenblüte vom 2.7.2005 © by Dr.Detlef Pagel, Wetzlar]
    Juli 2005
    [jpgBild: Immergrünblüte vom _.12.2006 © by Dr.Detlef Pagel, Wetzlar]
    Dezember 2006
    [gifBild: Gelbblühender Winterjasmin am 03.11.2007 © by Dr.Detlef Pagel, Wetzlar]
    November 2007
    [jpgBild: Blühender Märzenbecher am 17.02.2008 © by Dr.Detlef Pagel, Wetzlar]
    Februar 2008
    [gifBild: Pflaumenblüte vom 01.04.2008 © by Dr.Detlef Pagel, Wetzlar]
    April 2008
    [gifBild: Alantblüte vom 14.07.2008 © by Dr.Detlef Pagel, Wetzlar]
    Juli 2008
    [gifBild: Knoblauchlilie vom 06.09.2008 © by Dr.Detlef Pagel, Wetzlar]
    September 2008

    System&Browser&JavaScript-Abfrage, Browser&Player-Abfrage
    seit 20.8.2008, 18.50Uhr: RecentCounter:
    deaktiv seit 2.10.2008mehr...
    eMail-gif
    Hier kann man mich per eMail informieren



    Seit Mo., den 04.08.2008, 01 Uhr(MESZ; a.m.) (hierzu Statistik):
    mehr...
    Vorübergehend mussten zu Testzwecken fast alle Scripte im Tagebuch-Vorspann entfernt werden! Die meisten Skripte sind noch nicht reinstalliert worden. Daher dürfte jetzt fast keine eigene Javascript-Anwendung funktionieren.

    Es ist noch viel zu testen. Daher werden voraussichtlich vor heute abend (16.6.2008) keine weiteren Skripte hier in den Weblog-Vorspann zurückinstalliert werden können. Ich bitte um Verständnis.




  • Verfasst am 26.02.2008 22:55:04 Uhr
    Funktionierende Starbasic-Makros für Staroffice7.Product Update1 Teil1
    Soeben habe ich bei dannenhoefer.de gelesen, dass sich mit einer Umstellung von Version 5.2 auf Version 6.0 gravierende Änderungen in den Eigenschaften und Methoden von StarBasic ergeben haben, die nicht ausreichend dokumentiert sind.

    Da habe ich mal eine Abfrage an mein Staroffice mit dem Ziel gestartet, die Version von StarBasic zu ermitteln. Leider soll dieser nichtfunktionierende Code nur die Spracheinstellung herausposaunen (Lit.), ja aber welche Sprache? Die vom Benutzer, dem Browser, gar die "StarOffice Basic language" (Lit.):
    Dim oParameter(0) As New com.sun.star.beans.PropertyValue
    sProvider = "com.sun.star.configuration.ConfigurationProvider"
    oConfigProvider = createUnoService(sProvider)
    OSprachversion=oConfigProvider.Locale.Language
    msgbox OSprachversion

    ... und funktioniert wegen unbekannter Methode nicht.
    Sehr ausführlich sind dort einige nichtflüchtige Fehler dokumentiert.

    Ebensowenig wollte der in dem Handbuch angegebene Code funktionieren. Bereits bei der Abfrage nach dem ersten Datenblatt Doc.Sheets(0) als auch nach dem mit "MySheet" benannten Datenblatt ergaben sich die Fehler wegen unbekannter Eigenschaften und Methoden (vergleiche hierzu Nachtrag2).
    Dim Doc As Object
    Dim Sheet As Object
    Doc = StarDesktop.CurrentComponent
    Sheet = Doc.Sheets(0)
    ...
    oder
    Dim Doc As Object
    Dim Sheet As Object
    Doc = StarDesktop.CurrentComponent
    Sheet = Doc.Sheets.getByName("MySheet")

    Mein englischsprachiger Freund dachte, ich hätte mich vertippt ("MyShit")?

    Immerhin funktionierte die StarBasic-Abfrage nach dem Betriebssystem (Lit.):
    Sub ShowBS
    OS = GetGUIType()
    if OS = 1 then Msgbox "BS ist Windows"
    if OS = 3 then Msgbox "BS ist Mac"
    if OS = 4 then Msgbox "BS ist Unix"
    End Sub

    Halali....

    P.S.: Wird nicht gerade die Version 8 gratis verteilt? Oder ist da noch wieder ein Unterschied zwischen Staroffice8 und Starbasic8?
    Später mehr oder weniger. (dp) (3h)

    Nachtrag_1 am 27.2.2008 um 18.10Uhr:
    Wieder eine funktionierende Prozedur von mir (nach einer "Propierties"-tippfehlerkorrigierten Idee von Lit.):
    Sub ListeEigenschaften
    Dim Obj As Object
    Dim ObjText As String
    Obj = createUnoService("com.sun.star.sheet.SpreadsheetDocument")
    ObjText = Obj.DBG_Properties
    MsgBox ObjText
    End Sub

    Anm.: für "com.sun.star.sheet.SpreadsheetDocument" könne man auch andere bekannte vollständige Dienstebezeichnungen eintragen, die von der Modul-Funktion createUnoService() initialisiert werden.

    Später (s.Beitrag v.03.3.2008) werde ich diese Art von Prozedur etwas modernisieren, da die MsgBox für manche Ausgaben zu klein dimensioniert ist und z.B. bei folgender Prozedur leider nur einen Teil der Information sichtbar macht (Schlüsselerlebnis!):(Lit.):
    Sub ListeMethoden
    Dim Obj As Object
    Dim ObjText As String
    Obj = createUnoService("com.sun.star.sheet.SpreadsheetDocument")
    ObjText = Obj.DBG_methods
    MsgBox ObjText
    End Sub

    Anm.: s.oben (dp) (0,5h)

    Nachtrag_2 am 02.03.2008 um 16Uhr:
    Obiger Code zur Namensausgabe der Datenblätter war unvollständig. In der starbasicfaq.de-Seite steht der Code vollständig.
    Sub ShowDatenblattName
    Dim myDoc As Object
    myDoc = thisComponent
    Anzahl=myDoc.Sheets.count
    For i=0 to Anzahl-1
    mySheet = myDoc.Sheets(i)
    msgbox mysheet.name
    Next i
    End Sub


    Es muss wohl seine Bewandnis damit haben, dass die Bezeichner nicht Doc, sondern oDoc oder myDoc oder anders heissen. Wichtig ist wohl auch thisComponent, falls es sich um das gerade geöffnete Dokument handelt. Die Bezeichnung StarDesktop.CurrentComponentlässt ähnliche Bedeutung vermuten, ist mir aber noch unklar. Vielleicht war diese Bezeichnung bei einer älteren StarBasic-Version gültig?

    Anhand der Datenblatt-Namensausgabe wird ersichtlich, dass das "underline"-Zeichen am Wortanfang ungünstig steht. Hier gibt die Messagebox (msgbox) den vollständigen Namen aus, jedoch in Starofffice unter dem Menüpunkt "Extras / Makros / Makro" im Formularfenster "Makros aus" wird der einleitende Unterstrich weggelassen. In der Basic-Sprache bedeutet der Unterstrich meist ein Zeilen-Fortsetzungszeichen. Die Zeile wird nicht fortgesetzt, wenn das Underline-Zeichen nicht durch ein Leerzeichen vom Codewort getrennt ihm folgt. Wieder etwas dazugelernt.

    Warum nicht gleich so? (dp) (0,5h)

    Nachtrag_3 am 03.03.2008 um 23Uhr:
    Soeben habe ich etwas entdeckt, was gleich nach vorne in meine Basic-Lehr- und Entwicklerseite gehört:
    • Falls man seine Variablen (z.B. mit DIM meinevariable AS MeineEigenschaft) deklariert, darf man es bei Basic irgendwo vor dem ersten Gebrauch, nur ist es ein schlechter Programmstil. Aber eins darf man nicht vergessen: hinter jede Variable gehört bei Basic die Bezeichnung "As MeineEigenschaft" dahinter und nicht nur am Ende einer Variablenliste. In einem solchen Fall "Dim ersteVariable, zweiteVariable, dritteVariable As String" wird nur dritteVariable als String deklariert, die übrigen beiden haben oder leiden unter der Eigenschaft Variant.
    • In Staroffice "Tabellendokument" kennt man, dass in den Tabellen die Realzahlen, wie im Deutschen üblich, mit Komma publiziert werden. In Wirklichkeit stehen sie im Programmspeicher als Realzahlen mit Punkt und die Kommadarstellung ist eine Stringdarstellung.

      Im folgenden Beispiel greife ich auf meine Vorlage des CuTiPot-pH_calc-Datenblatt zurück. Dort steht unter "Phosphoric acid" in der 5.Zeile (Zelle D5) die Zahl 0,06. Wie ein Vergleich mit Zeile 25 (Zelle D25) zeigt, steht sie dort in Exponentialschreibweise als 6,100E-02, also wird die dritte Stelle nach dem Komma nur hier aus optischen Gründen nicht dargestellt, ist aber dem Staroffice-Tabellenkalkulationsprogramm bekannt.

      Sub BeispielZellinhaltAlsKommaString
      Dim oSheet as Object
      rem
      oSheet = ThisComponent.CurrentController.ActiveSheet
      rem
      If (oSheet.getCellRangeByName("D5").getCellByPosition(0,0).String = "0,06") or _
      (oSheet.getCellRangeByName("D5").getCellByPosition(0,0).Value = 0.061) Then
      MsgBox "Zellinhalt = 0,061"
      else
      MsgBox "Zellinhalt =/= 0,061"
      end If
      End Sub


      Würde man hier nach einer Stringzahl mit Punkt oder als Realzahl mit Komma abfragen, würde es keine Übereinstimmung geben. Auch wenn in dem aktuellen Datenblatt die Zahl mit drei Nachkommastellen oder als gerundete Integerzahl dargestellt, kann man sie nicht als zweistellige Nachkommazahl finden.

    (dp) (0,75h)

    Linksammler:
    Fortsetzung folgt

    Kommentar abgeben Kommentare anschauen (0)


    Verfasst am 26.02.2008 14:19:13 Uhr
    Unter Staroffice7 ein (sicheres) Makro mit einer Formulartaste verknüpfen
    Vor Tagen fiel ich in tiefe Depression, weil die freeware CurTiPot von Prof.Gutz in einer Excel-Version bei fehlendem Excel auch unter Works und Staroffice nicht läuft. Nun geht es mir nicht darum, der einen oder anderen Firma ihren Ertrag zu missgönnen. Wer gerne Excel benutzen will, der soll dies ruhig tun.

    Mir ging es um das Simulieren der Titrationskurve einer "Testsubstanz". Nun hat der Herrgott aber vor den Erfolg die Arbeit gestellt. Was Excel kann, sollte auch Staroffice können, glaubt man.

    Der Glaube versetzt Berge!
    Der erste Berg war die Frage: "wieso funktionieren manche Formulartasten unter Staroffice nicht?" Die Antwort war schnell gefunden: "weil Staroffice die Ausführung fremder Makros nicht unterstützt".

    Zweite Frage: "Wie kann man unter Staroffice die Ausführung von Makrofunktionen erreichen, die in einer für Excel entworfenen Datenbank-Tabellenkalkulation.xls stehen?" Antwort: "Man muss sich eine neue leere Tabellenkalkulationsdatei.sxc anlegen, dorthinein unter Beachtung der Urheberrechte gewünschte Tabellenzellen, Bilder, Texte, Funktionen (, Layouts) usw. mit Hilfe der Kopiefunktion übernehmen, und was nicht zu übernehmen sinnvoll oder möglich ist, neu anlegen. Die (partielle) Neuanlage ist erforderlich z.B. für Formularelemente (z.B. Taste (Command Button)) und für Staroffice-kompatible Makros mit der zu Excel-Makros vergleichbaren Funktion."

    Formularschaltfläche anlegen oder verändern

    Wenn kein Button vorhanden ist, dann lege man ein Command Button an, indem man etwas länger auf das Button "Formularfunktionen anzeigen" bzw. "Entwurfsmodus an/aus" klicke, worauf sich ein Auswahlmenü für diverse Formularelemente öffnet. Man wähle sich z.B. "Schaltfläche" aus, und bringe die Maus in die Wunschzelle, klicke die Maus an und ziehe mit gehaltener Maustaste das Fadenkreuz auseinander zu einem Rechteck in gewünschter Größe. Durch nochmaliges Anklicken von "Entwurfsmodus an/aus" ist das Commandbutton mit voreingestelltem Text "Schaltfläche" und voreingestellter mausgrauer Farbe angelegt. Bei bereits vorhandenen Commandbuttons wird der Titel indiziert "Schaltfläche1, Schaltfläche2, usw."

    Möchte man ein vorhandenes Commandbutton bearbeiten, so kann man es mit der rechten Maustaste anklicken und dann im Auswahlmenü "Kontrollfeld" anklicken. Nachfolgend können die Eigenschaften dieser Schaltfläche im Menü "Eigenschaften: Schaltfläche" geändert werden.

    Unterschiede zwischen den Makrosprachen

    Alle sprechen von Skriptsprachen und der eine meint Javascript, der andere JScript. Hier aber reden alle von einer Makrosprache Basic und leider sind es zwei paar unterschiedliche Schuhe, die manchmal ähnlichbezeichnete Elemente, ein anderes mal völlig andere programmsprachliche Elemente aufweisen.

    Gut fand ich, dass Prof.Gutz in seinem CurTiPot ein Makro namens "pH_Copy_pKas" hat. Bereits beim ersten ausführbaren Programmelement "Range("AA3:AG10").Select" oder einem alternativen Element "Range("K3").Select" versteht man sofort, was gemeint ist. Aber für Staroffice ist es ein unbekanntes Etwas.

    Mit Hilfe der Internet-Recherche findet man leicht, dass Excel die Makroprogrammsprache VisualBasic (VBA) benutzt, Staroffice jedoch folgende Programmsprachsynonyme "StarBasic", "Staroffice Basic", "Staroffice Calc", "Open Office Basic", "OO Basic" oder "Calc Basic" bevorzugt.

    Man kann die VBA-Programmteile mit einem Computersprachkonvertierungsprogramm in "OO Basic"-Programmteile übersetzen. Allerdings ist hierbei die gleiche Vorsicht wie bei den Übersetzungsautomaten für "richtige Menschensprachen" angebracht (Lit. "vba2oo-Konvertierung").

    Wo kann man Macros bei Staroffice lesen, abändern, schreiben, übersetzen, testweise ausführen

    Hierzu klicke man "Extras / Makros / Makro" an und gelangt in ein Auswahlmenü "Makro". Unter dem Makroname könnte z.B. "HelloWorldHalloWelt" stehen. Dieses weiter unten beschriebene Mustermakro könnte z.B. für das Tabellenblatt ("Sheet" (engl.)) "Tabelle1" angelegt worden sein, deren Auswahl bei Staroffice über "Fußreiter" oder "Fußbutton" erfolgt. Würde man "Tabelle1" z.B. in "_pH_calc" umbenennen, so würde "HelloWorldHalloWelt" ein "Makros aus" dem Tabellenblatt "_pH_calc" sein. So aber ist "HelloWorldHalloWelt" ein Makro aus "Tabelle1", wie es auch im rechten unteren Menüfenster "Vorhandene Makros in: Tabelle1" dokumentiert ist. Falls noch nicht farblich hervorgehoben, kann man das Beispielmakro dort durch Anklicken auf "HelloWorldHalloWelt" auswählen und klicke danach auf den Button "Bearbeiten". Es öffnet sich nun ein separates Fenster zum Lesen oder zur Bearbeitung eines Makros.

    Beispiel eines sicheren Staroffice-Makros

    Nachdem geklärt ist, in welcher Makro-Programmsprache die Staroffice-Makros laufen, möchte man ja mal ein Erfolgserlebnis haben. Hierzu bietet sich an, ein von mir für Staroffice7(Product Update1) getestetes Makro mit einer Formulartaste zu verknüpfen. Die Firma Sun hat hierzu eine online-Dokumentation publiziert (Lit.: Staroffice Basic Programmhandbuch)

    Sub HelloWorldHalloWelt
    rem mit linker Maustaste "Formularfunktionen anzeigen", dann "Formular-Navigator" anklicken
    rem mit rechten Maustaste "CommandButton / Eigenschaften" anklicken
    rem im Menü "Eigenschaften: Schaltfläche" mit der linken Maustaste den Reiter "Ereignisse" anklicken
    rem dort mit der linken Maustaste in Zeile "Maustaste gedrückt" den Auswahlbutton anklicken
    rem im Menü "Makro zuweisen" ins Auswahlfeld "Makros" gehen und sich gegebenenfalls durch Anklicken von "+" sein MymacroMeinmakro anzeigen lassen,
    rem dann z.B. dieses MymacroMeinmakro "HelloWorldHalloWelt" anklicken
    rem im Menü "Makro zuweisen" die ButtonSchalter "Zuweisen", dann "OK" anklicken
    rem mit linker Maustaste "Formularfunktionen anzeigen" erneut anklicken und dadurch Anzeigefunktion ausschalten;
    rem "Datei / Speichern" anklicken;
    rem gegebenenfalls "Datei / Neu Laden", dann "Makros ausführen" anklicken
    Rem
    Rem Beispielvorlage:
    Rem
    Rem Sub HelloWorld
    Rem Dim MyVar as String
    Rem MyVar = "Hello World"
    Rem MsgBox MyVar,0
    Rem End Sub
    Rem

    Dim MyVar1, MyVar2 as String
    MyVar1 = "Hello World"
    MyVar2 = "Hallo Welt"
    MyVar = MyVar1+"! "+MyVar2+"!"
    MsgBox MyVar,0
    End Sub


    Makroelementhier im Beitragin Staroffice
    Kommentargraue Hintergrundfarbe
    schwarze Textfarbe
    graue Textfarbe
    weiße Hintergrundfarbe
    Variablegrüne Hintergrundfarbe
    schwarze Textfarbe
    grüne Textfarbe
    weiße Hintergrundfarbe
    Konstante,
    String
    rote Hintergrundfarbe
    schwarze Textfarbe
    rote Textfarbe
    weiße Hintergrundfarbe
    Das sollte für's erste reichen.

    Mein nächstes Anliegen wird sein, den VBA-Code (z.B. "Range(...).select") verstehen zu lernen, um sie als OO-Code in Staroffice implementieren zu können.
    Ausschalten!
    (dp) (4,35h)
    Kommentar abgeben Kommentare anschauen (0)



    Adminbereich | Diese Seite bookmarken | Weitersagen

    Aktuellste Weblogs
    solieb1.log.ag
    schattenwesen.log....
    Rabenbunt.log.ag
    werwilldasschonles...
    thostein.log.ag
    Yvonneschalom.log....
    Wuerfelwelt.log.ag
    alleinsam.log.ag
    Idahofromberlin.lo...
    Mehr Weblogs ...

     Einträge suchen:
    <Februar 2008>
    SoMoDiMiDoFrSa
         12
    3456789
    10111213141516
    17181920212223
    242526272829 

    Meine Lieblingslinks
    http://www.freenet.de
    http://www.c-vitamine.de
    http://tb-archiv.drpagel...
    http://www.frausoundso.b...
    http://www.koerberbox.de
    http://wuerfelwelt.twoda...
    http://
    http://www.bio-gaertner....
    http://blog.schoggo-tv.d...
    www.topsubmit.or...

    Meine Lieblings-Weblogs
    #favorities

    Weblog-Forum
    Hier klicken ...

    News

    Impressum AGB Datenschutz KundenserviceMediadatenfreenet AGJobsSitemap