-

Antwort erstellen


BBCode ist eingeschaltet
[img] ist ausgeschaltet
[url] ist eingeschaltet
Smileys sind ausgeschaltet

Die letzten Beiträge des Themas
   

Ansicht erweitern Die letzten Beiträge des Themas: -

Re: Makro zum Befüllen von Textfeldern in BASE

von F3K Total » Di, 24.09.2013 21:09

Hi,
um sicher zu gehen, dass der Textinhalt übernommen wird, schreibe als letzte Zeile

Code: Alles auswählen

otxtText.commit = true
Ich hatte dir schon früher MRI und XRAY nahegelegt, damit kannst Du

Code: Alles auswählen

osel = otxtTextctrl.Selection
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

Code: Alles auswählen

otxtTextctrl.setfocus
den Fokus zurück auf das Textfeld lenken.
R

Re: Makro zum Befüllen von Textfeldern in BASE

von F3K Total » Di, 24.09.2013 19:12

miamit hat geschrieben:Kann man das noch realisieren?
Klar kann man!
Und los!
Viel Erfolg

-

von Benutzer 48566 gelöscht » Di, 24.09.2013 12:00

----------

-

von Benutzer 48566 gelöscht » Mo, 16.09.2013 13:30

----------

Re: Makro zum Befüllen von Textfeldern in BASE

von F3K Total » So, 15.09.2013 19:49

Hi,
miamit hat geschrieben:... heißt definitiv Name_des_Formulars und wenn ich im Entwurfsmodus ...
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.
Gruß R

-

von Benutzer 48566 gelöscht » So, 15.09.2013 19:42

----------

Re: Makro zum Befüllen von Textfeldern in BASE

von F3K Total » So, 15.09.2013 18:50

Hi,
miamit hat geschrieben:Was mache ich falsch?
Vermutlich rufst Du das Makro aus der IDE (Basic-GUI) auf, statt durch Drücken des Buttons? Denn

Code: Alles auswählen

thisComponent
wäre dann nicht das Formular, sondern das gesamte Datenbankdokument, und das hat eben keine Drawpage ...

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
Gruß R

-

von Benutzer 48566 gelöscht » So, 15.09.2013 18:05

----------

Nach oben