Code Verständnis und Anpassung

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

Moderator: Moderatoren

Shotokan
Beiträge: 8
Registriert: Mi, 18.03.2015 13:54

Code Verständnis und Anpassung

Beitrag von Shotokan »

Hallo
ich hoffe mir kann jemand helfen einen Makrocode anzupassen, weil ich überhaupt keine Erfahrung darin habe.
Folgendes Makro wurde mir freundlicherweise zur Verfügung gestellt:

Code: Alles auswählen

Sub S_BLL(event)
oBLL = event.source.model
nValue = event.Value
oForm = oBLL.Parent
oform.updateint(oform.findcolumn("Zahl"),nValue)
End Sub

Sub S_Drehfeld(event)
oDrehfeld = event.source.model
oForm = oDrehfeld.Parent
oBll = oForm.BLL
oBll.ScrollValue = oDrehfeld.EffectiveValue
End Sub

Sub S_Formular(event)
oForm = event.source
oBll = oForm.BLL
oBll.ScrollValue = oform.getint(oform.findcolumn("Zahl"))
End Sub
Die Einstellung einer Bildlaufleiste wird in ein Feld eingeschrieben. Das funktioniert auch wunderbar. Leider sind die Programmierschritte nicht kommentiert, sodass ich die einzelne Schritte nicht verstehe. Ich habe versucht, das Makro für eine zweite Bildlaufleiste anzupassen. Das hat leider nicht funktioniert. Kann mir jemand sagen, auf was ich achten muss, bzw an welcher Stelle ich Änderungen einfügen muss?
Das Drehfeld brauche ich eigentlich nicht.
Und eine Bitte: keine "schlauen" offtopic-Kommentare


Moderation,4: CODE tags gesetzt
mikeleb
*******
Beiträge: 1427
Registriert: Fr, 09.12.2011 16:50

Re: Code Verständnis und Anpassung

Beitrag von mikeleb »

Hallo,

zu unserem Verständnis wäre es hilfreich, wenn du ein paar mehr Informationen lieferst. Die Code-Schnipsel beziehen sich wahrscheinlich auf ein Formular. Den Formularelementen (welche gibt es?) bzw. deren Ereignissen wurden die einzelnen Makros zugeordnet. Wenn man jetzt wüsste, womit was gemacht wurde, ...
Du siehst es ist aufwändig zu erraten oder zu vermuten, was los ist.
Einfacher wäre es, wenn du eine Beispieldatei hochladen würdest.
Gruß,
mikeleb
Shotokan
Beiträge: 8
Registriert: Mi, 18.03.2015 13:54

Re: Code Verständnis und Anpassung

Beitrag von Shotokan »

Hallo,

ich habe das Makro jetzt laienhaft angepasst:

Code: Alles auswählen


REM  *****  BASIC  *****

Sub S_BLL(event)
    oBLL = event.source.model
    nValue = event.Value
    oForm = oBLL.Parent
    oform.updateint(oform.findcolumn("Zahl"),nValue)
End Sub

Sub S_BLL1(event)
    oBLL1 = event.source.model
    nValue = event.Value
    oForm = oBLL1.Parent
    oform.updateint(oform.findcolumn("Zahl1"),nValue)
End Sub

Sub S_Formular(event)

    oForm = event.source
    oBll = oForm.BLL
    oBll.ScrollValue = oform.getint(oform.findcolumn("Zahl"))
    
    oForm = event.source
    oBll1 = oForm.BLL1
    oBll1.ScrollValue = oform.getint(oform.findcolumn("Zahl1"))
      
End Sub

Es funktioniert soweit. Gibt es von Euch noch Verbesserungsvorschläge?
Die Datenbankdatei, wie gewünscht, habe ich auch angehängt.
Bildlaufleiste.odb
(14.52 KiB) 70-mal heruntergeladen
F3K Total
********
Beiträge: 3724
Registriert: Mo, 28.02.2011 17:49

Re: Code Verständnis und Anpassung

Beitrag von F3K Total »

Hi,
du kannst es nocht etwas kürzer gestalten, wenn du die zu ändernde Tabellenspalte in die Zusatzinformation (Reiter Allgemein der Eigenschaften) der jeweiligen Bildlaufleiste schreibst. Wird im Makro mit

Code: Alles auswählen

.tag 
ausgelesen.
Dann kannst du für beide Bildlaufleisten das gleiche Makro verwenden, siehe Beispiel.

Code: Alles auswählen

Sub S_BLL(event)
    oBLL = event.source.model
    sColumn = oBLL.tag
    nValue = event.Value
    oForm = oBLL.Parent
    oform.updateint(oform.findcolumn(sColumn),nValue)
End Sub

Sub S_Formular(event)
    oForm = event.source
    oBll = oForm.BLL
    oBll.ScrollValue = oform.getint(oform.findcolumn("Zahl"))
    oBll1 = oForm.BLL1
    oBll1.ScrollValue = oform.getint(oform.findcolumn("Zahl1"))  
End Sub
Gruß R
Es gibt nix gutes, außer man tut es ...
Dateianhänge
Bildlaufleiste.odb
(14.54 KiB) 78-mal heruntergeladen
Antworten