Wert aus Dialog auslesen

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

Moderator: Moderatoren

Eva
Beiträge: 6
Registriert: Do, 15.09.2005 18:03

Wert aus Dialog auslesen

Beitrag von Eva »

Hallo,

so ein ähnliches Thema wurde hier schon behandelt "Von Formular Wert auslesen." und ich habe versucht, die Ratschläge dort auf mein Problem anzuwenden, aber irgendwie scheint das nicht zu klappen.

Ich habe ein Dialogefeld, in dem man mit Hilfe des Datumfeldes (Datefield) ein Datum eingeben kann. Das eingegebene Datum möchte ich dann in eine Tabelle einfügen. Bei Textfeldern und Listboxen habe ich keine Probleme, da sieht mein Code dann folgendermaßen aus:

Sub Dateneintragen
Dim Kostenstelle
Dim Zellekostenstelle as object

Doc=ThisComponent
Sheet= Doc.Sheets.getByName("Belegerfassung")


Kostenstelle = Dlg.getControl("Kostenstelle")

ZelleKostenstelle = Sheet.getCellByPosition(0,0)
ZelleKostenstelle.string = Kostenstelle.text

End Sub

Nur Datums- und Währungsfelder bereiten mir Probleme. Nutze ich den Code da entsprechend, wird kein Wert eingetragen. Kann das an den Datentypen liegen?

Wäre schön, wenn mir jemand auf die Sprünge helfen könnte, auch wenn das Problem noch so trivial ist, es vielleicht schon tausendmal diskutiert wurde und ich einfach nur einen blöden Denkfehler mache ;-).

Gruß

Eva
Stephan
********
Beiträge: 12368
Registriert: Mi, 30.06.2004 19:36
Wohnort: nahe Berlin

Beitrag von Stephan »

so ein ähnliches Thema wurde hier schon behandelt "Von Formular Wert auslesen." und ich habe versucht, die Ratschläge dort auf mein Problem anzuwenden, aber irgendwie scheint das nicht zu klappen.
Danke das Du zunächst das Forum durchsucht hast (auch wenn es im Speziellen ohne Ergebnis blieb)
Ich habe ein Dialogefeld, in dem man mit Hilfe des Datumfeldes (Datefield) ein Datum eingeben kann. Das eingegebene Datum möchte ich dann in eine Tabelle einfügen. Bei Textfeldern und Listboxen habe ich keine Probleme,
Ja, verständlich. Du mußt aus dem Datumsfeld die .date-Eigenschaft auslesen.

Das es diese Eigenschaft gibt kannst Du durch diese Zeile herausbekommen:

Code: Alles auswählen

msgbox Kostenstelle.dbg_properties

Dein Code sollte also etwa so lauten:

Code: Alles auswählen

Dim Dlg AS Object 
Dim oForm As Object

Sub StartDialog1 
oForm = DialogLibraries.Standard.Dialog1 
Dlg = CreateUnoDialog(oForm)
Dlg.execute
end sub 

Sub Button
Kostenstelle = Dlg.getControl("Kostenstelle") 
Doc=ThisComponent 
Sheet= Doc.Sheets.getByName("Belegerfassung") 
ZelleKostenstelle = Sheet.getCellByPosition(0,0) 
ZelleKostenstelle.FormulaLocal = CDateFromIso(Kostenstelle.Date) 
End Sub


Die Zeile:

Code: Alles auswählen

ZelleKostenstelle.FormulaLocal = CDateFromIso(Kostenstelle.Date)
könnte auch:

Code: Alles auswählen

ZelleKostenstelle.Value = CDateFromIso(Kostenstelle.Date)
lauten, allerdings wird dann nicht automatisch die Standarddatumsformatierung, sondern das Datum als serielle Zahl angezeigt bzw. Du müßtest mittels Code zusätzlich die Zellformatierung ändern.



Gruß
Stephan
Eva
Beiträge: 6
Registriert: Do, 15.09.2005 18:03

Beitrag von Eva »

Danke erst einmal für die schnelle Hilfe. Es funktioniert. Allerdings habe ich jetzt noch die Frage: Welche Eigenschaft muß ich bei einem Währungsfeld auslesen? Oder wie sähe der Code aus, wenn ich anstelles eines Datumfeldes ein Währungsfeldes hätte? Oder noch besser: Wo kann man so etwas nachlesen? ;-)

Momentan stehe ich ziemlich auf der Leitung (und unter Zeitdruck, sonst würde ich noch mehr recherchieren ;-)).

Viele Dank noch einmal.
Stephan
********
Beiträge: 12368
Registriert: Mi, 30.06.2004 19:36
Wohnort: nahe Berlin

Beitrag von Stephan »

Welche Eigenschaft muß ich bei einem Währungsfeld auslesen?
.value

(aber ich dachte Du hast den anderen Thread gelesen?)
Oder noch besser: Wo kann man so etwas nachlesen?
Ich hatte bereits hingeschrieben:

Code: Alles auswählen

msgbox Kostenstelle.dbg_properties
dieser Ausdruck ist universell, weil ich Dir nicht mal ein Buch oder eine Internetquelle nennen kann wo vollständig alles steht was Felder betrifft.

Wenn Dir das zu unbequem ist kannst Du auch einen Inspektor benutzen, beispielsweise:
http://www.ooomacros.org/dev.php#101416


Im Grundsatz kannst Du Dich an die Materialien halten, die ich als ersten Thread hier ins Basic-Forum geschrieben habe. Für die speziellen Dinge über die wir hier sprechen steht das beispielsweise im Buch von Pitonyak.
Falls Du ein deutsches Buch bevorzugen würdest warte noch etwas auf das Buch:
http://www.galileocomputing.de/1023?GPP=ooodev
das ist geschrieben von dem Moderator der hier im Forum den nick "Toxitom" hat.


Gruß
Stephan
Eva
Beiträge: 6
Registriert: Do, 15.09.2005 18:03

Beitrag von Eva »

Danke noch einmal für die Hilfe. Soweit hatte ich auch alles verstanden, nur leider stelle ich mich wohl etwas doof an, da es dann doch noch so funktioniert, wie es wohl sollte. Aber danke noch einmal, es war mir eine große Hilfe

Gruß
Antworten