Seite 1 von 1

(gelöst) Text per Makro in Textfeld schreiben!?

Verfasst: Do, 04.06.2009 21:42
von Snoopy
Hi Leutz,

die Datenbank funktioniert dank der Beiträge und Hilfe der User hier im Forum schon recht passabel, ein kleiner Schönheitsfehler ist noch im System.

Und irgendwie sehe ich den Wald vor lauter Bäumen nicht.

Was soll die Datenbank können?:

* Musiknoten verwalten die als Grafik vorhanden sind

* Ein Feld für die Datei (Pfad & Name)
* Ein Feld für eine Bemerkung um was es sich bei der Datei handelt
* Eine Möglichkeit eine neue Datei einfach einzupflegen

Das alles funktioniert mit einem kleinen Schönheitsfehler, wenn eine neue Datei über die Dateiauswahl eingefügt wird erscheint diese auch im Textfeld, aber die Datenbank merkt es nicht. Soll bedeuten wenn man nun einen Datensatz zurück geht ist die Eingabe futsch, Abhilfe schaft wenn man im Textfeld einfach einen Buchstaben der Datei entfernt und wieder eingibt.

So Sieht das Formular aus:
Base_DateiInfo.jpg
Base_DateiInfo.jpg (48.47 KiB) 1798 mal betrachtet
Und so die Makros:

Code: Alles auswählen

Sub OpenFile

dim sText as string
dim sURL as string

	REM --- Text mit der Funktion GetText() aus dem Textfeld holen
	sText = GetText( "txtDatei" )

	REM --- Pfad & Datei als URL (immer diese Leerzeichen)
	sURL = ConvertToURL(sText)

	REM --- Datei mit dem Konqueror öffnen
	Shell "konqueror " & sURL

End Sub

Sub OpenAuswahl

dim sAuswahl as string

	REM --- Text mit der Funktion GetText() aus dem Textfeld lesen
	sAuswahl = GetText( "FileSelection" )

	REM --- Text mit der Funktion PutText() in das Textfeld schreiben
	PutText( "txtDatei", sAuswahl )

End Sub

Function GetText(Textfeld)

dim oDoc as Object
dim oForm as Object
dim oFeld as Object

	oDoc = ThisComponent
	oForm = oDoc.drawpage.forms(0)
	oFeld = oForm.getByName( Textfeld )
	GetText = oFeld.Text

End Function 

Function PutText(Textfeld, Auswahl)

dim oDoc as Object
dim oForm as Object
dim oFeld as Object

	oDoc = ThisComponent
	oForm = oDoc.drawpage.forms(0)
	oFeld = oForm.getByName( Textfeld )
	oFeld.Text = Auswahl

End Function
Hat Jemand eine Idee was ich vergessen oder übersehen habe?

Re: Text per Makro in Textfeld schreiben!?

Verfasst: Do, 04.06.2009 21:48
von keksi1970
Hi,

*Lötzinn* sry

LG
Andreas

Ich hab mir die DB mal angeschaut, da aber 3.01 noch keine Makros kann und ich 3.1 für verbugged halte, lade ich sie mir nicht runter :D

lg
Andreas

Re: Text per Makro in Textfeld schreiben!?

Verfasst: Do, 04.06.2009 21:56
von turtle47
Hallo,

schau Dir mal in der Beispieldatei von eBayer an wie er das perfekt gelöst hat.

Viel Erfolg.

Jürgen

Re: Text per Makro in Textfeld schreiben!?

Verfasst: Do, 04.06.2009 22:01
von turtle47
Hallo Andreas,
keksi1970 hat geschrieben:da aber 3.01 noch keine Makros kann
Wie kommst Du den da drauf? Ich arbeite immer noch mit der 3.0.1 und es funktioniert prächtig.

Folgende DB habe ich heute mit dieser Version erstellt.

Jürgen

Re: Text per Makro in Textfeld schreiben!?

Verfasst: Do, 04.06.2009 22:24
von Snoopy
turtle47 hat geschrieben:...schau Dir mal in der Beispieldatei von eBayer an wie er das perfekt gelöst hat...
Hi Jürgen,

genau das ist es gewesen, nun funktioniert die Datenbank perfekt :D !

Ein großes DANKE an turtle47 & eBayer!

Habe die Funktion "setTextField(oDoc, FeldName, Inhalt)" in mein Makro übernommen und den Aufruf in meiner Procedure eingebunden, klappt einfach nur gut.

Re: (gelöst) Text per Makro in Textfeld schreiben!?

Verfasst: Fr, 05.06.2009 00:08
von keksi1970
Jürgen,

hab mich falsch ausgedrückt.

meinte nur : da ICH in 3.01 nicht mit Makros arbeiten "darf", da die DB auch unter 2.31 und 2.4 laufen muß, ich also der einfachheit halber die Makros und Formulare ausgelagert habe in Calc-/writer Dokumente . . folglich habe ich die Makro-Möglichkeiten unter 3.01 einfach noch nicht für erachtenswert betrachtet (oder so) ;)

und der Lötzinn bezog sich auf den Text, den ich in meiner Unwissenheit vorher gepostet habe :D (war halt nur ein Edit)

Lg
Andreas :D