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 03.03.2008 13:34:32 Uhr
    Funktionierende Starbasic-Makros Teil2
    Fortsetzung vom 26.2.2008

    Im ersten Teil habe ich mich geärgert, dass die Basic-Messagebox (analog zu Javascripts Alert-InfoBox) bei der Ausgabe von Methoden und Eigenschaften so mit Information überquilt, dass nicht alle Methoden auf dem PC-Monitor wiedergegeben werden können.

    Der Grund ist, dass, um die Box zu verschieben, nur die oberste Zeile und nicht der komplette Bereich der Messagebox mit dem Mauszeiger angeklickt werden kann.

    Im Dokument von Andrew Pitonayak) fand ich eine Idee, die ich modifiziert habe, damit sie auf meinem PC läuft. Dabei finde ich es wertvoll zu erfahren, wie oft ich noch auf den OK-Button klicken muss, d.h. wieviele Messageboxen mich noch von der übrigen Tagesarbeit aufhalten.

    Erstmals probieren wollte ich, ob mir der Aufruf von Prozeduren oder Funktionen gelingt:
    Sub ZeigeAlleEigenschaften
    DIM oObj As Object
    DIM sObjDbgList As string

    oObj = createUnoService("com.sun.star.sheet.SpreadsheetDocument")

    sObjDbgList = oObj.DBG_Properties

    jlast = BoxenMaxanzahlErmitteln(sObjDbgList)
    AlleMsgBoxenAusgeben(sObjDbgList,jlast)
    End Sub


    Anm.: Die hellgrün markierte Dienste-Bezeichnung kann man sich bei Bedarf manuell abändern. Die in dieser Prozedur aufgerufene Funktion und Prozedur stehen hinter der nachfolgenden Prozedur:

    Sub ZeigeAlleMethoden
    DIM oObj As Object
    DIM sObjDbgList As string
    DIM jlast As Integer

    oObj = createUnoService("com.sun.star.sheet.SpreadsheetDocument")

    sObjDbgList = oObj.DBG_methods

    jlast = BoxenMaxanzahlErmitteln(sObjDbgList)
    AlleMsgBoxenAusgeben(sObjDbgList,jlast)
    End Sub


    Anm.: Die hellgrün markierte Dienste-Bezeichnung kann man sich bei Bedarf manuell abändern.

    Hier im Anschluss folgt die in beiden obenstehenden Prozeduren aufgerufene Funktion BoxenMaxanzahlErmitteln und danach die soeben benutzte Prozedur AlleMsgBoxenAusgeben. Solange beide (Funktion und Prozedur) unabhängig voneinander sind, ist die Reihenfolge ihrer Auflistung egal:
    Function BoxenMaxanzahlErmitteln(sObjDbgList As String) As Integer
    DIM sMsgBox As string
    DIM i, j, jlast As Integer
    DIM fs, ep As Integer

    fs = 1
    rem EOL = FALSE
    j=0

    While fs <= Len(sObjDbgList)
    j=j+1
    rem sMsgBox = "Blatt " & j & " von " & jlast & ":"& Chr$(13)
    sMsgBox = ""
    For i = 0 to 15
    ep = InStr(fs, sObjDbgList, ";")
    if ep = 0 then
    ep = Len(sObjDbgList)
    endif
    sMsgBox = sMsgBox & Mid$(sObjDbgList, fs, ep - fs) & Chr$(13)
    fs = ep + 1
    Next i
    rem MsgBox sMsgBox
    Wend
    BoxenMaxanzahlErmitteln=j
    end function


    Anm.: Wenn sich jemand den Namen der Funktion abändert, darf er nicht vergessen, auch den gleichnamigen Übergabewert am unteren Ende der Funktion umzubenennen.

    Sub AlleMsgBoxenAusgeben(sObjDbgList As String,jlast As Integer)
    fs = 1
    j=0

    While fs <= Len(sObjDbgList)
    j=j+1
    sMsgBox = "MsgBox " & j & " von " & jlast & ":"& Chr$(13)
    rem sMsgBox = ""
    For i = 0 to 15
    ep = InStr(fs, sObjDbgList, ";")
    if ep = 0 then
    ep = Len(sObjDbgList)
    endif
    sMsgBox = sMsgBox & Mid$(sObjDbgList, fs, ep - fs) & Chr$(13)
    fs = ep + 1
    Next i
    MsgBox sMsgBox
    Wend
    rem MaxBlattanzahlErmitteln=j
    end Sub


    Anm.: Diese Prozedur ähnelt der vorangehenden Funktion. Deswegen habe ich die unnötigen Codepassagen jeweils mit Rem blockiert.

    Gut finde ich, dass diese beiden Zeige-Prozeduren in Starbasic ohne Parameter-Übergabe auskommen, weil sonst die Prozedur nicht läuft, wenn man besonders als Programmier-Anfänger nicht weiss, welche Eigenschaften und Methoden diese Parameter gehorchen müssen. Z.B. kenne ich zur Zeit noch garnicht alle Dienste-Bezeichnungen.

    Und das Wichtigste zum Schluss: Bei der Anordnung von Basic-Prozeduren und Funktionen ist darauf zu achten, dass die aufgerufenen Funktion oder Prozedur hinter der aufrufenden Funktion oder Prozedur stehe. Die Pascal-Programmierer wissen, dass es dort genau umgekehrt ist.

    Nun ist aller "Ärger von gestern" verflogen. (dp) (1,85h)

    Nachtrag_1 am 3.3.2008 um 23.45Uhr:
    Hier hatte ich wieder eine gute Idee, um von den ellenlangen verschachtelten Programmcodizes

    If (oSheet.getCellRangeByName("myCell").getCellByPosition(0,0).String = "myString") then
    Rem MyBasic-MacroCode-Sniplett
    End If


    ...wegzukommen. Hierzu habe ich eine logische Funktion wie folgt kreiert:

    Function existStringAtSheetnameCellname (Suchstring As String,Sheetname As String,Zellname As String) As Boolean
    Dim oSheet as Object
    existStringAtSheetnameCellname=false

    rem MsgBox "Suchstring =: " &Suchstring,0
    rem MsgBox "Sheetname =: " &Sheetname,0
    rem MsgBox "Zellname =: " &Zellname,0
    rem
    if Sheetname="" then
    oSheet = ThisComponent.CurrentController.ActiveSheet
    else
    oSheet = ThisComponent.Sheets().getByName(Sheetname)
    end if
    rem
    If (oSheet.getCellRangeByName(Zellname).getCellByPosition(0,0).String = Suchstring) Then
    existStringAtSheetnameCellname=True
    end If
    End Function


    Ein möglicher
    • VBA-Code:
      IF Range("myCellname").Value <> "myString" THEN REM ...my VBA-Codesniplett ... ENDIF
      lässt so leichter umschreiben in einen ...
    • StarBasic-Code:
      IF NOT existStringAtSheetnameCellname("myString","","myCellname") Then REM ... my Starbasic-Codesniplett ... END IF
    Ob mir ähnliche Idee auch bei Value (für INTEGER, DOUBLE, SINGLE ?, REAL ?, COMPLEX ?) gelingt, muss noch getestet werden. (dp) (0,25h)

    Nachtrag_2 am 4.3.2008 um 20.45Uhr:
    Bei meiner Vorlage (Excel-Programm CurTiFit) kann ich nicht überprüfen, ob der analoge Code so funktionieren soll:
    • VBA-Code:
      sub testefeld
      dim testfeld(3) as double
      testfeld(1)=1
      testfeld(2)=-10
      testfeld(3)=33000
      msgbox "Testfeld(1; 2; 3) = ("+testfeld(1)+" ; "+testfeld(2)+" ; "+testfeld(3)+")"
      call test1
      end sub

      sub test1()
      msgbox "Test1: Testfeld(1; 2; 3) = ("+testfeld(1)+" ; "+testfeld(2)+" ; "+testfeld(3)+")"
      end sub
    Unter meinem Staroffice funktioniert es aber wie folgt:
    • StarBasic-Code:
      sub testefeld
      dim testfeld(3) as double
      testfeld(1)=1
      testfeld(2)=-10
      testfeld(3)=33000
      msgbox "Testfeld(1; 2; 3) = ("+testfeld(1)+" ; "+testfeld(2)+" ; "+testfeld(3)+")"
      call test1(testfeld())
      end sub

      sub test1(testfeld as double)
      REM dim testfeld(3) as double
      msgbox "Test1: Testfeld(1; 2; 3) = ("+testfeld(1)+" ; "+testfeld(2)+" ; "+testfeld(3)+")"
      end sub
    Würde ich den VBA-Code einfach übernehmen oder aber zusätzlich die REM-Sequenz entfernen, dann zeigt die Messagebox in der aufgerufenen Prozedur nur Nullen als Werte. (dp) (0,25h)
    Kommentar abgeben Kommentare anschauen (0)



    Adminbereich | Diese Seite bookmarken | Weitersagen

    Aktuellste Weblogs
    Wuerfelwelt.log.ag
    charlychaplin78.lo...
    Rabenbunt.log.ag
    hexenhaeuschen.log...
    2012-losgehts.log....
    drpagel.log.ag
    alleinsam.log.ag
    kir-royal.log.ag
    Yvonneschalom.log....
    Mehr Weblogs ...

     Einträge suchen:
    <März 2008>
    SoMoDiMiDoFrSa
          1
    2345678
    9101112131415
    16171819202122
    23242526272829
    3031     

    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