-
Moderator: Moderatoren
Re: Makro zum Befüllen von Textfeldern in BASE
Hi,
wäre dann nicht das Formular, sondern das gesamte Datenbankdokument, und das hat eben keine Drawpage ...
Angenommen
Gruß R
Vermutlich rufst Du das Makro aus der IDE (Basic-GUI) auf, statt durch Drücken des Buttons? Dennmiamit hat geschrieben:Was mache ich falsch?
Code: Alles auswählen
thisComponent
Angenommen
- dein Textfeld heißt txtText
- der Button befindet sich auf dem selben Formular (im Formular Navigator)
- In die Zusatzinformation (.tag) des Buttons hast Du deinen Einfügetext geschrieben
- hänge dieses Makro an sein Ereignis Aktion ausführen
Code: Alles auswählen
Sub S_insert_Button_Tag(event)
ocontroller = thiscomponent.currentcontroller
obutton = event.source.model
sTextpiece = oButton.tag
oform = oButton.parent
otxtText = oform.getbyname("txtText")
sText = otxtText.Text
otxtTextctrl = ocontroller.getcontrol(otxtText)
osel = otxtTextctrl.Selection
if osel.min > osel.max then
nmin = osel.max
nmax = osel.min
else
nmin = osel.min
nmax = osel.max
endif
if sText = "" then
snewText = sTextpiece
else
stext1 = left(sText,nmin)
stext2 = right(sText,len(sText)-nmax)
snewText = stext1 + sTextpiece + stext2
endif
otxtText.Text = snewText
end sub
- miniKasse MMove 1.0.6 Base Videotutorial
- Windows 11: AOO, LO Linux Mint: AOO, LO
Re: Makro zum Befüllen von Textfeldern in BASE
Hi,
Gruß R
Hier ist nicht der Name des Formulardokumentes gemeint, sondern der Name, den Du siehst, wenn du im Entwurfsmodus mit dem Formularnavigator schaust, bzw. wenn du einen Rechtsklick auf ein Kontrollelement machst und dann Formular ... wählst.miamit hat geschrieben:... heißt definitiv Name_des_Formulars und wenn ich im Entwurfsmodus ...
Gruß R
- miniKasse MMove 1.0.6 Base Videotutorial
- Windows 11: AOO, LO Linux Mint: AOO, LO
Re: Makro zum Befüllen von Textfeldern in BASE
Klar kann man!miamit hat geschrieben:Kann man das noch realisieren?
Und los!
Viel Erfolg
- miniKasse MMove 1.0.6 Base Videotutorial
- Windows 11: AOO, LO Linux Mint: AOO, LO
Re: Makro zum Befüllen von Textfeldern in BASE
Hi,
um sicher zu gehen, dass der Textinhalt übernommen wird, schreibe als letzte Zeile
Ich hatte dir schon früher MRI und XRAY nahegelegt, damit kannst Du
analysieren und verwenden um den Cursor dahin zu bekommen, wo du ihn benötigst.
Damit das wirkt, mußt du entweder die Button-Eigenschaft "Fokussieren bei Klick" abschalten, oder durch diese Zeile den Fokus zurück auf das Textfeld lenken.
R
um sicher zu gehen, dass der Textinhalt übernommen wird, schreibe als letzte Zeile
Code: Alles auswählen
otxtText.commit = true
Code: Alles auswählen
osel = otxtTextctrl.Selection
Damit das wirkt, mußt du entweder die Button-Eigenschaft "Fokussieren bei Klick" abschalten, oder durch diese Zeile
Code: Alles auswählen
otxtTextctrl.setfocus
R
- miniKasse MMove 1.0.6 Base Videotutorial
- Windows 11: AOO, LO Linux Mint: AOO, LO