solver API oobasic

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

Moderator: Moderatoren

hawe
****
Beiträge: 151
Registriert: Di, 05.08.2008 19:47

solver API oobasic

Beitrag von hawe »

Hallo zusammen,

hat hier jemand Lust eine Diskussion über die Programmierung des Solver zu führen.
Das Teil ist in der derzeitigen Form ja nur die Hälfte Wert, weil sich die Solvermodelldaten nicht speichern lassen.
Ich hab mal angefangen ein eigenes Bedienerkonzept umzusetzen, das die Nebenbedingungen in der Tabelle unterbringt und die Solverdaten im Names space speichert. Ersteres könnte eine Einschränkungen mitbringen, das wäre aber erst mal zu testen...
Mir fehlen aber noch einige Feinheiten bei der Programmierung in oobasic:
- wie wird ein Zielwert auf einen bestimmten Wert hin optimiert
- wie stellt man fest, ob das Modell auch linear ist
- Toolbar, wie ist das mit der Speicherung von selbst angefertigten Icons. Wenn ich von innerhalb von Win umziehe werden einige Icons mit genommen, andere fehlen. Von Win nach Suse fehlen alle Icons, auch die Systemicons?

Kann da jemand Informationen liefern oder möchte das Konzept mal ausprobieren?
Gruss HW
Win7/SuSe 11.2 - LO 3.3
Stephan
********
Beiträge: 12368
Registriert: Mi, 30.06.2004 19:36
Wohnort: nahe Berlin

Re: solver API oobasic

Beitrag von Stephan »

- wie wird ein Zielwert auf einen bestimmten Wert hin optimiert
- wie stellt man fest, ob das Modell auch linear ist
sofern sich das konkret auf den Zugriff auf den Solver per API bezieht weiß ich es leider nicht, falls nicht mußt Du die Frage genauer erklären.
- Toolbar, wie ist das mit der Speicherung von selbst angefertigten Icons.
diese werden im Benutzerverzeichnis im Ordner für das entsprechende Modul:

\user\config\soffice.cfg\modules

im dortigen Unterordner \images\bitmaps gespeichert und zwar in Form einer png-Datei welche ein Bild darstellt welches 16 Pixel hoch und n*16 Pixel breit ist, von links nach rechts sind dort die benutzerdefinoierten Icons (16x16 Pixel) angeordnet, die ZUgehörigkeit ergibt sich aus der DAtei:

\images\<...>_imagelist.xml
Wenn ich von innerhalb von Win umziehe werden einige Icons mit genommen, andere fehlen.
Weder weiß ich was 'innerhalb von Win umziehen' meint, noch kenne ich mich mit Windows 7 aus
Von Win nach Suse fehlen alle Icons, auch die Systemicons?
Habe ich leider keine Ahnung was die Frage meint.
(ich gehe i.A. davon aus das Linux völlig andere Systemicons als Windows verwendet nur weiß ich nicht wie jetzt der Zusammenhang zu OOo ist)


Falls es generell darum ginge selbst erstellte Toolbars auf andere Rechner zu übertragen kann das entweder durch Speichern in einer Datei (*.ods, *.odt, ...) geschehen, hierbei ist duie speicherung analog wie oben beschrieben, mittels eines xcu-files oder mittels einer Extension die dieses xcu-file enthält.
Bei einem xcu-file, enthält dieses alle notwendigen angaben zur weiterzugebenden Toolbar, die Icons sind im KOnkreten Einträge der Form:

Code: Alles auswählen

<prop oor:name="ImageIdentifier" oor:type="xs:string">
  <value>%origin%/icons/image1</value>
</prop>
wobgei %origin% ein PLatzhalter für das Verzeichnis ist in welchem später die xcu-Datei oder die EXtension liegt, wobei OOo das %origin% dann selbstständig mit dem zutreffenden Pfad ersetzt.
Die Image-files die in xcu referenziet werden müssen bmp-Dateien sein, GRöße 16x16 und/oder 26x26 Pixel in ggf. je einer Version für normale und high-Kontrast-Darstellung, Farbtiefe wohl 256 Farben wobei die Farbe RGB(255,0,255) zur Kodierung von Transparenz in den BMPs genutzt wird. Die Namen der bmp müssen lauten:

<...>_16.bmp (für das normale 16x16 Icon)
<...>_16h.bmp (für das high-Kontrast 16x16 Icon)
<...>_26.bmp (für das normale 26x26 Icon)
<...>_26h.bmp (für das high-Kontrast 16x16 Icon)

die Ablage (der Ordner der die Icons enhält) der Icons in einer Extension ist beliebig, in obigen beispiel wurde z.B. der Ordner "images" im Wurzelverzeichnis der Extension gewählt.

Weitere Hinweise zur Thematik liefert z.B. das Dokument:
http://www.ooomacros.org/dev.php#101618

Übung im Umgang mit den xcu-Dateien gewinnt man am Einfachsten z.b. dadurch das man mit dem BasicAddBuilder (http://extensions.services.openoffice.o ... donBuilder) Extensions erstellt und die enthaltene Adddon.xcu analysiert und versuchsweise per Hand editiert.



Gruß
Stephan
hawe
****
Beiträge: 151
Registriert: Di, 05.08.2008 19:47

Re: solver API oobasic

Beitrag von hawe »

Hallo Stefan,

vielen Dank für die ausführliche Antwort. Das mit dem Wert für die Zielzelle hab ich inzwischen herausgefunden. Ich muss nur eine Nebenbedingung für die Zielzelle übergeben - das war es dann schon.

Deine Ausführungen zum Toolbar muss ich mal durcharbeiten und entscheiden, was ich davon für dieses Projekt umsetzen will. Es geht ja eigentlich nur noch um kosmetische Änderungen - mein Solvermodel funktioniert und kann auch gespeichert werden - das sichert erstmal eine vernünfigte Anwendung...
Dank Deiner Ausführungen hab ich ja jetzt alles beienander und kann loslegen.
Danke!
Gruss HW
Win7/SuSe 11.2 - LO 3.3
Antworten