XBPMLE Feldlänge begrenzen?

Alle Fragen um die Programmierung, die sich sonst nicht kategorisieren lassen. Von Makro bis Codeblock, von IF bis ENDIF

Moderator: Moderatoren

Antworten
Benutzeravatar
mini990
1000 working lines a day
1000 working lines a day
Beiträge: 592
Registriert: Sa, 28. Jan 2006 9:44
Wohnort: Berg-Richtheim bei Neumarkt i.d.Opf.
Danksagung erhalten: 1 Mal

XBPMLE Feldlänge begrenzen?

Beitrag von mini990 »

Hallo,
kann man bei einem XBPMLE auf eine Variable die Feldlänge begrenzen?

Gruß Stefan
Benutzeravatar
Manfred
Foren-Administrator
Foren-Administrator
Beiträge: 21165
Registriert: Di, 29. Nov 2005 16:58
Wohnort: Kreis Wesel
Hat sich bedankt: 206 Mal
Danksagung erhalten: 67 Mal

Re: XBPMLE Feldlänge begrenzen?

Beitrag von Manfred »

Du könntest vieleicht über den Keyboard Slot immer abfragen, wieviel gerade verbraucht wurde und dann entsprechend mit Anzeigen oder Nachrichten reagieren.
Gruß Manfred
Mitglied der XUG Osnabrück
Schatzmeister des Deutschsprachige Xbase-Entwickler e.V.
großer Fan des Xbaseentwicklerwiki https://wiki.xbaseentwickler.de/index.p ... Hauptseite
Doof kann man sein, man muß sich nur zu helfen wissen!!
Benutzeravatar
AUGE_OHR
Marvin
Marvin
Beiträge: 12903
Registriert: Do, 16. Mär 2006 7:55
Wohnort: Hamburg
Hat sich bedankt: 19 Mal
Danksagung erhalten: 44 Mal

Re: XBPMLE Feldlänge begrenzen?

Beitrag 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 ...
gruss by OHR
Jimmy
Antworten