Seite 1 von 1

XBPMLE Feldlänge begrenzen?

Verfasst: Mo, 24. Apr 2017 13:39
von mini990
Hallo,
kann man bei einem XBPMLE auf eine Variable die Feldlänge begrenzen?

Gruß Stefan

Re: XBPMLE Feldlänge begrenzen?

Verfasst: Mo, 24. Apr 2017 13:53
von Manfred
Du könntest vieleicht über den Keyboard Slot immer abfragen, wieviel gerade verbraucht wurde und dann entsprechend mit Anzeigen oder Nachrichten reagieren.

Re: XBPMLE Feldlänge begrenzen?

Verfasst: Mo, 24. Apr 2017 23:49
von AUGE_OHR
mini990 hat geschrieben:kann man bei einem XBPMLE auf eine Variable die Feldlänge begrenzen?
wie Manfred vorschlug kannst du ja die Position des Cursor ermitteln und darauf reagieren.

Code: Alles auswählen

   ::oMemotext:keyBoard := {|nKey, uNIL, oSelf| ::MyKey(nKey,oSelf) }

METHOD CalDetail:MyKey(nKey,oMLE)
LOCAL nEnde := oMLE:pos()
LOCAL nLine := oMLE:lineFromChar(nEnde)
LOCAL nZeil := oMLE:charFromLine(nLine)
LOCAL cText := "Row "+LTRIM(STR(nLine))+" / Col "+LTRIM(STR(nEnde-nZeil))
LOCAL cKey  := UPPER(CHR(nKey))

   DO CASE
      CASE nLine > 100
         // do what you want

      CASE nKey = xbeK_CTRL_Z
         oMLE:undo()
   ENDCASE
   // Statusbar
   ::StatText:SetCaption(cText)
RETURN self
was auch gehen "müsste" ist die EM_EXLIMITTEXT Message https://msdn.microsoft.com/de-de/librar ... s.85).aspx
die EM_* Konstanten gelten auch für "Edit" (XbpSLE) und RTF womit man eigentlich das 32Kb Limit erweitert ...